Bake marshmallow schemas based on dataclasses
Project description
marshmallow-recipe
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:
- Automatic schema generation: Marshmallow schemas are generated and cached automatically, while still being accessible when needed
- Comprehensive Generics support with full nesting and inheritance capabilities
- Nested cyclic references support
- Flexible field configuration through
dataclass.field(meta)orAnnotated[T, meta] - Customizable case formatting support, including built-in
camelCaseandCamelCase, via dataclass decorators - Configurable None value handling through dataclass decorators
- 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:
- 01_basic_usage.md - Basic types, load/dump, schema, NewType
- 02_nested_and_collections.md - Nested dataclasses, collections, collections.abc types
- 03_field_customization.md - Custom field names, string transforms, decimal precision, datetime formats
- 04_validation.md - Field validation, regex, mr.validate(), collection item validation
- 05_naming_case_conversion.md - camelCase, PascalCase, UPPER_SNAKE_CASE conversion
- 06_patch_operations.md - PATCH operations with mr.MISSING
- 07_generics.md - Generic[T] types
- 08_global_overrides.md - Runtime parameter overrides (naming_case, none_value_handling, decimal_places)
- 09_per_dataclass_overrides.md - Per-dataclass overrides with @mr.options decorator
- 10_cyclic_references.md - Cyclic and self-referencing structures
- 11_pre_load_hooks.md - @mr.pre_load hooks, add_pre_load()
- 12_validation_errors.md - get_validation_field_errors(), error handling
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a6caf5783ca155c1a28e2362c8e946ac4d8746ab9668c53cae7b66173068e57
|
|
| MD5 |
7590194f38462c35d6ba78aeabc0bafd
|
|
| BLAKE2b-256 |
c82c52a945f9b66e820ad86e965f1506ed8d7ce624dd396e05979e47ad32eb38
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bf873867c8c01b1a2e49205ded8de4c944bd1fa1827035e2972d3216bf059ca
|
|
| MD5 |
544aec77d91d87d7b118beb509f8824b
|
|
| BLAKE2b-256 |
01cbad6eab218d1cc81ee2918ffe908351babb10caa5d5289133ba51d6873b03
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
763b07b80717b4b07b4429c42bf62468c5ac828319059e099739797cb75f9fa6
|
|
| MD5 |
1dda9f70142e091c8ecb631cc40b18d5
|
|
| BLAKE2b-256 |
6d0ad6a055bac6e5f4de419d63a03f15e27c5ce1182f56e53881daaca771c775
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68eef049eba2d75f5faf11355b139fc5554666a60c52771820e1ee71d862de3b
|
|
| MD5 |
e04e9d355ea6381cbddb8e4806cfbea6
|
|
| BLAKE2b-256 |
38ebcbd15465468b5c42d373b627824e1a82f1bc776a59ea4bb712b6564c6e20
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
620315f2b0c7b649deef2a4bf01bf63539a55ee9fd1f2165da28a6350fa8c497
|
|
| MD5 |
e6e58738dbe1eb341639634e87cc8e27
|
|
| BLAKE2b-256 |
ecf14e6a33d8874029a9fd5598fa67849461a7ffd59595884df897631c365307
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25e1eda061999a7b2a2035c6fbf32d1b3cfa728a6b00ace8dca684ac63028e2c
|
|
| MD5 |
0e2ff1b0e9d97cadc32135d4644745a8
|
|
| BLAKE2b-256 |
5d38abaf1b2ec3443b07ba493d8da9118679785c7f0759ca2c7ff16c4e5ab87e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
428a420c0376013b05ae38b172415781e7081385d9953d2e8d68ead71d623408
|
|
| MD5 |
6f33f137134604f3e15b07c382c57125
|
|
| BLAKE2b-256 |
e38d3d781863009efaacc3ff65057a570bbac9dc9c1baff5fae30484b4f9ea18
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
923867cf9dfb29e20efdfe58120ae770d2580379b3353710005941670adbb214
|
|
| MD5 |
7c38bbfd54af6711fa83ba7925dbd266
|
|
| BLAKE2b-256 |
602dcb140fced572cd0a13f22032c085c6824a650132e9678f2c84c5189a1ccd
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55b814737ae399a828d8e0e0d705ec33e0202635878f9ef96666bc5071cc7176
|
|
| MD5 |
38d5a113d8c8e602f5cefd0644b45033
|
|
| BLAKE2b-256 |
e3cd672f8f5a2f32d76214565baae1c3648c8986f90e1f67d735564e6c233a94
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b1b5a36bf78e3acffa1b4811fada99fc68565ccc70d18176f354ef5aead56e7
|
|
| MD5 |
225fa86c53ebf099853c0bb151574e50
|
|
| BLAKE2b-256 |
0a9da76ac0890e37479946ee960789e0cbf4d5b1b4cbe13d2691b4721381154c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fec8e459b6b8d49377fbb66f00e887371627ba1bb5a7d3c28c1374323b6d354b
|
|
| MD5 |
619c1304dc6c48d92581d7f23511beae
|
|
| BLAKE2b-256 |
ba8309bbbff2411258131168c1ccd11ccfe69d7d0bae207885de4b580e278f9a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d14b1ad38e656ea51ff50cb1f94dd110d08eac814583e289d7c22b9d124c693a
|
|
| MD5 |
50824b87e2cc9690fd4ef32e0dd30d61
|
|
| BLAKE2b-256 |
7695169932014a48eca58f070e751e0b0c46260fdbdf890692447ccb21259216
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9e8c96a59b8694cbb8a1ebd67b3eb897adc41948ca60308a5fe6bac00a4d09c
|
|
| MD5 |
79a13ee3f6a348077cc684d80945bbe7
|
|
| BLAKE2b-256 |
bdc2d48d2f8ebda07b78c97179535ccf9432b29e1c6931d3d4b7d0ff36fede83
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
218e150ea66c66ff294e4edea06ed5f88fcc7c0809c1f22060b3d07adf6fa2f5
|
|
| MD5 |
cdddecd7f352e2644088ee5ea7350c5c
|
|
| BLAKE2b-256 |
4a8b9990b9365a0c2a2daa61db862e10481ee51711b7d3e28d68357c747565cf
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44e7a3ed44c57c1ff50af3273c5ffefe3fe0dac604f87d24ea26780ef1f4c80b
|
|
| MD5 |
523aed9e1b6993ecb463c2e673ffac76
|
|
| BLAKE2b-256 |
97e46c6d560f2ced0bd4a38d783225af3fda28140ff876ff6270f7e951024601
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2615b39d94ecc7063ec8e83a3ba8e5aa0f5b9af70c0421942807cbe090dc0a15
|
|
| MD5 |
1145a0a350e661eb23d9556cb82f76b9
|
|
| BLAKE2b-256 |
2ec7af83818845f5e49dffe9156f33526369a3366e12b9a4282714fe3b2b0b0d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1df5909b88d261099da3808f0009078de422da5ca734584387c736557897b9aa
|
|
| MD5 |
8a2e8bc547b144cf12fceba9222892e0
|
|
| BLAKE2b-256 |
e8913b4b3edf28a7fa284435170fd68c406317df221101dbc59c1806773aef1d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a58af30d80f26194c3b770a951a0806e31971c488fc56bd4b4957c7e2cea60e2
|
|
| MD5 |
5f37e0836406f83e31035f5347675431
|
|
| BLAKE2b-256 |
c2f1eb7c33addca1dd45cf4849a4ff6ee2f3f7e0d9e9a565d1af685aad125dee
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15d2871c9b748b66ff95bb19aa2c4f2dbfb8d95102d731229f0119059cad9757
|
|
| MD5 |
ca0ce79d5c7c8c229352bb0fe5d66e44
|
|
| BLAKE2b-256 |
c9865dc54ba8ef0deba7801a74581667c0f703e04e6c67250b359d77b4be5797
|