The project uses poetry for managing dependencies.
First, install the project's dependencies:
poetry install
Once installed, you can execute the unit tests with pytest:
poetry run pytest
We use python type annotations. Type-check the code with mypy:
poetry run mypy synql
Format the code with black:
poetry run black .
You can also lint the project thanks to pylint:
poetry run pylint synql
The project depends on pysqlite3-binary in order to use the same version of sqlite3 in local and in CI. We had to define a stub for pysqlite3 to get types. Because it shares the same API as sqlite3, we just had to export the stub of sqlite3.
sqlschm allow parsing SQLite schemas.
The project adheres to the conventional commit specification.
The following commit prefixes are supported:
feat:
, a new featurefix:
, a bugfixdocs:
, a documentation updatetest:
, a test updatechore:
, project housekeepingperf:
, project performancerefactor:
, refactor of the code without change in functionality
See the git log for well-formed messages.