Skip to main content

MDescriptor

MDescriptor is a batch-oriented periodic atomic-descriptor library. The numerical kernels are implemented in C++17 and all Python descriptors share one input/result/lifecycle contract.

MDescriptor 是面向批量周期结构的原子描述符库。数值核心使用 C++17;所有 Python 描述符共享统一的输入、结果和生命周期契约。

Layout / 布局

The public namespace is intentionally small:

src/mdescriptor/             installable package
src/mdescriptor/core/         Descriptor, StructureBatch, DescriptorResult
src/mdescriptor/descriptors/
  standalone/                 no model required (ACE, matrices/, many_body/, local/, rotational/)
  model_backed/               graph seam plus NEP, DPA4, DPA4C
src/mdescriptor/models/assets/ packaged, hash-verified model resources
tests/golden/              descriptor-owned, benchmark-independent accuracy fixtures
docs/numerical-baselines.md  static-golden and external-runtime oracle inventory
scripts/benchmarking/      controlled local benchmark runners
benchmarks/                local benchmark snapshots (ignored except for tracked oracles)
benchmarks/_legacy_oracles/ pinned independent upstream oracle adapters

standalone descriptors never require a model file. model_backed descriptors always resolve a model resource (a packaged default or an explicit model= path). There are no network downloads or implicit model discovery.

standalone 中的描述符不需要模型文件;model_backed 中的 NEP、DPA4、DPA4C 始终解析模型资源(内置默认模型或显式 model= 路径)。不会联网下载,也不会 扫描目录自动发现模型。

Installation / 安装

The base package requires Python 3.10+, NumPy and array-api-compat. ASE is optional and is only needed for StructureBatch.from_ase or direct ASE input. GUI/native frame records can use StructureBatch.from_frames without ASE. Sparse output is provided as SciPy CSR by the optional sparse extra.

基础包需要 Python 3.10+、NumPy 和 array-api-compat。ASE 只在使用 StructureBatch.from_ase 或直接传入 ASE 对象时需要;稀疏输出由可选的 sparse extra 提供。GUI/原生帧记录可使用 StructureBatch.from_frames,不依赖 ASE。

python -m pip install .
python -m pip install ".[ase]"
python -m pip install ".[sparse]"

DPA4 and DPA4C are CPU-only implementations. Their official .pt checkpoints are parsed by the bundled restricted NumPy reader without importing or installing Torch; the supported default graphs run through the C++17/OpenMP backend and specialised configurations retain the NumPy fallback. No network model download is performed.

All built-in descriptors currently advertise and execute on CPU only. CUDA/GPU execution is not available in this release; execution.device="cuda" is rejected rather than silently falling back. Adding GPU support requires a device-specific kernel and a corresponding wheel/runtime build.

可选的外部数值对照固定使用 deepmd-kit==3.2.0

python -m pip install ".[reference-deepmd]"
python -m pytest -m deepmd tests/external_reference/test_deepmd.py

该对照同时覆盖周期和非周期输入;非周期帧按 DeepMD 的 cells=None 语义传入。 tests/golden/dpa4* 的 expected output(包括非周期行)也由该外部 evaluator 生成, manifest 记录了 evaluator 脚本、模型 hash 和 deepmd-kit 版本;运行时仍只加载已 提交的 NPZ,不要求安装 DeepMD。

所有 28 个描述符都登记在数值基线清单,并都有外部 静态 golden:7 个沿用独立上游/source NPZ,另外 21 个在对应目录的 external_manifest.json 中保存固定版本 provider 生成的数值。默认测试只依赖提交的 fixture;外部 provider 缺失或版本漂移会使 reference job 失败,而不会静默跳过。

性能说明:DPA4 native 路径现在使用固定大小分块的 SGEMM、可复用的计算工作区, 并只为每条边计算一次 attention logit;DPA4C 的类型对 MLP 采用每个 calculator 实例独立的惰性缓存。OpenBLAS 仅作为构建依赖,官方 wheel 会内置 prefixed 的 OpenBLAS 及其运行时闭包和许可文件,安装后不需要 scipy-openblas32、Torch 或其他新增运行时依赖。大批量独立结构按结构分块消费,以控制峰值内存。

本地可复现实测(脚本默认 2 次预热、5 次稳态;基线为提交 334e159)可用 以下命令生成完整 JSON 报告;报告同时记录构造、首次调用、p95、线程扫描、RSS 和 profiling 构建中的私有阶段计时:

python scripts/benchmark_dpa_native.py \
  --descriptor DPA4 --dataset carbon_dataset_pbc --limit-frames 50 \
  --threads 1,4,32 --output /tmp/dpa4-native.json

当前 Linux 主机的候选测量中,DPA4 的 41 原子小批 median 约为 0.47 s(1 线程)和 0.30 s(32 线程);50 帧/3200 原子单次吞吐约为 57.8 s(1 线程) 和 21.6 s(32 线程)。这些数字用于同机 A/B 门禁,不代表跨机器性能保证。

Input contract / 输入契约

import numpy as np
from mdescriptor import StructureBatch

batch = StructureBatch(
    numbers=np.array([1, 8], dtype=np.int32),
    positions=np.array([[0., 0., 0.], [1., 0., 0.]]),
    cells=np.eye(3, dtype=np.float64)[None] * 12,
    pbc=np.ones((1, 3), dtype=np.int32),
    offsets=np.array([0, 2], dtype=np.int64),
    ids=("water-0",),
)

StructureBatch takes an owned, read-only snapshot of its contiguous arrays and validates integer fields before narrowing, finite positions/cells, nonsingular cells, positive atomic numbers, monotonic offsets and fully periodic pbc == (1, 1, 1). ASE conversion is available through StructureBatch.from_ase(...); GUI-style mappings or objects exposing numbers, positions, cell, pbc and id can use StructureBatch.from_frames(...).

Descriptor API / 描述符 API

Algorithm classes live under mdescriptor.descriptors and use canonical names:

from mdescriptor.descriptors import SOAP

soap = SOAP(species=[1, 8], r_cut=4.5, n_max=4, l_max=3, average="off")
result = soap.compute(batch)

assert result.level == "atom"
assert result.values.shape == (batch.atoms, soap.feature_count)
assert len(result.labels) == result.values.shape[1]

with SOAP(species=[1, 8], r_cut=4.5, n_max=2, l_max=2) as descriptor:
    result = descriptor.compute(batch)

ACE (Atomic Cluster Expansion) is available as a standalone atom-level descriptor. Its public options mirror the standard ACE1.jl Utils.rpi_basis path and accept atomic numbers or chemical symbols:

from mdescriptor.descriptors import ACE

ace = ACE(species=["H", "O"], N=3, maxdeg=8, rcut=5.0)
result = ace.compute(batch)

Every descriptor has idempotent close(), a closed property and synchronous context-manager support. Computing after close raises ClosedDescriptorError. Instances are synchronous and not promised to be thread-safe.

每个描述符都提供幂等 close()closed 属性和同步上下文管理器;关闭后计算 会抛出 ClosedDescriptorError。实例是同步的,不承诺线程安全。

DescriptorResult contains values, level (atom, structure, or pair), structure_ids, row offsets, stable labels, JSON-safe metadata, per-row samples, and feature_count. The descriptor itself also retains the latest JSON-safe metadata and its configuration after close(). The standard shapes are (N, F), (S, F), and (P, F) for atom, structure and pair outputs respectively. Result arrays are owned snapshots and exposed read-only.

Supported descriptors / 支持的描述符

The built-in registry currently provides 28 descriptors. None means no model file is needed; Optional means a model can be supplied (as with MTP); and Required means the descriptor always resolves a local model resource. See the full descriptor inventory for parameters, capabilities and backend details.

内置注册表目前提供 28 个描述符。None 表示不需要模型文件;Optional 表示 可以提供模型(例如 MTP);Required 表示描述符始终解析本地模型资源。参数、 能力和后端详情请参阅完整描述符清单

