{"id":24714,"library":"titiler-application","title":"TiTiler Application","description":"A modern dynamic tile server library built on top of FastAPI and Rasterio/GDAL. Version 2.0.2 is the latest stable release; it provides composable FastAPI routers for serving COG, STAC, and mosaic tiles. The package is part of the TiTiler ecosystem and is actively maintained by Development Seed.","status":"active","version":"2.0.2","language":"python","source_language":"en","source_url":"https://github.com/developmentseed/titiler","tags":["tile-server","COG","STAC","FastAPI","raster","GDAL"],"install":[{"cmd":"pip install titiler-application","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"TilerFactory is in titiler.application, not top-level titiler.","wrong":"from titiler import TilerFactory","symbol":"TilerFactory","correct":"from titiler.application import TilerFactory"},{"note":"STACFactory moved to titiler.application in v2.","wrong":"from titiler.stac import STACFactory","symbol":"STACFactory","correct":"from titiler.application import STACFactory"}],"quickstart":{"code":"from fastapi import FastAPI\nfrom titiler.application import TilerFactory\nfrom titiler.core.factory import MultiBandTilerFactory\nfrom titiler.core.resources.enums import ImageType\n\napp = FastAPI()\n\n# COG tiler with default settings\ncog_tiler = TilerFactory()\napp.include_router(cog_tiler.router, prefix=\"/cog\")\n\n# Multi-band tiler\nmulti_tiler = MultiBandTilerFactory()\napp.include_router(multi_tiler.router, prefix=\"/multi\")\n\n# Optional: enable CORS\nfrom titiler.core.middleware import CORSMiddleware\napp.add_middleware(CORSMiddleware, allow_origins=[\"*\"])","lang":"python","description":"Minimal FastAPI app with COG and multi-band tiler endpoints."},"warnings":[{"fix":"Review the new factory pattern: use TilerFactory() and .include_router() explicitly.","message":"In v2.0.0, the default TilerFactory no longer auto-includes all endpoints. You must explicitly add routers or configure settings.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Install titiler-application instead of titiler.mosaic.","message":"The titiler.mosaic metapackage is deprecated; use titiler-application directly.","severity":"deprecated","affected_versions":">=1.2.0"},{"fix":"Set environment variable CPYTHON_GC_RETAIN=1 in Lambda configuration.","message":"When deploying with AWS Lambda, you must set CPYTHON_GC_RETAIN to avoid memory issues with GDAL.","severity":"gotcha","affected_versions":"all"},{"fix":"Always provide assets parameter, e.g., assets=:all:.","message":"In v2, the 'assets' parameter is required for STAC and mosaic endpoints; use 'assets=:all:' to select all bands.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from titiler.application import TilerFactory'","cause":"Incorrect import path; TilerFactory moved to titiler.application.","error":"ImportError: cannot import name 'TilerFactory' from 'titiler'"},{"fix":"Install titiler-application: pip install titiler-application","cause":"Missing or incomplete installation of titiler-application package.","error":"AttributeError: module 'titiler' has no attribute 'application'"},{"fix":"Use TilerFactory().router and include it in the app manually.","cause":"In v2, TilerFactory requires explicit router addition; not all endpoints are auto-registered.","error":"pydantic.error_wrappers.ValidationError: 1 validation error for TilerFactory ..."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}