Skip to main content

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:

  1. Clone the repository:

    git clone https://github.com/3dtrees-earth/tool-interface.git
    cd tool-interface
    
  2. Install development dependencies:

    pip install -e ".[dev]"
    
  3. 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:

  1. Ensure all changes are committed
  2. 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
    
  3. 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)

Source distribution for tool-interface 0.1.4
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)

Table of built distributions (wheels) for tool-interface 0.1.4
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page