Skip to main content

supplycm

Python 3.6+ License: MIT Tests No Dependencies

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

  1. Pure Python - no NumPy, pandas, or any third-party dependency. Only the standard library.
  2. Self-contained - each algorithm lives in its own module and can be imported independently.
  3. Documented - every function has a docstring with usage examples.
  4. Tested - comprehensive test suite using Python's built-in unittest framework.
  5. 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

supplycm-1.2.1.tar.gz (131.5 kB view details)

Uploaded Source

Built Distribution

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

supplycm-1.2.1-py3-none-any.whl (255.9 kB view details)

Uploaded Python 3

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

Hashes for supplycm-1.2.1.tar.gz
Algorithm Hash digest
SHA256 c814c8e265aeea98743da632065b5572f25831f6702d3938f6231cd07cf64e42
MD5 19122b6d1d5d17f93ec6cc75e0e60a73
BLAKE2b-256 59e77c75cee7c18d362e14c1c0e8b0809f3e04e09199c8789666c095266dbbe1

See more details on using hashes here.

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

Hashes for supplycm-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2484081354e7169f9c9a4c57238011dc6047605447d625b32acb234539d39c45
MD5 925289daf1fb3e48857ebe7078e9ef7c
BLAKE2b-256 756efec456949c4915275931bee782cdf5d5285bfe77a22c199da9616171fa2e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 files

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