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-0.20.1.tar.gz (44.0 MB view details)

Uploaded Source

Built Distributions

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

pymadcad-0.20.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-0.20.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

pymadcad-0.20.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-0.20.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

pymadcad-0.20.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-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

pymadcad-0.20.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-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

pymadcad-0.20.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-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pymadcad-0.20.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-0.20.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-0.20.1.tar.gz.

File metadata

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

File hashes

Hashes for pymadcad-0.20.1.tar.gz
Algorithm Hash digest
SHA256 6115ed08b3f71a1c04fffaa9a37209f6078fb92f797426fb2875c8b42cc223f3
MD5 e84a3d32f90518e9f0b412f68a0732f4
BLAKE2b-256 05e719d5fe874e76c783adba38955c54b76c1064605fcc0b1b944792e7607f6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 863b38c228ae6ade4fa2e118464619049cc58fec8ae46514c9a1ae3147546ba6
MD5 98874aebf460c7812d0fe9f408b5a736
BLAKE2b-256 3ea373869dd70230484505457f8892bd1dc9df81d6a23bf534bee6ce1ef13f78

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81470b61fe580737cbbdf4d2d77d713ed831fb42a006b005069db116a48e4a82
MD5 0929a748af27b4d44f9a613fb08b3705
BLAKE2b-256 502e8ecab8037430ca3b4a9874db6a1452c04db775ddfa07872afe75e4884c3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e78b8a38eb07e5513ba73f85fea15df4f61803524e50bdbd365147678263278d
MD5 f3763da5d89634936cb70987919de7b6
BLAKE2b-256 c7f21c656e17dc1760e2ccf3f303db9157500bd1c40bf99224b0d0aae2d74b66

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9ea20010c36aad3168c5982d993ed03aa8f3cd09231b679492a5126db29acac
MD5 7fa11837bf10df981bbff2c7f5e35b60
BLAKE2b-256 16a41db9a89d779766ddcf8e1db92e63b74373fe0c2510f27858d30ccc8d9ec0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e9697cfc09b3da83aa5c6b28aa41c70650f046e9de9e349d672bcc291293646b
MD5 34ab12208f76bb31a0270b6760999952
BLAKE2b-256 ae80e6caaafae004a34e3d5b51deeb2d63c86a39c480e16ba3c93aadff82841d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ebd82190c2fef21b5eb9935ea88f32ee95e6d6391baeb2bfb7487dad21fca3fb
MD5 8bcb5e5ef34e93fcd26e5f31d8e25242
BLAKE2b-256 66b436e73849d5f6345af17f93907b17427ade55327f2331606d4941972a9b67

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 45b5a1c5ecafaee6d93d7f0a887b6e3be14cc8bd8390df1c3853fe9d291c710c
MD5 6173898e800d227976f9e434605038da
BLAKE2b-256 badceab9f50a0d00276f8b5b835ff0a1114322aaf7869a0edf9fcb61fc5a385c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 66129151cf538deb45b53c8946dc315bbbe2db9b40b13d6c8f9800bc8078f20c
MD5 b5c518c1cdc9743aef8841d34c90f822
BLAKE2b-256 21573c5ed5ba50fe43d79ed6ac7f25cbdaafe07e6548cafb06b7302dd75177af

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pymadcad-0.20.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-0.20.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a02466bccba40741ef77ef566fd118d93dbf6dca17db64eb055a44a25c66ddb7
MD5 8a2f6c6e67caace807491881bba0e4af
BLAKE2b-256 2945fb178f80abe52c45c30889bfaadefe8966646e909d6438d572ce79c4e795

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: pymadcad-0.20.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-0.20.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 98dbd04b47ddcf6636d6afee08ecd6648c8a41149fffbc0355e5e9e969d79ed4
MD5 2dd024a40cc892e50e933b0368602734
BLAKE2b-256 29cf44517679cc0cdc6ad013c50fc3524438461ff6fe1774ded3dfac6242cbde

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2dbaa339b6aff132696bce0367a3dfd963a5a3ae4af77a3168a1e8c1be81f72a
MD5 cb1f61f58c235600d0cd432a29fffd40
BLAKE2b-256 f559601dac650753f1c87948ba0e033c221f6278cda4615900ba436d7bfd23a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 840eb3d848439ce6a282fb8975bf05fa189c7fd1ce53d27014cbe33b17030241
MD5 e94b81ef94c2d891dcc0f657175ddf42
BLAKE2b-256 b20ec400ae2d7551a70f8c0ea8e9c46a3c9f8e4fa02eca832c2881571eda0d03

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 922c8100d20f4d8984841b9418112085b7c848099233696e1074c9712406130e
MD5 085aa31f5e019ef1a03298e1a97e4eb3
BLAKE2b-256 b1111ce241026da41b6dce9fdd3e6881e0e3f172435c329757af75bf98a8e584

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 97dba9d832dc0f514417bb5e7ebe8c95b63f697ab6e1d6b6d08642ed1bda4e7b
MD5 76901c9c770986cdab769ea437485371
BLAKE2b-256 79c117fa9fbbf132bc5be4bb8f4738ca77e737b64ddaa9e3be2fb546b8ecea2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a506c47de1aae22a2b620c1e3669d77f177e575a4267d95798d160ed3eb625f4
MD5 204bad6ec1b237bc1f9241ef5116ff0c
BLAKE2b-256 caf71aedea37fce078bf6f3a38656fef31a19f473bb4fd1c272420b81eb74176

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0c129afa19b0199591203580fe6b744f4081773d4e33b018304f17be736fb8d3
MD5 69ec9ecb2cfb52f5fb40990304e22c02
BLAKE2b-256 f500e1c8677693f7b06ef41f5e0866cc355bbf09ebfebea7a0ce2cd0a6c79fb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 850823822ae0f850092f984e2017712bf5701b00fb8a892c27006212d6045887
MD5 c559c7e1cbf34abb273ef4559123fb69
BLAKE2b-256 6da628452bd8ac98b7794a8c467b8f7141b110ba9390c59f9403ec40a80b4177

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymadcad-0.20.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-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pymadcad-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e097a2cd87f4ef7eb47b84b4c50fcc6ece196b3489788c6d637925ae0c7bc5ed
MD5 d6ac84acf86b0add8a28cec6c4c0be79
BLAKE2b-256 fc862065b0df233cea436dbd17deb9fe2a2118ca9a3bd33286834695a898f6cb

See more details on using hashes here.

Provenance

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