Skip to content

Commit f1da663

Browse files
authored
Structure docs (#4)
1 parent 788da2b commit f1da663

24 files changed

+330
-98
lines changed

.github/workflows/docs.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
# Comment out unless for testing
7+
# pull_request:
8+
# branches: [main]
9+
workflow_dispatch:
10+
11+
permissions:
12+
contents: read
13+
pages: write
14+
id-token: write
15+
16+
concurrency:
17+
group: "pages"
18+
cancel-in-progress: true
19+
20+
jobs:
21+
build:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
26+
with:
27+
fetch-depth: 1
28+
29+
- name: Install a specific version of uv
30+
uses: astral-sh/setup-uv@v5
31+
with:
32+
enable-cache: true
33+
version: "0.5.x"
34+
35+
- name: Install dependencies
36+
run: uv sync
37+
38+
- name: Build docs
39+
run: uv run -- mkdocs build --strict
40+
41+
- name: Upload artifact
42+
id: deployment
43+
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
44+
with:
45+
path: ./site
46+
retention-days: 1
47+
48+
deploy:
49+
environment:
50+
name: github-pages
51+
url: ${{ steps.deployment.outputs.page_url }}
52+
runs-on: ubuntu-latest
53+
needs: build
54+
steps:
55+
- name: Deploy to GitHub Pages
56+
id: deployment
57+
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
58+
timeout-minutes: 10
Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# API Documentation
1+
# Datacube access
22

33
::: datacube_benchmark.utils.array_storage_size
44

@@ -16,20 +16,4 @@
1616

1717
::: datacube_benchmark.benchmark_statistics
1818

19-
::: datacube_benchmark.tiling_benchmark_summary
20-
21-
::: datacube_benchmark.TiTilerCMRBenchmarker
22-
23-
::: datacube_benchmark.tiling.DatasetParams
24-
2519
::: datacube_benchmark.types.TARGET_SHAPES
26-
27-
## General Tiling Utilities
28-
29-
::: datacube_benchmark.tiling.get_surrounding_tiles
30-
31-
::: datacube_benchmark.tiling.fetch_tile
32-
33-
::: datacube_benchmark.tiling.get_tileset_tiles
34-
35-
::: datacube_benchmark.tiling.create_bbox_feature
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Dynamic tiling
2+
3+
::: datacube_benchmark.tiling_benchmark_summary
4+
5+
::: datacube_benchmark.TiTilerCMRBenchmarker
6+
7+
::: datacube_benchmark.tiling.DatasetParams
8+
9+
::: datacube_benchmark.tiling.get_surrounding_tiles
10+
11+
::: datacube_benchmark.tiling.fetch_tile
12+
13+
::: datacube_benchmark.tiling.get_tileset_tiles
14+
15+
::: datacube_benchmark.tiling.create_bbox_feature
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# TiTiler API Reference
2+
3+
This section provides interactive API documentation for the TiTiler ecosystem components. Each application has its own specialized API while sharing common patterns from the core framework.
4+
5+
## Available Applications
6+
7+
<div class="grid cards" markdown>
8+
9+
- **TiTiler Core**
10+
11+
---
12+
13+
Foundation API for COGs and STAC items. Base functionality that all other applications extend.
14+
15+
[:octicons-arrow-right-24: Core API Reference](titiler-core.md)
16+
17+
- **TiTiler CMR**
18+
19+
---
20+
21+
NASA CMR-focused application for satellite data collections with time series support.
22+
23+
[:octicons-arrow-right-24: CMR API Reference](titiler-cmr.md)
24+
25+
- **TiTiler Multidim**
26+
27+
---
28+
29+
Multi-dimensional dataset processing for NetCDF, Zarr, and scientific data formats.
30+
31+
[:octicons-arrow-right-24: Multidim API Reference](titiler-multidim.md)
32+
33+
</div>
34+
35+
## Common API Patterns
36+
37+
All TiTiler applications follow consistent patterns:
38+
39+
### Authentication
40+
- **API Keys**: Some endpoints require authentication via API keys
41+
- **CORS**: Cross-Origin Resource Sharing is configured for web applications
42+
- **Rate Limiting**: Default rate limits may apply
43+
44+
### Response Formats
45+
- **JSON**: Metadata, statistics, and configuration responses
46+
- **Images**: PNG, JPEG, WebP tiles and previews
47+
- **GeoJSON**: Spatial data responses
48+
- **HTML**: Interactive viewers and documentation
49+
50+
### Error Handling
51+
- **HTTP Status Codes**: Standard codes (200, 400, 404, 500, etc.)
52+
- **Error Messages**: Detailed error descriptions in JSON format
53+
- **Validation**: Parameter validation with helpful error messages
54+
55+
### Performance
56+
- **Caching**: Response caching for improved performance
57+
- **Compression**: Automatic response compression
58+
- **Streaming**: Efficient data streaming for large responses
59+
60+
!!! tip "Testing APIs"
61+
Use the embedded interactive documentation to test endpoints directly in your browser. Each API reference page includes a full interactive interface for exploring available endpoints and parameters.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# TiTiler CMR API Reference
2+
3+
TiTiler CMR is a NASA-focused application that accepts Concept IDs and uses the Common Metadata Repository (CMR) to discover and serve associated granules as tiles.
4+
5+
## Key Features
6+
7+
- **CMR Integration**: Direct integration with NASA's Common Metadata Repository
8+
- **Earth Science Data**: Specialized for NASA Earth science data collections
9+
- **Time Series Support**: Built-in temporal analysis capabilities
10+
- **Granule Discovery**: Automatic discovery and aggregation of data granules
11+
12+
## Interactive API Documentation
13+
14+
The complete, interactive API documentation from the OpenVEDA Cloud deployment is below. Please be kind with this API.
15+
16+
<iframe src="https://staging.openveda.cloud/api/titiler-cmr/api.html"
17+
width="100%"
18+
height="800px"
19+
frameborder="0"
20+
style="border: 1px solid #ddd; border-radius: 4px;">
21+
</iframe>
22+
23+
## Quick Links
24+
25+
- [Open API docs in new tab](https://staging.openveda.cloud/api/titiler-cmr/api.html){:target="_blank"}
26+
- [OpenAPI Schema JSON](https://staging.openveda.cloud/api/titiler-cmr/api){:target="_blank"}
27+
28+
## Main Endpoint Categories
29+
30+
- **Collections**: `/collections/{collection_id}` - Work with CMR collections
31+
- **Statistics**: `/collections/{collection_id}/statistics` - Extract statistical data
32+
- **Time Series**: `/collections/{collection_id}/timeseries` - Temporal analysis
33+
- **Tiles**: `/collections/{collection_id}/tiles` - Generate map tiles
34+
- **Items**: Individual granule access and processing
35+
36+
!!! tip "Authentication"
37+
Some endpoints may require authentication depending on the data collection's access restrictions.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# TiTiler Core API Reference
2+
3+
TiTiler Core provides the foundational API patterns used across all TiTiler applications. It handles Cloud Optimized GeoTIFFs (COGs) and SpatioTemporal Asset Catalog (STAC) items.
4+
5+
## Key Features
6+
7+
- **COG Support**: Optimized Cloud Optimized GeoTIFF processing
8+
- **STAC Integration**: Full SpatioTemporal Asset Catalog support
9+
- **OGC Compliance**: Standards-compliant tile serving
10+
- **Extensible Architecture**: Foundation for specialized applications
11+
- **High Performance**: Optimized for cloud-native workflows
12+
13+
## Interactive API Documentation
14+
15+
The complete, interactive API documentation from the Development demo deployment is below. Please be kind with this API.
16+
17+
<iframe src="https://titiler.xyz/api.html"
18+
width="100%"
19+
height="800px"
20+
frameborder="0"
21+
style="border: 1px solid #ddd; border-radius: 4px;">
22+
</iframe>
23+
24+
## Quick Links
25+
26+
- [Open API docs in new tab](https://titiler.xyz/api.html){:target="_blank"}
27+
- [OpenAPI Schema JSON](https://titiler.xyz/api){:target="_blank"}
28+
- [TiTiler Demo Landing Page](https://titiler.xyz/){:target="_blank"}
29+
30+
## Main Endpoint Categories
31+
32+
- **COG Endpoints**: `/cog/*` - Cloud Optimized GeoTIFF processing
33+
- **STAC Endpoints**: `/stac/*` - SpatioTemporal Asset Catalog integration
34+
- **Mosaic Endpoints**: `/mosaicjson/*` - Multi-source mosaicking
35+
- **Algorithms**: `/algorithms` - Available processing algorithms
36+
- **Color Maps**: `/colorMaps` - Available visualization color schemes
37+
- **TMS**: `/tileMatrixSets` - Supported tiling schemes
38+
39+
!!! info "Foundation Layer"
40+
TiTiler Core serves as the foundation that all other TiTiler applications build upon, providing consistent API patterns and core functionality.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# TiTiler Multidim API Reference
2+
3+
TiTiler Multidim is a comprehensive application built on `titiler.xarray` specifically designed for multi-dimensional datasets like NetCDF and Zarr files.
4+
5+
## Key Features
6+
7+
- **Multi-dimensional Support**: Native handling of 3D, 4D, and 5D datasets
8+
- **Temporal Processing**: Advanced time-series analysis and animation support
9+
- **Performance Optimizations**: Redis caching and optimized chunking strategies
10+
- **Scientific Data Formats**: NetCDF, Zarr, HDF, and other research data formats
11+
- **VEDA Integration**: Optimized for NASA's VEDA platform infrastructure
12+
13+
## Interactive API Documentation
14+
15+
The complete, interactive API documentation from the OpenVEDA Cloud deployment is below. Please be kind with this API.
16+
17+
<iframe src="https://staging.openveda.cloud/api/titiler-multidim/api.html"
18+
width="100%"
19+
height="800px"
20+
frameborder="0"
21+
style="border: 1px solid #ddd; border-radius: 4px;">
22+
</iframe>
23+
24+
## Quick Links
25+
26+
- [Open API docs in new tab](https://staging.openveda.cloud/api/titiler-multidim/api.html){:target="_blank"}
27+
- [OpenAPI Schema JSON](https://staging.openveda.cloud/api/titiler-multidim/api){:target="_blank"}
28+
29+
## Main Endpoint Categories
30+
31+
- **Dataset Info**: `/info` - Dataset metadata and structure
32+
- **Statistics**: `/statistics` - Statistical analysis across dimensions
33+
- **Tiles**: `/tiles/{z}/{x}/{y}` - Map tile generation
34+
- **Temporal Selection**: Time-based data slicing and selection
35+
- **Dimensional Analysis**: Multi-dimensional data exploration
36+
- **Rendering**: Advanced visualization and color mapping
37+
38+
!!! note "Prototype Application"
39+
TiTiler Multidim serves as a prototype application demonstrating advanced multidimensional data processing capabilities with various optimizations for production use.

docs/explanation/titiler-ecosystem.md

Lines changed: 0 additions & 53 deletions
This file was deleted.

0 commit comments

Comments
 (0)