Skip to main content

Bake marshmallow schemas based on dataclasses

Project description

marshmallow-recipe

PyPI version Python Versions

Library for convenient serialization/deserialization of Python dataclasses using marshmallow.

Originally developed as an abstraction layer over marshmallow to facilitate migration from v2 to v3 for codebases with extensive dataclass usage, this library has evolved into a powerful tool offering a more concise approach to serialization. It can be seamlessly integrated into any codebase, providing the following benefits:

  1. Automatic schema generation: Marshmallow schemas are generated and cached automatically, while still being accessible when needed
  2. Comprehensive Generics support with full nesting and inheritance capabilities
  3. Nested cyclic references support
  4. Flexible field configuration through dataclass.field(meta) or Annotated[T, meta]
  5. Customizable case formatting support, including built-in camelCase and CamelCase, via dataclass decorators
  6. Configurable None value handling through dataclass decorators
  7. PATCH operation support via mr.MISSING value

Supported Types

Simple types: str, bool, int, float, decimal.Decimal, datetime.datetime, datetime.date, datetime.time, uuid.UUID, enum.StrEnum, enum.IntEnum, typing.Any

Collections: list[T], set[T], frozenset[T], tuple[T, ...], dict[K, V], Sequence[T], Set[T], Mapping[K, V]

Advanced: T | None, Optional[T], Generic[T], Annotated[T, ...], NewType('Name', T)

Features: Nested dataclasses, cyclic references, generics with full inheritance

Examples

Base scenario

import dataclasses
import datetime
import uuid

import marshmallow_recipe as mr

@dataclasses.dataclass(frozen=True)
class Entity:
    id: uuid.UUID
    created_at: datetime.datetime
    comment: str | None

entity = Entity(
    id=uuid.uuid4(),
    created_at=datetime.datetime.now(tz=datetime.UTC),
    comment=None,
 )

# dumps the dataclass instance to a dict
serialized = mr.dump(entity) 

# deserializes a dict to the dataclass instance
loaded = mr.load(Entity, serialized)

assert loaded == entity

# provides a generated marshmallow schema for the dataclass
marshmallow_schema = mr.schema(Entity)

Configuration

import dataclasses
import datetime
import decimal

import marshmallow_recipe as mr

from typing import Annotated


@dataclasses.dataclass(frozen=True)
class ConfiguredFields:
    with_custom_name: str = dataclasses.field(metadata=mr.meta(name="alias"))
    strip_whitespaces: str = dataclasses.field(metadata=mr.str_meta(strip_whitespaces=True))
    with_post_load: str = dataclasses.field(metadata=mr.str_meta(post_load=lambda x: x.replace("-", "")))
    with_validation: decimal.Decimal = dataclasses.field(metadata=mr.meta(validate=lambda x: x != 0))
    decimal_two_places_by_default: decimal.Decimal  # Note: 2 decimal places by default
    decimal_any_places: decimal.Decimal = dataclasses.field(metadata=mr.decimal_metadata(places=None))
    decimal_three_places: decimal.Decimal = dataclasses.field(metadata=mr.decimal_metadata(places=3))
    decimal_with_rounding: decimal.Decimal = dataclasses.field(metadata=mr.decimal_metadata(places=2, rounding=decimal.ROUND_UP))
    nullable_with_custom_format: datetime.date | None = dataclasses.field(metadata=mr.datetime_meta(format="%Y%m%d"), default=None)
    with_default_factory: str = dataclasses.field(default_factory=lambda: "42")


@dataclasses.dataclass(frozen=True)
class AnnotatedFields:
    with_post_load: Annotated[str, mr.str_meta(post_load=lambda x: x.replace("-", ""))]
    decimal_three_places: Annotated[decimal.Decimal, mr.decimal_metadata(places=3)]


@dataclasses.dataclass(frozen=True)
class AnnotatedListItem:
    nullable_value: list[Annotated[str, mr.str_meta(strip_whitespaces=True)]] | None
    value_with_nullable_item: list[Annotated[str | None, mr.str_meta(strip_whitespaces=True)]]


@dataclasses.dataclass(frozen=True)
@mr.options(none_value_handling=mr.NoneValueHandling.INCLUDE)
class NoneValueFieldIncluded:
    nullable_value: str | None

    
