1- msgspec
1+ msgspec-x
22=======
33
4- ``msgspec `` is a *fast * serialization and validation library, with builtin
4+ ``msgspec-x `` is a community-driven fork of the original msgspec library. It provides two namespaces:
5+ - ``msgspec ``: 100% compatible with the original API for drop-in replacement.
6+ - ``msgspec_x ``: Extended features and community contributions.
7+
8+ Do not install both ``msgspec `` and ``msgspec-x `` in the same environment.
9+
10+ ``msgspec-x `` is a *fast * serialization and validation library, with builtin
511support for JSON _, MessagePack _, YAML _, and TOML _. It features:
612
713- 🚀 **High performance encoders/decoders ** for common protocols. The JSON and
@@ -12,7 +18,7 @@ support for JSON_, MessagePack_, YAML_, and TOML_. It features:
1218 be supported through :doc: `extensions <extending >`.
1319
1420- 🔍 **Zero-cost schema validation ** using familiar Python type annotations.
15- In :doc: `benchmarks <benchmarks >` ``msgspec `` decodes *and * validates JSON
21+ In :doc: `benchmarks <benchmarks >` ``msgspec-x `` decodes *and * validates JSON
1622 faster than orjson _ can decode it alone.
1723
1824- ✨ **A speedy Struct type ** for representing structured data. If you already
@@ -24,9 +30,9 @@ All of this is included in a :ref:`lightweight library
2430
2531-----
2632
27- ``msgspec `` may be used for serialization alone, as a faster JSON or
33+ ``msgspec-x `` may be used for serialization alone, as a faster JSON or
2834MessagePack library. For the greatest benefit though, we recommend using
29- ``msgspec `` to handle the full serialization & validation workflow:
35+ ``msgspec-x `` to handle the full serialization & validation workflow:
3036
3137**Define ** your message schemas using standard Python type annotations.
3238
@@ -66,40 +72,40 @@ MessagePack library. For the greatest benefit though, we recommend using
6672 File " <stdin>" , line 1 , in < module>
6773 msgspec.ValidationError: Expected `str ` , got `int ` - at `$ .groups[0 ]`
6874
69- ``msgspec `` is designed to be as performant as possible, while retaining some
75+ ``msgspec-x `` is designed to be as performant as possible, while retaining some
7076of the nicities of validation libraries like pydantic _. For supported types,
71- encoding/decoding a message with ``msgspec `` can be :doc: `~10-80x faster than
77+ encoding/decoding a message with ``msgspec-x `` can be :doc: `~10-80x faster than
7278alternative libraries <benchmarks>`.
7379
7480Highlights
7581----------
7682
77- - ``msgspec `` is **fast **. It :doc: `benchmarks <benchmarks >` as the fastest
83+ - ``msgspec-x `` is **fast **. It :doc: `benchmarks <benchmarks >` as the fastest
7884 serialization library for Python, outperforming all other JSON/MessagePack
7985 libraries compared.
8086
81- - ``msgspec `` is **friendly **. Through use of Python's type annotations,
87+ - ``msgspec-x `` is **friendly **. Through use of Python's type annotations,
8288 messages are :ref: `validated <typed-decoding >` during deserialization in a
83- declarative way. ``msgspec `` also works well with other type-checking tooling
89+ declarative way. ``msgspec-x `` also works well with other type-checking tooling
8490 like mypy _ and pyright _, providing excellent editor integration.
8591
86- - ``msgspec `` is **flexible **. It natively supports a :doc: `wide range of
92+ - ``msgspec-x `` is **flexible **. It natively supports a :doc: `wide range of
8793 Python builtin types <supported-types>`. Support for additional types can
8894 also be added through :doc: `extensions <extending >`.
8995
90- - ``msgspec `` is **lightweight **. It has no required dependencies, and the
96+ - ``msgspec-x `` is **lightweight **. It has no required dependencies, and the
9197 binary size is :ref: `a fraction of that of comparable libraries
9298 <benchmark-library-size>`.
9399
94- - ``msgspec `` is **correct **. The encoders/decoders implemented are strictly
100+ - ``msgspec-x `` is **correct **. The encoders/decoders implemented are strictly
95101 compliant with their respective specifications, providing stronger guarantees
96102 of compatibility with other systems.
97103
98104Used By
99105-------
100106
101- ``msgspec `` is used by many organizations and `open source projects
102- <https://github.com/jcrist /msgspec/network/dependents> `__, here we highlight a
107+ ``msgspec-x `` is used by many organizations and `open source projects
108+ <https://github.com/nightsailer /msgspec-x /network/dependents> `__, here we highlight a
103109few:
104110
105111.. grid :: 2 2 4 4
0 commit comments