Before getting started, make sure you have Poetry.
# Install project
poetry install -E crypto
# Enter poetry-managed venv
poetry shell
# Exit poetry-managed venv
exit
We use poethepoet as a task runner. To see available tasks:
$ poe --help
...
clean Remove build artifacts
lint Run linters and formatters
test Run tests
To ensure code quality, we use the following tools:
Our CI pipeline will run these tools on each commit. To run these locally, we recommend pre-commit:
poetry run pre-commit install
poetry shell
python3 -m sgqlc.introspection --exclude-deprecated --exclude-description http://localhost:3000/graphql graphql/nionic_schema.json
sgqlc-codegen schema graphql/nionic_schema.json contxt/generated/nionic_schema.py
sgqlc-codegen operation --schema graphql/nionic_schema.json .nionic_schema contxt/generated/nionic_queries.py graphql/nionic_queries.graphql
On a commit to main, our CI pipeline will bump the version (determined by conventional commits) and publish a new release to PyPI.