Main Python package to access the 3DTrees backend from tool containers
Project description
tool-interface
Main Python package to access the 3DTrees backend from tool containers. This package provides a unified interface for interacting with various backend services (Supabase, S3) used in the 3DTrees project.
Installation
From PyPI (recommended):
pip install tool-interface
From GitHub (development version):
pip install git+https://github.com/3dtrees-earth/tool-interface.git
Configuration
The package uses environment variables for configuration. All variables should be prefixed with THREEDTREES_. You can also use a .env file.
Required environment variables:
# Supabase
THREEDTREES_SUPABASE_URL=your_supabase_url
THREEDTREES_SUPABASE_KEY=your_supabase_key
# Storage (S3 compatible)
THREEDTREES_STORAGE_ACCESS_KEY=your_access_key
THREEDTREES_STORAGE_SECRET_KEY=your_secret_key
THREEDTREES_STORAGE_BUCKET_NAME=your_bucket_name
# Optional
THREEDTREES_STORAGE_ENDPOINT_URL=custom_s3_endpoint # For non-AWS S3
THREEDTREES_STORAGE_REGION=eu-central-1 # Default: eu-central-1
Development
To set up the development environment:
-
Clone the repository:
git clone https://github.com/3dtrees-earth/tool-interface.git cd tool-interface
-
Install development dependencies:
pip install -e ".[dev]"
-
Install pre-commit hooks:
pre-commit install
Code Quality
The project uses several tools to ensure code quality:
- mypy for static type checking
- ruff for linting and formatting
- pytest for testing
Run the checks locally:
pre-commit run --all-files # Runs all checks
pytest # Runs tests
Versioning
The package uses semantic versioning through git tags. Version numbers are automatically derived from git tags when building the package.
To create a new release:
- Ensure all changes are committed
- Create and push a new version tag:
git tag -a v0.1.0 -m "Release version 0.1.0" git push origin v0.1.0
- The GitHub Actions workflow will automatically build and publish to PyPI
License
See LICENSE file.
Project details
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 tool_interface-0.1.3.tar.gz.
File metadata
- Download URL: tool_interface-0.1.3.tar.gz
- Upload date:
- Size: 139.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94e33f356d1c46fa30df01bd3504d12fc3deaaf023c3eae3980ce6e9202313f5
|
|
| MD5 |
6fb1a6e69541c2bb317aecd468aa2148
|
|
| BLAKE2b-256 |
99bb5b63261b6d48800377ca280d1c0e33f1015ae4535240c4d16caef9e6b48b
|
Provenance
The following attestation bundles were made for tool_interface-0.1.3.tar.gz:
Publisher:
publish.yml on 3dTrees-earth/tool-interface
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tool_interface-0.1.3.tar.gz -
Subject digest:
94e33f356d1c46fa30df01bd3504d12fc3deaaf023c3eae3980ce6e9202313f5 - Sigstore transparency entry: 219803461
- Sigstore integration time:
-
Permalink:
3dTrees-earth/tool-interface@76ac3369c41b2d648484e7a0b60e1c25e367811c -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/3dTrees-earth
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@76ac3369c41b2d648484e7a0b60e1c25e367811c -
Trigger Event:
push
-
Statement type:
File details
Details for the file tool_interface-0.1.3-py3-none-any.whl.
File metadata
- Download URL: tool_interface-0.1.3-py3-none-any.whl
- Upload date:
- Size: 32.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dc74cafaca261263b8ab5d95f47d77f1e912e053976fe4b3a19642d7e608ca0
|
|
| MD5 |
762edc0bc0b63487fb0bcc189d61eb73
|
|
| BLAKE2b-256 |
15952dbda0a8c186ba5cf74aecac1e57c76894c456e52efdd5d5edacf9078424
|
Provenance
The following attestation bundles were made for tool_interface-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on 3dTrees-earth/tool-interface
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tool_interface-0.1.3-py3-none-any.whl -
Subject digest:
3dc74cafaca261263b8ab5d95f47d77f1e912e053976fe4b3a19642d7e608ca0 - Sigstore transparency entry: 219803463
- Sigstore integration time:
-
Permalink:
3dTrees-earth/tool-interface@76ac3369c41b2d648484e7a0b60e1c25e367811c -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/3dTrees-earth
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@76ac3369c41b2d648484e7a0b60e1c25e367811c -
Trigger Event:
push
-
Statement type: