Skip to main content

MDescriptor

MDescriptor is a batch-oriented periodic atomic-descriptor library. Its numerical kernels are implemented in C++17 and exposed through a small Python API. The library accepts one or more fully periodic structures and returns labeled descriptor arrays together with structure and atom boundary information.

MDescriptor 是一个面向批量周期性结构的原子描述符库。数值计算核心使用 C++17 实现,并通过简洁的 Python API 调用。库接收一个或多个完整周期结构, 返回带有标签的描述符数组,以及结构边界和原子边界信息。

Features / 特性

  • Native C++17 kernels with optional OpenMP parallelism.

  • One input contract for all descriptors.

  • Atom-level, structure-level, and pair-level outputs.

  • Stable feature labels and metadata for every result.

  • Optional ASE input conversion and optional sparse.COO output.

  • 25 entries in DESCRIPTOR_CATALOG: native descriptors, the C00PS-MLFF C00/PS descriptor, and bundled model-backed DPA4/DPA4C/NEP descriptors.

  • 原生 C++17 计算核心,可选 OpenMP 并行。

  • 所有描述符统一使用同一种输入契约。

  • 支持原子级、结构级和邻居对级输出。

  • 每个结果都包含稳定的特征标签和元数据。

  • 可选使用 ASE 构造输入,也可选输出 sparse.COO。

  • DESCRIPTOR_CATALOG 中包含 25 个入口:原生描述符、C00PS-MLFF C00/PS 描述符,以及内置模型驱动的 DPA4/DPA4C/NEP 描述符。

Installation / 安装

The core runtime requires Python 3.10 or newer, NumPy 1.23 or newer, and array-api-compat 1.8 or newer. PyTorch is only required by the DPA4/DPA4C model descriptors. Installing from source requires a C++17 compiler; the build backend supplies the CMake and pybind11 build dependencies automatically.

核心运行环境需要 Python 3.10 及以上版本、NumPy 1.23 及以上版本和 array-api-compat 1.8 及以上版本。只有使用 DPA4/DPA4C 模型描述符时才需要 PyTorch。源码安装需要 C++17 编译器;CMake 和 pybind11 构建依赖由构建后端自动 提供。

# Development install: builds the C++ extension through CMake.
python -m pip install -e .

# Optional integrations.
python -m pip install ".[ase]"
python -m pip install ".[torch]"
python -m pip install ".[all]"

ASE is only required for StructureBatch.from_ase or when passing ASE Atoms objects directly. Install it with pip install ase. Install sparse when using sparse=True on a calculator that supports sparse output.

只有使用 StructureBatch.from_ase,或直接传入 ASE Atoms 对象时才需要 ASE, 可通过 pip install ase 安装。需要 sparse=True 时,请安装 sparse。

Build and release / 构建与发布

The project uses scikit-build-core as the PEP 517 backend. The C++17 core is configured by CMakeLists.txt, and the extension is installed next to the Python package as mdescriptor._descriptor_cpp. To build distributions locally: Package versions are read from Git tags by setuptools-scm: tag v1.2.3 produces version 1.2.3. Untagged source builds use a development version derived from the fallback and Git state.

项目使用 scikit-build-core 作为 PEP 517 构建后端。C++17 核心由 CMakeLists.txt 配置,扩展模块会与 Python 包一起安装为 mdescriptor._descriptor_cpp。版本号由 setuptools-scm 从 Git tag 读取: tag v1.2.3 会生成版本 1.2.3;没有 tag 的源码构建会根据 fallback 和 Git 状态生成开发版本。本地构建发布产物:

python -m pip install build
python -m build

Pushing a tag such as v0.1.0 starts .github/workflows/release.yml. cibuildwheel builds CPython 3.10–3.14 wheels for Linux x86_64, Windows x86_64, macOS Intel, and macOS arm64; a source distribution is built in parallel. The final job publishes all artifacts to PyPI using GitHub OIDC Trusted Publishing and creates a matching GitHub Release with all wheels and the sdist attached, so no long-lived PYPI_TOKEN is stored in GitHub Secrets.

推送 v0.1.0 之类的 tag 后会触发 .github/workflows/release.ymlcibuildwheel 会为 Linux x86_64、Windows x86_64、macOS Intel 和 macOS arm64 构建 CPython 3.10–3.14 的 wheel,并同时构建源码包。随后通过 GitHub OIDC Trusted Publishing 发布到 PyPI,并创建对应的 GitHub Release,将所有 wheel 和 源码包作为附件上传;不需要在 GitHub Secrets 中保存长期有效的 PYPI_TOKEN

