skillfed

uri-template

RFC 6570 URI Template Processor

uri-template Permissive license MIT License Abandoned v1.3.0 released

Install

uri-template on PyPI

pip

pip install uri-template

uv

uv add uri-template

poetry

poetry add uri-template

Package facts

License MIT License (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,149 days since the last release
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: uri_template-1.3.0-py3-none-any.whl

Keywords: config

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

About uri-template

from the package's own PyPI description — quoted content, verbatim

uri-template

An implementation of RFC 6570 URI Templates.

This packages implements URI Template expansion in strict adherence to RFC 6570, but adds a few extensions.

RFC 6570 Extensions

Non-string Values

RFC 6570 is silent regarding variable values that are not strings, lists, associative arrays, or null.

This package handles value types as follows:

  • Values that are instances of str are treated as strings.
  • Values implementing collections.abc.Sequence are treated as lists.
  • Values implementing collections.abc.Mapping are treated as associative arrays.
  • None values are treated as null.
  • Boolean values are converted to the lower case strings 'true' and 'false'.
  • All other values will be converted to strings using the Python str() function.
Nested Structures

This package handles variable values with nested structure, for example, lists containing other lists or associative arrays, or associative arrays containing lists or other associative arrays.

Nested values for variables that do not use the array modifier ('[]') are treated as follows:

  • Lists containing lists are flattened into a single list.
  • Lists containing...

Read as markdown · JSON record

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Expands RFC 6570 URI Templates with support for variable substitution, nested structures, default values, and partial expansion. It provides both functional and object-oriented APIs for template validation and expansion.

Installation is straightforward with no runtime dependencies and a pure Python wheel distribution. However, the package is marked as abandoned with no releases for 1149 days (last release 2023-06-21), so maintenance and security updates are not expected.

Licensed under the MIT License (permissive), which allows broad use, modification, and distribution with minimal restrictions—suitable for both commercial and private projects.

Usage

pip install uri-template==1.3.0

import uri_template

result = uri_template.expand("{scheme}://{host}{/path*}", scheme="https", host="example.com", path=["a", "b"])
print(result)  # Output: https://example.com/a/b

Requires Python 3.7 or later (package supports 3.7–3.11).

Verdict: A well-designed RFC 6570 implementation with zero dependencies and permissive licensing, suitable for URI template processing tasks. The abandoned maintenance status (1149 days since last release) is a significant concern for long-term reliability and security; use only if the feature set is stable and no active maintenance is required.

Needs verification

  • Whether the package has received any security patches or bug fixes since 2023-06-21 through alternative channels or forks.
  • Real-world adoption and usage patterns beyond the top-1000 PyPI tier classification.
  • Whether the RFC 6570 specification is stable enough that abandonment poses minimal practical risk.
RFC 6570 URI template expansionURI template processorvariable substitution in URLsRFC 6570 implementationURI template validationtemplate expansion libraryURL template variables

Similar packages