Skip to main content

Simple and Fast Geospatial OGC Features and Tiles API for PostGIS.

Test Coverage Package version License


Documentation: https://developmentseed.org/tipg/

Source Code: https://github.com/developmentseed/tipg


tipg, pronounced T[ee]pg, is a Python package that helps create lightweight OGC Features and Tiles API with a PostGIS Database backend. The API has been designed for OGC Features and OGC Tiles specifications.

Note This project is the result of the merge between tifeatures and timvt.

Install

python -m pip install pip -U
python -m pip install tipg

# or from source
git clone https://github.com/developmentseed/tipg.git
cd tipg
python -m pip install -e .

OGC Specifications

Specification Status link
OGC Common Part 1: Core ✅ https://docs.ogc.org/DRAFTS/19-072.html
OGC Common Part 2: Geospatial Data ✅ http://docs.ogc.org/DRAFTS/20-024.html
OGC Features Part 1: Core ✅ https://docs.ogc.org/is/17-069r4/17-069r4.html
OGC Features Part 2: CRS by Reference ❌ https://docs.ogc.org/is/18-058r1/18-058r1.html
OGC Features Part 3: Filtering / CQL2 ✅ https://docs.ogc.org/DRAFTS/19-079r1.html
OGC Tiles Part 1: Core ✅ https://docs.ogc.org/is/20-057/20-057.html

Notes:

We chose to avoid implementing the second part of the specification to prevent the introduction of CRS-based GeoJSON. We may review this decision in the future.

While we tried to follow OGC specifications to the letter, some API endpoints might have more capabilities (e.g., geometry column selection).

PostGIS/PostgreSQL

tipg relies greatly on PostGIS' ST_* functions. PostGIS must be installed on your PostgreSQL database.

SELECT name, default_version,installed_version
FROM pg_available_extensions WHERE name LIKE 'postgis%' or name LIKE 'address%';
CREATE EXTENSION postgis;

Configuration

To be able to work, the application will need access to the database. tipg uses Starlette's configuration pattern, which makes use of environment variables or a .env file to pass variables to the application.

An example of a .env file can be found in .env.example

# you need to define the DATABASE_URL directly
DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis

More info about configuration options at https://developmentseed.org/tipg/user_guide/configuration/

Launch

# Set your PostGIS database instance URL in the environment
export DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis
uv run --group server uvicorn tipg.main:app

# or using Docker

docker-compose up app

Docker images

We are publishing two different docker images on tag and on every commit to main branch:

Gunicorn
main commit ghcr.io/developmentseed/tipg:latest
tags ghcr.io/developmentseed/tipg:X.X.X
dockerfile /dockerfiles/Dockerfile

See all version at https://github.com/developmentseed/tipg/pkgs/container/tipg

$ docker run \
    -p 8000:8000 \
    -e DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis \
    ghcr.io/developmentseed/tipg:latest \
    uvicorn tipg.main:app --host 0.0.0.0 --port 8000 --workers 1

# using Gunicorn
$ docker run \
    -p 8000:8000 \
    -e DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis \
    ghcr.io/developmentseed/tipg:latest \
    gunicorn -k uvicorn.workers.UvicornWorker tipg.main:app --bind 0.0.0.0:8000 --workers 1

Contribution & Development

See CONTRIBUTING.md

License

See LICENSE

Authors

Created by Development Seed

Changes

See CHANGES.md.

Metadata

Release files for tipg 1.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tipg 1.6.0
File Size Uploaded
tipg-1.6.0.tar.gz 60.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tipg 1.6.0
File Interpreter ABI Platform
tipg-1.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 150.8 kB

Release files / tipg-1.6.0.tar.gz

Download URL tipg-1.6.0.tar.gz
Size 60.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7f38af470b4167f30f2f5054480c00df1e0045c86b89be877ed87f3daf303e3c
BLAKE2b-256 checksum
How to use checksums
dcc0f7c9afaf4e6ff81d5dcbbeafadb48252746544d10b94b00fb24cb33cc8f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 2, 2026.

Transparency log

Release files / tipg-1.6.0-py3-none-any.whl

Download URL tipg-1.6.0-py3-none-any.whl
Size 90.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c155f098f7ddbb396c9203c9ae369bae050951d73cd432e3b2c3ff51bd0a6728
BLAKE2b-256 checksum
How to use checksums
1b9f95e0e7dc94dc7109aaaad7cb6b7446fed43ef36a06a56578dd43f4a2af56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 2, 2026.

Transparency log

Release history Release notifications | RSS feed

1.6.1

2 release files

This release

1.6.0 This release

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

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