Skip to main content

Django Clear To Build (ctb)

PyPI GitHub Workflow Status Codecov PyPI - Python Version PyPI - Django Version Read the Docs

A package for tracking inventory for small-scale electronics manufacturing. It tracks parts, vendors, orders, inventories (the parts that you have on-hand), projects across several versions (and their bills of materials, including cost breakdowns), and finally provides clearance to build---indicating that your inventory of parts is sufficient to complete the project build.

This project was built to facilitate my DIY Synth build and has built-in support for the Mouser Search API. The projects themselves are printed circuit board (PCB) projects designed in KiCAD; I've leaned in to the patterns used in that software and rely on the bill of materials that it generates. I've built this to support the patterns employed by my prototype manufacturer of choice OSHPark. This project also uses gitops patterns and relies on projects being represented as git repos (although other data sources are definitely possible if you raise an issue).

Documentation

See the full documentation

Installation

pip install django-ctb

Configuration

Add django_ctb to your INSTALLED_APPS list and (optionally) create a setting for your Mouser API key:

INSTALLED_APPS = [
    ...
    "django_ctb",
    ...
]

CTB_MOUSER_API_KEY = "put-your-real-mouser-api-key-here-yall"

Settings

Housekeeping

TODO v0.2.0

Added

  • svelte frontend
    • Component library
      • InventoryLine
        • as card
        • as table row
      • InventoryBrowser (mouser-like)
        • Filterboxes
        • table

Changed

  • Incorporate analytics methods as actions... maybe persist top recommendations?

    • Test robustly
  • Document workflows -- flowcharts for:

    • Create new project
    • Figuring out what part to use for a design
  • Picking order/picking aide (inventory locations?) (add arbitrary labels to all models?)

  • Generate shopping carts from vendor orders (may have to introspect on how to add items to cart in Tayda with Charlesproxy)

  • Start designing frontend!

    • Minimal means to create a Mouser Part (mouser part number, Symbol (e.g. "U"), Footprint)
      • This is actually already automated via BOM.
    • Project index
      • breakdown of versions
        • BOM link
          • Sortable BOM
        • breakdown of builds
      • Repo links
    • Parts index which helps to do footprint assignment.
      • Shows appropriate name (e.g. "LED_GREEN")
      • Shows footprint
      • Shows availability
      • Commonly used parts (high number of project parts)
      • Filtering by component type, footprint, availability
      • Sortable by component value, symbol, name
      • Store links

Processes

Design and Schematic Layout

As I place parts into the schematic I check:

  • Whether the part is stocked, if not:
    • Revise design to use a stocked part
    • Order part For this I use the "Inventory Lines" index and sort by prefix and (sometimes) by footprint. If I don't see what I want to use there then I fall back to the "Parts" index again sorting by prefix. Ideally I would be able to see the quantity on hand from the parts index to avoid double searching.
  • What part number to annotate onto schematic part (have to click through to "part" from "inventory line")
  • What footprint to associate to schematic part (have to click through to "package" from "part")

Metadata

Release files for django-ctb 0.1.2

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

Source distribution (sdist)

Source distribution for django-ctb 0.1.2
File Size Uploaded Provenance Actions
django_ctb-0.1.2.tar.gz 46.4 kB With provenance Details for django_ctb-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for django-ctb 0.1.2
File Interpreter ABI Platform Actions
django_ctb-0.1.2-py3-none-any.whl Python 3 none any Details for django_ctb-0.1.2-py3-none-any.whl

Total release size: 103.1 kB

Release files / django_ctb-0.1.2.tar.gz

Download URL django_ctb-0.1.2.tar.gz
Size 46.4 kB
Tags Source
SHA-256 checksum
How to use checksums
032ff8617e9ea3884726faf79ee4026462a47d0566ec3ac884f402f4c10af46a
BLAKE2b-256 checksum
How to use checksums
7672f75e625145fd4204a6a01eef68a957b6f793185613a622705da57a438ec6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 17, 2026.

Transparency log

Release files / django_ctb-0.1.2-py3-none-any.whl

Download URL django_ctb-0.1.2-py3-none-any.whl
Size 56.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2dad419a8c8092a5ddd8a42e543886d5bdd55d33d1667452ac4e7503f899df68
BLAKE2b-256 checksum
How to use checksums
c4f48deb0d8c33254a941d74791fe24a6156b2d0009cb1efc86c7538d22ec687
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 17, 2026.

Transparency log

Security for django-ctb 0.1.2

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for django_ctb-0.1.2.tar.gz

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 May 17, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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