Skip to main content

Simple yet powerful CAD (Computer Aided Design) library, written with Python

Project description

madcad-logo

PyMADCAD

Mechanical design as code -- a Python CAD library for engineers who prefer scripts and automation over clicks.

PyPI tests Documentation Matrix

PyMADCAD is a script-based CAD library where the Python script is the model. Design mechanical parts with transparent, composable geometry you can version, diff, test, and automate -- no parametric black box, no opaque GUI. It outputs triangulated meshes ready for rendering, simulation, or 3D printing.

uimadcad is the graphical frontend for pymadcad -- an interactive 3D editor with multi-view scene, script editor, and quick primitive tools. Everything you can do in the GUI, you can also do in a script.

Website · Documentation · Examples · Matrix chat

differential

Install

pip install pymadcad

Optional file format support:

pip install pymadcad[stl,ply,obj]

Quick examples

Extrusion

from madcad import *

show(extrusion(ArcThrough(+Y, Z, -Y), 2*X))

extrusion

Boolean difference

from madcad import *

m1 = brick(width=vec3(2))
m2 = m1.transform(vec3(0.5, 0.3, 0.4)).transform(quat(0.7 * vec3(1, 1, 0)))

show([difference(m1, m2)])

boolean

See the examples/ folder and the guide for more.

bearing

Features

  • Surface generation -- extrusion, revolution, tube, helix, screw, saddle, and standard shapes
  • Boolean operations -- union, intersection, difference with spatial hashing
  • Kinematic system -- joints, screw theory, mechanism simulation
  • Constraint solver -- tangent, distance, angle, radius, and more
  • Bevel & blending -- chamfer, filet, and smooth transitions
  • Standard library -- ISO nuts, screws, bearings, gears
  • File I/O -- STL, PLY, OBJ import/export
  • High-quality display -- OpenGL rendering via moderngl, Qt integration

Project structure

pymadcad/
├── madcad/      # Python module
├── src/         # Rust extensions for the python module (performance-critical operations)
├── examples/    # example of mechanisms designed with madcad
├── tests/       # all unit tests for madcad
└── docs/        # docs based on mkdocs

This python module stands as a library proposing few data structures and a lot of functions to operate them. It is mostly functional and straight forward code style The rust extension of pymadcad standard as madcad.core and is based on pyo3 and built with maturin

Development

Here are recommended ways to work with this repo

  • start by cloning the repo and setting up an environment
# clone this repository from official sources
git clone https://github.com/jimy-byerley/pymadcad
cd pymadcad

# Install dependencies
uv sync
  • build and test commands
# build the Rust extension for inplace use of madcad, add --release for bechmarks
maturin develop

# Run tests
pytest
# run tests but skip visual checks
MADCAD_VISUALCHECK=false pytest

# Build and serve the docs locally
mkdocs serve
  • package build
# build pymadcad package
maturin build --release
# just build the docs website
mkdocs build

License LGPL

Copyright 2019-2026 Yves Dejonghe jimy.byerley@gmail.com

Distributed under the LGPL-v3 license.

Project details


Download files

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

Source Distribution

pymadcad-1.0.1.tar.gz (44.1 MB view details)

Uploaded Source

Built Distributions

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

pymadcad-1.0.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pymadcad-1.0.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pymadcad-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

pymadcad-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pymadcad-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

pymadcad-1.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

pymadcad-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pymadcad-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pymadcad-1.0.1-cp312-cp312-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86-64

pymadcad-1.0.1-cp312-cp312-win32.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86

pymadcad-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pymadcad-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pymadcad-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pymadcad-1.0.1-cp312-cp312-macosx_10_12_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

pymadcad-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pymadcad-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pymadcad-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pymadcad-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file pymadcad-1.0.1.tar.gz.

File metadata

  • Download URL: pymadcad-1.0.1.tar.gz
  • Upload date:
  • Size: 44.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymadcad-1.0.1.tar.gz
