$npx skillfedfor your agent

rfc3987-syntax

Helper functions to syntactically validate strings according to RFC 3987.

With conditionsPyPI Software DevelopmentReleased Jul 202537.7M downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — rfc3987_syntax-1.1.0-py3-none-any.whl
v1.1.0 · released 2025-07-18 · Python >=3.9 · 1 runtime deps: lark

Yes, if you need RFC 3987 syntax validation without GPL entanglement and are comfortable implementing semantic rules separately. The package is stable, permissively licensed, and has no known vulnerabilities. However, maintenance is aging (last release 392 days ago), so treat it as a stable utility rather than an actively developed framework. Suitable for narrow, well-defined syntax-checking tasks.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.9 or later.
  • Low friction: pure Python wheel with a single runtime dependency on lark.
  • Maintenance status is aging—last release 392 days ago, repository active but minimal activity (1 star).

License · maintenance · safety

MIT (permissive) — MIT license permits use in both open source and proprietary software without restriction. No copyleft obligations or commercial licensing concerns.

last release 2025-07-18 (392 days) · last repo commit 2025-07-18 · 1 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 37,698,453 downloads/mo, #723 on PyPI

Verify before relying

pip install rfc3987-syntax

from rfc3987_syntax import is_valid_syntax_iri

if is_valid_syntax_iri('http://github.com'):
    print('Valid IRI syntax')
else:
    print('Invalid IRI syntax')
  • Whether the Lark parser performance is acceptable for high-volume IRI validation workloads.
  • Completeness of ABNF grammar coverage relative to RFC 3987 final specification.
  • Whether the parse tree output is suitable for downstream semantic validation beyond syntax.
Same gist for agents: .md · .json

What it is and what it does

rfc3987-syntax is a lightweight Python module that validates whether strings conform to the ABNF syntax rules defined in RFC 3987, the IETF standard for Internationalized Resource Identifiers. It uses Lark, an EBNF-based parser, to check syntax compliance against the RFC 3987 grammar, which extends RFC 3986 URI syntax to support Unicode characters and internationalized domain names. The module provides both a general-purpose validator and term-specific helper functions for common IRI forms (iri, iri_reference, absolute_iri), plus access to the underlying parse tree for further processing.

Critically, this package validates syntax only—it does not enforce RFC 3987's semantic rules, such as Unicode Normalization Form C, bidirectional text constraints, port number ranges, IPv6 compression validity, or context-aware percent-encoding. Those constraints must be implemented separately by the caller. The module is intentionally narrow in scope and permissively licensed (MIT) to avoid GPL entanglement with the older rfc3987 package.

Use it for

  • Check whether user-supplied strings are syntactically valid IRIs before passing them to downstream processing or storage systems.
  • Parse IRI strings into Lark parse trees to extract and validate individual components (scheme, authority, path, query, fragment) for custom semantic validation.
  • Validate IRI references and relative IRIs in configuration files, API responses, or link extraction workflows.
  • Build IRI-aware tools or libraries that need permissive licensing and do not depend on GPL-licensed packages.
  • Implement RFC 3987 syntax compliance checks in web scrapers, link validators, or URI normalization pipelines.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need RFC 3987 syntax validation without GPL entanglement and are comfortable implementing semantic rules separately.

The package is stable, permissively licensed, and has no known vulnerabilities. However, maintenance is aging (last release 392 days ago), so treat it as a stable utility rather than an actively developed framework. Suitable for narrow, well-defined syntax-checking tasks.

Install

rfc3987-syntax on PyPI

Before you install

Low friction: pure Python wheel with a single runtime dependency on lark. Maintenance status is aging—last release 392 days ago, repository active but minimal activity (1 star). Suitable for stable, narrow-scope use but not under active development.

Requires Python 3.9 or later.

License in practice

MIT license permits use in both open source and proprietary software without restriction. No copyleft obligations or commercial licensing concerns.

Quickstart

pip install rfc3987-syntax

from rfc3987_syntax import is_valid_syntax_iri

if is_valid_syntax_iri('http://github.com'):
    print('Valid IRI syntax')
else:
    print('Invalid IRI syntax')

Verify before relying

  • Whether the Lark parser performance is acceptable for high-volume IRI validation workloads.
  • Completeness of ABNF grammar coverage relative to RFC 3987 final specification.
  • Whether the parse tree output is suitable for downstream semantic validation beyond syntax.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
lark
MaintenanceAging 392 days since the last release
Last repo commit
First released
Downloads37,698,453 / month, #723 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software DevelopmentTopic :: Utilities

Evidence: rfc3987_syntax-1.1.0-py3-none-any.whl

Tags

Capabilities
RFC 3987 IRI syntax validatorinternationalized resource identifier parserIRI validation libraryRFC 3987 ABNF grammarURI syntax checkerIRI reference validatorparse IRI strings
Topics
rfc-complianceparsinginternationalization
PyPI keywords
RFC 3987RFC3987parsersyntaxvalidator

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “RFC 3987 IRI syntax validator”

  • rfc3987-syntaxValidates that strings conform to the ABNF syntax rules defined in…
  • rfc3987Provides RFC 3986 and RFC 3987 compliant regular expressions and…
  • hyperlinkHyperlink provides an immutable, RFC 3986/3987-compliant URL class…

Give your agent the search over MCP, or paste the wish link into any chat.

More Software Development packages

typing-extensions Worth it
PyPI · Software Development · released Jul 2026

Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.

PSF-2.0pure Python · 3.9+
1.9Bdownloads / mo
numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.

MITpure Python · 3.9+
456.2Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.

Install it if you are building CLIs in Python.

MITpure Python · 3.10+
369.3Mdownloads / mo
distlib With conditions
PyPI · Software Development · released Jun 2026

Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.

permissive licensepure Python
323.3Mdownloads / mo

See also abnf · rfc3987 · rfc3986 · rfc3986-validator · emval · hyperlink · lark-parser · lark · rfc3339-validator · uritools