data_url is a Python 3 library which provides easy methods for creating and working with data URL's. The full API documentation is available here.
If all you need is to create a URL and nothing else there is a shortcut method included so you don't need to directly instantiate the DataURL class.
import data_url
with open('image.jpeg', 'rb') as image:
data = image.read()
url = data_url.construct_data_url(mime_type='image/jpeg', base64_encoded=True, data=data)
If you need the information to persist it is recommended to instantiate a class through one of the factory methods on DataURL
import data_url
with open('image.jpeg', 'rb') as image:
data = image.read()
url = data_url.DataURL.from_data('image/jpeg', True, data)
print(str(url))
You can access the full data URL by either converting the DataURL object to a string as above or by accessing the url
attribute.
Given you already have a data URL you can instantiate a DataURL object and retrieve each individual attribute.
import data_url
raw_url = "data:application/json;base64,ewogICJ0ZXN0IjogMTIzCn0K"
url = data_url.DataURL.from_url(raw_url)
print(url.mime_type, url.is_base64_encoded, url.data)