Tethys Dataset Services
Tethys datasets provides Python programming interface for dataset services such as GeoServer, CKAN and HydroShare.
NOTE
Tethys Dataset Services versions 2.0.0 and up will only support Python 3. For Python 2 support see version 1.7.0.
Installation
Tethys Datasets Services can be installed via conda or downloading the source. To install via conda:
conda install tethys_dataset_services
To install via source:
git clone https://github.com/CI-WATER/django-tethys_dataset_services.git
cd tethys_dataset_services
pip install .
To install a development (editable) version:
git clone https://github.com/CI-WATER/django-tethys_dataset_services.git
cd tethys_dataset_services
pip install --editable .
Versioning and Releases
This project uses setuptools_scm for automatic versioning based on git tags and has migrated from setup.cfg to pyproject.toml for modern Python packaging standards. The version is automatically determined from the latest git tag and the number of commits since that tag.
Creating a Release
To create a new release:
-
Create and push a git tag with the version number (following semantic versioning):
git tag 2.4.0 git push origin 2.4.0
-
The GitHub Action workflow will automatically:
- Run all tests on Python 3.10, 3.11, 3.12, and 3.13
- Build the package
- Publish to PyPI
Development Versions
During development, the version will include the commit hash and distance from the last tag (e.g., 2.4.1.dev5+g1234567).
PyPI Configuration
For automatic publishing to work, you need to configure PyPI API token in your repository secrets as PYPI_API_TOKEN, or set up trusted publishing in your PyPI account settings.
Tests
Tests are executed using tox:
pip install .[tests]
tox
End-to-End Tests
End-to-end tests are not run automatically, b/c they require some additional set up. They can be run as follows.
-
Install Docker: https://docs.docker.com/get-docker/
-
Install Docker Compose: https://docs.docker.com/compose/install/
-
Run Docker Compose to create test containers:
cd tests
docker-compose up -d
- Wait at least 30 seconds for the docker containers to settle down, then run the setup script to create the database tables:
. setup_e2e_tests.sh
- From the directory with the tox.ini, run the tests using tox:
cd ..
tox -e e2e_gs_tests
- It is recommended that after each run, you refresh the Docker containers. Run the following command to remove them:
cd tests
docker-compose down
Then repeat steps 3-5.
Usage
from tethys_dataset_services.engines import CkanDatasetEngine
engine = CkanDatasetEngine(endpoint='http://<ckan_host>/api/3/action',
apikey='G3taN@p|k3Y')
result = engine.list_datasets()
Release files for tethys-dataset-services 2.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tethys_dataset_services-2.4.3.tar.gz | 3.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tethys_dataset_services-2.4.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.4 MB
Release files / tethys_dataset_services-2.4.3.tar.gz
| Download URL | tethys_dataset_services-2.4.3.tar.gz |
|---|---|
| Size | 3.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
648e2250e5c555143734c39287bbb2d4a51ef8ca259eaeb4f3e3eb587f04e878
|
|
BLAKE2b-256 checksum How to use checksums |
51034ffb4d159b1dbd9ba2884b0b3341e923c0d246683825ebcdaa034dad38e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 2, 2025.
Transparency logRelease files / tethys_dataset_services-2.4.3-py3-none-any.whl
| Download URL | tethys_dataset_services-2.4.3-py3-none-any.whl |
|---|---|
| Size | 41.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9b9217c72c07f8e228a162130841b8166399c062b5981c992b67d666616de89
|
|
BLAKE2b-256 checksum How to use checksums |
cce1e4800f7d909247de07422231d7224d86ddb8a60513b0c616330474ce31e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 2, 2025.
Transparency log