Skip to main content

Modern high-performance serialization utilities for Python

Project description

srsly: Modern high-performance serialization utilities for Python

This package bundles some of the best Python serialization libraries into one standalone package, with a high-level API that makes it easy to write code that's correct across platforms and Pythons. This allows us to provide all the serialization utilities we need in a single binary wheel. Currently supports JSON, JSONL, MessagePack, Pickle and YAML.

tests PyPi conda GitHub Python wheels

Motivation

Serialization is hard, especially across Python versions and multiple platforms. After dealing with many subtle bugs over the years (encodings, locales, large files) our libraries like spaCy and Prodigy had steadily grown a number of utility functions to wrap the multiple serialization formats we need to support (especially json, msgpack and pickle). These wrapping functions ended up duplicated across our codebases, so we wanted to put them in one place.

At the same time, we noticed that having a lot of small dependencies was making maintenance harder, and making installation slower. To solve this, we've made srsly standalone, by including the component packages directly within it. This way we can provide all the serialization utilities we need in a single binary wheel.

srsly currently includes forks of the following packages:

Installation

⚠️ Note that v2.x is only compatible with Python 3.6+. For 2.7+ compatibility, use v1.x.

srsly can be installed from pip. Before installing, make sure that your pip, setuptools and wheel are up to date.

python -m pip install -U pip setuptools wheel
python -m pip install srsly

Or from conda via conda-forge:

conda install -c conda-forge srsly

Alternatively, you can also compile the library from source. You'll need to make sure that you have a development environment with a Python distribution including header files, a compiler (XCode command-line tools on macOS / OS X or Visual C++ build tools on Windows), pip and git installed.

Install from source:

# clone the repo
git clone https://github.com/explosion/srsly
cd srsly

# create a virtual environment
python -m venv .env
source .env/bin/activate

# update pip
python -m pip install -U pip setuptools wheel

# compile and install from source
python -m pip install .

For developers, install requirements separately and then install in editable mode without build isolation:

# install in editable mode
python -m pip install -r requirements.txt
python -m pip install --no-build-isolation --editable .

# run test suite
python -m pytest --pyargs srsly

API

JSON

📦 The underlying module is exposed via srsly.ujson. However, we normally interact with it via the utility functions only.

function srsly.json_dumps