@dataclasses.dataclass(frozen=True)
@mr.options(none_value_handling=mr.NoneValueHandling.IGNORE)
class NoneValueFieldExcluded:
    nullable_value: str | None

    
@dataclasses.dataclass(frozen=True)
@mr.options(naming_case=mr.CAPITAL_CAMEL_CASE)
class UpperCamelCaseExcluded:
    naming_case_applied: str  # serialized to `NamingCaseApplied`
    naming_case_ignored: str = dataclasses.field(metadata=mr.meta(name="alias"))  # serialized to `alias`

    
@dataclasses.dataclass(frozen=True)
@mr.options(naming_case=mr.CAMEL_CASE)
class LowerCamelCaseExcluded:
    naming_case_applied: str  # serialized to `namingCaseApplied`


@dataclasses.dataclass(frozen=True, slots=True, kw_only=True)
class DataClass:
    str_field: str

data = dict(StrField="foobar")
loaded = mr.load(DataClass, data, naming_case=mr.CAPITAL_CAMEL_CASE)
dumped = mr.dump(loaded, naming_case=mr.CAPITAL_CAMEL_CASE)

Update API

import decimal
import dataclasses

import marshmallow_recipe as mr

@dataclasses.dataclass(frozen=True)
@mr.options(none_value_handling=mr.NoneValueHandling.INCLUDE)
class CompanyUpdateData:
    name: str = mr.MISSING
    annual_turnover: decimal.Decimal | None = mr.MISSING

company_update_data = CompanyUpdateData(name="updated name")
dumped = mr.dump(company_update_data)
assert dumped == {"name": "updated name"}  # Note: no "annual_turnover" here

loaded = mr.load(CompanyUpdateData, {"name": "updated name"})
assert loaded.name == "updated name"
assert loaded.annual_turnover is mr.MISSING

loaded = mr.load(CompanyUpdateData, {"annual_turnover": None})
assert loaded.name is mr.MISSING
assert loaded.annual_turnover is None

Generics

Everything works automatically, except for one case. Dump operation of a generic dataclass with frozen=True or/and slots=True requires an explicitly specified subscripted generic type as first cls argument of dump and dump_many methods.

import dataclasses
from typing import Generic, TypeVar

import marshmallow_recipe as mr

T = TypeVar("T")


@dataclasses.dataclass()
class RegularGeneric(Generic[T]):
    value: T

mr.dump(RegularGeneric[int](value=123))  # it works without explicit cls specification


@dataclasses.dataclass(slots=True)
class SlotsGeneric(Generic[T]):
    value: T

mr.dump(SlotsGeneric[int], SlotsGeneric[int](value=123))  # cls required for slots=True generic

@dataclasses.dataclass(frozen=True)
class FrozenGeneric(Generic[T]):
    value: T

mr.dump(FrozenGeneric[int], FrozenGeneric[int](value=123))  # cls required for frozen=True generic


@dataclasses.dataclass(slots=True, frozen=True)
class SlotsFrozenNonGeneric(FrozenGeneric[int]):
    pass

mr.dump(SlotsFrozenNonGeneric(value=123))  # cls not required for non-generic

More Examples

The examples/ directory contains comprehensive examples covering all library features:

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

