{"id":27459,"library":"titiler-extensions","title":"TiTiler Extensions","description":"Extensions for TiTiler Factories providing additional endpoints such as rendering, Terrain RGB, and STAC tile support. Current version is 2.0.2, compatible with Python >=3.11. Release cadence is irregular, with major version bumps aligned with rio-tiler updates.","status":"active","version":"2.0.2","language":"python","source_language":"en","source_url":"https://github.com/developmentseed/titiler","tags":["titiler","raster","tiles","fastapi","stac","ogc"],"install":[{"cmd":"pip install titiler.extensions","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Extensions depend on TiTiler core factories and models.","package":"titiler.core","optional":false},{"reason":"Required for raster tile reading.","package":"rio-tiler","optional":false},{"reason":"Web framework for building endpoints.","package":"fastapi","optional":false}],"imports":[{"note":"","wrong":"","symbol":"RenderExtension","correct":"from titiler.extensions import RenderExtension"},{"note":"Pre-v1.1.0 the extension was in a separate package titiler.terrain.","wrong":"from titiler.terrain import TerrainRgbExtension","symbol":"TerrainRgbExtension","correct":"from titiler.extensions import TerrainRgbExtension"},{"note":"","wrong":"","symbol":"StacTileExtension","correct":"from titiler.extensions import StacTileExtension"}],"quickstart":{"code":"from fastapi import FastAPI\nfrom titiler.core.factory import TilerFactory\nfrom titiler.extensions import RenderExtension\n\napp = FastAPI()\ntiler = TilerFactory()\ntiler.register_extension(RenderExtension())\napp.include_router(tiler.router)","lang":"python","description":"Create a FastAPI app with a TiTiler TilerFactory and register the RenderExtension."},"warnings":[{"fix":"Update code to use tiler.register_extension(MyExtension()) instead of subclassing the factory.","message":"Version 2.0.0 dropped support for Python <3.11 and introduced breaking changes in extension registration. The extension classes now require explicit registration via the TilerFactory.register_extension() method, not as a subclass.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Explicitly specify asset names in requests or configure defaults in the extension.","message":"In version 2.0.0, the 'assets' parameter became required in tile endpoints for extensions that rely on asset selection. Using the special value ':all:' is no longer sufficient for all cases.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Replace 'from titiler.extensions.render import RenderExtension' with 'from titiler.extensions import RenderExtension'.","message":"The 'titiler.extensions.render' submodule is deprecated. Use 'titiler.extensions.RenderExtension' directly as a class.","severity":"deprecated","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":"Install titiler-extensions: pip install titiler.extensions","cause":"Installing the wrong package: using 'pip install titiler' instead of 'pip install titiler.extensions'.","error":"AttributeError: module 'titiler' has no attribute 'extensions'"},{"fix":"Upgrade titiler-extensions: pip install --upgrade titiler.extensions","cause":"Using an outdated version of titiler-extensions (<0.0.1) or having a conflicting namespace package.","error":"ImportError: cannot import name 'RenderExtension' from 'titiler.extensions'"},{"fix":"Use tiler.register_extension(RenderExtension())","cause":"Calling register_extension() without passing an extension instance; this method is not a decorator.","error":"TypeError: register_extension() missing 1 required positional argument: 'extension'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}