Serialize an object to a JSON string. Falls back to json if sort_keys=True is used (until it's fixed in ujson).

data = {"foo": "bar", "baz": 123}
json_string = srsly.json_dumps(data)
Argument Type Description
data - The JSON-serializable data to output.
indent int Number of spaces used to indent JSON. Defaults to 0.
sort_keys bool Sort dictionary keys. Defaults to False.
RETURNS str The serialized string.

function srsly.json_loads

Deserialize unicode or bytes to a Python object.

data = '{"foo": "bar", "baz": 123}'
obj = srsly.json_loads(data)
Argument Type Description
data str / bytes The data to deserialize.
RETURNS - The deserialized Python object.

function srsly.write_json

Create a JSON file and dump contents or write to standard output.

data = {"foo": "bar", "baz": 123}
srsly.write_json("/path/to/file.json", data)
Argument Type Description
path str / Path The file path or "-" to write to stdout.
data - The JSON-serializable data to output.
indent int Number of spaces used to indent JSON. Defaults to 2.

function srsly.read_json

Load JSON from a file or standard input.

data = srsly.read_json("/path/to/file.json")
Argument Type Description
path str / Path The file path or "-" to read from stdin.
RETURNS dict / list The loaded JSON content.

function srsly.write_gzip_json

Create a gzipped JSON file and dump contents.

data = {"foo": "bar", "baz": 123}
srsly.write_gzip_json("/path/to/file.json.gz", data)
Argument Type Description
path str / Path The file path.
data - The JSON-serializable data to output.
indent int Number of spaces used to indent JSON. Defaults to 2.

function srsly.write_gzip_jsonl

Create a gzipped JSONL file and dump contents.

data = [{"foo": "bar"}, {"baz": 123}]
srsly.write_gzip_json("/path/to/file.jsonl.gz", data)
Argument Type Description
path str / Path The file path.
lines - The JSON-serializable contents of each line.
append bool Whether or not to append to the location. Appending to .gz files is generally not recommended, as it doesn't allow the algorithm to take advantage of all data when compressing - files may hence be poorly compressed.
append_new_line bool Whether or not to write a new line before appending to the file.

function srsly.read_gzip_json

Load gzipped JSON from a file.

data = srsly.read_gzip_json("/path/to/file.json.gz")
Argument Type Description
path str / Path The file path.
RETURNS dict / list The loaded JSON content.

function srsly.read_gzip_jsonl

Load gzipped JSONL from a file.

data = srsly.read_gzip_jsonl("/path/to/file.jsonl.gz")
Argument Type Description
path str / Path The file path.
RETURNS dict / list The loaded JSONL content.

function srsly.write_jsonl

Create a JSONL file (newline-delimited JSON) and dump contents line by line, or write to standard output.

data = [{"foo": "bar"}, {"baz": 123}]
srsly.write_jsonl("/path/to/file.jsonl", data)
Argument Type Description
path str / Path The file path or "-" to write to stdout.
lines iterable The JSON-serializable lines.
append bool Append to an existing file. Will open it in "a" mode and insert a newline before writing lines. Defaults to False.
append_new_line bool Defines whether a new line should first be written when appending to an existing file. Defaults to True.

function srsly.read_jsonl

Read a JSONL file (newline-delimited JSON) or from JSONL data from standard input and yield contents line by line. Blank lines will always be skipped.

data = srsly.read_jsonl("/path/to/file.jsonl")
Argument Type Description
path str / Path The file path or "-" to read from stdin.
skip bool Skip broken lines and don't raise ValueError. Defaults to False.
YIELDS - The loaded JSON contents of each line.

function srsly.is_json_serializable

Check if a Python object is JSON-serializable.

assert srsly.is_json_serializable({"hello": "world"}) is True
assert srsly.is_json_serializable(lambda x: x) is False
Argument Type Description
obj - The object to check.
RETURNS bool Whether the object is JSON-serializable.

msgpack

📦 The underlying module is exposed via srsly.msgpack. However, we normally interact with it via the utility functions only.

function srsly.msgpack_dumps

Serialize an object to a msgpack byte string.

data = {"foo": "bar", "baz": 123}
msg = srsly.msgpack_dumps(data)
Argument Type Description
data - The data to serialize.
RETURNS bytes The serialized bytes.

function srsly.msgpack_loads

Deserialize msgpack bytes to a Python object.

msg = b"\x82\xa3foo\xa3bar\xa3baz{"
data = srsly.msgpack_loads(msg)
Argument Type Description
data bytes The data to deserialize.
use_list bool Don't use tuples instead of lists. Can make deserialization slower. Defaults to True.
RETURNS - The deserialized Python object.

function srsly.write_msgpack

Create a msgpack file and dump contents.

data = {"foo": "bar", "baz": 123}
srsly.write_msgpack("/path/to/file.msg", data)
Argument Type Description
path str / Path The file path.
data - The data to serialize.

function srsly.read_msgpack

Load a msgpack file.

data = srsly.read_msgpack("/path/to/file.msg")
Argument Type Description
path str / Path The file path.
use_list bool Don't use tuples instead of lists. Can make deserialization slower. Defaults to True.
RETURNS - The loaded and deserialized content.

pickle

📦 The underlying module is exposed via srsly.cloudpickle. However, we normally interact with it via the utility functions only.

function srsly.pickle_dumps

Serialize a Python object with pickle.

data = {"foo": "bar", "baz": 123}
pickled_data = srsly.pickle_dumps(data)
Argument Type Description
data - The object to serialize.
protocol int Protocol to use. -1 for highest. Defaults to None.
RETURNS bytes The serialized object.

function srsly.pickle_loads

Deserialize bytes with pickle.

pickled_data = b"\x80\x04\x95\x19\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x03foo\x94\x8c\x03bar\x94\x8c\x03baz\x94K{u."
data = srsly.pickle_loads(pickled_data)
Argument Type Description
data bytes The data to deserialize.
RETURNS - The deserialized Python object.

YAML

📦 The underlying module is exposed via srsly.ruamel_yaml. However, we normally interact with it via the utility functions only.

function srsly.yaml_dumps

Serialize an object to a YAML string. See the ruamel.yaml docs for details on the indentation format.

data = {"foo": "bar", "baz": 123}
yaml_string = srsly.yaml_dumps(data)
Argument Type Description
data - The JSON-serializable data to output.
indent_mapping int Mapping indentation. Defaults to 2.
indent_sequence int Sequence indentation. Defaults to 4.
indent_offset int Indentation offset. Defaults to 2.
sort_keys bool Sort dictionary keys. Defaults to False.
RETURNS str The serialized string.

function srsly.yaml_loads

Deserialize unicode or a file object to a Python object.

data = 'foo: bar\nbaz: 123'
obj = srsly.yaml_loads(data)
Argument Type Description
data str / file The data to deserialize.
RETURNS - The deserialized Python object.

function srsly.write_yaml

Create a YAML file and dump contents or write to standard output.

data = {"foo": "bar", "baz": 123}
srsly.write_yaml("/path/to/file.yml", data)
Argument Type Description
path str / Path The file path or "-" to write to stdout.
data - The JSON-serializable data to output.
indent_mapping int Mapping indentation. Defaults to 2.
indent_sequence int Sequence indentation. Defaults to 4.
indent_offset int Indentation offset. Defaults to 2.
sort_keys bool Sort dictionary keys. Defaults to False.

function srsly.read_yaml

Load YAML from a file or standard input.

data = srsly.read_yaml("/path/to/file.yml")
Argument Type Description
path str / Path The file path or "-" to read from stdin.
RETURNS dict / list The loaded YAML content.

function srsly.is_yaml_serializable

Check if a Python object is YAML-serializable.

assert srsly.is_yaml_serializable({"hello": "world"}) is True
assert srsly.is_yaml_serializable(lambda x: x) is False
Argument Type Description
obj - The object to check.
RETURNS bool Whether the object is YAML-serializable.

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

srsly-2.4.8.tar.gz (351.7 kB view details)

Uploaded Source

Built Distributions

srsly-2.4.8-cp312-cp312-win_amd64.whl (478.8 kB view details)

Uploaded CPython 3.12 Windows x86-64

srsly-2.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (491.7 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

srsly-2.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (487.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

srsly-2.4.8-cp312-cp312-macosx_11_0_arm64.whl (486.4 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

srsly-2.4.8-cp312-cp312-macosx_10_9_x86_64.whl (488.4 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

srsly-2.4.8-cp311-cp311-win_amd64.whl (479.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

srsly-2.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (490.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

srsly-2.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (487.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

srsly-2.4.8-cp311-cp311-macosx_11_0_arm64.whl (488.4 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

srsly-2.4.8-cp311-cp311-macosx_10_9_x86_64.whl (490.0 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

srsly-2.4.8-cp310-cp310-win_amd64.whl (481.9 kB view details)

Uploaded CPython 3.10 Windows x86-64

srsly-2.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (493.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

srsly-2.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (489.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

srsly-2.4.8-cp310-cp310-macosx_11_0_arm64.whl (491.2 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

srsly-2.4.8-cp310-cp310-macosx_10_9_x86_64.whl (492.9 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

srsly-2.4.8-cp39-cp39-win_amd64.whl (483.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

srsly-2.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (492.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

srsly-2.4.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (489.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

srsly-2.4.8-cp39-cp39-macosx_11_0_arm64.whl (491.5 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

srsly-2.4.8-cp39-cp39-macosx_10_9_x86_64.whl (493.1 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

srsly-2.4.8-cp38-cp38-win_amd64.whl (483.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

srsly-2.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (494.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

srsly-2.4.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (491.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

srsly-2.4.8-cp38-cp38-macosx_11_0_arm64.whl (489.6 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

srsly-2.4.8-cp38-cp38-macosx_10_9_x86_64.whl (490.9 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

srsly-2.4.8-cp37-cp37m-win_amd64.whl (482.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

srsly-2.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (491.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

srsly-2.4.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (489.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

srsly-2.4.8-cp37-cp37m-macosx_10_9_x86_64.whl (490.2 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

srsly-2.4.8-cp36-cp36m-win_amd64.whl (492.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

srsly-2.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (491.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

srsly-2.4.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (489.2 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

srsly-2.4.8-cp36-cp36m-macosx_10_9_x86_64.whl (490.8 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file srsly-2.4.8.tar.gz.

File metadata

  • Download URL: srsly-2.4.8.tar.gz
  • Upload date:
  • Size: 351.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for srsly-2.4.8.tar.gz
Algorithm Hash digest
SHA256 b24d95a65009c2447e0b49cda043ac53fecf4f09e358d87a57446458f91b8a91
MD5 c3217a2ab80a7010bd34ec9a8689018e
BLAKE2b-256 597f17259e0962bb9433f39aa99ec45fd36851961491c562bc2f8c731cc476a6

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: srsly-2.4.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 478.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for srsly-2.4.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e0b8d5722057000694edf105b8f492e7eb2f3aa6247a5f0c9170d1e0d074151c
MD5 1e29863c66d9e138eea6b211e0d896f2
BLAKE2b-256 06b4d620235df9104c9049c5378027fb2692a8a51fafc775e2feae815ff99599

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6a60c905fd2c15e848ce1fc315fd34d8a9cc72c1dee022a0d8f4c62991131307
MD5 34e4cd8081d8e812600cb680fa19561a
BLAKE2b-256 a11dc4b28e95d9ec4c2e7dad201fa415a483e173fcce444d52dd53be0b0469f3

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db72d2974f91aee652d606c7def98744ca6b899bd7dd3009fd75ebe0b5a51034
MD5 e1fb93ae35ccaa7b5bf74c0586f24b1c
BLAKE2b-256 0e3d462cec40c9ce15f8a3a97c972058ce1d2688abcad2dfc4eea3c888391c11

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94ccdd2f6db824c31266aaf93e0f31c1c43b8bc531cd2b3a1d924e3c26a4f294
MD5 30950be2d12e9a64ed9efe2e92416d74
BLAKE2b-256 9a4713fbea357e7eb9ee823b54cbead30a6adc6686bb3f73e76563b13dcbb2f8

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7583c03d114b4478b7a357a1915305163e9eac2dfe080da900555c975cca2a11
MD5 081ef39c74cc012cfd0b0b5717c237ab
BLAKE2b-256 b11ad96117461e16203ee35dda67153db00572935e5d7fc211d091a34fec24c8

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: srsly-2.4.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 479.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for srsly-2.4.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7a919236a090fb93081fbd1cec030f675910f3863825b34a9afbcae71f643127
MD5 bbb65ee4a890e078d225b3cc7ab7b0b3
BLAKE2b-256 ebf5e3f29993f673d91623df6413ba64e815dd2676fd7932cbc5e7347402ddae

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ace7ed4a0c20fa54d90032be32f9c656b6d75445168da78d14fe9080a0c208ad
MD5 d2ffd9a5aecfd947f453b36f8594fdab
BLAKE2b-256 e2a0153375ade1ca9d33543da7d512329ea9a7d40dc0e0832599f4228b9d761b

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c994a89ba247a4d4f63ef9fdefb93aa3e1f98740e4800d5351ebd56992ac75e3
MD5 4022c2fc94e6c57aa5051dc6aff46daf
BLAKE2b-256 0e05006dd2fdd74248d3fad492e864c2dc75260d52759d526a7cb9c7c08b0fe9

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 50f10afe9230072c5aad9f6636115ea99b32c102f4c61e8236d8642c73ec7a13
MD5 178f43eb0ae042ea442245d65cc6ca4c
BLAKE2b-256 1bd70800af1a75008b3a6a6a24f3efd165f2d2208076e9b8a4b11b66f16217f3

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5472ed9f581e10c32e79424c996cf54c46c42237759f4224806a0cd4bb770993
MD5 a383764e5468207d74edfdb8a6f16cc2
BLAKE2b-256 40febaa4056b7e8585f4c3478d3d1d3a2c1c3095ff066e4fb420bb000abb6cc2

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: srsly-2.4.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 481.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for srsly-2.4.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 980a179cbf4eb5bc56f7507e53f76720d031bcf0cef52cd53c815720eb2fc30c
MD5 059716b9c173c14ed8c5839131409557
BLAKE2b-256 0aedd2c37221fe1975f4b6e8e3cf200d25b905b77e18f6a660b3dc149ade6192

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18685084e2e0cc47c25158cbbf3e44690e494ef77d6418c2aae0598c893f35b0
MD5 be9b2905cf75e5c01be22d9878535f9b
BLAKE2b-256 32692c054c6c5dc5daf5648f994f22377f3be44f79d643f3c3db255b4e86b391

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 98286d20014ed2067ad02b0be1e17c7e522255b188346e79ff266af51a54eb33
MD5 fa6dec3d8d0636300a4c0e15a2c0eb72
BLAKE2b-256 562be4ea56011ed3b66b372ff55463b4f0f8db7245b95cec2fb2042ffec291f0

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b070a58e21ab0e878fd949f932385abb4c53dd0acb6d3a7ee75d95d447bc609
MD5 3c9704e977416e4fcd98699964d8e258
BLAKE2b-256 b21939c39e1ed436852946924fb043cbf1f7bf96682d8ef6ad0c2b14fee235c0

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 17f3bcb418bb4cf443ed3d4dcb210e491bd9c1b7b0185e6ab10b6af3271e63b2
MD5 ff42c26bde4c619948b46a329919fe68
BLAKE2b-256 f648363ffe49690ff5cd8597a2fce311890825595c20153b5fd1db7477d1e2cd

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: srsly-2.4.8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 483.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for srsly-2.4.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 822a38b8cf112348f3accbc73274a94b7bf82515cb14a85ba586d126a5a72851
MD5 c385cd57f874b9fc1f6a6acef47e6f23
BLAKE2b-256 52b1970e7085fbb47fbc824adb0b0f211039ee3da01daa29a69ca99dd926dd48

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be5b751ad88fdb58fb73871d456248c88204f213aaa3c9aab49b6a1802b3fa8d
MD5 1de8ce7fc7aec530ed4a8e039bcd7f81
BLAKE2b-256 f9817b25bc53fc3b95b072d258e04d82372a46dbf8f8c5b3b554ee93d7887fa5

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 06d1733f4275eff4448e96521cc7dcd8fdabd68ba9b54ca012dcfa2690db2644
MD5 d62cb02986ad45505f3865fa2cee7f19
BLAKE2b-256 12428dbb4cb8640842bc14041ff2482ddf78039df114416c338ad66e5acbe56b

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ac3e340e65a9fe265105705586aa56054dc3902789fcb9a8f860a218d6c0a00
MD5 8e3d239c06930998cfd310091bbc9d0a
BLAKE2b-256 2387f6dc2625010feb7f647b0dc3b0bcb12643d0b0895fa4f265bbefbb801a99

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ff8df21d00d73c371bead542cefef365ee87ca3a5660de292444021ff84e3b8c
MD5 96e12b89fbdfaa3ede918bb3e1e3f4e9
BLAKE2b-256 0dfdd804d99cb5d5b3f84053c454068ec66b27b4c08aa2906855cc0b9aad4015

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: srsly-2.4.8-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 483.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for srsly-2.4.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dc0bf7b6f23c9ecb49ec0924dc645620276b41e160e9b283ed44ca004c060d79
MD5 469fcbbb2ec4159c86300e92a1ed9fc4
BLAKE2b-256 4b93e4eb7683e742912989278c182efff5d5afb76b830414c2aae2d4c01e59e6

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a9dc1da5cc94d77056b91ba38365c72ae08556b6345bef06257c7e9eccabafe
MD5 2965b9dccb1605299b994f9d38e5358b
BLAKE2b-256 2138545d49d1f4042c4d1b97e5b860730d23654dbb13911801a9ed0bfe85578c

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7347cff1eb4ef3fc335d9d4acc89588051b2df43799e5d944696ef43da79c873
MD5 3d2d84901dc1d720b73660f309efc620
BLAKE2b-256 fbf53ee20f828b5f68e48fc3db1691a902b24c6e32274238d6ec0faa20641810

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2fd4bc081f1d6a6063396b6d97b00d98e86d9d3a3ac2949dba574a84e148080
MD5 e53f8d3b6c74494f9a0ad122d8a7041e
BLAKE2b-256 d2dc36bff7e940e26c6ca0b4c1ece905463b04530a2bdbc266d3e1f18ef30428

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ec37233fe39af97b00bf20dc2ceda04d39b9ea19ce0ee605e16ece9785e11f65
MD5 f86eefff1829fd29cfbc0330e30dceb1
BLAKE2b-256 82414d759a425297672e1e243b304aa32ffaad945d4fe3977b3bf38dac3af7a8

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: srsly-2.4.8-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 482.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for srsly-2.4.8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3fd661a1c4848deea2849b78f432a70c75d10968e902ca83c07c89c9b7050ab8
MD5 0333f13a1d519fa04b5a6fb57a2e5f2e
BLAKE2b-256 8710a15c35641768f5fd75719933fcdd46e986055372713712f1d56d9770f000

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24d05367b2571c0d08d00459636b951e3ca2a1e9216318c157331f09c33489d3
MD5 40abe7bbf28998c82f86f97048d7e438
BLAKE2b-256 6bedf0472546e45e516c8a46c4019deafa67d4e94a4ef813ba3d3ee5491b027f

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ad141d8a130cb085a0ed3a6638b643e2b591cb98a4591996780597a632acfe20
MD5 13f75660671e3b9e8e4806e9896aae4f
BLAKE2b-256 c02fbf0fd9574d7693a3742a8b992a0b4995a639b985201111088b971cb986f8

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 087e36439af517e259843df93eb34bb9e2d2881c34fa0f541589bcfbc757be97
MD5 22bfa70e56cd89f2f7e98780cbaf77cb
BLAKE2b-256 1386639627a0332ededa89709a47474fb369300c981cd117b9fed43bc45a05a0

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: srsly-2.4.8-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 492.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for srsly-2.4.8-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 5a78ab9e9d177ee8731e950feb48c57380036d462b49e3fb61a67ce529ff5f60
MD5 4ba836dc6506804d5fb7470b7b014a49
BLAKE2b-256 909433e9dad75cd442c13a6ff064e3a12b2edaa98f0caddc6f9d02913c6c1dd6

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa034cd582ba9e4a120c8f19efa263fcad0f10fc481e73fb8c0d603085f941c4
MD5 704e3607fcafd9beb426428caa277504
BLAKE2b-256 b01aac156a094c345dd8a4033979266f8197c05a492c78b3926f4660cb71d512

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4750017e6d78590b02b12653e97edd25aefa4734281386cc27501d59b7481e4e
MD5 76284c72e4bf29813ac180cc526cf5ef
BLAKE2b-256 b850f9ed27516423e3fb1d91aa1c2f9f6c0365dd72d117139593f8690549b451

See more details on using hashes here.

File details

Details for the file srsly-2.4.8-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srsly-2.4.8-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 196b4261f9d6372d1d3d16d1216b90c7e370b4141471322777b7b3c39afd1210
MD5 9f7d60494880bf3cf4ebb544e658689e
BLAKE2b-256 cb1b2bced3e6caaf51465a1a4901ad31dc76cebaada301ef8aa8418dc5774efb

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