Skip to content

tilebox/tilebox-python

Repository files navigation

Tilebox Logo

Documentation | Console | Example Gallery

Tilebox Python

Python library for Tilebox, a lightweight space data management and orchestration software - on ground and in orbit.

Install

pip install tilebox-datasets tilebox-workflows tilebox-storage

Tip

For new projects we recommend using uv - uv add tilebox-datasets tilebox-workflows tilebox-storage. Additional installation options are available in our docs.

Documentation

Documentation is available at docs.tilebox.com.

Getting started

Tilebox Datasets

Structured and high-performance satellite metadata storage, indexing and querying. See documentation

from tilebox.datasets import Client
from shapely.geometry import shape

# create your API key at https://console.tilebox.com
client = Client(token="YOUR_TILEBOX_API_KEY")
datasets = client.datasets()
print(datasets)

sentinel2_msi = client.dataset("open_data.copernicus.sentinel2_msi")
collections = sentinel2_msi.collections()
print(collections)

area_of_interest = shape({
    "type": "Polygon",  # coords in lon, lat
    "coordinates": [[[-5, 50], [-5, 56], [-11, 56], [-11, 50], [-5, 50]]]}
)
s2a_l1c = sentinel2_msi.collection("S2A_S2MSI1C")
results = s2a_l1c.query(
  temporal_extent=("2025-03-01", "2025-06-01"),
  spatial_extent=area_of_interest,
  show_progress=True
)
print(f"Found {results.sizes['time']} datapoints")  # Found 979 datapoints

Tilebox Workflows

A parallel processing engine to simplify the creation of dynamic tasks that can be executed across various computing environments, including on-premise and auto-scaling clusters in public clouds.

from tilebox.workflows import Client, Task

class MyFirstTask(Task):
  def execute(self):
    print("Hello World from my first Tilebox task!")


# create your API key at https://console.tilebox.com
client = Client(token="YOUR_TILEBOX_API_KEY")

# submit a job
jobs = client.jobs()
jobs.submit("my-very-first-job", MyFirstTask())

# and run it
runner = client.runner(tasks=[MyFirstTask])
runner.run_all()

Contributing

Contributions are welcome! Please see the contributing guide for more information.

You can also join us on Discord if you have any questions or want to share your ideas.

License

Distributed under the MIT License (The MIT License).