Skip to main content

MakerRepo

MakerRepo is an open-source Python library that brings the Manufacturing as Code concept into the Build123D ecosystem. It is designed to have as little impact on your existing Build123D project as possible — add a dependency and a few decorators; your models and workflow stay the same.

The makerrepo Python package (imported as mr) is a lightweight library that provides decorators such as @artifact, @customizable, and @cached to annotate functions that build your models. The decorators have no effect on your existing Build123D code until it is discovered and run by tools such as makerrepo-cli or MakerRepo.com CI. The goal is to enable a code-driven workflow locally (e.g. command-line tools) or in CI. The library does not assume how it will be consumed, so annotated functions can be used with other tools and frameworks as well. It brings Manufacturing as Code into the Build123D ecosystem.

What is MakerRepo?

MakerRepo is a GitHub-like platform for manufacturing as code. You write Python code to define 3D models with Build123D, push to a Git repository on MakerRepo, and the platform builds your models and hosts the resulting CAD artifacts so you can view and share them.

This repository is the MakerRepo Library — the mr package you add to your project to expose Build123D artifacts to MakerRepo.com (e.g. via the @artifact decorator). The platform’s CI then discovers, builds, and publishes those artifacts.

Features

  • Artifacts — Use the @artifact decorator to mark Build123D model functions as publishable CAD artifacts. Control options like sample/cover images and export formats (STEP, 3MF).
  • Customizables (generators) — Use the @customizable decorator to define parameterized generators with a Pydantic schema for user-configurable models.
  • Cached helpers — Use the @cached decorator to tag functions whose outputs can be cached to speed up builds.

Getting started

  1. Create a repository on MakerRepo.com.
  2. Add makerrepo to your project and use the @artifact decorator on your Build123D model functions (see Getting Started in the docs).
  3. Push your code — CI runs and publishes artifacts to the web UI.

Documentation

  • MakerRepo Docs — Full documentation, getting started, and concepts.
  • MakerRepo CLI — Use makerrepo-cli to build artifacts and run workflows from the command line.

Requirements

License

MIT

Metadata

Release files for makerrepo 0.5.6

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

Source distribution (sdist)

Source distribution for makerrepo 0.5.6
File Size Uploaded
makerrepo-0.5.6.tar.gz 17.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for makerrepo 0.5.6
File Interpreter ABI Platform
makerrepo-0.5.6-py3-none-any.whl Python 3 none any Details

Total release size: 29.4 kB

Release files / makerrepo-0.5.6.tar.gz

Download URL makerrepo-0.5.6.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
df1d943a549381def62c16922bc73696ed0345cd08d9745d3707b839efba67d0
BLAKE2b-256 checksum
How to use checksums
ab909ee82b1842d108237dfb69f4a8659562fddf38882f9a6b4ed8546ebb7c6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / makerrepo-0.5.6-py3-none-any.whl

Download URL makerrepo-0.5.6-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8abd99357d2a4cf88e634427080c0b170a60d23c3007418536d0b0a825b0ffb1
BLAKE2b-256 checksum
How to use checksums
39e6fea4b6807d0691ab0dcbbbf632208454d046e5740b2a5cc38ee5d5257a09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.5.6 This release

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 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