Before the first release, configure a PyPI Trusted Publisher with the actual GitHub owner, repository, workflow release.yml, and GitHub environment pypi. Create the pypi environment in the repository and add required reviewers if manual release approval is desired.

首次发布前,需要在 PyPI Trusted Publisher 中填写实际的 GitHub 用户/组织、仓库、 workflow release.yml,以及 GitHub 环境 pypi。在仓库中创建 pypi environment; 如果希望人工审批发布,可以为该环境配置 required reviewers。

Input contract / 输入结构

All calculators accept one of the following:

所有计算器都接受以下输入之一:

  1. A StructureBatch instance.

  2. A single ASE Atoms object.

  3. A sequence of ASE Atoms objects.

  4. StructureBatch 实例。

  5. 单个 ASE Atoms 对象。

  6. ASE Atoms 对象序列。

StructureBatch

StructureBatch stores all structures in contiguous arrays:

StructureBatch 使用连续数组存储多个结构:

Field / 字段 Shape / 形状 Dtype / 类型 Meaning / 含义
numbers (N,) int32 Atomic numbers for all atoms / 所有原子的原子序数
positions (N, 3) float64 Cartesian positions / 笛卡尔坐标
cells (S, 3, 3) float64 Unit-cell matrices / 各结构晶胞矩阵
pbc (S, 3) int32 Periodic flags; all values must be 1 / 周期标志,所有值必须为 1
offsets (S + 1,) int64 Atom ranges for each structure / 每个结构的原子范围
ids length S tuple[str, ...] Structure identifiers / 结构标识符

Here S is the number of structures and N is the total number of atoms. The atoms belonging to structure s are in the half-open range offsets[s]:offsets[s + 1]. Cells must be nonsingular, positions and cells must be finite, and only fully periodic structures (pbc == (1, 1, 1)) are supported.

其中 S 是结构数量,N 是所有结构的原子总数。第 s 个结构的原子位于 offsets[s]:offsets[s + 1] 半开区间内。晶胞必须非奇异,位置和晶胞必须为有限值, 当前只支持完整周期结构(pbc == (1, 1, 1))。

Constructing an input / 构造输入

from ase import Atoms
from mdescriptor import StructureBatch

systems = [
    Atoms(
        "Si2",
        positions=[[0.0, 0.0, 0.0], [1.4, 1.4, 1.4]],
        cell=[[8.0, 0.0, 0.0], [0.0, 8.0, 0.0], [0.0, 0.0, 8.0]],
        pbc=True,
    ),
]
batch = StructureBatch.from_ase(systems, ids=["si-cell-0"])

The same object can be passed to every calculator. Atomic numbers in species arguments must be positive, unique, and cover every atomic number in the batch.

同一个 batch 可以传给所有计算器。计算器的 species 参数必须是正数、无重复, 并且覆盖输入中出现的全部原子序数。

Output contract / 输出结构

Every compute(...) call returns a DescriptorResult. The create(...) method is a convenience wrapper that returns only result.values.

每次调用 compute(...) 都返回 DescriptorResult。create(...) 是便捷接口, 只返回 result.values。

Field / 字段 Description / 说明
values A two-dimensional dense numpy.ndarray by default. Selected calculators can return sparse.COO when sparse=True. / 默认是二维 numpy.ndarray;部分计算器支持 sparse=True 返回 sparse.COO。
level atom, structure, or pair. / 原子级、结构级或邻居对级。
structure_ids The input batch.ids. / 输入的 batch.ids。
atom_offsets batch.offsets for atom-level results; per-structure row offsets for pair-level results; None for structure-level results. / 原子级结果使用 batch.offsets;邻居对级结果使用每个结构的行偏移;结构级结果为 None。
labels One stable label per feature column; len(labels) == values.shape[1]. / 每个特征列一个稳定标签。
metadata Descriptor name, backend, configuration, and descriptor-specific information. / 描述符名称、后端、配置及描述符专属信息。

For a batch with N atoms, S structures, P neighbor-pair rows, and F features, the standard shapes are:

对于包含 N 个原子、S 个结构、P 条邻居对记录和 F 个特征的批次,标准形状为:

Level / 层级 values shape / values 形状 atom_offsets
Atom / 原子级 (N, F) (S + 1,)
Structure / 结构级 (S, F) None
Pair / 邻居对级 (P, F) (S + 1,)

