supplycm
A pure-Python library of 397 supply chain management algorithms with zero external dependencies. All algorithms are public-domain / patent-free implementations suitable for educational and commercial use.
Quick Start
pip install supplycm
from supplycm.inventory import economic_order_quantity
# Compute optimal order quantity
q = economic_order_quantity(demand=10000, ordering_cost=100, holding_cost=5)
print(f'Order {q:.0f} units each cycle')
Installation
From PyPI
pip install supplycm
From source
git clone https://github.com/atqatq/supplycm.git
cd supplycm
pip install .
Note: Python 3.6 or later is required. Check your version with python --version.
Categories
| Module | Count | Description |
|---|---|---|
supplycm.forecasting |
50 | Time series forecasting (moving averages, exponential smoothing, Croston, AR/MA) |
supplycm.inventory |
60 | EOQ/EPQ, newsvendor, lot-sizing, ABC/XYZ analysis |
supplycm.statistics |
40 | MAPE, RMSE, MASE, hypothesis tests, descriptive stats |
supplycm.routing |
30 | TSP, VRP, assignment problem, transportation simplex |
supplycm.network |
30 | Shortest paths, MST, max-flow, graph algorithms |
supplycm.scheduling |
40 | Johnson's rule, NEH, dispatching rules, CPM/PERT |
supplycm.mrp |
30 | BOM explosion, MRP, MPS, kanban, DBR |
supplycm.optimization |
30 | Simplex, GA, SA, PSO, ACO, knapsack, DP |
supplycm.supplier |
30 | AHP, TOPSIS, DEA, PROMETHEE, ELECTRE |
supplycm.warehouse |
10 | Slotting, picking, cross-dock, putaway |
supplycm.demand |
9 | Aggregation, seasonality, sensing, cannibalization |
supplycm.risk |
1 | Supply chain resilience index |
supplycm.quality |
7 | Control charts, Cp/Cpk, DPMO, sigma level |
supplycm.lean |
4 | Takt time, OEE, Little's Law, cycle efficiency |
supplycm.sop |
3 | Sales and Operations Planning, chase/level strategies |
supplycm.sustainability |
3 | Carbon footprint, reverse logistics, energy |
supplycm.contracts |
3 | Revenue sharing, buyback, quantity flexibility |
supplycm.simulation |
2 | Monte Carlo inventory and risk simulation |
supplycm.cost |
2 | Landed cost, total procurement cost |
supplycm.network_design |
5 | Center of gravity, facility location, break-even |
supplycm.iot |
4 | Anomaly detection, sensor smoothing, real-time monitoring |
supplycm.blockchain |
4 | Hash chain, provenance tracking, smart contracts |
| Total | 397 |
Python Version Compatibility
| Python | Status |
|---|---|
| 3.6 | Supported |
| 3.7 | Supported |
| 3.8 | Tested |
| 3.9 | Tested |
| 3.10 | Tested |
| 3.11 | Tested |
| 3.12 | Tested |
| 3.13 | Tested |
Running Tests
# Run all unit tests
python tests/run_tests.py
# Run doctests
python tests/run_doctests.py
Design Principles
- Pure Python - no NumPy, pandas, or any third-party dependency. Only the standard library.
- Self-contained - each algorithm lives in its own module and can be imported independently.
- Documented - every function has a docstring with usage examples.
- Tested - comprehensive test suite using Python's built-in unittest framework.
- Consistent - all modules follow the same style and structure.
Community
- Discussions - Ask questions, share ideas, show your projects
- Issues - Report bugs or request features
- Contributing Guide - How to contribute code, documentation, or algorithms
Learning the Package
Tutorials, learning paths, and interactive notebooks are available in the companion repository: atqatq/supplycm-learning
License
MIT - see LICENSE.
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 supplycm-1.2.1.tar.gz.
File metadata
- Download URL: supplycm-1.2.1.tar.gz
- Upload date:
- Size: 131.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c814c8e265aeea98743da632065b5572f25831f6702d3938f6231cd07cf64e42
|
|
| MD5 |
19122b6d1d5d17f93ec6cc75e0e60a73
|
|
| BLAKE2b-256 |
59e77c75cee7c18d362e14c1c0e8b0809f3e04e09199c8789666c095266dbbe1
|
File details
Details for the file supplycm-1.2.1-py3-none-any.whl.
File metadata
- Download URL: supplycm-1.2.1-py3-none-any.whl
- Upload date:
- Size: 255.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2484081354e7169f9c9a4c57238011dc6047605447d625b32acb234539d39c45
|
|
| MD5 |
925289daf1fb3e48857ebe7078e9ef7c
|
|
| BLAKE2b-256 |
756efec456949c4915275931bee782cdf5d5285bfe77a22c199da9616171fa2e
|