# devel/py-msgspec - The NetBSD Packages Collection

Fast serialization and validation library

    msgspec is a fast serialization and validation library, with builtin
    support for JSON, MessagePack, YAML, and TOML. It features:

    * High performance encoders/decoders for common protocols. The JSON
      and MessagePack implementations regularly benchmark as the fastest
      options for Python.

    * Support for a wide variety of Python types. Additional types may
      be supported through extensions.

    * Zero-cost schema validation using familiar Python type annotations.
      In benchmarks msgspec decodes and validates JSON faster than orjson
      can decode it alone.

    * A speedy Struct type for representing structured data. If you
      already use dataclasses or attrs, Structs should feel familiar.
      However, they're 5-60x faster for common operations.

- Source version: `py313-msgspec-0.21.1`
- Maintainer: pkgsrc-users AT NetBSD.org
- Website: https://jcristharif.com/msgspec/
- License: modified-bsd
- Package history: cvs, hg, git

## Build dependencies

devel/py-setuptools devel/py-setuptools_scm devel/py-build misc/py-installer pkgtools/mktools pkgtools/cwrappers

## Runtime dependencies

textproc/py-tomli_w textproc/py-yaml lang/python313 lang/python313

## Binary packages

OS | Architecture | Version
--- | --- | ---
NetBSD 10.0 | aarch64 | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | aarch64 | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | aarch64 | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | aarch64 | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | aarch64 | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | aarch64 | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | aarch64 | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | aarch64 | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | aarch64eb | py310-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | aarch64eb | py311-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | aarch64eb | py312-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | aarch64eb | py313-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | alpha | py311-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | alpha | py312-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | earmv6hf | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv6hf | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv6hf | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv6hf | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv6hf | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv6hf | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv6hf | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv6hf | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv7hf | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv7hf | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv7hf | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv7hf | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv7hf | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv7hf | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv7hf | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | earmv7hf | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | i386 | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | i386 | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | i386 | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | i386 | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | i386 | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | i386 | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | i386 | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | i386 | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | powerpc | py310-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | powerpc | py311-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | powerpc | py312-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | powerpc | py313-msgspec-0.19.0nb1.tgz
NetBSD 10.0 | powerpc | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | powerpc | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | powerpc | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | powerpc | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | powerpc | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | powerpc | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | powerpc | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | powerpc | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | sparc64 | py310-msgspec-0.18.6.tgz
NetBSD 10.0 | sparc64 | py311-msgspec-0.18.6.tgz
NetBSD 10.0 | sparc64 | py312-msgspec-0.18.6.tgz
NetBSD 10.0 | sparc64 | py38-msgspec-0.18.6.tgz
NetBSD 10.0 | sparc64 | py39-msgspec-0.18.6.tgz
NetBSD 10.0 | sparc64 | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | sparc64 | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | sparc64 | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | sparc64 | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | sparc64 | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | sparc64 | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | sparc64 | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | sparc64 | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | x86_64 | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | x86_64 | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | x86_64 | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | x86_64 | py314-msgspec-0.20.0.tgz
NetBSD 10.0 | x86_64 | py311-msgspec-0.20.0.tgz
NetBSD 10.0 | x86_64 | py312-msgspec-0.20.0.tgz
NetBSD 10.0 | x86_64 | py313-msgspec-0.20.0.tgz
NetBSD 10.0 | x86_64 | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64 | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64 | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64 | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64 | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64eb | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64eb | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64eb | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64eb | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64eb | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64eb | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64eb | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | aarch64eb | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv4 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv4 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv4 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv6hf | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv6hf | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv6hf | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv6hf | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv6hf | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv6hf | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv6hf | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv6hf | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv7hf | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv7hf | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv7hf | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv7hf | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv7hf | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv7hf | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv7hf | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | earmv7hf | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | i386 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | i386 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | i386 | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | i386 | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | i386 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | i386 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | i386 | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | i386 | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | m68k | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | m68k | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | powerpc | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | powerpc | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | powerpc | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | powerpc | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | riscv64 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | riscv64 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | riscv64 | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | riscv64 | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | riscv64 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | riscv64 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | riscv64 | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | riscv64 | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | x86_64 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | x86_64 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | x86_64 | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | x86_64 | py314-msgspec-0.20.0.tgz
NetBSD 11.0 | x86_64 | py311-msgspec-0.20.0.tgz
NetBSD 11.0 | x86_64 | py312-msgspec-0.20.0.tgz
NetBSD 11.0 | x86_64 | py313-msgspec-0.20.0.tgz
NetBSD 11.0 | x86_64 | py314-msgspec-0.20.0.tgz
NetBSD 9.0 | aarch64 | py311-msgspec-0.20.0.tgz
NetBSD 9.0 | aarch64 | py312-msgspec-0.20.0.tgz
NetBSD 9.0 | aarch64 | py313-msgspec-0.20.0.tgz
NetBSD 9.0 | aarch64 | py314-msgspec-0.20.0.tgz
NetBSD 9.0 | aarch64 | py311-msgspec-0.20.0.tgz
NetBSD 9.0 | aarch64 | py312-msgspec-0.20.0.tgz
NetBSD 9.0 | aarch64 | py313-msgspec-0.20.0.tgz
NetBSD 9.0 | aarch64 | py314-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv4 | py310-msgspec-0.19.0nb1.tgz
NetBSD 9.0 | earmv4 | py311-msgspec-0.19.0nb1.tgz
NetBSD 9.0 | earmv4 | py312-msgspec-0.19.0nb1.tgz
NetBSD 9.0 | earmv6hf | py311-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv6hf | py312-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv6hf | py313-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv6hf | py314-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv6hf | py311-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv6hf | py312-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv6hf | py313-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv6hf | py314-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv7hf | py311-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv7hf | py312-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv7hf | py313-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv7hf | py314-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv7hf | py311-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv7hf | py312-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv7hf | py313-msgspec-0.20.0.tgz
NetBSD 9.0 | earmv7hf | py314-msgspec-0.20.0.tgz
NetBSD 9.0 | i386 | py311-msgspec-0.20.0.tgz
NetBSD 9.0 | i386 | py312-msgspec-0.20.0.tgz
NetBSD 9.0 | i386 | py313-msgspec-0.20.0.tgz
NetBSD 9.0 | i386 | py314-msgspec-0.20.0.tgz
NetBSD 9.0 | powerpc | py310-msgspec-0.19.0nb1.tgz
NetBSD 9.0 | powerpc | py311-msgspec-0.19.0nb1.tgz
NetBSD 9.0 | powerpc | py312-msgspec-0.19.0nb1.tgz
NetBSD 9.0 | powerpc | py313-msgspec-0.19.0nb1.tgz
NetBSD 9.0 | x86_64 | py311-msgspec-0.20.0.tgz
NetBSD 9.0 | x86_64 | py312-msgspec-0.20.0.tgz
NetBSD 9.0 | x86_64 | py313-msgspec-0.20.0.tgz
NetBSD 9.0 | x86_64 | py314-msgspec-0.20.0.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

## Available build options

(none)

## Known vulnerabilities

(no vulnerabilities known)

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.

Problem reports, updates or suggestions for this package should be reported with send-pr.