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.
Metadata
Release files for tool-interface 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tool_interface-0.1.4.tar.gz | 139.6 kB | With provenance | Details for tool_interface-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tool_interface-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for tool_interface-0.1.4-py3-none-any.whl |
Total release size: 171.9 kB
Release files / tool_interface-0.1.4.tar.gz
| Download URL | tool_interface-0.1.4.tar.gz |
|---|---|
| Size | 139.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a0c8fb99c539f20cd8b88d1b47c70b38f4cf087aa8e51567dc1faad31603bfc
|
|
BLAKE2b-256 checksum How to use checksums |
87d5de3d1e1fc363f3799066c85e64080df46ac6be34fca851ee00d426bac1b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 May 27, 2025.
Transparency logRelease files / tool_interface-0.1.4-py3-none-any.whl
| Download URL | tool_interface-0.1.4-py3-none-any.whl |
|---|---|
| Size | 32.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff3f5bc9b061c2afb13d55982ed3ac672e4828a5e9aae220fda443ccc5d97993
|
|
BLAKE2b-256 checksum How to use checksums |
193b36bb0ce2b3f7330762d43b776a2bf750cb1576234d5f7f89b2573ffcc5be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 May 27, 2025.
Transparency logSecurity for tool-interface 0.1.4
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for tool_interface-0.1.4.tar.gz
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 May 27, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.