marshmallow_recipe-0.0.83.tar.gz (161.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

marshmallow_recipe-0.0.83-cp314-cp314-musllinux_1_2_x86_64.whl (637.2 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

marshmallow_recipe-0.0.83-cp314-cp314-musllinux_1_2_aarch64.whl (582.6 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

marshmallow_recipe-0.0.83-cp314-cp314-manylinux_2_28_x86_64.whl (424.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

marshmallow_recipe-0.0.83-cp314-cp314-manylinux_2_28_aarch64.whl (406.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

marshmallow_recipe-0.0.83-cp314-cp314-macosx_11_0_arm64.whl (388.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

marshmallow_recipe-0.0.83-cp314-cp314-macosx_10_12_x86_64.whl (410.6 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

marshmallow_recipe-0.0.83-cp313-cp313-musllinux_1_2_x86_64.whl (636.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

marshmallow_recipe-0.0.83-cp313-cp313-musllinux_1_2_aarch64.whl (582.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

marshmallow_recipe-0.0.83-cp313-cp313-manylinux_2_28_x86_64.whl (424.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

marshmallow_recipe-0.0.83-cp313-cp313-manylinux_2_28_aarch64.whl (406.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

marshmallow_recipe-0.0.83-cp313-cp313-macosx_11_0_arm64.whl (388.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

marshmallow_recipe-0.0.83-cp313-cp313-macosx_10_12_x86_64.whl (410.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

marshmallow_recipe-0.0.83-cp312-cp312-musllinux_1_2_x86_64.whl (637.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

marshmallow_recipe-0.0.83-cp312-cp312-musllinux_1_2_aarch64.whl (583.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

marshmallow_recipe-0.0.83-cp312-cp312-manylinux_2_28_x86_64.whl (424.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

marshmallow_recipe-0.0.83-cp312-cp312-manylinux_2_28_aarch64.whl (406.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

marshmallow_recipe-0.0.83-cp312-cp312-macosx_11_0_arm64.whl (388.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

marshmallow_recipe-0.0.83-cp312-cp312-macosx_10_12_x86_64.whl (411.3 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

Details for the file marshmallow_recipe-0.0.83.tar.gz.

File metadata

  • Download URL: marshmallow_recipe-0.0.83.tar.gz
  • Upload date:
  • Size: 161.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83.tar.gz
Algorithm Hash digest
SHA256 0a6caf5783ca155c1a28e2362c8e946ac4d8746ab9668c53cae7b66173068e57
MD5 7590194f38462c35d6ba78aeabc0bafd
BLAKE2b-256 c82c52a945f9b66e820ad86e965f1506ed8d7ce624dd396e05979e47ad32eb38

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp314-cp314-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 637.2 kB
  • Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0bf873867c8c01b1a2e49205ded8de4c944bd1fa1827035e2972d3216bf059ca
MD5 544aec77d91d87d7b118beb509f8824b
BLAKE2b-256 01cbad6eab218d1cc81ee2918ffe908351babb10caa5d5289133ba51d6873b03

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp314-cp314-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 582.6 kB
  • Tags: CPython 3.14, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 763b07b80717b4b07b4429c42bf62468c5ac828319059e099739797cb75f9fa6
MD5 1dda9f70142e091c8ecb631cc40b18d5
BLAKE2b-256 6d0ad6a055bac6e5f4de419d63a03f15e27c5ce1182f56e53881daaca771c775

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp314-cp314-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 424.7 kB
  • Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68eef049eba2d75f5faf11355b139fc5554666a60c52771820e1ee71d862de3b
MD5 e04e9d355ea6381cbddb8e4806cfbea6
BLAKE2b-256 38ebcbd15465468b5c42d373b627824e1a82f1bc776a59ea4bb712b6564c6e20

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp314-cp314-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 406.0 kB
  • Tags: CPython 3.14, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 620315f2b0c7b649deef2a4bf01bf63539a55ee9fd1f2165da28a6350fa8c497
MD5 e6e58738dbe1eb341639634e87cc8e27
BLAKE2b-256 ecf14e6a33d8874029a9fd5598fa67849461a7ffd59595884df897631c365307

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 388.1 kB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25e1eda061999a7b2a2035c6fbf32d1b3cfa728a6b00ace8dca684ac63028e2c
MD5 0e2ff1b0e9d97cadc32135d4644745a8
BLAKE2b-256 5d38abaf1b2ec3443b07ba493d8da9118679785c7f0759ca2c7ff16c4e5ab87e

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp314-cp314-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 410.6 kB
  • Tags: CPython 3.14, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 428a420c0376013b05ae38b172415781e7081385d9953d2e8d68ead71d623408
MD5 6f33f137134604f3e15b07c382c57125
BLAKE2b-256 e38d3d781863009efaacc3ff65057a570bbac9dc9c1baff5fae30484b4f9ea18

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp313-cp313-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 636.7 kB
  • Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 923867cf9dfb29e20efdfe58120ae770d2580379b3353710005941670adbb214
MD5 7c38bbfd54af6711fa83ba7925dbd266
BLAKE2b-256 602dcb140fced572cd0a13f22032c085c6824a650132e9678f2c84c5189a1ccd

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp313-cp313-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 582.6 kB
  • Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 55b814737ae399a828d8e0e0d705ec33e0202635878f9ef96666bc5071cc7176
MD5 38d5a113d8c8e602f5cefd0644b45033
BLAKE2b-256 e3cd672f8f5a2f32d76214565baae1c3648c8986f90e1f67d735564e6c233a94

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp313-cp313-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 424.2 kB
  • Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7b1b5a36bf78e3acffa1b4811fada99fc68565ccc70d18176f354ef5aead56e7
MD5 225fa86c53ebf099853c0bb151574e50
BLAKE2b-256 0a9da76ac0890e37479946ee960789e0cbf4d5b1b4cbe13d2691b4721381154c

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp313-cp313-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 406.1 kB
  • Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fec8e459b6b8d49377fbb66f00e887371627ba1bb5a7d3c28c1374323b6d354b
MD5 619c1304dc6c48d92581d7f23511beae
BLAKE2b-256 ba8309bbbff2411258131168c1ccd11ccfe69d7d0bae207885de4b580e278f9a

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 388.6 kB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d14b1ad38e656ea51ff50cb1f94dd110d08eac814583e289d7c22b9d124c693a
MD5 50824b87e2cc9690fd4ef32e0dd30d61
BLAKE2b-256 7695169932014a48eca58f070e751e0b0c46260fdbdf890692447ccb21259216

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp313-cp313-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 410.7 kB
  • Tags: CPython 3.13, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c9e8c96a59b8694cbb8a1ebd67b3eb897adc41948ca60308a5fe6bac00a4d09c
MD5 79a13ee3f6a348077cc684d80945bbe7
BLAKE2b-256 bdc2d48d2f8ebda07b78c97179535ccf9432b29e1c6931d3d4b7d0ff36fede83

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp312-cp312-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 637.2 kB
  • Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 218e150ea66c66ff294e4edea06ed5f88fcc7c0809c1f22060b3d07adf6fa2f5
MD5 cdddecd7f352e2644088ee5ea7350c5c
BLAKE2b-256 4a8b9990b9365a0c2a2daa61db862e10481ee51711b7d3e28d68357c747565cf

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp312-cp312-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 583.1 kB
  • Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 44e7a3ed44c57c1ff50af3273c5ffefe3fe0dac604f87d24ea26780ef1f4c80b
MD5 523aed9e1b6993ecb463c2e673ffac76
BLAKE2b-256 97e46c6d560f2ced0bd4a38d783225af3fda28140ff876ff6270f7e951024601

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp312-cp312-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 424.8 kB
  • Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2615b39d94ecc7063ec8e83a3ba8e5aa0f5b9af70c0421942807cbe090dc0a15
MD5 1145a0a350e661eb23d9556cb82f76b9
BLAKE2b-256 2ec7af83818845f5e49dffe9156f33526369a3366e12b9a4282714fe3b2b0b0d

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp312-cp312-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 406.5 kB
  • Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1df5909b88d261099da3808f0009078de422da5ca734584387c736557897b9aa
MD5 8a2e8bc547b144cf12fceba9222892e0
BLAKE2b-256 e8913b4b3edf28a7fa284435170fd68c406317df221101dbc59c1806773aef1d

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 388.7 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a58af30d80f26194c3b770a951a0806e31971c488fc56bd4b4957c7e2cea60e2
MD5 5f37e0836406f83e31035f5347675431
BLAKE2b-256 c2f1eb7c33addca1dd45cf4849a4ff6ee2f3f7e0d9e9a565d1af685aad125dee

See more details on using hashes here.

File details

Details for the file marshmallow_recipe-0.0.83-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: marshmallow_recipe-0.0.83-cp312-cp312-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 411.3 kB
  • Tags: CPython 3.12, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marshmallow_recipe-0.0.83-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 15d2871c9b748b66ff95bb19aa2c4f2dbfb8d95102d731229f0119059cad9757
MD5 ca0ce79d5c7c8c229352bb0fe5d66e44
BLAKE2b-256 c9865dc54ba8ef0deba7801a74581667c0f703e04e6c67250b359d77b4be5797

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page