Descriptor / 描述符 Category / 类型 Output / 输出 Model / 模型
SOAP Local / 局部 Structure / 结构 None
SOAPTurbo Local / 局部 Atom / 原子 None
ACSF Local / 局部 Atom / 原子 None
ACE Local / 局部 Atom / 原子 None
CoulombMatrix Matrix / 矩阵 Structure / 结构 None
SineMatrix Matrix / 矩阵 Structure / 结构 None
EwaldSumMatrix Matrix / 矩阵 Structure / 结构 None
MBTR Many-body / 多体 Structure / 结构 None
LMBTR Many-body / 多体 Atom / 原子 None
ValleOganov Many-body / 多体 Structure / 结构 None
AtomicComposition Local / 局部 Structure / 结构 None
NeighborList Local / 局部 Pair / 原子对 None
SortedDistances Local / 局部 Atom / 原子 None
SphericalExpansion Local / 局部 Atom / 原子 None
SphericalExpansionByPair Local / 局部 Pair / 原子对 None
SoapRadialSpectrum Local / 局部 Atom / 原子 None
SoapPowerSpectrum Local / 局部 Atom / 原子 None
LodeSphericalExpansion Local / 局部 Atom / 原子 None
EAD Rotational / 旋转 Atom / 原子 None
SO3 Rotational / 旋转 Atom / 原子 None
SO4 Rotational / 旋转 Atom / 原子 None
SNAP Rotational / 旋转 Atom / 原子 None
LBispectrum Rotational / 旋转 Atom / 原子 None
MTP Local / 局部 Atom / 原子 Optional
C00PSMLFF Local / 局部 Atom / 原子 None
NEP Model-backed / 模型 Atom / 原子 Required
DPA4 Model-backed / 模型 Atom / 原子 Required
DPA4C Model-backed / 模型 Atom / 原子 Required

Registry / 注册表

Built-ins come from one explicit immutable specification list. Imports are lazy and no decorator or filesystem scan is used.

import mdescriptor
from mdescriptor.descriptors import SOAP

print(mdescriptor.list_descriptors())
summaries = mdescriptor.list_descriptors(detailed=True)
metadata = mdescriptor.describe_descriptor("SOAP")
runtime = mdescriptor.get_runtime_info()
baseline = mdescriptor.gui_baseline()
soap = SOAP(species=[1, 8], r_cut=4.5, n_max=2, l_max=2)
rebuilt = mdescriptor.create_descriptor(soap.configuration)

child = mdescriptor.DescriptorRegistry(parent=mdescriptor.builtin_registry)
child.register(my_spec)

The built-in list separates AssetPolicy.NONE, OPTIONAL (for example MTP potentials), and REQUIRED (NEP/DPA4/DPA4C). The root package exposes stable contracts, registry functions and errors only; algorithm implementations are not re-exported from the root. describe_descriptor(name) reads static, JSON-safe GUI metadata from the registry without constructing a descriptor or resolving a model. list_descriptors(detailed=True) returns the name, version, display name, category and level for every descriptor in one call. gui_baseline() returns the packaged GUI contract document, and get_runtime_info() reports its baseline_version alongside the package and schema versions.

On Windows, import mdescriptor during single-threaded startup, before an embedding host starts background stdin/stdio readers. The package preloads the packaged native binary at that point; a host that controls startup explicitly may also call mdescriptor.preload_native().

Model resources / 模型资源

ModelResource, ModelResolver, LoadedModel and ModelSession are the shared model-resource seam. Resolution is explicit, local and checksum-aware:

from pathlib import Path
from mdescriptor.descriptors import DPA4
from mdescriptor import ExecutionOptions

dpa4 = DPA4(
    model=Path("/path/to/official-checkpoint.pt"),
    execution=ExecutionOptions(device="cpu"),
)
result = dpa4.compute(batch)

For GUI configuration JSON, a model parameter may be an explicit path string or the tagged object returned by ModelResource.to_dict(); the latter is used for named/checksummed resources.

The DPA4/DPA4C checkpoint readers and NumPy fallback path remain isolated vendor adapters. The default inference graphs are lowered into the private mdescriptor._native C++17/OpenMP extension.

Development / 开发

.venv/bin/python -m pip install -e . --no-build-isolation
.venv/bin/python -m pytest --import-mode=importlib tests -q
.venv/bin/python -m pytest --cov=mdescriptor --cov-report=term-missing tests

