Skip to main content

Python library for generating and parsing and RFC 8141 compliant uniform resource names (URN).

Project description

urnparse

Python library for generating and parsing RFC 8141 compliant uniform resource names (URN).

Installation

To use this library in your project, install it with pip

pip install urnparse

Usage

Create URN object from RFC 8141 formatted string

To validate a given URN string against the RFC 8141 specification and construct an URN object from it, use the URN8141.from_string() method:

from urnparse import URN8141

urn_string = 'urn:example:example.org:resources:'+\
             'example%20resource?+res1=a'+\
             '?=param1=test&param2=test2#example.org'

urn = URN8141.from_string(urn_string)

You can then access the specific URN components:

print(urn.namespace_id)
# example
print(urn.specific_string.decoded)
# example.org:resources:example resource
print(urn.specific_string.parts)
# ['example.org', 'resources', 'example resource']
print(urn.rqf_component.resolution)
# {'res1': 'a'}
print(urn.rqf_component.query)
# {'param1': 'test', 'param2': 'test2'}
print(urn.rqf_component.fragment)
# example.org

Create URN string from component objects

To create an RFC 8141 formatted URN string for a certain resource, construct the URN object from the following components:

from urnparse import URN8141, NSIdentifier, NSSString, RQFComponent

nid = NSIdentifier('example')
nss = NSSString('example.org:resources:example%20resource', encoded=True)
rqf = RQFComponent(resolution_string='res1=a',
                   query_string='param1=test&param2=test2',
                   fragment='example.org')

urn = URN8141(nid=nid, nss=nss, rqf=rqf)

print(urn)
# urn:example:example.org:resources:example%20resource?+res1=a?=param1=test&param2=test2#example.org

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

urnparse-0.2.2.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

urnparse-0.2.2-py2.py3-none-any.whl (5.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file urnparse-0.2.2.tar.gz.

File metadata

  • Download URL: urnparse-0.2.2.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for urnparse-0.2.2.tar.gz
Algorithm Hash digest
SHA256 907b8f6365aa453368d27f2d62e5d18606c4148a6d8d0dec7d62439888da4b28
MD5 da824e666c95056b56ade24e5e339dbb
BLAKE2b-256 1df49f6440fd271892e00c963226a9c13b072bb75613354cdbb769ae2d885c16

See more details on using hashes here.

File details

Details for the file urnparse-0.2.2-py2.py3-none-any.whl.

File metadata

  • Download URL: urnparse-0.2.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for urnparse-0.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5bf3ce5ffbfcfbc7412c006c64eceb2531e2d91cf94d1103433684bb68913946
MD5 2f147348a7c3923818f5162c749533f6
BLAKE2b-256 d12cb3941ede58eb540cc00a2941d1e70aa16e0c7732ae56319b6aba366e3094

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page