All native descriptor results report metadata["backend"] == "mdescriptor-cpp". The default numeric type is float64; SOAP, SOAPTurbo, ACSF, MTP, and NEP also accept dtype="float32".

所有原生描述符结果都满足 metadata["backend"] == "mdescriptor-cpp"。 默认数值类型为 float64;SOAP、SOAPTurbo、ACSF、MTP 和 NEP 也支持 dtype="float32"。

Descriptor outputs / 所有描述符输出

K is the number of configured species, R = max_radial + 1, A = max_angular + 1, Nmax is the matrix padding size, and F denotes a descriptor-dependent feature count. The exact feature count is also available as calculator.feature_count after species or a model has been resolved.

其中 K 是配置的元素种类数,R = max_radial + 1,A = max_angular + 1, Nmax 是矩阵补齐尺寸,F 表示由描述符参数决定的特征数。元素种类或模型解析后, 也可以通过 calculator.feature_count 获取精确特征数。

Descriptor / 描述符 Public entry / Python 入口 Level / 层级 Output / 输出
SOAP SoapCalculator Atom or structure / 原子级或结构级 average="off": (N, F); average="inner" or "outer": (S, F). Without compression, F = (K·n_max)(K·n_max + 1)(l_max + 1)/2. / 不压缩时的特征数如左。
SOAPTurbo SoapTurboCalculator Atom / 原子级 (N, F). Without compression, F = C(C + 1)(l_max + 1)/2, where C = sum(alpha_max). / 不压缩时的特征数如左。
ACSF AcsfCalculator Atom / 原子级 (N, F), F = (1 + G2 + G3)K + (G4 + G5)K(K + 1)/2. G1 contributes one channel per species. / G1 为每种元素提供一列。
Coulomb matrix CoulombMatrixCalculator Structure / 结构级 (S, Nmax²) for none/sorted_l2; (S, Nmax) for eigenspectrum. / none/sorted_l2 为矩阵展平,eigenspectrum 为特征值。
Sine matrix SineMatrixCalculator Structure / 结构级 Same layout as Coulomb matrix: (S, Nmax²) or (S, Nmax). / 与 Coulomb matrix 相同。
Ewald sum matrix EwaldSumMatrixCalculator Structure / 结构级 Same layout as Coulomb matrix: (S, Nmax²) or (S, Nmax). / 与 Coulomb matrix 相同。
MBTR MBTRCalculator Structure / 结构级 (S, F), a flattened grid of geometry channels. / (S, F),几何通道展平后的网格直方图。
LMBTR LMBTRCalculator Atom / 原子级 (N, F), a local flattened grid. / (N, F),局部几何通道展平后的网格。
Valle–Oganov ValleOganovCalculator Structure / 结构级 (S, F), a normalized MBTR-style histogram. / (S, F),归一化的 MBTR 风格直方图。
Atomic composition AtomicCompositionCalculator Structure or atom / 结构级或原子级 per_system=True: (S, K); per_system=False: (N, K). / 根据 per_system 选择结构级或原子级。
Sorted distances SortedDistancesCalculator Atom / 原子级 (N, F), padded and sorted neighbor distances; F is controlled by max_neighbors and separate_neighbor_types. / (N, F),补齐并排序后的邻居距离。
Neighbor list NeighborListCalculator Pair / 邻居对级 (P, 9). Columns: first, second, cell_shift_a, cell_shift_b, cell_shift_c, dx, dy, dz, distance. / 九列依次为原子索引、晶胞平移、位移和距离。
Spherical expansion SphericalExpansionCalculator Atom / 原子级 (N, K²RA²). / (N, K²RA²)。
Spherical expansion by pair SphericalExpansionByPairCalculator Pair / 邻居对级 (P, RA²), plus metadata["pair_records"] with shape (P, 9). / (P, RA²),并提供 (P, 9) 的邻居对记录。
SOAP radial spectrum SoapRadialSpectrumCalculator Atom / 原子级 (N, K²R). / (N, K²R)。
SOAP power spectrum SoapPowerSpectrumCalculator Atom / 原子级 (N, K · K(K + 1)/2 · A · R²). / 与物种对、角向和径向通道组合对应。
LODE spherical expansion LodeSphericalExpansionCalculator Atom / 原子级 (N, K²RA²), using reciprocal-space channels. / (N, K²RA²),使用倒空间通道。
EAD EadCalculator Atom / 原子级 (N, (L + 1)
SO3 So3Calculator Atom / 原子级 (N, (l_max + 1)n_max(n_max + 1)/2). / (N, (l_max + 1)n_max(n_max + 1)/2)。
SO4 So4Calculator Atom / 原子级 (N, F), bispectrum components determined by lmax. / (N, F),双谱分量由 lmax 决定。
SNAP SnapCalculator Atom / 原子级 (N, F), determined by lmax, weights, and normalization. / (N, F),由 lmax、权重和归一化参数决定。
LAMMPS bispectrum LbispectrumCalculator Atom / 原子级 (N, F), determined by twojmax and diagonal. / (N, F),由 twojmax 和 diagonal 决定。
MTP MtpCalculator or MTP Atom / 原子级 (N, F). Generic mode emits traces and contractions; MLIP-2 emits mlip2:* columns; MLIP-4 JSON emits mlip4:basis=* columns. / 通用模式输出 trace 和 contraction,MLIP-2 输出 mlip2:,MLIP-4 JSON 输出 mlip4:basis=
C00PS-MLFF C00PSMlffCalculator / C00PSMLFF Atom / 原子级 (N, F), local C00 radial channels plus PS angular power-spectrum channels. / (N, F),局部 C00 径向通道和 PS 角向 power-spectrum 通道。
NEP NepCalculator, NEPCalculator, or NEP Atom / 原子级 (N, F), the model-defined per-atom q vector with labels nep:q1, nep:q2, ... / (N, F),模型定义的逐原子 q 向量。

Bundled model descriptors / 内置模型描述符

DPA4 and DPA4C are project-owned PyTorch model-backed descriptors. Install the optional torch extra before constructing them. The DPA4 entry is a project-local port of the official inference core: it accepts only official DPA4 .pt files and does not import or require the upstream training package. The default models are bundled under mdescriptor/models/; users may pass their own compatible model path.

DPA4 和 DPA4C 是项目内置的 PyTorch 模型驱动描述符。构造它们前请先安装可选的 torch extra。DPA4 入口使用项目内移植的官方推理核心,只接受官方 DPA4 .pt 文件,不导入也不依赖上游训练包。默认模型位于 mdescriptor/models/,用户也可以 传入自己的兼容模型路径。

DPA4 和 DPA4C 是项目自有的 PyTorch 模型驱动描述符。它们是可选功能,因为原生 描述符目录的运行不依赖 PyTorch。它们的特征维度和标签由输入检查点决定;独立的 DPA4 适配器只接受项目自有的 mdescriptor.dpa4.v1 检查点格式。

Descriptor / 描述符 Entry / 入口 Level / 层级 Output / 输出
DPA4C Dpa4cCalculator / DPA4C Atom / 原子级 (N, F), a checkpoint-defined calibrated invariant descriptor; metadata backend is mdescriptor-torch. / (N, F),由检查点决定维度的校准不变量描述符;元数据后端为 mdescriptor-torch
DPA4 Dpa4Calculator / DPA4 Atom / 原子级 (N, 64) for the bundled model, official checkpoint-defined scalar channels; metadata backend is mdescriptor-dpa4-official-native. / 内置模型输出 (N, 64),通道由官方检查点定义;元数据后端为 mdescriptor-dpa4-official-native

Example: atom-level output / 原子级输出示例

from mdescriptor import SoapCalculator

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

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

Example: structure-level output / 结构级输出示例

from mdescriptor import CoulombMatrixCalculator

result = CoulombMatrixCalculator(
    n_atoms_max=16,
    permutation="eigenspectrum",
).compute(batch)

assert result.level == "structure"
assert result.values.shape == (batch.structures, 16)
assert result.atom_offsets is None

Example: pair-level output / 邻居对级输出示例

from mdescriptor import NeighborListCalculator

result = NeighborListCalculator(cutoff=5.0).compute(batch)

assert result.level == "pair"
assert result.values.shape[1] == 9
assert result.atom_offsets.shape == (batch.structures + 1,)
first_structure_pairs = result.values[
    result.atom_offsets[0] : result.atom_offsets[1]
]

Public catalog / 公共目录

DESCRIPTOR_CATALOG contains 25 entries: the 24 native descriptors and the DPA4C model-backed descriptor. DPA4 and NEP are intentionally separate because their feature dimensions and parameters come from a model checkpoint.

DESCRIPTOR_CATALOG 包含 25 个入口:24 个原生描述符和 DPA4C 模型驱动描述符。 DPA4 和 NEP 没有加入目录,因为它们的特征维度和参数由模型检查点决定。

from mdescriptor import DESCRIPTOR_CATALOG, descriptor_inventory

print(descriptor_inventory())
calculator_class = DESCRIPTOR_CATALOG["SOAP"]

Scope / 范围

MDescriptor implements native descriptor kernels and compatibility-oriented Python adapters. Reference package names in class names or metadata describe the supported mathematical conventions; those reference packages are not required at runtime for the native calculation path.

MDescriptor 包含原生描述符计算核心和面向兼容性的 Python 适配器。类名或元数据中 出现的参考包名称表示所支持的数学约定;原生计算路径运行时不要求安装这些参考包。

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.1.0.tar.gz (25.8 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.1.0-cp314-cp314-win_amd64.whl (26.7 MB view details)

Uploaded CPython 3.14Windows x86-64

mdescriptor-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (26.4 MB view details)

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

mdescriptor-0.1.0-cp314-cp314-macosx_11_0_arm64.whl (26.2 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

mdescriptor-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl (26.2 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

mdescriptor-0.1.0-cp313-cp313-win_amd64.whl (26.6 MB view details)

Uploaded CPython 3.13Windows x86-64

mdescriptor-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (26.4 MB view details)

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

mdescriptor-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (26.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mdescriptor-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl (26.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

mdescriptor-0.1.0-cp312-cp312-win_amd64.whl (26.6 MB view details)

Uploaded CPython 3.12Windows x86-64

mdescriptor-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (26.4 MB view details)

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

mdescriptor-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (26.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mdescriptor-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl (26.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

mdescriptor-0.1.0-cp311-cp311-win_amd64.whl (26.5 MB view details)

Uploaded CPython 3.11Windows x86-64

mdescriptor-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (26.4 MB view details)

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

mdescriptor-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (26.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mdescriptor-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl (26.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

mdescriptor-0.1.0-cp310-cp310-win_amd64.whl (26.5 MB view details)

Uploaded CPython 3.10Windows x86-64

mdescriptor-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (26.4 MB view details)

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

mdescriptor-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (26.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mdescriptor-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl (26.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for mdescriptor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 841572ed191f8c3feab90c302d0b68c647c988e07b9bf6d162f90fc7a6dc7aab
MD5 bc11869dd71beb79e8420b03d567d477
BLAKE2b-256 2719ed3a00c561155eccfdcbd3f789c127adc6d5e86a47edfcf38efc3be0be2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0.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.1.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 26.7 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.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e407730ec0bfdfd3804f14f2dfca56ef543d0273cdb85e6192b61c61bd6eb513
MD5 878a3cee0560c490c0071d91531ebbe9
BLAKE2b-256 b900d6afb5a395e1c8b66dfc4b5c8c5c7f8ef213336dd0a14200ddfd49c3cedb

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb6d82c08c0f202d6d237632c1d65ab901d66a730539e2579be591d947a0b8ef
MD5 4357f657a6deca81891d5bfddd03c32d
BLAKE2b-256 564e736ff72cf1d8deaf98285374dac0fc9d4ebb30709299708ac94d113629b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b2529bb2c61671202fa239a92d95f7956595408075a7af81619a4c590e98f42
MD5 a9acf701c29d179b1f1f470df552c4b1
BLAKE2b-256 bf5fc4f7392f57e2e39dfdcc8647807e675f5ea43be7cd7c28f8b193fca77b01

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e4826f96759c68ed6a831ba97e1c452f4295f7ccb2f9d99843e8df6a4120ea48
MD5 81839a53c8af4986ec122fe81b309660
BLAKE2b-256 c38395ab1e8762f0d90cb8dcaafe2247e8b60ff436af9bffd92c527356bac390

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-cp314-cp314-macosx_10_15_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.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 26.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.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e69efb37dc804122fb094716d7e8767ddd6d13b17cbbff56ac25d5cdee4f0af0
MD5 8846f1a9f01841e4dff82827a90c1912
BLAKE2b-256 976ee1f592c07aa53f9a815681328a0a71b9582ce7c595eabfa928ec998fcecb

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bb9aafb2eb391aa254f8e9ceff450f1c787f320c033e207c2f86f6c0245a86a5
MD5 dd63f545643e18ee3199cefdae328db4
BLAKE2b-256 9d1ccb53afec45dd8aefa6d7068eec8467e3551b1fbf85d642ff6251024e83bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70483dd0e38caf96a9acaaa2de402f5ae903b9a3afad88e9d6db2c6ab3f18fee
MD5 56e7e652e25c56374e89637dab61eb19
BLAKE2b-256 680cb86bdabf1dfad7712a826114dcb7d73f23d7e783dfeb51536ba8cffe8a88

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fc470161b1ad479bf044001c9c34b45e588aa92e7849697e0375e2c21a028c2f
MD5 cb0e8348821c5bba42ca21494d039725
BLAKE2b-256 4dc5fc7ebe86594b067a10e216a9affa3e1b64a93afae21eb722395bca973183

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-cp313-cp313-macosx_10_13_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.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 26.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.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4b99dbd9a704655fce195d5bc11054e29f164dc552dc9b8af1a4027f26935708
MD5 1284afba4b294189073d05d1afd30f61
BLAKE2b-256 4098767ab9fdce6cd78c5e9ac0434729e98212895c89b13761b346f9029b5611

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a209bac9739a6faed377ddad2388ea7b949c0ba4433ce99555e8554ab22cd75
MD5 27decd7ccbf335a63a43130ec5e8130e
BLAKE2b-256 11cfb28c6195a949da801c297102de129e4977c2d7b4665dc5cd1be594689252

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f5bdf920e0e51fb449bd7340dae4eaa11d5b8361637bb1a344b016d287842bb
MD5 d23fa01c6912e530ec42478993a4f4d5
BLAKE2b-256 eebe57743ed5e7269400b0a0a32ac3220f2cb44d5dc13f637cdf94e55c6a3bb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6056a6b10847a5eb9fc4879702f8dfe4cbcd42847406e6e740a559c254a100c7
MD5 12b629faecf85485898f03544886c16b
BLAKE2b-256 538f266a3ab7c3b2e8c687179c46b57336eb9a74bf0e690f280e725b78e56a72

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-cp312-cp312-macosx_10_13_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.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 26.5 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.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f4f36d5c36e3c64538a0d25e637b8c5560b4ebd96d51c9f44374c3a2dc15ee04
MD5 e88962a1d90cc039d387f477a38285bc
BLAKE2b-256 dcf2a18d95df516c2c050acb2d2c3fec60428ec083fdd8b79f0db6306bc08b64

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 067fb91df3c00530eb55a6c9595524d3f64cbaccdadb181a278feb630a03a42d
MD5 6ea2bf1cf18c9dd68329860926eb7f60
BLAKE2b-256 d00417dee4198de7480d157391bcf9734801d25ce357d5b3b064c4a433b7529f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b1a81b2a499f31697ce79a3e5c4effa14ce8fa076d34acef7fc36cf32fa969bd
MD5 686b80c2a39b2bede2e045a90d29b0b9
BLAKE2b-256 7df8dab985bbe1af829216ec0a81c1b24830c8523a0874d443c4baaf2aa91a22

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c917aa22850333552fcf53dc6272a3661da8b539014bf8932d10c89c34492bb0
MD5 a8fd29540758277d7526014d3c1f2e61
BLAKE2b-256 bc4a3984e136b3a87ca880a80c7ae21aabbabfba346bec9cdedf023f4f3e26ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-cp311-cp311-macosx_10_9_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.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mdescriptor-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 26.5 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.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8d0edf5d73440e0793a7cf56bdeb09c4f7050127c3cfe743bedd46a358e62f01
MD5 09e348a29307d76b65b0d8a64ec70ba0
BLAKE2b-256 26ddbcfec840959e2e3b81842e4ec234d21d8f5c10366e62fb009aac4aa4870c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7e75af1614194b7237f48b4a0e17079a9f2e3d54c642dac1396c34ba1b99b08b
MD5 903f9a1f3706e5b96a2a3bfed17b53a7
BLAKE2b-256 c8cd88a28fcf307686785047591a0c9a8e1e9e9efdc402c7f3f6fba59950c35d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1579343b78ef8b32f246b17e8532c2eec5908293e8f4d89d1485fc15e9ec54ae
MD5 640ab75ad2de5b4d5359028b72d3e025
BLAKE2b-256 06d163c07f4b9576fd13b0d6da71569a9ab3befa9acf20994a2c4668b9fadca9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-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.

File details

Details for the file mdescriptor-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for mdescriptor-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1c29e3b893a72c4816f35dec2d7e09cc778918e9df960c0c0b588536e6291359
MD5 00bbb8bead80f9c0d2865802716e175e
BLAKE2b-256 e57d17d55d6a1807e4639b74130d306d42f857028215440820cf9d248386b900

See more details on using hashes here.

Provenance

The following attestation bundles were made for mdescriptor-0.1.0-cp310-cp310-macosx_10_9_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.

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

0.2.6

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

This release

0.1.0 This release

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