.venv/bin/cmake -S cpp/tests -B build/cpp-tests -DCMAKE_BUILD_TYPE=Release
.venv/bin/cmake --build build/cpp-tests --config Release
.venv/bin/ctest --test-dir build/cpp-tests -C Release --output-on-failure

Coverage excludes the isolated vendored DPA implementation and enforces 75% branch coverage for project-owned Python code. Tests marked timing record repeatable timing samples but intentionally do not impose a runner-dependent speedup threshold; controlled performance reports are produced by scripts/run_benchmark.py.

The extension is private (mdescriptor._native). C++ shared math and batch helpers live in named headers under cpp/include/mdescriptor/detail/.

MDescriptor is licensed under the GNU General Public License v3.0; see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdescriptor-0.2.6.tar.gz (26.4 MB view details)

Uploaded Source

Built Distributions

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

mdescriptor-0.2.6-cp314-cp314-win_amd64.whl (33.8 MB view details)

Uploaded CPython 3.14Windows x86-64

mdescriptor-0.2.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mdescriptor-0.2.6-cp314-cp314-macosx_11_0_arm64.whl (33.2 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

mdescriptor-0.2.6-cp313-cp313-win_amd64.whl (33.6 MB view details)

Uploaded CPython 3.13Windows x86-64

mdescriptor-0.2.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mdescriptor-0.2.6-cp313-cp313-macosx_11_0_arm64.whl (33.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mdescriptor-0.2.6-cp312-cp312-win_amd64.whl (33.6 MB view details)

Uploaded CPython 3.12Windows x86-64

mdescriptor-0.2.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mdescriptor-0.2.6-cp312-cp312-macosx_11_0_arm64.whl (33.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mdescriptor-0.2.6-cp311-cp311-win_amd64.whl (33.6 MB view details)

Uploaded CPython 3.11Windows x86-64

mdescriptor-0.2.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mdescriptor-0.2.6-cp311-cp311-macosx_11_0_arm64.whl (33.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mdescriptor-0.2.6-cp310-cp310-win_amd64.whl (33.6 MB view details)

Uploaded CPython 3.10Windows x86-64

mdescriptor-0.2.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mdescriptor-0.2.6-cp310-cp310-macosx_11_0_arm64.whl (33.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file mdescriptor-0.2.6.tar.gz.

File metadata

  • Download URL: mdescriptor-0.2.6.tar.gz
  • Upload date:
  • Size: 26.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdescriptor-0.2.6.tar.gz
Algorithm Hash digest
SHA256 941890a747cba94785184aeeb4912608b8bec114a6b2f5a9cbbe61b653fec054
MD5 76f12fd4eabf5449df60654d0b4d132f
BLAKE2b-256 c8e583db7e149e8b642c255244682e33e20c5f331a3cfa08b6ae35fded16d093

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6.tar.gz:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.2.6-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 33.8 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdescriptor-0.2.6-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bd0d45b41068e8dd476a4aaebad9f2040d53fddf054e248525e3e34a08755d9a
MD5 16b037b896aa5a99d2388fce6fe717bc
BLAKE2b-256 342f90dc507a0254b6ba9932d442ee0fb28bb8ecf761c8c6594fd7dbc5efe195

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp314-cp314-win_amd64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 db3baa0cd6d089c035b5c546d2ab0937546cbe89934666d8cb8d84da0ad0c676
MD5 48e85ca592d9b205029fa9580c4be368
BLAKE2b-256 231a138de226ed6fe898bc01398bbf7b2ab5cf51d8d44b4c83d5639eab1e29d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70f98fa1adf15b40feafa574caa98313363fe0564dcc0cbb9c947887cae3c1e0
MD5 ed63c5b82ab74ff58f28a16825db0a99
BLAKE2b-256 a183a76508940a88c87374c6a184b419d863eb57377fe7972786c0d0d06f3fb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.2.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 33.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdescriptor-0.2.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3dc9e14fd0b71f6c312ce183fb11d57ffeb846effd689f05d62fe1df3a5da421
MD5 2d8f188d3c501a960fcb2ee4c52ebbd5
BLAKE2b-256 59abc1f191b5a6ab40ea54d3df526f909be56661f4a1a66cf692d83ec5dcdeb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp313-cp313-win_amd64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fb3e4d166871774b35c29b0a289bc4c8b61d8bfc183ab2ce8d00bfa1b5d75220
MD5 df8503a7e36b12e6f30259827b172d02
BLAKE2b-256 814f480827fed431a8784e426e336ab43cae1ad5cbaabc7fb4b920ae560f3e8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3100941d47074ac47170444e3c45314640f7452767ba05952a85d1cbe569e8c8
MD5 d9254342f80582cae5af5c9254931fe9
BLAKE2b-256 742412bbfb644e18a113a1623a710e07edd492e184c2864eb06ab70609d9c1c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.2.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 33.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdescriptor-0.2.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fa7341768c531450c3c7ca190a7a23fee3ad1bea762241727ebbc91322cc0d70
MD5 87d9ab14642dd543e3181ff41c2a13fe
BLAKE2b-256 03e2428fa879f8f569c7eb7ee2c96498e50e2d3bae1b28eaf9d56b4599f75f1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp312-cp312-win_amd64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d3409d325f625eb9ba3fa9c0ceec70a87985049e6fb9591a431121fb5e500f37
MD5 abbab68b935a1c5771c69a659461260e
BLAKE2b-256 02dbbc370aca14bba7f955612070ea35c4db29f5ef64faec1b2cc2e9c612a773

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a85812657a85db3f2b8bcd402a5b7d2da37c2a8b857271cff2535b9e58bd592b
MD5 d2481ea70fd046ff828ad8aaaabb5dd2
BLAKE2b-256 f0550f0be30ffaa25b39bcdc2fe97b402fbe9c3e41914bad3c0527ed28bf9e95

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.2.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 33.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdescriptor-0.2.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8685f620cdb5143d2c5a2cd57c67e6377383f2f46e9f6ce6ceb99120d50c959a
MD5 5d7ecb4d213381ee5861590160fbb72d
BLAKE2b-256 f12bf8b5c2f830a389869d70e65a54ecf5afe17d8a3b361343bcf7a2d4eed853

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp311-cp311-win_amd64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4633f8bba9ec2063f3658b6899163e753cad861d04f2282eface6a0946b2aa2
MD5 c020994e9efe0b6a73bf67ee20746b32
BLAKE2b-256 0c1c134ca7cd4e31e91d2541f7bf8972e27200b7f6ea8e850d089abd36a213f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5076c8398ed4c14506f6b9c42452cf00ebd2b6ef75393820bde1598a4480d7c3
MD5 38be4d9b34083e60a04c5e880e196711
BLAKE2b-256 b41086c0e36f2c8b3dccfc9f77a510400eaaec1cac7a8ab86f7551e8c5e78281

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.2.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 33.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mdescriptor-0.2.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0a81b89bd874d791baa76e895f24d066e5d0cc3695f9030b29c5e29d8680aad5
MD5 4f2500b6de098c903bb1545804562677
BLAKE2b-256 d95d93f17fa08c4259f8977a8e66f81d9033e151c4772772935d852a1fa7b271

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp310-cp310-win_amd64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b90875c94c350694e00fac756efc2191c61ff5347295b71d5d4e96f70e28593
MD5 a48c061d256435b6fad53fe356d6608a
BLAKE2b-256 e7c25175ebcfc3ccb9cd114e857514018f67b12ce42c443e85c1b5aca5ec1906

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mdescriptor-0.2.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.2.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f0127199892d91f2867e17dc2a9d309e27ea0e0af1e255ee0dfd111d95b6766
MD5 c175a69bcb0025ff7b82074c83693833
BLAKE2b-256 b061d93e3e034cb527dbfd0021068f3624c469482fe87475cb5f8a9cedb373ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.2.6-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on nicheal/MDescriptor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.3

16 files

0.3.2

16 files

0.3.1

16 files

0.3.0

16 files

0.2.8

16 files

0.2.7

16 files

This release

0.2.6 This release

16 files

0.2.5

16 files

0.2.4

16 files

0.2.3

16 files

0.2.2

16 files

0.2.1

16 files

0.1.0

21 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page