Typed message serialization
Project description
msgspec is a fast and friendly implementation of the MessagePack protocol for Python 3.8+. In addition to serialization/deserialization, it supports runtime message validation using schemas defined via Python’s type annotations.
from typing import Optional, List
import msgspec
# Define a schema for a `User` type
class User(msgspec.Struct):
name: str
groups: List[str] = []
email: Optional[str] = None
# Create a `User` object
alice = User("alice", groups=["admin", "engineering"])
# Serialize `alice` to `bytes` using the MessagePack protocol
serialized_data = msgspec.encode(alice)
# Deserialize and validate the message as a User type
user = msgspec.Decoder(User).decode(serialized_data)
assert user == alice
msgspec is designed to be as performant as possible, while retaining some of the nicities of validation libraries like pydantic. For supported types, serializing a message with msgspec can be ~2-4x faster than alternative libraries.
See the documentation for more information.
LICENSE
New BSD. See the License File.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file msgspec-0.2.0.tar.gz.
File metadata
- Download URL: msgspec-0.2.0.tar.gz
- Upload date:
- Size: 40.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
831d4d98e064fc63dba378e4aedf686eeb272218eaa8f099b76878104f620a4d
|
|
| MD5 |
ae5387e7682a1071482bdb847be04866
|
|
| BLAKE2b-256 |
8e86b0fcbf0884545b165d5cf8c71ed7c729d4aff67d95d948bddc0875cf7b6c
|
File details
Details for the file msgspec-0.2.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: msgspec-0.2.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 54.0 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aead3ef0bc7b439b21ba18078d52a8755140a2fb59ff337ba8143316728ffd7
|
|
| MD5 |
41b8bcc170e6f94f579dc31a42721be5
|
|
| BLAKE2b-256 |
9b49e4ddbf482b9727fcadf7a55e602fa1b649ab588e416df2aa6279cc95eb30
|
File details
Details for the file msgspec-0.2.0-cp39-cp39-manylinux2010_x86_64.whl.
File metadata
- Download URL: msgspec-0.2.0-cp39-cp39-manylinux2010_x86_64.whl
- Upload date:
- Size: 145.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4889b1e8f24ac28bd3290ecd24216952d344e702ca35d7a56cefe667c6296eeb
|
|
| MD5 |
56cea9116bb64442203f8eeb2a881a2e
|
|
| BLAKE2b-256 |
c0b0324adde174a6c5186467f6639a76b46c382eb7e176dbb80fd36354878bc2
|
File details
Details for the file msgspec-0.2.0-cp39-cp39-manylinux1_x86_64.whl.
File metadata
- Download URL: msgspec-0.2.0-cp39-cp39-manylinux1_x86_64.whl
- Upload date:
- Size: 145.2 kB
- Tags: CPython 3.9
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eebdbae479d2e3a9601738fecbbe0eead2ae5b17b699bf753658c820ea5060a9
|
|
| MD5 |
b6f1560cb9513a838636baa2e6fbbd35
|
|
| BLAKE2b-256 |
0405ce2a6c22e8d40407ad5ea33500addbcce47afe1a11b8dc7a22bd2c06d38f
|
File details
Details for the file msgspec-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl.
File metadata
- Download URL: msgspec-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 48.0 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c84e2e92ada187fce9882585a271f248974bb816dd779fe32c66967f6b3f5cc1
|
|
| MD5 |
6daef762185fea6f7523ce5f07f75e54
|
|
| BLAKE2b-256 |
fb64861739b20777ecf658e11192e67ca68dfe54d027a6c6fbf0bca16aeb082a
|
File details
Details for the file msgspec-0.2.0-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: msgspec-0.2.0-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 54.0 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07b685ee1513f3e1fe63540fd670dae6ce4ec084fa4fd6ffeb31b4ddc6c9d8d1
|
|
| MD5 |
dcbc48168b4f6e5a55b4e1bd95392e1c
|
|
| BLAKE2b-256 |
9853e35814fd28f4ce9a399101e3cdcec22eaa3b81ba126cd5622b07bfe3ca93
|
File details
Details for the file msgspec-0.2.0-cp38-cp38-manylinux2010_x86_64.whl.
File metadata
- Download URL: msgspec-0.2.0-cp38-cp38-manylinux2010_x86_64.whl
- Upload date:
- Size: 147.2 kB
- Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37e26a88de26dfd47090f9ef44e9787b488f370f4321e5e6e9ad052a46948b75
|
|
| MD5 |
0d7a4c555932902a673a9aa129efa002
|
|
| BLAKE2b-256 |
48a0e7624363323f0fed2b21b66f3ee19359fb8b80d1d86438785df1bf226135
|
File details
Details for the file msgspec-0.2.0-cp38-cp38-manylinux1_x86_64.whl.
File metadata
- Download URL: msgspec-0.2.0-cp38-cp38-manylinux1_x86_64.whl
- Upload date:
- Size: 147.2 kB
- Tags: CPython 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19eceef01796965ec29a012d969f0fc1bb023ffb39e06ffceff0c6751a054c25
|
|
| MD5 |
af045a7471e63dc33d5c78c290abe84d
|
|
| BLAKE2b-256 |
1bbd9a99b0d62e468327025e1362803c5df2693a5db07da0081f83c6e2d08d45
|
File details
Details for the file msgspec-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl.
File metadata
- Download URL: msgspec-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 48.0 kB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be1afc8a1ac528bf7f3662b6b7f90acb6f25947e143eb9501c7c67b13736ac4b
|
|
| MD5 |
a4e02238c65bffc505998627e3a0f090
|
|
| BLAKE2b-256 |
53f2071c9cce71bc931948510b10bbbe558947dc1344c1c18cce41866e95f900
|