Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

python-datauri

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-datauri

A li'l class for data URI manipulation in Python

  • 3.0.1
  • PyPI
  • Socket score

Maintainers
1

DataURI

.. image:: https://github.com/fcurella/python-datauri/workflows/Python%20Tests/badge.svg :target: https://github.com/fcurella/python-datauri/actions?query=workflow%3A%22Python+Tests%22 :alt: Build status of the master branch on Mac/Linux

.. image:: https://coveralls.io/repos/github/fcurella/python-datauri/badge.svg?branch=master :target: https://coveralls.io/github/fcurella/python-datauri?branch=master

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

.. code-block:: bash

$ pip install python-datauri

Parsing

.. code-block:: python

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. Use DataURI.text to get a string.

Creating from a string

.. code-block:: python

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.

.. code-block:: python

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

Serializing

DataURI is a subclass of str, so you can just use str() to print it out:

.. code-block:: python

from datauri import DataURI png_uri = DataURI.from_file('somefile.png') str(png_uri) 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIA...'

Pydantic Support

You can use DataURI as a type for Pydantic:

.. code-block:: python

from datauri import DataURI from pydantic import BaseModel

class ProfilePicture(BaseModel): image_data: DataURI

License

This code is released under the Unlicense <http://unlicense.org/>_.

Credits

This is a repackaging of this Gist <https://gist.github.com/zacharyvoase/5538178>_ originally written by Zachary Voase <https://github.com/zacharyvoase>_.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc