Metadata-Version: 2.1
Name: openeo-pg-parser-networkx
Version: 0.1.3
Summary: Parse OpenEO process graphs from JSON to traversible Python objects.
Home-page: https://github.com/Open-EO/openeo-pg-parser-networkx
License: Apache 2.0
Author: Lukas Weidenholzer
Author-email: lukas.weidenholzer@eodc.eu
Requires-Python: >=3.9,<3.11
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: networkx[default] (>=2.8.6,<3.0.0)
Requires-Dist: pydantic (>=1.9.1,<2.0.0)
Requires-Dist: pyproj (>=3.4.0,<4.0.0)
Requires-Dist: shapely (==1.8.4)
Project-URL: Repository, https://github.com/Open-EO/openeo-pg-parser-networkx
Description-Content-Type: text/markdown

# PG Parser
Python package to parse OpenEO process graphs from raw JSON into fully traversible [`networkx`](https://github.com/networkx/networkx) graph objects.

## Installation
TODO: Publish this project to pypi.

## Development environment
`openeo-pg-parser-networkx` requires poetry `>1.2`, see their [docs](https://python-poetry.org/docs/#installation) for installation instructions.

To setup the python venv and install this project into it run:
```
poetry install
```

To add a new core dependency run:
```
poetry add some_new_dependency
```

To add a new development dependency run:
```
poetry add some_new_dependency --group dev
```

To run the test suite run:
```
poetry run python -m pytest
```

Note that you can also use the virtual environment that's generated by poetry as the kernel for the ipynb notebooks.

### Pre-commit hooks
This repo makes use of [pre-commit](https://pre-commit.com/) hooks to enforce linting & a few sanity checks.
In a fresh development setup, install the hooks using `poetry run pre-commit install`.
These will then automatically be checked against your changes before making the commit.

