Metadata-Version: 2.1
Name: Graphinate
Version: 0.0.6
Summary: Graphinate. Data to Graphs.
Project-URL: Homepage, https://github.com/erivlis/graphinate
Project-URL: Documentation, https://github.com/erivlis/graphinate#README.md
Project-URL: Bug Tracker, https://github.com/erivlis/graphinate/issues
Project-URL: Source, https://github.com/erivlis/graphinate
Author-email: Eran Rivlis <eran@rivlis.info>
License-File: LICENSE
Keywords: declarative,graph
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.9
Requires-Dist: click~=8.1.6
Requires-Dist: inflect~=7.0.0
Requires-Dist: loguru
Requires-Dist: matplotlib
Requires-Dist: networkx>=3
Requires-Dist: strawberry-graphql[asgi,opentelemetry]
Provides-Extra: dev
Requires-Dist: pip-tools; extra == 'dev'
Requires-Dist: pipdeptree; extra == 'dev'
Provides-Extra: plot
Requires-Dist: matplotlib; extra == 'plot'
Requires-Dist: scipy; extra == 'plot'
Provides-Extra: server
Requires-Dist: starlette-prometheus; extra == 'server'
Requires-Dist: uvicorn[standard]; extra == 'server'
Provides-Extra: testing
Requires-Dist: pytest-asyncio; extra == 'testing'
Requires-Dist: pytest-cov>=4.1.0; extra == 'testing'
Requires-Dist: pytest>=7.3.2; extra == 'testing'
Description-Content-Type: text/markdown

# Graphinate. Data to Graphs.

## ⚠️ **Under Development!** ⚠️
This library is alpha-quality 

![PyPI](https://img.shields.io/pypi/v/graphinate)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/graphinate)

[![Contributors](https://img.shields.io/github/contributors/erivlis/graphinate.svg)](https://github.com/erivlis/graphinate/graphs/contributors)

[![Tests](https://github.com/erivlis/graphinate/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/erivlis/graphinate/actions/workflows/tests.yml)
[![Publish](https://github.com/erivlis/graphinate/actions/workflows/publish.yml/badge.svg)](https://github.com/erivlis/graphinate/actions/workflows/publish.yml)



## Gallery

![d3_graph_ast](https://github.com/erivlis/graphinate/assets/9897520/9e7e1ed2-3a5c-41fe-8c5f-999da4b741ff)
![repo_graph](https://github.com/erivlis/graphinate/assets/9897520/9c044bbe-1f21-41b8-b879-95b8362ad48d)
![AST 3D Force animation](https://github.com/erivlis/graphinate/assets/9897520/2e9a53b1-5686-4683-a0e4-fbffa850a27b)


## Install

Graphinate is available on PyPI:

```console
python -m pip install graphinate 
```
Graphinate officially supports Python 3.9+.

## Examples


- [ ] Code
  - [ ] Call Graph 
  - [x] Python AST
- [x] GitHub
  - [x] Repository
  - [x] Followers
- [ ] Ethernet
  - [ ] Traceroute
- [ ] Math
  - [x] Graph Atlas
  - [ ] Hailstone
- [ ] Text
  - [ ] NLP
- [ ] Web
  - [ ] Web Graph

## API

### By Convention

### By Configuration

## Build

```console
python -m build
```

## Test

```console
 python -m pytest ./tests --cov=./src --cov-branch --cov-report=xml --junitxml=test_results.xml
```
