Structurally parse various JSON files used by Minecraft and Mojang
Project description
minecraft-schemas
English | 简体中文
A Python library that helps you structurally parse various JSON files used by Minecraft and Mojang.
Disclaimer: Although this project's name contains the word "minecraft", it is not endorsed by Mojang Studios or Microsoft. If you encounter any issues while using this project, please open an Issue in the project repository to report them; avoid reporting to the aforementioned entities.
Features
- Open Source: Released under the MulanPSL-2.0 license
- Easy Installation: Simply run
pip install minecraft-schemas - Broad Support: Supports multiple JSON file patterns, accompanied by comprehensive Schema definitions
- Easy to Use: Built-in converter APIs for parsing and constructing JSON files
- Type Safe: All public APIs and Schema definitions include type annotations
- High Performance: Converter APIs are based on
cattrs, and Schema definitions useattrs - Built-in Utilities for common needs:
- Command-line argument/dependency filtering tools for client manifest files
- Version query and filtering tools for version manifest files
Limitations
- This project is not, and does not intend to be, a Minecraft launcher; it focuses solely on file structure parsing and utility functions.
- The project's update pace may not keep up with the latest changes from Mojang and Minecraft.
Project Stability Statement
This project follows Semantic Versioning. Prior to version 1.0.0, to accelerate iteration speed, any API in this project may change in the next release without any deprecation process. Since the APIs are fully typed, your type checker and/or IDE can help you adapt to any API changes.
Breaking changes will be detailed in the changelog whenever possible.
For Users/Developers from minecraft-schemes
This project is a direct rename of minecraft-schemes. Since then, the project's structure and APIs have undergone significant changes.
As the project author, I do not have sufficient time and energy to design a migration plan. I sincerely apologize for any inconvenience this may cause.
minecraft-schemas
English | 简体中文
一个帮助你结构化解析多种 Minecraft 和 Mojang 使用的 JSON 文件的 Python 库。
免责声明:尽管本项目的名称带有“minecraft”这个单词,但此项目未受到来自 Mojang Studios 或微软公司的任何支持。若使用本项目时碰到任何问题,请在项目仓库开 Issue 反馈问题,避免向上述实体反馈。
特性
- 开源:基于 MulanPSL-2.0 许可证发布
- 易于安装:只需运行
pip install minecraft-schemas - 支持广泛:支持多种 JSON 文件模式,附带详尽的 Schema 定义
- 易于使用:内置用于解析和构建 JSON 文件的转换器 API
- 类型安全:所有公开 API 和 Schema 定义均附带类型注解
- 高性能:转换器 API 基于
cattrs,Schema 定义使用attrs - 内置实用工具,针对常见需求:
- 用于客户端清单文件的命令行参数/依赖库信息过滤工具
- 用于版本清单文件的版本查询和过滤工具
限制
- 本项目不是且无意成为 Minecraft 启动器,仅聚焦于文件结构解析和辅助功能。
- 项目的更新速度可能无法跟上 Mojang 和 Minecraft 的最新变化。
项目稳定性声明
本项目遵循语义化版本控制。在 1.0.0 版本之前,为加快迭代速度,本项目的任何 API 都可能会在下次版本发布时产生变化,且没有弃用流程。由于 API 是完全类型化的,你的类型检查器和/或 IDE 可以帮助你适应任何 API 变更。
破坏性变更将尽可能在更新日志中详细说明。
面向来自 minecraft-schemes 的用户/开发者
本项目直接重命名自 minecraft-schemes。在此之后,本项目的结构和 API 都出现了重大变更。
作为项目作者,我没有充分的时间和精力设计迁移方案。对此带来的不便,我深表歉意。
History
This document records all notable changes to this project.
The format of this document follows the guidelines of Keep a Changelog.
This project adheres to Semantic Versioning.
Note: Prior to version 1.0.0, any API in this project may change with the next release due to rapid iteration, without a deprecation process. Breaking changes will be documented in detail in the changelog whenever possible.
[Unreleased] - TBD
[0.6.0] - 2026-05-16
Changes for type annotations of URL fields
Added
- Added new dependency
yarl. - Added (un-)structuring support for
yarl.URL.
Changes
- [Breaking Change] Changed the type annotation for all Schema fields used for URLs from
strto the dedicated typeyarl.URL.yarl.URLis a handy URL class for URL parsing and changing. We believe that usingyarl.URLinstead ofstris more beneficial for structured parsing and processing of URL fields.- Starting from this version, tools that handle these fields as strings may encounter issues. If you are affected, please take action as soon as possible.
Others
Added
- Now all symbols exposed via
__all__inmcschemas.models.enumscan be accessed directly throughmcschemas. This change is to facilitate the direct use of utility functions inmcschemas.toolsthat require specific enumeration members as parameters.
[0.5.0] - 2026-05-11
Added
- Added support for schema definition and parsing of
launcher_profiles.json - Added convenience functions for querying version manifests, accessible via
mcschemas.tools:findLatestVersions(manifest_or_iterable: VersionManifest | Iterable[VersionManifestItem], /) -> _LatestVersions:versionsFilter( manifest_or_iterable: VersionManifest | Iterable[VersionManifestItem], /, *version_filters: VersionFilterType, exclude: bool = False ) -> Iterator[VersionManifestItem]filterVersionByAnyTypes(*version_type: VersionType | str) -> Callable[[VersionManifestItem], bool]filterVersionByIdPattern( substring_or_pattern: str | re.Pattern[str], /, *, fullmatch: bool = False, case_insensitive: bool = True ) -> Callable[[VersionManifestItem], bool]
- Added the
VersionType.UNOBFUSCATEDenum value, representing the unobfuscated versions released in small numbers prior to game version26.0 - Added the following destructuring and serialization functions, exported at the top-level package
mcschemas:build[T]( build_as: ConvertionDefinition[T], obj: T, /, *, converter: SchemaConverter = ..., force: bool = False ) -> Any- Destructuring function that converts
objinto the object specified bybuild_asand returns it - It is allowed this kind of conversion only at
build_as.isSupportsBuildisTrue- Pass
force=Trueto forcefully allow the conversion, but it is strongly recommended for testing purposes only
- Pass
- Destructuring function that converts
dumps[T]( build_as: ConvertionDefinition[T], obj: T, /, *, converter: SchemaConverter = ..., force: bool = False, **underlying_kwargs: Any ) -> str- Serialization function that converts
objinto the object specified bybuild_as, serializes it to a JSON string, and returns it - Other parameters are identical to
build()
- Serialization function that converts
dump[T]( build_as: ConvertionDefinition[T], obj: T, writable: Writer[str], /, *, converter: SchemaConverter = ..., force: bool = False, **underlying_kwargs: Any ) -> None- Same as
dumps(), but writes the serialization result directly to the file objectwritable - Other parameters are identical to
build()
- Same as
Changed
- [Breaking Change] Multiple class names have been renamed, partly to correct erroneous
Entryusage:RuleOSEntry→RuleRequiredOSInfo,RuleEntry→Rule,ArgumentEntry→CommandLineArgument,Arguments→SeparatedCommandLineArguments,VersionManifestItem→ClientManifestFileInfo - [Breaking Change] The type of the
RuleRequiredOSInfo.versionfield has been changed fromre.Pattern[str]tostr, which affects the structuring process - [Breaking Change] Split
mojangjavaintomojangjremanifest(Mojang JRE Manifest) andmojangjrefilesmanifest(Mojang JRE Files Manifest)- Similar to
versionmanifestandclientmanifest, the two do not have a direct containment relationship in structure (the latter needs to be downloaded via a link provided by the former). Therefore, splittingmojangjavamakes the project structure clearer and more consistent.
- Similar to
Removed
- [Breaking Change] Converter API: The
mcschemas.parsermodule has been removed, replaced by the redesignedmcschemas.schemasmodule- The original
mcschemas.parsermodule used an enum class to hold supported schemas, which required a large amount of@overloadboilerplate code; otherwise, type checkers would be confused about the return type when encountering code likemcschemas.loads(s, mcschemas.Schemas.VERSION_MANIFEST)and could not infer it correctly. To simplify the implementation,mcschemas.parserhas been removed. - Many symbols from the redesigned
mcschemas.schemasmodule are exported at the top-level packagemcschemas:S_*constants, representing all supported file structures- deserialization function
load、loadsand structuring functionparse - serialization function
dump、dumpsand destructuring functionbuild
- The original
- [Breaking Change] Removed support for serialization and deserialization of
re.Pattern- The only previous use of this feature was to directly convert
$.arguments.<game|jvm>[].rules[].os.versionfromclient.jsonintore.Patternobjects during structuring. Due to a change in design intent, this feature has been removed; now,re.fullmatch()should be used directly to check the operating system version.
- The only previous use of this feature was to directly convert
- Removed the class-level structuring/destructuring logic from
CommandLineArgument(formerlyArgumentEntry), which has been integrated into the converter API - [Breaking Change] Removed the class-level custom structuring/destructing mechanism
- The only previous use of this feature was to convert elements of
$.arguments.<game|jvm>[]inclient.jsoninto the originalArgumentEntryobjects during structuring. Since the conversion logic has been integrated into the converter API, this feature has been removed.
- The only previous use of this feature was to convert elements of
- [Breaking Change]
LibraryDependencyMavenInfoclass andLibraryDependencyInfo.splitLibraryName()method - [Breaking Change] Removed the standalone rule-checking functions under
tools.rules:isAllowed,isTotallyAllowed,isArgumentCanBeAppended,isLibraryDependencyCanBeAppended, replaced by the dedicated rule checker classRulesChecker- These functions would automatically infer information such as operating system identifiers, versions, and architectures at runtime. Using
RulesCheckerrequires developers to provide this information themselves.
- These functions would automatically infer information such as operating system identifiers, versions, and architectures at runtime. Using
- [Breaking Change] Removed the
Sequenceinterface implementation fromAssetIndexand theMappinginterface implementation fromVersionManifest
Fixed
- Fixed spelling errors in documentation and comments.
[0.4.2] - 2026-03-04
Added
- Typing: Added
UnsignedUUIDTypetype alias to mark auuid.UUIDobject should be serialized to a dash-free hexadecimal string.- Corresponding unstructure hook is registered in
mcschemas.parser.converters.DedicatedConverter.configure().
- Corresponding unstructure hook is registered in
Fixed
- Schema: Handled an edge case where
availableProfilesisnullin the response from remote server in Yggdrasil authentication response. - Parsing: Fixed
uuid.UUID(un-)structuring support inmcschemas.parser.converters.DedicatedConverter.configure(). - Parsing: Fixed the lacked type check for path-like objects in
mcschemas.parser.loadVersionAttrsFromClientJar().
Changes
- Parsing:
DedicatedConverter.configure()now accepts a keyword-only argumentskip_preconf_configuresto skip applyingcattrs.preconf.json.configure_converter()on the existed converter passed in. - Typing: All imports from
typingmodule are now replaced withtyping_extensionsfor better compatibility. - Typing: Removed unnecessary
@abstractmethoddecorator fromSupportsCustomStructure.__structure__()andSupportsCustomUnstructure.__unstructure__()methods.
[0.4.1.post1] - 2026-02-21
Removed
- Parsing:
mcschemas.parser.createConverter()has been removed; it had previously been declared deprecated.- This function was removed at the code level in the previous release, but this was not mentioned in the previous release's changelog. Therefore, this release is specifically for correcting this oversight.
[0.4.1] - 2026-02-21
Added
- Schema: Supported to parse the response format of Yggdrasil APIs compatible with authlib-injector.
- Corresponding model declarations at
mcschemas.models.yggdrasil.
- Corresponding model declarations at
- Schema: Added the method
filterVersions()formcschemas.models.versionmanifest.VersionManifestto help filtering version entries by version type/ID.
Changes
- Project metadata: Overhauled and updated the README.
- Schema: Registered
mcschemas.models.versionmanifest.VersionManifestas acollections.abc.MutableSequenceby implementing required abstract methods. In short,mcschemas.models.versionmanifest.VersionManifestnow is a mutable sequence.- Its
__getitem__method behaves a little differently from a regular sequence: when a string is passed in, it iterates through the internal list of version entries, searches for and returns the entry whose version ID exactly matches the string.
- Its
- Schema: Registered
mcschemas.models.assetindex.AssetIndexas acollections.abc.MutableMappingby implementing required abstract methods. In short,mcschemas.models.assetindex.AssetIndexnow is a mutable mapping.- Its
__getitem__,_setitem__and__delitem__method behaves a little differently from a regular mapping: when a string is passed as the first argument after theself, it is first converted into apathlib.Pathinstance before being passed to the internal asset objects mapping.
- Its
[0.4.0] - 2026-02-09
This release focuses on renaming package and reorganizing the package internal structure.
Due to limited time and energy, I am unable to design a complete backward compatibility solution for this release. Sorry for the inconvenience.
Backwards-incompatible Changes
- Organizational: The package is renamed to
mcschemas(formallymcschemes), and this project is renamed tominecraft-schemas(formallyminecraft-schemes).- Since the word "scheme" [Merriam-Webster] does not accurately reflect the content and objectives of this project, using "schema" [Merriam-Webster] is clearly more appropriate.
- Organizational: Package structure changed:
- All sub packages and modules including schema declarations are moved to
mcschemas.models, detailed below:mcschemes.assetindex->mcschemas.models.assetindexmcschemes.clientmanifest->mcschemas.models.clientmanifestmcschemes.mojangjava->mcschemas.models.mojangjavamcschemes.versionattrs->mcschemas.models.versionattrsmcschemes.versionmanifest->mcschemas.models.versionmanifestmcschemes.enums->mcschemas.models.enumsmcschemes.specials->mcschemas.models.specials
- Parser submodule
mcschemes.tools.parseris moved tomcschemas.parser.
- All sub packages and modules including schema declarations are moved to
Changes
- Project metadata: Fixed typos in this version history file and README:
scheme->schema.
[0.3.0.post1] - 2026-02-09
Deprecated:
- Announced the abandonment of the old package name
mcschemesand the old project nameminecraft-schemes.- The obsolete parts are kept in a separate branch
0.3.0-announced-deprecation.
- The obsolete parts are kept in a separate branch
[0.3.0] - 2026-01-31
Added
- Schema: Added support for parsing version information files (the
version.jsonembedded withinclient.jar). - Schema: Added parse support for index file of Mojang Java Runtimes, and file manifest of each java runtime.
- Parsing: Added a dedicated converter class in
mcschemes.tools.parser.Converter.DedicatedConverter.- This is intended to replace the
mcschemes.tools.parser.createConverter().
- This is intended to replace the
Backwards-incompatible Changes
-
Schema:
mcschemes.assetindex.AssetIndexnow use thePathobject from the standard library'spathlibmodule to represent file relative paths in asset index files.-
Previously, it will use
strto represent file relative paths, so you can access information (e.g. hash, size) by the following way:from mcschemes.models.assetindex import AssetIndex asset_index: AssetIndex = ... # Some operations to obtain the json and structure it to the AssetIndex instance file_info = asset_index.objects['icons/icon_128x128.png'] [...] # Do your operations for file_info
-
Now, you need to use a
pathlib.Pathobject as the key to access the corresponding information:from pathlib import Path from mcschemes.models.assetindex import AssetIndex asset_index: AssetIndex = ... # Some operations to obtain the json and structure it to the AssetIndex instance file_info = asset_index.objects[Path('icons/icon_128x128.png')] [...] # Do your operations for file_info
-
Deprecations
- Parsing:
mcschemes.tools.parser.createConverter()is now marked as deprecated and will be removed in future versions.- Now pass a converter class based on
cattrs.Converterto the kw-only argumentconverter_classis no longer determines the type of the returned dedicated converter instance.
- Now pass a converter class based on
Changes
- Project metadata: This version history file has been revised to conform to the format described in Keep a Changelog.
- Project metadata: Fully updated the README file:
- Added a summary of the main features and benefits.
- Added a summary of file structures supported by this library.
- Usage example are now more useful and better represent typical use cases.
- Organizational: Reorganized the project structure:
mcschemes.tools.parsernow is a package.- Sub-package
mcschemes.tools.parser.convertersis added to contains dedicated converters.
- Sub-package
- Typing:
typing-extensionswas used instead of stdlibtypingfor better backward-compatibility for type annotation. - Schema: Several changes for SHA-1 hexdigest container:
- The comparison between two
mcsehemes.specials.Sha1Suminstances now is based on the case-insensitive form of thehexdigestattribute of both. - The exception class
mcschemes.specials.ChecksumMismatchis now exposed.
- The comparison between two
- Parsing:
mcschemes.tools.parser.parse()now will check the second argumentschemein more robust way.
Fixed
- Tooling: Fixed a mistake when comparing the OS name in the function
mcschemes.tools.rules.isAllow().
[0.2.0] - 2025-12-11
Added
- Project metadata: Added
MANIFEST.infor setuptools. - Schema: Added an SHA-1 hexdigest container type for
sha1/hashfields (un-)structuring. Its definition can be found at:mcschemes.specials.Sha1Sum. - Tooling: Added some tool functions to calculate a set of rules (iterable of
mcschemes.clientmanifest.nodes.RuleEntryinstances) means allow or disallow some operation, such as append an argument or download a library file.
Changes
- Project metadata: Declared build backend
setuptoolsintopyproject.toml. - Project metadata: According to PEP 561, an empty
py.typedis added into the root directory of package. - Project metadata: Corrected the date format for all tier-2 titles in this version history file.
- Organizational: Moved
typings.pyto the root directory of package.
[0.1.0.post1] - 2025-12-05
Changes
- Project metadata: Added project urls into
pyproject.toml. - Project metadata: Added disclaimer in
README.md.
[0.1.0] - 2025-12-04
Added
The initial release.
变更日志
本文件记录了本项目所有值得注意的更改。
本文件的格式遵循《如何维护更新日志》 的规定(但使用中文)。
本项目遵循语义化版本控制。
注意:在 1.0.0 版本之前,为快速迭代,本项目的任何 API 都可能会在下次版本发布时产生变化,且没有弃用流程。破坏性变更将尽可能在更新日志中详细说明。
[未发布版本] - 待定
[0.6.0] - 2026-05-16
URL 字段的类型标注变更
新增
- 添加了
yarl作为依赖项。 - 添加了对
yarl.URL的结构化和去结构化支持。
变更
- [破坏性] 将所有 Schema 用于 URL 的字段的类型标注从
str换成了专用类型yarl.URL。yarl.URL是一个便捷的 URL 类型,用于 URL 解析和修改。我们认为使用yarl.URL取代str更有助于 URL 字段的结构化解析和处理。- 自此版本开始,将这些字段作为字符串处理的工具可能会遇到问题。如果你受到影响,请尽快采取措施。
其它
新增
- 现在
mcschemas.models.enums所有通过__all__公开的符号都可直接通过mcschemas访问。此项变更是为了方便直接使用mcschemas.tools中某些需要特定枚举的成员作为参数的工具函数。
[0.5.0] - 2026-05-11
新增
- 新增对
launcher_profiles.json的 Schema 定义与解析和去结构化/序列化支持 - 新增版本清单查询便利函数,可通过
mcschemas.tools访问:findLatestVersions(manifest_or_iterable: VersionManifest | Iterable[VersionManifestItem], /) -> _LatestVersions:versionsFilter( manifest_or_iterable: VersionManifest | Iterable[VersionManifestItem], /, *version_filters: VersionFilterType, exclude: bool = False ) -> Iterator[VersionManifestItem]filterVersionByAnyTypes(*version_type: VersionType | str) -> Callable[[VersionManifestItem], bool]filterVersionByIdPattern( substring_or_pattern: str | re.Pattern[str], /, *, fullmatch: bool = False, case_insensitive: bool = True ) -> Callable[[VersionManifestItem], bool]
- 新增
VersionType.UNOBFUSCATED枚举值,代表游戏版本26.0之前少量释出的未混淆版本 - 新增下列去结构化函数和序列化函数,已在顶层包
mcschemas导出:build[T]( build_as: ConvertionDefinition[T], obj: T, /, *, converter: SchemaConverter = ..., force: bool = False ) -> Any- 去结构化函数,将
obj转换为build_as规定的对象并返回 - 只有
build_as.isSupportsBuild为True时才允许此类转换,否则会引发UnsupportedToBuild- 可以传入
force=True强制允许转换,但强烈建议仅用于测试用途
- 可以传入
- 去结构化函数,将
dumps[T]( build_as: ConvertionDefinition[T], obj: T, /, *, converter: SchemaConverter = ..., force: bool = False **underlying_kwargs: Any ) -> str- 序列化函数,将
obj转换为build_as规定的对象后序列化为 JSON 字符串并返回 - 其他参数的含义与
build()一致
- 序列化函数,将
dump[T]( build_as: ConvertionDefinition[T], obj: T, writable: Writer[str], /, *, converter: SchemaConverter = ..., force: bool = False **underlying_kwargs: Any ) -> None- 和
dumps()作用相同,但直接将序列化结果写入文件对象writable - 其他参数的含义与
build()一致
- 和
变更
- [破坏性] 多个类名重命名,部分是为了修正错误的
Entry用法:RuleOSEntry→RuleRequiredOSInfo、RuleEntry→Rule、ArgumentEntry→CommandLineArgument、Arguments→SeparatedCommandLineArguments、VersionManifestItem→ClientManifestFileInfo - [破坏性]
RuleRequiredOSInfo.version字段的类型从re.Pattern[str]改为str,这会影响结构化过程 - [破坏性] 将
mojangjava拆分为mojangjremanifest(Mojang JRE 清单)和mojangjrefilesmanifest(Mojang JRE 文件清单)- 类似于
versionmanifest和clientmanifest,两者在结构上并没有直接包含的关系(后者需要通过前者提供的链接下载得到)。故将mojangjava拆分后项目结构更清晰、更具有一致性。
- 类似于
已移除
- [破坏性] 转换器 API:
mcschemas.parser模块已被移除,使用重新设计的mcschemas.schemas模块取而代之- 原始的
mcschemas.parser模块使用一个枚举类容纳支持的 Schema,这需要大量@overload重复代码,否则类型检查工具在碰到形如mcschemas.loads(s, mcschemas.Schemas.VERSION_MANIFEST)的代码时会对返回值的类型感到困惑,无法正确推断。为简化实现,移除了mcschemas.parser。 - 重新设计的
mcschemas.schemas模块中的大量符号已在顶层包mcschemas导出:S_*常量,代表所有支持的文件结构- 反序列化函数
load、loads和结构化函数parse - 序列化函数
dump、dumps和去结构化函数build
- 原始的
- [破坏性] 移除了
re.Pattern的序列化与反序列化支持- 该功能先前的唯一用途是在结构化期间将
client.json的$.arguments.<game|jvm>[].rules[].os.version直接转换为re.Pattern对象。由于设计意图发生变化,该功能被移除,现在应直接使用re.fullmatch()检查操作系统版本。
- 该功能先前的唯一用途是在结构化期间将
- 移除了
CommandLineArgument(原ArgumentEntry)的在类级定义的结构化/去结构化逻辑,其已被整合进转换器 API - [破坏性] 移除了类级自定义结构化/去结构化机制
- 该功能先前的唯一用途是在结构化期间将
client.json的$.arguments.<game|jvm>[]的元素转换为原ArgumentEntry对象。由于转换逻辑被整合进转换器 API,该功能被移除。
- 该功能先前的唯一用途是在结构化期间将
- [破坏性]
LibraryDependencyMavenInfo类与LibraryDependencyInfo.splitLibraryName()方法 - [破坏性] 移除了
tools.rules下的独立规则检查函数:isAllowed、isTotallyAllowed、isArgumentCanBeAppended、isLibraryDependencyCanBeAppended,使用专门的规则检查器类RulesChecker取而代之- 这些函数在运行时会根据需要自行推断操作系统标识符、版本、架构等信息。使用
RulesChecker则需要开发者自行提供这些信息。
- 这些函数在运行时会根据需要自行推断操作系统标识符、版本、架构等信息。使用
- [破坏性] 移除了
AssetIndex的Sequence接口实现与VersionManifest的Mapping接口实现
问题修复
- 修复了文档和注释中的拼写错误。
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 Distribution
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 minecraft_schemas-0.6.0.tar.gz.
File metadata
- Download URL: minecraft_schemas-0.6.0.tar.gz
- Upload date:
- Size: 43.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7aef4055f0cd3bd66737b451dfe585f2affa8333d826f3e16cf199c0e441f1a3
|
|
| MD5 |
17c49155c7e228c2937488c2912d6c29
|
|
| BLAKE2b-256 |
505dea0f59bf75e85d322d3014e1310903e72b6462943827ffdc1fcc22bc75c9
|
File details
Details for the file minecraft_schemas-0.6.0-py3-none-any.whl.
File metadata
- Download URL: minecraft_schemas-0.6.0-py3-none-any.whl
- Upload date:
- Size: 33.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5481c93db66d3a34b2dc548dc54c2c0dfe7436c1ec5e4addde9dfd196813979a
|
|
| MD5 |
4a663415057e096db827fc51d652bcd7
|
|
| BLAKE2b-256 |
11ed7045493a9483d1eae7ceeffa51d082de6603a6578b2cfb9d022dc6ddb605
|