This repository contains Python bindings for the Quartic platform.
quartic.pipeline.runner
contains the executor for programs written in the Quartic Python DSL. This is used within the Quartic platform to evaluate and execute pipeline DAGs.quartic.pipeline.validator
can be used during local development to test pipeline scripts are sane.
virtualenv .env --python=`which python3`
. .env/bin/activate
pip install -r requirements.txt
python setup.py test
python setup.py lint
Here are the rules:
- Things that are needed at runtime (i.e. when the bindings are deployed) should go in
setup.py
. - Things that are only needed for dev/test (e.g.
pytest
) should go inrequirements.txt
. - Always use pinned versions (i.e.
pyproj==1.9.5.1
, notpyproj
) to maximise determinism. - Never just dump the content of
pip freeze
intosetup.py
/requirements.txt
- this includes transitive dependencies, making things very noisy and difficult to maintain.
We're trending toward the layout described here: Packaging a python library.
This project is made available under the BSD 3-Clause License.