A generic Python interface for dataset services such as GeoServer, CKAN, and HydroShare
Project description
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()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tethys_dataset_services-2.4.3.tar.gz.
File metadata
- Download URL: tethys_dataset_services-2.4.3.tar.gz
- Upload date:
- Size: 3.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
648e2250e5c555143734c39287bbb2d4a51ef8ca259eaeb4f3e3eb587f04e878
|
|
| MD5 |
4130e1763af1d760208d2dfed8ce6c57
|
|
| BLAKE2b-256 |
51034ffb4d159b1dbd9ba2884b0b3341e923c0d246683825ebcdaa034dad38e3
|
Provenance
The following attestation bundles were made for tethys_dataset_services-2.4.3.tar.gz:
Publisher:
publish.yml on tethysplatform/tethys_dataset_services
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tethys_dataset_services-2.4.3.tar.gz -
Subject digest:
648e2250e5c555143734c39287bbb2d4a51ef8ca259eaeb4f3e3eb587f04e878 - Sigstore transparency entry: 736783273
- Sigstore integration time:
-
Permalink:
tethysplatform/tethys_dataset_services@6177d407bbef3b199b3252a7d32600ef4408cb33 -
Branch / Tag:
refs/tags/2.4.3 - Owner: https://github.com/tethysplatform
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6177d407bbef3b199b3252a7d32600ef4408cb33 -
Trigger Event:
push
-
Statement type:
File details
Details for the file tethys_dataset_services-2.4.3-py3-none-any.whl.
File metadata
- Download URL: tethys_dataset_services-2.4.3-py3-none-any.whl
- Upload date:
- Size: 41.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9b9217c72c07f8e228a162130841b8166399c062b5981c992b67d666616de89
|
|
| MD5 |
b8c5fadd0a2d804b5b3e367c34ebc214
|
|
| BLAKE2b-256 |
cce1e4800f7d909247de07422231d7224d86ddb8a60513b0c616330474ce31e5
|
Provenance
The following attestation bundles were made for tethys_dataset_services-2.4.3-py3-none-any.whl:
Publisher:
publish.yml on tethysplatform/tethys_dataset_services
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tethys_dataset_services-2.4.3-py3-none-any.whl -
Subject digest:
a9b9217c72c07f8e228a162130841b8166399c062b5981c992b67d666616de89 - Sigstore transparency entry: 736783285
- Sigstore integration time:
-
Permalink:
tethysplatform/tethys_dataset_services@6177d407bbef3b199b3252a7d32600ef4408cb33 -
Branch / Tag:
refs/tags/2.4.3 - Owner: https://github.com/tethysplatform
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6177d407bbef3b199b3252a7d32600ef4408cb33 -
Trigger Event:
push
-
Statement type: