Skip to main content

A li'l class for data URI manipulation in Python

Project description

Data URI manipulation made easy.

This isn’t very robust, and will reject a number of valid data URIs. However, it meets the most useful case: a mimetype, a charset, and the base64 flag.

Installation

$ pip install python-datauri

Parsing

>>> from datauri import DataURI
>>> uri = DataURI('data:text/plain;charset=utf-8;base64,VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu')
>>> uri.mimetype
'text/plain'
>>> uri.charset
'utf-8'
>>> uri.is_base64
True
>>> uri.data
b'The quick brown fox jumped over the lazy dog.'

Note that DataURI.data will always return bytes (a string on Python 2). Use DataURI.text to get the text type (str on Python 3.x, unicode on Python 2.x).

Creating from a string

>>> from datauri import DataURI
>>> made = DataURI.make('text/plain', charset='us-ascii', base64=True, data='This is a message.')
>>> made
DataURI('data:text/plain;charset=us-ascii;base64,VGhpcyBpcyBhIG1lc3NhZ2Uu')
>>> made.data
b'This is a message.'

Creating from a file

This is really just a convenience method.

>>> from datauri import DataURI
>>> png_uri = DataURI.from_file('somefile.png')
>>> png_uri.mimetype
'image/png'
>>> png_uri.data
b'\x89PNG\r\n...'

License

This code is released under the Unlicense (c.f. <http://unlicense.org/>).

Credits

This is a repackaging of this Gist originally written by Zachary Voase.

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

python-datauri-0.2.3.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

python_datauri-0.2.3-py2.py3-none-any.whl (5.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file python-datauri-0.2.3.tar.gz.

File metadata

File hashes

Hashes for python-datauri-0.2.3.tar.gz
Algorithm Hash digest
SHA256 483d6318daa3ce994ecc5c46215c70a99279694d9abb6de9acc3ea10d54a7e1c
MD5 9d3b3bd62d25aee529b550dd8f664bc6
BLAKE2b-256 60f2709f03bad558d068285f4b06c1187f728191d36918eb47acdb471b4fd566

See more details on using hashes here.

File details

Details for the file python_datauri-0.2.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for python_datauri-0.2.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 57bac0f2561df05323b3f3dc3b74c65dabe30faf5f9c74a55d32c5d94fc7d1d7
MD5 f451be3e49559feade52637a3b13b802
BLAKE2b-256 92a7f4fe4e1b8650f60f64fe753c25fc4700c6440dc9b3a372ae939f25d3bca7

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