Python DataURI

3.0.2 · active · verified Wed Apr 15

A small Python library for manipulating data URIs, as defined in RFC2397. It provides functionalities for parsing existing data URIs into structured objects and creating new ones from various inputs. The library is currently at version 3.0.2 and appears to have an infrequent release cadence, driven by feature additions and Python version compatibility.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to parse an existing data URI and access its components, and how to create a new data URI from specified media type and data. It highlights the use of `DataURI.data` for bytes and `DataURI.text` for string representations.

from datauri import DataURI

# Parsing a data URI
uri_string = 'data:text/plain;charset=utf-8;base64,VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu'
parsed_uri = DataURI(uri_string)

print(f"MIME Type: {parsed_uri.mimetype}")
print(f"Charset: {parsed_uri.charset}")
print(f"Is Base64: {parsed_uri.is_base64}")
print(f"Decoded data (bytes): {parsed_uri.data}")
print(f"Decoded data (text): {parsed_uri.text}")

# Creating a data URI
made_uri = DataURI.make('image/png', base64=True, data=b'\x89PNG\r\n...') # Example with bytes
print(f"Created URI: {made_uri}")

# Creating from a string directly
text_uri = DataURI.make('text/plain', data='Hello, World!')
print(f"Text URI: {text_uri}")

view raw JSON →