Data Providers
Generic implementation of the flywheel pattern.
Data Providers is a great fit for situations where you need to bulk-fetch a lot of data (e.g., from a database, API query, output from a computationally- expensive operation, etc.) and then iterate over the results later on.
Requirements
Data Providers is known to be compatible with the following Python versions:
3.11
3.10
3.9
Installation
Install the latest stable version via pip:
pip install phx-data-providers
Running Unit Tests
Install the package with the test-runner extra to set up the necessary dependencies, and then you can run the tests with the tox command:
pip install -e .[test-runner] tox -p
To run tests in the current virtualenv:
python -m unittest
Documentation
Documentation is available on ReadTheDocs.
If you are installing from source (see above), you can also build the documentation locally:
Install extra dependencies (you only have to do this once):
pip install '.[docs-builder]'
Switch to the docs directory:
cd docs
Build the documentation:
make html
Releases
Steps to build releases are based on Packaging Python Projects Tutorial
1. Build the Project
Install extra dependencies (you only have to do this once):
pip install -e '.[build-system]'
Delete artefacts from previous builds, if applicable:
rm dist/*
Run the build:
python -m build
The build artefacts will be located in the dist directory at the top level of the project.
2. Upload to PyPI
Create a PyPI API token (you only have to do this once).
Increment the version number in pyproject.toml.
Check that the build artefacts are valid, and fix any errors that it finds:
python -m twine check dist/*
Upload build artefacts to PyPI:
python -m twine upload dist/*
3. Create GitHub Release
Create a tag and push to GitHub:
git tag <version> git push
<version> must match the updated version number in pyproject.toml.
Go to the Releases page for the repo.
Click Draft a new release.
Select the tag that you created in step 1.
Specify the title of the release (e.g., Data Providers v1.2.3).
Write a description for the release. Make sure to include: - Credit for code contributed by community members. - Significant functionality that was added/changed/removed. - Any backwards-incompatible changes and/or migration instructions. - SHA256 hashes of the build artefacts.
GPG-sign the description for the release (ASCII-armoured).
Attach the build artefacts to the release.
Click Publish release.
Metadata
Release files for phx-data-providers 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| phx-data-providers-3.0.0.tar.gz | 17.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| phx_data_providers-3.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.2 kB
Release files / phx-data-providers-3.0.0.tar.gz
| Download URL | phx-data-providers-3.0.0.tar.gz |
|---|---|
| Size | 17.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b2fd78b12164ab4a335ba95f8e4274f4ba97b61ab0289663402cd58c06da0fe
|
|
BLAKE2b-256 checksum How to use checksums |
449ca0bd802bc2900c45405597f8fe99335600c97ead532ce144e21ed6a44415
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Release files / phx_data_providers-3.0.0-py3-none-any.whl
| Download URL | phx_data_providers-3.0.0-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9df95bb479afdd1bb88157ad7a50bbe6edcbee7bf05c29e900d29306bb173a1c
|
|
BLAKE2b-256 checksum How to use checksums |
6042903cc8fe0fd8de9b067409ad0bf4030bfb7882b47d561199db492df54674
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|