Algorithm Hash digest
SHA256 df489b5f2a06ae8ca8d19765e727981948067b7d813a1c203d803d754625a2ab
MD5 0da25570d3d1ec1a03004a42d23a9542
BLAKE2b-256 f8f47b0bddc868cf977492bc80fe5d6e37de294367a3d8c6d3401c0f6b05ef22

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1.tar.gz:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3a3590e69bb6e60b8084a8daacc5f1e06b65f6cbf112b55ae42c480b6cd0f03
MD5 0bed19fee7f4bde48f0b8eec80d8e6e7
BLAKE2b-256 85c071eae3dd92e727b72df070bd5572cd0986b977c4fc0072f3472aa95ce16f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d46d5992e5fc922ee9e795a33efd2fe912b43755c78517ecce8506a5fca07a48
MD5 94a16029c969da89065980e14d135989
BLAKE2b-256 0f9199a8d745ec20bcc0cd8e4371385b55bee8ddb02d75fe9ad86ae7c14576b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 853a7be6f95add0288c4c8502eef580525d56217344357b18f7976c210276f6a
MD5 a86078dd3567f0800e99dc8f5ca65dcd
BLAKE2b-256 ca2e90b2f60205490e12649f51bd99af8cfad50f02e63a65e58e009055d1fe32

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 871b348d429ce719b7fa900d6ec5a2a7ef2f70490305f4dba8b3726b6460fd7d
MD5 57fc44293adf3f4f7589a0fb9d2ab993
BLAKE2b-256 26c49ffdb1f79d5954efa9258220bcbb4ee339fa7727eb992c1feaa426dc9d01

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9bc716e025c98deee9d5f66a135607c5c5ef8b287b0a7ed08b5c1744e3e74021
MD5 d5aa7bcb65f838ddd1caa6ee942f94d7
BLAKE2b-256 dc01aacc6edf8fdb053626952e6582a3e30e3077705e67f6b8c680ceba22a93d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81eebf147908e3a8fa0172abb060ed7118aea5db676fb0d7b09c0c17a8e351a2
MD5 29619fdd679cb8f10126159cde06b7c1
BLAKE2b-256 b197b6650c440ad81d19f45182c5dd0a4fb7b4d1708b275e7a8e84d025dc3cb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e283dafe31d73695014ac9d247caa279f598b8d11a431bfb715d6109b1286216
MD5 949450caf756c85f8446ac33069d8292
BLAKE2b-256 f18d039774c2e487fd5eb4b57907808cfee59b4bf22020fa2b54670c2432f8b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c6e41abd1b4e5a90e3c0682f54e290cc8af11668d4bb70860ac0a2772055da1b
MD5 9c5ba066895cb67c174c6fcb07f6193e
BLAKE2b-256 4a0ccd6eaf4facfa6c629bd9dd1e10a986fc15089324ec62ad33cb15374b726f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pymadcad-1.0.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymadcad-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a6ded6dfcef5a52c711772fecec0b99117d3bc42d2ca897cee289e96aa1c754c
MD5 518e9ead305880c54e3d9b51dfd981f7
BLAKE2b-256 7b27a33db3afc6ec204ec728d5edcfaaf1b67fc7658d567ea07add4a85ba2fdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: pymadcad-1.0.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymadcad-1.0.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e5c8b3a7d68dd8b81354aa0a2ae19310be7c93f4dbf3e9e49673ff4dd271ba30
MD5 139f2a473fe9322dd7e0c4bae6484e0b
BLAKE2b-256 30cd88797b26a81c237af6ecaca50851676fc3ac5c4181d3fa83e3e7c966a068

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp312-cp312-win32.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d1d1acb78164a53c9122052f39f4783bdc38d138d9fdc058ef14a55c1d71a5a
MD5 c92b5d63bff42dd0ea1d7ac849fffba3
BLAKE2b-256 6ea39e898a8499c2cee7f3d943374d162a7d0ae0457a9518b336366c395c2d9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 52482e944b5f7f79042af4801244b8a89949a7d6dbf85e0a1f7af83fbf4e768c
MD5 646f2fd6cf5e188488d33301a51b4b1f
BLAKE2b-256 a5d5d7485e8284d117698336d31df1ca4197634dbdc85b1143392c239cdacf38

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6cc96961a6012a967816a6196c762eab2fe1f53fda8425205150a9f4bc8b89b0
MD5 58eb49793e2907ced86e3d4ef0a40484
BLAKE2b-256 de3876393b18657553f20f91a198672e5937c150dee65904d9609b68feb4a14d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0c975d1caf8cdf1f28e2c41d46aa19fbaad5ab50cd990e126fc0e8015d609519
MD5 437c16cea6ca27d83dee3a893d53d042
BLAKE2b-256 7c29db826c3f6fc41f0df9d8fcc451c2303fd4a78d42785404ea046d2b580152

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e29fbe83a3153c275a73563ba6545d4938f5500a02495aba830f8ff6d674f859
MD5 ac5b5b08c11e3e9b3df4dae34ceaeddd
BLAKE2b-256 8ab6a32fcb99574521f0c7a4dd1378fb8a565dd04f4c081b38944222398f9c7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 855c2429749a3bce9f1bf5a685b627b5f84d2aac4035cf99c7e51463dce08aa1
MD5 ea68ead1adafef532298b73266cefcab
BLAKE2b-256 f08789afc4773026a9c1b3f49da49025ac5afa4d26aa646b97c169705db38384

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb31508565156373687bf5a7eaab2ebcfd2d21c4e17453679f5f993017bb9522
MD5 6df0ef0d503b230451f44e1b64c1ee07
BLAKE2b-256 8aa37b81b8155263d79aa9077783733a2d643b35bf86b62f142691301b3cb0f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

File details

Details for the file pymadcad-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 28b1e876202124f454d77223f5f34189a453f147d66d0db500ff6e39983b523d
MD5 4462e0aa7fd04f91099f1523fa3c0ffc
BLAKE2b-256 ca238b6eada615316423fe2f099e36b161dd87c0ce354850f57136d4c2c07552

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jimy-byerley/pymadcad

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

Supported by

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