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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5be348e205f1decdecb1402aac4e5c8c0884035b428104e7dad423d27636290
|
|
| MD5 |
c49110cab91fb8ae89c3046e1a7cf750
|
|
| BLAKE2b-256 |
3f75f5025e62d5c80c1063362e4ac804a95c5d814079769f1d77fa291c117233
|
Provenance
The following attestation bundles were made for openpartslibrary-0.1.15.tar.gz:
Publisher:
python-publish.yml on alekssadowski95/OpenPartsLibrary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openpartslibrary-0.1.15.tar.gz -
Subject digest:
b5be348e205f1decdecb1402aac4e5c8c0884035b428104e7dad423d27636290 - Sigstore transparency entry: 1437214442
- Sigstore integration time:
-
Permalink:
alekssadowski95/OpenPartsLibrary@bea63455f1220704414eb2607eff2d4c83a62958 -
Branch / Tag:
refs/tags/0.1.15 - Owner: https://github.com/alekssadowski95
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@bea63455f1220704414eb2607eff2d4c83a62958 -
Trigger Event:
release
-
Statement type:
File details
Details for the file openpartslibrary-0.1.15-py3-none-any.whl.
File metadata
- Download URL: openpartslibrary-0.1.15-py3-none-any.whl
- Upload date:
- Size: 12.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8403f407537e9baf2ef2799a8df5daf0fe5edfbf4d9549454c455330a59702b
|
|
| MD5 |
d66be71166c417811ae6659825ec80d1
|
|
| BLAKE2b-256 |
5f1fa3d6c74ffdd37fd693304775bf2a686bc6b3d5fdbdc42eb89e16b0d3f90b
|
Provenance
The following attestation bundles were made for openpartslibrary-0.1.15-py3-none-any.whl:
Publisher:
python-publish.yml on alekssadowski95/OpenPartsLibrary
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openpartslibrary-0.1.15-py3-none-any.whl -
Subject digest:
d8403f407537e9baf2ef2799a8df5daf0fe5edfbf4d9549454c455330a59702b - Sigstore transparency entry: 1437214448
- Sigstore integration time:
-
Permalink:
alekssadowski95/OpenPartsLibrary@bea63455f1220704414eb2607eff2d4c83a62958 -
Branch / Tag:
refs/tags/0.1.15 - Owner: https://github.com/alekssadowski95
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@bea63455f1220704414eb2607eff2d4c83a62958 -
Trigger Event:
release
-
Statement type: