Skip to main content

Open source library that brings Manufacturing As Code concept into build123d ecosystem

Project description

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

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

makerrepo-0.5.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

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

makerrepo-0.5.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file makerrepo-0.5.0.tar.gz.

File metadata

  • Download URL: makerrepo-0.5.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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}

File hashes

Hashes for makerrepo-0.5.0.tar.gz
Algorithm Hash digest
SHA256 040b9ff75238d9002dde9b49c17c23f2f46a3f116a4d1c87ba111cb5778c2066
MD5 26d5c2b309942d7b4710a6cf1cbf92e1
BLAKE2b-256 c5222cfee9bfef79f21dfd8311f41423ed519d09e3cd0e112a6b2b6c2ef589da

See more details on using hashes here.

File details

Details for the file makerrepo-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: makerrepo-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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}

File hashes

Hashes for makerrepo-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b3a9590ca4695004352482ed8d34b68aa6b74f05d2965e3748757b8f98c329a
MD5 b4208678ef490d087f888b56d8b7ecc9
BLAKE2b-256 6ea25d4521a54865984bdbbd59211b8f0fd5c59adb4f3c9b73d117d0c4239891

See more details on using hashes here.

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