Skip to main content

mmcore

poetry-build Docker License pip downloads PyPI - Python Version

NEW in 0.53.0

Intersection algorithms improvements

CCX

CSX overlaps handling

The nurbs_csx implementation now correctly handles overlaps (see image below).

The example shown in the figure can be found in ./examples/csx/overlap_nurbs_intersection_3.py

NURBS SSX improvements

  • Rational cases are fully processed.
  • Significantly improved robustness.
  • Tangential intersections no longer cause branches to be interrupted. For example, here. At the detect intersections stage, a bug in the gjk implementation that led to false negatives in a number of cases has been fixed. На этапе, detect intersections исправлен баг в реализации gjk, приводивший к ложноотрицательному выходу в ряде случаев
  • Added 9 usage examples covering various cases.
  • The implementation of the march method has been brought more into line with the (validated ode solver described here)[https://www.cad-journal.net/files/vol_1/CAD_1%281-4%29_2004_449-457.pdf].
  • Adaptive refinement is now used instead of the march method to construct a single intersection branch.
Image 1 Image 2 Image 3

Significantly expanded NURBS construction methods

...

Redesign of the NURBS object system

...

Overview

mmcore is a modern CAD engine written in Python with performance-critical parts implemented in Cython. The main goal is to make advanced CAD capabilities as accessible and easy to use as popular scientific computing libraries.

The library provides a comprehensive set of geometric modeling tools, numerical algorithms, and optimization methods specifically designed for CAD applications. It features efficient implementations of NURBS geometry, surface analysis, intersection algorithms, and more.

Note: mmcore is under active development and does not currently guarantee backwards compatibility. The API may change significantly between versions.

Key Features

accuracy corresponds to commercial CAD engines

  • Parametric Representations (NURBS)
    • NURBS curves and surfaces (only nurbs supported)
      • Basic NURBS operations
        • evaluation
        • knots operations
        • degree operations
        • interpolation
        • extend (curve, surface)
        • offset (curve, surface)
      • Advanced NURBS operations
        • reparametrization
        • Change of basis (to/from monomial, to/from scaled bernstein)
        • Exact composition
        • Gauss-maps
        • Implicitization (ruled surfaces only)
      • Construction
        • base primitives (circle,arc,sphere,cylinder,torus,...)
        • ruled
        • revolution
      • Differential operations
        • General differential operation for curves and surface (Fundamental forms, metric tensor, etc.)
        • Curvatures (curve, surface, sectional)
        • Parameter space tolerance evaluation
        • adaptive approximation/tessellation
      • CAD algorithms
        • Closest point (robust, curve/surface)
        • Intersection
          • CCX (curve-curve intersection, all points and overlaps)
          • CSX (curve-surface intersection, all points, overlaps detection WIP )
          • SSX (surface-surface intersection, all intersection branches)
        • Geometric properties
          • Curve length
          • Curve area (closed planar NURBS curve)
          • Surface area (closed planar NURBS curve)
          • Area of surface (WIP)
          • Area of trimmed surface (WIP)
  • Implicit Representations
    • Evaluation (value,gradient)
    • User-defined implicit functions support
    • Boolean operations (union, intersection, difference, xor)
    • Implicit approximation
    • CAD algorithms
      • Closest point on 2d/3d implicit
      • Closest point on intersection curve between 3d implicits
      • Intersection (Fairly fast)
        • 2d x 2d
        • 3d x 3d
    • Tessellation
      • marching cubes
  • Topology (WIP)
  • Compat
    • STEP (write, NURBS only)
  • exact: corresponds to commercial CAD engines *

Installation

Using pip (Python 3.9+)

python3 -m pip install --user --force-reinstall git+https://github.com/contextmachine/mmcore.git@tiny

PyPy Support

pypy3 -m pip install --user --force-reinstall git+https://github.com/contextmachine/mmcore.git@tiny

Docker

docker pull ghcr.io/contextmachine/mmcore.git:tiny

Project Structure

Core Modules

  • mmcore.nurbs: the NURBS core
    • _nurbs_eval: NURBSCurveTuple / NURBSSurfaceTuple — the primary, named-tuple representation, readable and debuggable
    • _nurbs_knots, _nurbs_ders, _nurbs_interp, _nurbs_join, _nurbs_construct, _nurbs_transform, nurbs_iso: knot algebra, derivatives, interpolation, joining, construction, transforms, iso-curves
    • _core.pyx: the C++ NURBSCurve / NURBSSurface classes (Cython accelerator)
  • mmcore.implicit: implicit geometry with boolean operations and dual contouring
  • mmcore.numeric: algorithms and computations
    • intersection: the solver families — ccx (curve x curve), csx (curve x surface), ssx (surface x surface) — one entry point each
    • bvh: spatial acceleration structures
    • closest_point / _bez_closest_point: closest-point solvers (squared-distance Bernstein nets)
    • algorithms, interval, integrate, vectors: fundamental CAD algorithms, interval arithmetic, integration, high-performance vector ops
  • mmcore.construction: high-level builders — ruled, revolved, sweep, torus, cylinder, circle, loft
  • mmcore.topo: BRep topology (Euler operators, STEP-ready), meshing
  • mmcore.compat: STEP I/O
  • mmcore.extras: optional leaf integrations (renderer, rhino, occ, torch)

Additional Components

  • mmcore.api: High-level interface for common operations (WIP)
  • mmcore.renderer: Visualization capabilities (WIP)
  • mmcore.topo: Topological operations and mesh handling (WIP)

Getting Started

  1. Start with short introduction in the Implementation Examples

  2. Check the basic examples in examples/:

    • surface_closest_points.py: Surface analysis and optimization
    • primitives/: Basic geometric shape creation
    • ssx/: Surface-surface intersection examples
    • implicit_intersections.py: Working with implicit geometry
  3. Check the short introduction in the Implementation Examples:

Implementation Examples

1. Parametric Representations

We recommend using NURBS as parametric representations, Although procedural parametric representations are also supported for many operations, due to their properties NURBS representations can be used in algorithms requiring strict robustness.

# The named-tuple ABI is the primary representation:
from mmcore.nurbs._nurbs_eval import NURBSCurveTuple, NURBSSurfaceTuple
# The Cython classes remain available for performance-critical paths:
from mmcore.nurbs._core import NURBSCurve, NURBSSurface

2.Geometry Construction

This creates a simple NURBS curve of degree 3 on 10 control points:

import numpy as np
from mmcore.nurbs._core import NURBSCurve
curve = NURBSCurve(np.random.random((10,3)))
from mmcore.nurbs._core import NURBSCurve
from mmcore.construction import ruled
# Create forming curves
curve1=NURBSCurve(...)
curve2=NURBSCurve(...)
# Create a ruled surface
surface = ruled(curve1,curve2)

3. Basic CAD Algorithms

Closest Point Example

This example demonstrates such a base operation as closest point on surface

import numpy as np
from mmcore.numeric._bez_closest_point import nurbs_surface_closest_points
# Surface construction
surface = ...

# A query point
point = np.array([0.5, 0.5, 1.0])

# The SET of globally closest entities within d_min + atol
# (points, degenerate curves, or whole patches - never far local minima):
result = nurbs_surface_closest_points(surface, point, atol=1e-6)

You can find a detailed algorithm explanation here surface_closest_point.md

4. Advance CAD Algorithms

Algorithms for finding all intersections are fundamental in CAD. In mmcore there are robust implementations for parametric NURBS objects:

  • CCX (Curve Curve Intersection)
  • CSX (Curve Surface Intersection)
  • SSX (Surface Surface Intersection)

Also in experimental mode there are implementations for implicit and procedural objects. However, at the moment it is not guaranteed to find all intersections in the general case (we are working on it).

SSX Example

from mmcore.numeric.intersection.ssx import nurbs_ssx
# Surfaces construction (NURBSSurfaceTuple or NURBSSurface)
surface1 = ...
surface2 = ...

# Perform Surface x Surface Intersection
result = nurbs_ssx(surface1, surface2, atol=0.001)
result['branches']   # intersection curves (SSXBranch: curve_xyz / curve_st / curve_uv)
result['points']     # isolated intersection points
result['complete']   # read this before trusting the output as the whole truth

You can find full examples at examples/ssx/nurbs_nurbs_intersection_1.py and examples/ssx/nurbs_nurbs_intersection_2.py. To display the output of the algorithm install the viewer plugin with:

git clone https://github.com/contextmachine/mmcore@tiny.git
cd mmcore
python3 -m venv venv
source venv/bin/activate
pip install ".[renderer]"

or

git clone https://github.com/contextmachine/mmcore@tiny.git
cd mmcore
python3 -m venv venv
source venv/bin/activate
pip install ".[all]"

5. Implicit Representation

Implicit representations are less common in commercial frame systems, but like parametric representations have long been well developed in computer graphics. General implicits are implemented in mmcore. It means that the algorithms are suitable for working with any implicits and not only with such widespread implicit forms as SDF.

To create your own implicit object class, all you need to do is inherit from one of the base classes and override the implicit(self,point) and bounds(self) methods:

from mmcore.implicit import Implicit2D

class Circle(Implicit2D):
    def __init__(self, center, radius):
        super().__init__()
        self.center = center
        self.radius = radius
    def bounds(self):
        return self.center-self.radius,self.center+self.radius # min point , max point
    def implicit(self, xy:'ndarray[float, (2,)] | ndarray[float, (3,)]'):
        x, y = xy
        return (x - self.center[0])**2 + (y - self.center[1])**2 - self.radius**2 # circle implicit equation

When these methods are implemented, all other methods will be generated automatically.

An example of applying the standard algorithm for finding the intersection curve between two implicits to an implicit cylinder and a custom implicit based on a point cloud:

6. CAD Algorithms for Implicits

Closest point, intersections, and others algorithms are also available for implicits in both 2d and 3d cases. Intersection algorithms in 3D are particularly interesting because they show good accuracy and performance, in some cases surpassing commercial packages.

Performance Benchmarks:

Comparison with Rhino 8 for intersection curves computation between solid tubes:

Task Size CPU Cores Rhino 8 (sec.) mmcore (sec.) Speed Ratio
1 1 0.027 0.033 0.82x
100 1 2.685 1.571 1.71x
100 10 0.938 0.275 3.41x
1000 10 13.4 2.313 5.79x

In mmcore we use implicit representations, in Rhino tubes are represented by BReps.

Results show mmcore excels particularly in parallel processing and batch operations.

Figure: Visualization of tube intersection test case

At the same time, I would like to remind you that these algorithms are currently not guaranteed in the general case and are under active development.

You can find the full code for this example here examples/ssx/implicit_intersections.py

Dependencies

Core Requirements

  • Python >= 3.9
  • numpy
  • scipy
  • earcut
  • pyquaternion
  • more-itertools
  • steputils

Optional Components

  • Development: Cython
  • Visualization: plotly, kaleido, pyopengl, pyrr, glfw
  • Interactive: IPython

Known Deprecations

  1. Prefer the named-tuple ABI (NURBSCurveTuple / NURBSSurfaceTuple from mmcore.nurbs._nurbs_eval) over the Cython classes for new code
  2. The solver entry points are unversioned: nurbs_ccx, nurbs_csx, nurbs_ssx from mmcore.numeric.intersection.{ccx,csx,ssx} always bind the maintained engine
  3. Surface-surface intersection (SSX) is reliable for NURBS surfaces; implicit and procedural support is experimental

Contributing

Contributions are welcome! Please note:

  1. The project is under active development
  2. Breaking changes may occur between versions
  3. Test all changes thoroughly before submitting
  4. Follow the existing code style and documentation patterns

License

Licensed under the Apache License, Version 2.0 - see LICENSE for details.

Metadata

Release files for mmcore 0.58.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mmcore 0.58.0
File Size Uploaded
mmcore-0.58.0.tar.gz 982.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for mmcore 0.58.0
File
mmcore-0.58.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64, Linux glibc 2.24+ x86-64 Details
mmcore-0.58.0-cp313-cp313-macosx_26_0_arm64.whl CPython 3.13 CPython 3.13 macOS 26.0+ ARM64 Details
mmcore-0.58.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
mmcore-0.58.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64, Linux glibc 2.24+ x86-64 Details
mmcore-0.58.0-cp312-cp312-macosx_26_0_arm64.whl CPython 3.12 CPython 3.12 macOS 26.0+ ARM64 Details
mmcore-0.58.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mmcore-0.58.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.39+ x86-64 Details
mmcore-0.58.0-cp311-cp311-macosx_26_0_arm64.whl CPython 3.11 CPython 3.11 macOS 26.0+ ARM64 Details
mmcore-0.58.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mmcore-0.58.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.39+ x86-64 Details
mmcore-0.58.0-cp310-cp310-macosx_26_0_arm64.whl CPython 3.10 CPython 3.10 macOS 26.0+ ARM64 Details
mmcore-0.58.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
mmcore-0.58.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.39+ x86-64, Linux glibc 2.24+ x86-64 Details
mmcore-0.58.0-cp39-cp39-macosx_26_0_arm64.whl CPython 3.9 CPython 3.9 macOS 26.0+ ARM64 Details

Total release size: 174.4 MB

Release files / mmcore-0.58.0.tar.gz

Download URL mmcore-0.58.0.tar.gz
Size 982.6 kB
Tags Source
SHA-256 checksum
How to use checksums
fec9b16bc843931b945389ba3a912e7c0b44e038a9a02c13f45fc9a6a4ff0143
BLAKE2b-256 checksum
How to use checksums
738222a91157f646cc4c02e024fa50ebaa6cb992d812fd8228852346a64b72c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl

Download URL mmcore-0.58.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl
Size 19.2 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
25f70d8f0a5ff52e68a403d26480b140f4a0d4c31093080b84f91336b35ffa3f
BLAKE2b-256 checksum
How to use checksums
7db9647ed918bbe8a4339d1b96e9d19400957cbd2a354aa15b1c3abe00ef6462
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp313-cp313-macosx_26_0_arm64.whl

Download URL mmcore-0.58.0-cp313-cp313-macosx_26_0_arm64.whl
Size 9.6 MB
Tags CPython 3.13 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
a0105c46e8f33070e151599697516e8a6ea153bdfd4dd4ad4f8f8e2683fa653f
BLAKE2b-256 checksum
How to use checksums
aac1f11b0080d27d371f274b553fea54af0a6a2cc0358282da92d20a411f5b60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp312-cp312-win_amd64.whl

Download URL mmcore-0.58.0-cp312-cp312-win_amd64.whl
Size 7.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
784e5cc4b96df4b78de777d9e86711fb34010a5d5f3c1478a7b2ce2998bb58ef
BLAKE2b-256 checksum
How to use checksums
afaa4c387daaa94129b5a4b631c311d847661eac405485a5a7a49ac8f588ba0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl

Download URL mmcore-0.58.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl
Size 19.4 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
179d17cf4bbfb3b937ab229c064bec397673dc80efd024d37eb984803900ab8f
BLAKE2b-256 checksum
How to use checksums
f1c57759b954f2fd3369661ad6fb682b049529f665b9d666baf028f1ac198816
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp312-cp312-macosx_26_0_arm64.whl

Download URL mmcore-0.58.0-cp312-cp312-macosx_26_0_arm64.whl
Size 9.6 MB
Tags CPython 3.12 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
b4b157661896127a323ce778c5ec4dc57ddd88a4830397d62a536396da5e792e
BLAKE2b-256 checksum
How to use checksums
90c93b389f921b41ef103b4db8b3d85825126647a9be5905b6fff87509e09904
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp311-cp311-win_amd64.whl

Download URL mmcore-0.58.0-cp311-cp311-win_amd64.whl
Size 7.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
db02fa765ff57bc872dff1e1921e59ef8126993de13d59f070c21d09a6f9e82e
BLAKE2b-256 checksum
How to use checksums
5032a9287ab25227e1221ef49785a38d290c534f7a9a3503f12eefe65dff8ebe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl

Download URL mmcore-0.58.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl
Size 19.6 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
9503ed0023586d6062638cbb32aac4b48921f6b501f134787ae5c45808f41b69
BLAKE2b-256 checksum
How to use checksums
808b8c7b2ceb145ee76ab8ce0d4f47c09d4fc2c90e022b0a4c22c4fe0c999511
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp311-cp311-macosx_26_0_arm64.whl

Download URL mmcore-0.58.0-cp311-cp311-macosx_26_0_arm64.whl
Size 9.6 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
7b17c4865a6e3af7230ef8d9bb4d95414b2a570f44de17d0db82ff3dbe01c85e
BLAKE2b-256 checksum
How to use checksums
f181e519ba1f52ec6c2634a3423e200e34f3c1f9ea8c04897353301311148b60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp310-cp310-win_amd64.whl

Download URL mmcore-0.58.0-cp310-cp310-win_amd64.whl
Size 7.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
23b708822c37b3d9f2a800c9565988635ed439076dfb81249611259da5f7b86c
BLAKE2b-256 checksum
How to use checksums
3e493f29467f2ee124d882fa15f9d5e5f20978b87bbef364d47ca9add78e33a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl

Download URL mmcore-0.58.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl
Size 19.0 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
4cc5467042325389375d3dd95a361fd11a806d11bc393c4b45ea0d5342695833
BLAKE2b-256 checksum
How to use checksums
c33aee8df27ca4a1ab13262685524a8bc73bcb825adf33582981acdb9d81ef65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp310-cp310-macosx_26_0_arm64.whl

Download URL mmcore-0.58.0-cp310-cp310-macosx_26_0_arm64.whl
Size 9.6 MB
Tags CPython 3.10 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
4adb13dd33ed7bab038d899cb69abe634eb48802351b280a1493014679f47000
BLAKE2b-256 checksum
How to use checksums
43a9cd2e935c937c1bbaad62e6b6fb14980fb04fab1e82f160c95e28b8401f6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp39-cp39-win_amd64.whl

Download URL mmcore-0.58.0-cp39-cp39-win_amd64.whl
Size 7.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
47cb7f8af97912f756bba1b04ec8a7d5c79aa93f3a89ca4a2caad9904ac2b1d9
BLAKE2b-256 checksum
How to use checksums
96e83abbaa77468e66b4295308b389918a2a108ad013f0e161995453e9923aa2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl

Download URL mmcore-0.58.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_39_x86_64.whl
Size 19.0 MB
Tags CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
2c3c70672e6c7cc64085e02ca2f502b3a971e90f14af5506823ebea10b57b9b8
BLAKE2b-256 checksum
How to use checksums
bfaca788816330968f2be949614b1ff6ecdd509863e1e7c9d0c272b21d925e4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / mmcore-0.58.0-cp39-cp39-macosx_26_0_arm64.whl

Download URL mmcore-0.58.0-cp39-cp39-macosx_26_0_arm64.whl
Size 9.6 MB
Tags CPython 3.9 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
434e46f21d35d78ff0d05aa7b6b3c871982b621763a82577ccfca836355e9682
BLAKE2b-256 checksum
How to use checksums
94b6f0dea1334a577df4af5d2d9680d4883b84a32dbb25ee3f20a041a9a0639e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.58.0 This release

15 release files

0.23.5

5 release files

0.22.4

5 release 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