Learn how you can become a contributor to PyAirbyte.
- Make sure Poetry is installed.
- Run
poetry install
- For examples, check out the
examples
folder. They can be run viapoetry run python examples/<example file>
- Unit tests and type checks can be run via
poetry run pytest
Regular documentation lives in the /docs
folder. Based on the doc strings of public methods, we generate API documentation using pdoc.
To generate the documentation, run:
poe docs-generate
Or to build and open in one step:
poe docs-preview
or poetry run poe docs-preview
if you don't have Poe installed.
The docs-generate
Poe task is mapped to the run()
function of docs/generate.py
.
Documentation pages will be generated in the docs/generated
folder. The test_docs.py
test in pytest will automatically update generated content. This updates must be manually committed before docs tests will pass.
Releases are published automatically to PyPi in response to a "published" event on a GitHub Release Tag.
To publish to PyPi, simply create a GitHub Release with the correct version. Once you publish the release on GitHub it will automatically trigger a PyPi publish workflow in GitHub actions.
Warning
Be careful - "Cmd+Enter" will not 'save' but will instead 'publish'. (If you want to save a draft, use the mouse. 😅)
Note
There is no version to bump. Version is calculated during build and publish, using the poetry-dynamic-versioning plugin.
To run a coverage report, run:
poetry run poe coverage-html
This will generate a coverage report in the htmlcov
folder.
Note: If you have pre-installed Poe
(pipx install poethepoet
), then you can omit the poetry run
prefix.
Versioning follows Semantic Versioning. For new features, bump the minor version. For bug fixes, bump the patch version. For pre-releases, append dev.N
to the version. For example, 0.1.0dev.1
is the first pre-release of the 0.1.0
version.