Documentation | Console | Example Gallery
Python library for Tilebox, a lightweight space data management and orchestration software - on ground and in orbit.
Requires Python 3.11 or newer. Python 3.11 through 3.14 are supported and tested.
pip install tileboxTip
For new projects we recommend using uv - uv add tilebox. Additional installation options are available in our docs.
Documentation is available at docs.tilebox.com.
The SDKs share types and native Connect RPC infrastructure in tilebox-core, installed
automatically with datasets, workflows, and storage. Use tilebox.query for shared
intervals and pagination, and tilebox.errors for SDK exceptions. Infrastructure under
_tilebox is private. Core and workflows do not require the datasets scientific stack.
tilebox-grpc is a dependency-only compatibility package for the 0.68 release.
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 datapointsA 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()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.
Distributed under the MIT License (The MIT License).