Home
Connect PgSTAC and TiTiler.
Documentation: stac-utils.github.io/titiler-pgstac/
Source Code: stac-utils/titiler-pgstac
TiTiler-PgSTAC is a TiTiler extension that connects to a PgSTAC database to create dynamic mosaics based on search queries.
Installation¶
To install from PyPI and run:
# Make sure to have pip up to date
$ python -m pip install -U pip
# Install `psycopg` or `psycopg["binary"]` or `psycopg["c"]`
$ python -m pip install psycopg["binary"]
$ python -m pip install titiler.pgstac
To install from sources and run for development:
$ git clone https://github.com/stac-utils/titiler-pgstac.git
$ cd titiler-pgstac
$ python -m pip install -e .
PgSTAC
version¶
titiler.pgstac
depends on pgstac >=0.3.4
(github.com/stac-utils/pgstac/blob/main/CHANGELOG.md#v034).
psycopg
requirement¶
titiler.pgstac
depends on the psycopg
library. Because there are three ways of installing this package (psycopg
or , psycopg["c"]
, psycopg["binary"]
), the user must install this separately from titiler.pgstac
.
psycopg
: no wheel, pure python implementation. It requires thelibpq
installed in the system.psycopg["binary"]
: binary wheel distribution (shipped with libpq) of thepsycopg
package and is simpler for development. It requires development packages installed on the client machine.psycopg["c"]
: a C (faster) implementation of the libpq wrapper. It requires thelibpq
installed in the system.
psycopg[c]
or psycopg
are generally recommended for production use.
In titiler.pgstac
setup.py, we have added three options to let users choose which psycopg install to use:
pip install titiler.pgstac["psycopg"]
: pure pythonpip install titiler.pgstac["psycopg-c"]
: use the C wrapper (requires development packages installed on the client machine)pip install titiler.pgstac["psycopg-binary"]
: binary wheels
Launch¶
You'll need to have POSTGRES_USER
, POSTGRES_PASS
, POSTGRES_DBNAME
, POSTGRES_HOST
, POSTGRES_PORT
variables set in your environment pointing to your Postgres database where pgstac has been installed.
export POSTGRES_USER=username
export POSTGRES_PASS=password
export POSTGRES_DBNAME=postgis
export POSTGRES_HOST=database
export POSTGRES_PORT=5432
$ pip install uvicorn
$ uvicorn titiler.pgstac.main:app --reload
Using Docker¶
$ git clone https://github.com/stac-utils/titiler-pgstac.git
$ cd titiler-pgstac
$ docker compose up --build tiler
It runs titiler.pgstac
using Gunicorn web server. To run Uvicorn based version:
$ docker compose up --build tiler-uvicorn
Contribution & Development¶
See CONTRIBUTING.md
License¶
See LICENSE
Authors¶
See contributors for a listing of individual contributors.
Changes¶
See CHANGES.md.