Skip to main content

Python library for creating a database of hardware components for manufacturing

Project description

OpenPartsLibrary

Build machines faster with cheap standard components and ready-to-use CAD files.

OpenPartsLibrary is for hardware startups, small manufacturing teams, and mechanical engineers who build prototypes, fixtures, automation equipment, test rigs, and early production machines. It is used during concept design, FreeCAD assembly work, BOM preparation, and procurement handoff.

  • Shorter design cycles for prototypes and early production machines.
  • Less repeated supplier research and CAD file hunting.
  • Faster FreeCAD assembly work with reusable, prepared components.
  • More consistent part choices across machines and projects.
  • Easier handoff from engineering to purchasing or manufacturing.
  • Lower barrier for international teams to work from the same library.

OpenPartsLibrary interface

Key Features

OpenPartsLibrary focuses on practical part reuse for FreeCAD-based machine development.

  • Engineering search for standard mechanical parts, supplier names, part numbers, and dimensions.
  • CAD preview and CAD download for reusable components.
  • Reusable BOM modules for common machine subsystems.
  • One-click CAD package download for complete BOMs.
  • My Bill of Materials for collecting parts during design work.
  • Multilingual user interface.

Engineering Search

Search is tuned for mechanical part discovery. Engineers can use familiar terms such as guide, rail, linear guide, profile, or washer without needing to know the exact stored part name.

For users, the result is simple: searches return practical engineering matches, including useful standard-size alternatives when the exact requested dimension is not available.

Reusable BOM Modules

Precreated BOMs represent frequently combined parts that are often reused as machine modules.

Examples include complete linear axes, rail sets, motor and bracket combinations, or other groups of components that are usually selected together.

Instead of collecting every rail, carriage, motor, fastener, and mounting bracket one by one, engineers can start from an existing BOM that already reflects a useful combination.

One-Click BOM Packages

Complete BOMs can be downloaded as one package, including available CAD files and hardware BOM data.

This makes it faster to move from a reusable module in the library to a working FreeCAD assembly, procurement request, or manufacturing handoff.

My Bill Of Materials

My Bill of Materials is a temporary collection for parts selected during design work.

Users can review quantities, estimated cost, CAD availability, and download the selected package.

FreeCAD Focused

The library is focused on assemblies created with FreeCAD.

Many low-cost AliExpress components are good enough for prototypes and early machines, but the development workflow becomes slow when CAD files are scattered across supplier downloads, old projects, and local folders.

OpenPartsLibrary keeps reusable CAD files close to the part information so engineers can quickly insert known components into FreeCAD assemblies.

Typical part families include:

  • Linear rails and sliding blocks
  • Aluminum profiles and brackets
  • Fasteners, nuts, washers, and spacers
  • Plates, panels, adapters, and mounting parts
  • Purchased standard components used in machine frames and mechanisms

Multiple Languages

OpenPartsLibrary supports multiple interface languages.

This helps small international teams, distributed suppliers, and mixed engineering/manufacturing environments work from the same part library.

Running Locally

Install dependencies:

pip install -r requirements.txt

Run the web app:

python app.py

Open:

http://localhost:5000

Desktop wrapper:

python run_desktop.py

Runtime data is stored in:

instance/data/

Contributing

This section is for software developers and technical contributors.

Useful project areas:

openpartslibrary/search.py     Search scoring and ranking
openpartslibrary/routes.py     Public app routes
openpartslibrary/templates/    User interface templates
openpartslibrary/hbom.py       Hardware BOM export
openpartslibrary/models.py     Data models
openpartslibrary/admin.py      Admin and BOM management views

Keep contributions focused on faster part reuse, better CAD/BOM handling, and clearer support for FreeCAD-based machine assemblies.

License

OpenPartsLibrary is provided under the license included in this repository.

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

openpartslibrary-0.1.15.tar.gz (10.9 MB view details)

Uploaded Source

Built Distribution

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

openpartslibrary-0.1.15-py3-none-any.whl (12.1 MB view details)

Uploaded Python 3

File details

Details for the file openpartslibrary-0.1.15.tar.gz.

File metadata

  • Download URL: openpartslibrary-0.1.15.tar.gz
  • Upload date:
  • Size: 10.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openpartslibrary-0.1.15.tar.gz
Algorithm Hash digest
SHA256 b5be348e205f1decdecb1402aac4e5c8c0884035b428104e7dad423d27636290
MD5 c49110cab91fb8ae89c3046e1a7cf750
BLAKE2b-256 3f75f5025e62d5c80c1063362e4ac804a95c5d814079769f1d77fa291c117233

See more details on using hashes here.

Provenance

The following attestation bundles were made for openpartslibrary-0.1.15.tar.gz:

Publisher: python-publish.yml on alekssadowski95/OpenPartsLibrary

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openpartslibrary-0.1.15-py3-none-any.whl.

File metadata

File hashes

Hashes for openpartslibrary-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 d8403f407537e9baf2ef2799a8df5daf0fe5edfbf4d9549454c455330a59702b
MD5 d66be71166c417811ae6659825ec80d1
BLAKE2b-256 5f1fa3d6c74ffdd37fd693304775bf2a686bc6b3d5fdbdc42eb89e16b0d3f90b

See more details on using hashes here.

Provenance

The following attestation bundles were made for openpartslibrary-0.1.15-py3-none-any.whl:

Publisher: python-publish.yml on alekssadowski95/OpenPartsLibrary

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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