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.56.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.56.0
File Size Uploaded
mmcore-0.56.0.tar.gz 904.8 kB Details

Built distributions (wheels)

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

Total release size: 164.7 MB

Release files / mmcore-0.56.0.tar.gz

Download URL mmcore-0.56.0.tar.gz
Size 904.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0fe966ad5a4ad8469f7c072b597e65bbfbbff72aa74059dc55ce2ea8f7dbc26b
BLAKE2b-256 checksum
How to use checksums
d2b05411dd42e836b9cddaaabe37faca10f2d85eeab89b2d35a91f6bfd8a08cb
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 Aug 19, 2026.

Transparency log

Release files / mmcore-0.56.0-cp313-cp313-manylinux_2_39_x86_64.whl

Download URL mmcore-0.56.0-cp313-cp313-manylinux_2_39_x86_64.whl
Size 18.3 MB
Tags CPython 3.13 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
04df7820466c1abf0af5148f6c310828274b52b4946c5711532de0601057754b
BLAKE2b-256 checksum
How to use checksums
da0c234e87c232f2a563f16a15e7bd07621eeec11ce80302edae82566a65bcb3
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp313-cp313-macosx_26_0_arm64.whl
Size 9.1 MB
Tags CPython 3.13 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
42772202384e603928fc2369561c6864ccc7e99b8abd08e19882972908f1f73b
BLAKE2b-256 checksum
How to use checksums
327810fb2d692efe3d5beaf81f346c338240d5ccb6d5044c493027a0178cd68c
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp312-cp312-win_amd64.whl
Size 6.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1cad7c9017f8cebed4dee83d6acc1a713718717dc5b166e16a8b882087a07b3b
BLAKE2b-256 checksum
How to use checksums
b05ccdb06558811fee70ec6179324dabf5c42f77999e462dd443984b56e7b614
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 Aug 19, 2026.

Transparency log

Release files / mmcore-0.56.0-cp312-cp312-manylinux_2_39_x86_64.whl

Download URL mmcore-0.56.0-cp312-cp312-manylinux_2_39_x86_64.whl
Size 18.3 MB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
6f834494f44abb06be9b922d1b40d84783c88aa10334b155c8be6a13fe4e8134
BLAKE2b-256 checksum
How to use checksums
d7e5990facfa25a2fbbf701164bc90d2f5aec536c82694774b974e629424aae2
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp312-cp312-macosx_26_0_arm64.whl
Size 9.1 MB
Tags CPython 3.12 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
67a594c44cf34589012cc660c07f75fb0b5a14633e4f45fab3f4c5b1f3b3177a
BLAKE2b-256 checksum
How to use checksums
78ade8e05bcb2c397ba5bec98050bdc177e0a15d45aeb9f1dcd7a2dd09762120
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp311-cp311-win_amd64.whl
Size 6.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d6797518ef37d2e48de28e3fa6674dde7a37b535fdbb430a5cd992a9e8fee191
BLAKE2b-256 checksum
How to use checksums
ea6a1b5acb2a14d02119826b1b8bc325ccec830fc9d778a2a1b150edcad35d24
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 Aug 19, 2026.

Transparency log

Release files / mmcore-0.56.0-cp311-cp311-manylinux_2_39_x86_64.whl

Download URL mmcore-0.56.0-cp311-cp311-manylinux_2_39_x86_64.whl
Size 18.5 MB
Tags CPython 3.11 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
8eb543ca35fa6f45b27132c29ec560c7d1e74da43eaa5fee29e84727e2b004f5
BLAKE2b-256 checksum
How to use checksums
a2d01a43de2b752b47e4e317a9a13647150d83133c0875a0e24386aaa4be586d
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp311-cp311-macosx_26_0_arm64.whl
Size 9.1 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
84a98c12367daddaa28733aea829ab0c5753d9f9c7234a93478844d576f59c79
BLAKE2b-256 checksum
How to use checksums
6c7007295d8500445916dc49987ef7e037ec8cfbcf64d1ff85afd2ad87526465
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp310-cp310-win_amd64.whl
Size 6.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2bb17efe59ad2b78c38f1224b5a17230efab1301c54bf328cf1bd76542625a5a
BLAKE2b-256 checksum
How to use checksums
d68c60c6d8c882c9d1001a42ad68c1ce7a186a569d142c4df3ff97ac2a4a6af7
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 Aug 19, 2026.

Transparency log

Release files / mmcore-0.56.0-cp310-cp310-manylinux_2_39_x86_64.whl

Download URL mmcore-0.56.0-cp310-cp310-manylinux_2_39_x86_64.whl
Size 17.9 MB
Tags CPython 3.10 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
220cfc144498f68d0174e43afd51838acff8639834dacd73594181a4f3d29502
BLAKE2b-256 checksum
How to use checksums
e5305a2cc1633789a6860f6313bfe7153aa8ceeff8d073ba4019ea2ca0902446
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp310-cp310-macosx_26_0_arm64.whl
Size 9.1 MB
Tags CPython 3.10 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
c4e97cd78ee2e92f2e1590a57db9db7ef66045a23b0bd2e8a3e5ffce99be53f9
BLAKE2b-256 checksum
How to use checksums
e7fb9e69d46ff527939cd41ee5ee591fcce1632157ce43218251c256c31b11e8
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp39-cp39-win_amd64.whl
Size 6.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
5fe969d980e34576dfce6384dbc737c1a4e513b8899ad55b20afa49e66b11ad4
BLAKE2b-256 checksum
How to use checksums
01682b0a8bdfa5108a52f02f7ce0e54ab4f5945d9d8477853d9dd394005eb7da
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 Aug 19, 2026.

Transparency log

Release files / mmcore-0.56.0-cp39-cp39-manylinux_2_39_x86_64.whl

Download URL mmcore-0.56.0-cp39-cp39-manylinux_2_39_x86_64.whl
Size 17.8 MB
Tags CPython 3.9 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
de13958c739c5be6bf9e1aa731121eb3bf3cefd40af1b9902d06f09ddfac42c4
BLAKE2b-256 checksum
How to use checksums
ebfa6aac4a61e62afa6eef4101a77648259c57a8b352f060a1fd039e54d8c12c
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 Aug 19, 2026.

Transparency log

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

Download URL mmcore-0.56.0-cp39-cp39-macosx_26_0_arm64.whl
Size 9.1 MB
Tags CPython 3.9 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
51c33e19a171a63ff1dd280329c7ec8bee2df4a01c6eedd02bf7e8980f2b63c2
BLAKE2b-256 checksum
How to use checksums
674b01a7ede7d8c4b054fb8d53e49e707dcd927e54bdb317dc14699acf58245d
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 Aug 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.56.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