supplycm 1.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. supplycm-1.2.1/CHANGELOG.md +135 -0
  2. supplycm-1.2.1/CODE_OF_CONDUCT.md +39 -0
  3. supplycm-1.2.1/COMMUNITY.md +70 -0
  4. supplycm-1.2.1/CONTRIBUTING.md +81 -0
  5. supplycm-1.2.1/LICENSE +21 -0
  6. supplycm-1.2.1/MANIFEST.in +13 -0
  7. supplycm-1.2.1/PKG-INFO +138 -0
  8. supplycm-1.2.1/README.md +114 -0
  9. supplycm-1.2.1/SECURITY.md +34 -0
  10. supplycm-1.2.1/examples/__init__.py +1 -0
  11. supplycm-1.2.1/examples/forecasting_tutorial.py +75 -0
  12. supplycm-1.2.1/examples/inventory_tutorial.py +92 -0
  13. supplycm-1.2.1/examples/multi_echelon_tutorial.py +54 -0
  14. supplycm-1.2.1/examples/optimization_tutorial.py +76 -0
  15. supplycm-1.2.1/examples/routing_tutorial.py +81 -0
  16. supplycm-1.2.1/examples/supplier_selection_example.py +96 -0
  17. supplycm-1.2.1/pyproject.toml +26 -0
  18. supplycm-1.2.1/setup.cfg +4 -0
  19. supplycm-1.2.1/setup.py +38 -0
  20. supplycm-1.2.1/supplycm/__init__.py +34 -0
  21. supplycm-1.2.1/supplycm/blockchain/__init__.py +6 -0
  22. supplycm-1.2.1/supplycm/blockchain/hash_chain.py +35 -0
  23. supplycm-1.2.1/supplycm/blockchain/provenance_tracking.py +27 -0
  24. supplycm-1.2.1/supplycm/blockchain/smart_contract_check.py +42 -0
  25. supplycm-1.2.1/supplycm/blockchain/verify_chain.py +32 -0
  26. supplycm-1.2.1/supplycm/contracts/__init__.py +5 -0
  27. supplycm-1.2.1/supplycm/contracts/buyback_contract.py +28 -0
  28. supplycm-1.2.1/supplycm/contracts/quantity_flexibility_contract.py +28 -0
  29. supplycm-1.2.1/supplycm/contracts/revenue_sharing_contract.py +26 -0
  30. supplycm-1.2.1/supplycm/cost/__init__.py +4 -0
  31. supplycm-1.2.1/supplycm/cost/landed_cost.py +19 -0
  32. supplycm-1.2.1/supplycm/cost/total_cost_procurement.py +14 -0
  33. supplycm-1.2.1/supplycm/demand/__init__.py +10 -0
  34. supplycm-1.2.1/supplycm/demand/cannibalization_effect.py +16 -0
  35. supplycm-1.2.1/supplycm/demand/demand_aggregation.py +17 -0
  36. supplycm-1.2.1/supplycm/demand/demand_class_abc_xyz.py +20 -0
  37. supplycm-1.2.1/supplycm/demand/demand_disaggregation.py +17 -0
  38. supplycm-1.2.1/supplycm/demand/demand_sensing.py +21 -0
  39. supplycm-1.2.1/supplycm/demand/promotional_demand_lift.py +14 -0
  40. supplycm-1.2.1/supplycm/demand/seasonality_index.py +23 -0
  41. supplycm-1.2.1/supplycm/demand/stockout_demand_loss.py +15 -0
  42. supplycm-1.2.1/supplycm/demand/trend_seasonal_decomposition_forecast.py +55 -0
  43. supplycm-1.2.1/supplycm/forecasting/__init__.py +51 -0
  44. supplycm-1.2.1/supplycm/forecasting/adf_test.py +32 -0
  45. supplycm-1.2.1/supplycm/forecasting/akaike_information_criterion.py +22 -0
  46. supplycm-1.2.1/supplycm/forecasting/ar_model.py +40 -0
  47. supplycm-1.2.1/supplycm/forecasting/autocorrelation.py +25 -0
  48. supplycm-1.2.1/supplycm/forecasting/average_method.py +15 -0
  49. supplycm-1.2.1/supplycm/forecasting/bates_granger_combination.py +37 -0
  50. supplycm-1.2.1/supplycm/forecasting/bayesian_information_criterion.py +19 -0
  51. supplycm-1.2.1/supplycm/forecasting/bottom_up_reconciliation.py +36 -0
  52. supplycm-1.2.1/supplycm/forecasting/box_cox_transform.py +20 -0
  53. supplycm-1.2.1/supplycm/forecasting/brier_score.py +17 -0
  54. supplycm-1.2.1/supplycm/forecasting/browns_double_exponential.py +25 -0
  55. supplycm-1.2.1/supplycm/forecasting/browns_triple_exponential.py +33 -0
  56. supplycm-1.2.1/supplycm/forecasting/classical_decomposition.py +70 -0
  57. supplycm-1.2.1/supplycm/forecasting/croston_with_decay.py +24 -0
  58. supplycm-1.2.1/supplycm/forecasting/crostons_method.py +46 -0
  59. supplycm-1.2.1/supplycm/forecasting/dampened_trend.py +44 -0
  60. supplycm-1.2.1/supplycm/forecasting/doubling_seasonal_smoothing.py +34 -0
  61. supplycm-1.2.1/supplycm/forecasting/drift_method.py +16 -0
  62. supplycm-1.2.1/supplycm/forecasting/exponential_trend_forecast.py +30 -0
  63. supplycm-1.2.1/supplycm/forecasting/gompertz_trend.py +42 -0
  64. supplycm-1.2.1/supplycm/forecasting/holt_linear_trend.py +36 -0
  65. supplycm-1.2.1/supplycm/forecasting/holt_winters.py +56 -0
  66. supplycm-1.2.1/supplycm/forecasting/hurst_exponent.py +53 -0
  67. supplycm-1.2.1/supplycm/forecasting/inverse_box_cox.py +15 -0
  68. supplycm-1.2.1/supplycm/forecasting/kpss_test.py +28 -0
  69. supplycm-1.2.1/supplycm/forecasting/linear_regression_forecast.py +33 -0
  70. supplycm-1.2.1/supplycm/forecasting/ljung_box_test.py +25 -0
  71. supplycm-1.2.1/supplycm/forecasting/logistic_trend.py +44 -0
  72. supplycm-1.2.1/supplycm/forecasting/ma_model.py +40 -0
  73. supplycm-1.2.1/supplycm/forecasting/moving_median_filter.py +26 -0
  74. supplycm-1.2.1/supplycm/forecasting/mstl_decomposition.py +43 -0
  75. supplycm-1.2.1/supplycm/forecasting/naive_forecast.py +14 -0
  76. supplycm-1.2.1/supplycm/forecasting/partial_autocorrelation.py +41 -0
  77. supplycm-1.2.1/supplycm/forecasting/pegels_classification.py +37 -0
  78. supplycm-1.2.1/supplycm/forecasting/polynomial_regression_forecast.py +48 -0
  79. supplycm-1.2.1/supplycm/forecasting/rolling_mean_forecast.py +18 -0
  80. supplycm-1.2.1/supplycm/forecasting/sba_method.py +43 -0
  81. supplycm-1.2.1/supplycm/forecasting/seasonal_indices.py +30 -0
  82. supplycm-1.2.1/supplycm/forecasting/seasonal_naive_forecast.py +20 -0
  83. supplycm-1.2.1/supplycm/forecasting/seasonal_trend_loess.py +45 -0
  84. supplycm-1.2.1/supplycm/forecasting/ses_with_drift.py +24 -0
  85. supplycm-1.2.1/supplycm/forecasting/simple_moving_average.py +29 -0
  86. supplycm-1.2.1/supplycm/forecasting/single_exponential_smoothing.py +28 -0
  87. supplycm-1.2.1/supplycm/forecasting/theils_u.py +20 -0
  88. supplycm-1.2.1/supplycm/forecasting/theta_method.py +42 -0
  89. supplycm-1.2.1/supplycm/forecasting/top_down_reconciliation.py +21 -0
  90. supplycm-1.2.1/supplycm/forecasting/tracking_signal.py +24 -0
  91. supplycm-1.2.1/supplycm/forecasting/tsb_method.py +34 -0
  92. supplycm-1.2.1/supplycm/forecasting/var_model.py +64 -0
  93. supplycm-1.2.1/supplycm/forecasting/weighted_moving_average.py +35 -0
  94. supplycm-1.2.1/supplycm/inventory/__init__.py +61 -0
  95. supplycm-1.2.1/supplycm/inventory/abc_analysis.py +34 -0
  96. supplycm-1.2.1/supplycm/inventory/abc_xyz_matrix.py +21 -0
  97. supplycm-1.2.1/supplycm/inventory/aging_schedule.py +29 -0
  98. supplycm-1.2.1/supplycm/inventory/anticipation_inventory.py +19 -0
  99. supplycm-1.2.1/supplycm/inventory/base_stock_policy.py +18 -0
  100. supplycm-1.2.1/supplycm/inventory/bullwhip_effect.py +24 -0
  101. supplycm-1.2.1/supplycm/inventory/cycle_service_level.py +16 -0
  102. supplycm-1.2.1/supplycm/inventory/days_of_supply.py +13 -0
  103. supplycm-1.2.1/supplycm/inventory/dead_stock_identification.py +17 -0
  104. supplycm-1.2.1/supplycm/inventory/decoupling_inventory.py +12 -0
  105. supplycm-1.2.1/supplycm/inventory/demand_during_lead_time.py +13 -0
  106. supplycm-1.2.1/supplycm/inventory/economic_order_quantity.py +35 -0
  107. supplycm-1.2.1/supplycm/inventory/economic_production_quantity.py +21 -0
  108. supplycm-1.2.1/supplycm/inventory/eoq_quantity_discount.py +42 -0
  109. supplycm-1.2.1/supplycm/inventory/eoq_with_backorders.py +16 -0
  110. supplycm-1.2.1/supplycm/inventory/expected_backorder.py +19 -0
  111. supplycm-1.2.1/supplycm/inventory/expected_on_hand.py +13 -0
  112. supplycm-1.2.1/supplycm/inventory/fifo_valuation.py +34 -0
  113. supplycm-1.2.1/supplycm/inventory/fill_rate_calculation.py +27 -0
  114. supplycm-1.2.1/supplycm/inventory/fixed_order_quantity.py +26 -0
  115. supplycm-1.2.1/supplycm/inventory/gmroi.py +13 -0
  116. supplycm-1.2.1/supplycm/inventory/holding_cost_calculation.py +11 -0
  117. supplycm-1.2.1/supplycm/inventory/inventory_carrying_rate.py +14 -0
  118. supplycm-1.2.1/supplycm/inventory/inventory_position.py +11 -0
  119. supplycm-1.2.1/supplycm/inventory/inventory_to_sales_ratio.py +13 -0
  120. supplycm-1.2.1/supplycm/inventory/inventory_turnover_ratio.py +13 -0
  121. supplycm-1.2.1/supplycm/inventory/joint_replenishment.py +27 -0
  122. supplycm-1.2.1/supplycm/inventory/least_period_cost.py +34 -0
  123. supplycm-1.2.1/supplycm/inventory/least_unit_cost.py +34 -0
  124. supplycm-1.2.1/supplycm/inventory/lifo_valuation.py +26 -0
  125. supplycm-1.2.1/supplycm/inventory/lot_for_lot.py +14 -0
  126. supplycm-1.2.1/supplycm/inventory/marginal_analysis_newsvendor.py +32 -0
  127. supplycm-1.2.1/supplycm/inventory/multi_echelon_inventory.py +36 -0
  128. supplycm-1.2.1/supplycm/inventory/newsvendor_model.py +40 -0
  129. supplycm-1.2.1/supplycm/inventory/obsolescence_cost.py +14 -0
  130. supplycm-1.2.1/supplycm/inventory/optimal_stockout_probability.py +19 -0
  131. supplycm-1.2.1/supplycm/inventory/ordering_cost_allocation.py +15 -0
  132. supplycm-1.2.1/supplycm/inventory/part_period_balancing.py +35 -0
  133. supplycm-1.2.1/supplycm/inventory/periodic_order_quantity.py +30 -0
  134. supplycm-1.2.1/supplycm/inventory/periodic_review_policy.py +20 -0
  135. supplycm-1.2.1/supplycm/inventory/perishable_inventory.py +32 -0
  136. supplycm-1.2.1/supplycm/inventory/pipeline_inventory.py +13 -0
  137. supplycm-1.2.1/supplycm/inventory/r_q_policy.py +30 -0
  138. supplycm-1.2.1/supplycm/inventory/reorder_point.py +13 -0
  139. supplycm-1.2.1/supplycm/inventory/risk_pooling.py +25 -0
  140. supplycm-1.2.1/supplycm/inventory/s_s_policy.py +31 -0
  141. supplycm-1.2.1/supplycm/inventory/safety_stock_normal.py +14 -0
  142. supplycm-1.2.1/supplycm/inventory/safety_stock_with_lead_time_var.py +16 -0
  143. supplycm-1.2.1/supplycm/inventory/silver_meal.py +34 -0
  144. supplycm-1.2.1/supplycm/inventory/slow_moving_detection.py +21 -0
  145. supplycm-1.2.1/supplycm/inventory/spare_parts_fsn.py +24 -0
  146. supplycm-1.2.1/supplycm/inventory/spare_parts_hml.py +18 -0
  147. supplycm-1.2.1/supplycm/inventory/spare_parts_sde.py +18 -0
  148. supplycm-1.2.1/supplycm/inventory/spare_parts_ved.py +18 -0
  149. supplycm-1.2.1/supplycm/inventory/square_root_law.py +17 -0
  150. supplycm-1.2.1/supplycm/inventory/stockout_cost.py +13 -0
  151. supplycm-1.2.1/supplycm/inventory/vendor_managed_inventory.py +16 -0
  152. supplycm-1.2.1/supplycm/inventory/wagner_whitin.py +42 -0
  153. supplycm-1.2.1/supplycm/inventory/weighted_average_cost.py +16 -0
  154. supplycm-1.2.1/supplycm/inventory/xyz_analysis.py +30 -0
  155. supplycm-1.2.1/supplycm/iot/__init__.py +6 -0
  156. supplycm-1.2.1/supplycm/iot/anomaly_detection.py +33 -0
  157. supplycm-1.2.1/supplycm/iot/iot_data_aggregation.py +52 -0
  158. supplycm-1.2.1/supplycm/iot/realtime_inventory_monitor.py +44 -0
  159. supplycm-1.2.1/supplycm/iot/sensor_data_smoothing.py +27 -0
  160. supplycm-1.2.1/supplycm/lean/__init__.py +6 -0
  161. supplycm-1.2.1/supplycm/lean/cycle_time_efficiency.py +13 -0
  162. supplycm-1.2.1/supplycm/lean/oee.py +11 -0
  163. supplycm-1.2.1/supplycm/lean/takt_time.py +13 -0
  164. supplycm-1.2.1/supplycm/lean/wip_calculation.py +13 -0
  165. supplycm-1.2.1/supplycm/mrp/__init__.py +31 -0
  166. supplycm-1.2.1/supplycm/mrp/available_to_promise.py +35 -0
  167. supplycm-1.2.1/supplycm/mrp/backflush.py +17 -0
  168. supplycm-1.2.1/supplycm/mrp/bom_explosion.py +29 -0
  169. supplycm-1.2.1/supplycm/mrp/capable_to_promise.py +33 -0
  170. supplycm-1.2.1/supplycm/mrp/capacity_requirements_planning.py +36 -0
  171. supplycm-1.2.1/supplycm/mrp/cycle_counting.py +28 -0
  172. supplycm-1.2.1/supplycm/mrp/demand_time_fence.py +15 -0
  173. supplycm-1.2.1/supplycm/mrp/drum_buffer_rope.py +27 -0
  174. supplycm-1.2.1/supplycm/mrp/kaban_sizing.py +16 -0
  175. supplycm-1.2.1/supplycm/mrp/lead_time_offsetting.py +19 -0
  176. supplycm-1.2.1/supplycm/mrp/lot_size_rule_epr.py +29 -0
  177. supplycm-1.2.1/supplycm/mrp/lot_size_rule_foq.py +19 -0
  178. supplycm-1.2.1/supplycm/mrp/lot_size_rule_l4l.py +12 -0
  179. supplycm-1.2.1/supplycm/mrp/lot_size_rule_poq.py +18 -0
  180. supplycm-1.2.1/supplycm/mrp/low_level_coding.py +32 -0
  181. supplycm-1.2.1/supplycm/mrp/master_production_schedule.py +28 -0
  182. supplycm-1.2.1/supplycm/mrp/maximum_order_quantity.py +23 -0
  183. supplycm-1.2.1/supplycm/mrp/minimum_order_quantity.py +12 -0
  184. supplycm-1.2.1/supplycm/mrp/modular_bom.py +25 -0
  185. supplycm-1.2.1/supplycm/mrp/mrp_calculation.py +44 -0
  186. supplycm-1.2.1/supplycm/mrp/order_multiples.py +15 -0
  187. supplycm-1.2.1/supplycm/mrp/pegging.py +27 -0
  188. supplycm-1.2.1/supplycm/mrp/phantom_bom_handling.py +26 -0
  189. supplycm-1.2.1/supplycm/mrp/planning_bom.py +13 -0
  190. supplycm-1.2.1/supplycm/mrp/planning_time_fence.py +26 -0
  191. supplycm-1.2.1/supplycm/mrp/quantity_discount_mrp.py +23 -0
  192. supplycm-1.2.1/supplycm/mrp/rough_cut_capacity_planning.py +33 -0
  193. supplycm-1.2.1/supplycm/mrp/safety_lead_time.py +14 -0
  194. supplycm-1.2.1/supplycm/mrp/shrinkage_factor.py +14 -0
  195. supplycm-1.2.1/supplycm/mrp/where_used_query.py +24 -0
  196. supplycm-1.2.1/supplycm/network/__init__.py +30 -0
  197. supplycm-1.2.1/supplycm/network/a_star_search.py +29 -0
  198. supplycm-1.2.1/supplycm/network/all_pairs_shortest_path.py +32 -0
  199. supplycm-1.2.1/supplycm/network/articulation_points.py +39 -0
  200. supplycm-1.2.1/supplycm/network/bellman_ford.py +36 -0
  201. supplycm-1.2.1/supplycm/network/betweenness_centrality.py +43 -0
  202. supplycm-1.2.1/supplycm/network/bfs_shortest_path.py +23 -0
  203. supplycm-1.2.1/supplycm/network/bidirectional_search.py +57 -0
  204. supplycm-1.2.1/supplycm/network/bipartite_matching.py +28 -0
  205. supplycm-1.2.1/supplycm/network/bridges_in_graph.py +32 -0
  206. supplycm-1.2.1/supplycm/network/closeness_centrality.py +3 -0
  207. supplycm-1.2.1/supplycm/network/connected_components.py +26 -0
  208. supplycm-1.2.1/supplycm/network/degree_centrality.py +15 -0
  209. supplycm-1.2.1/supplycm/network/dfs_traversal.py +25 -0
  210. supplycm-1.2.1/supplycm/network/dijkstra_shortest_path.py +41 -0
  211. supplycm-1.2.1/supplycm/network/edmonds_karp_max_flow.py +43 -0
  212. supplycm-1.2.1/supplycm/network/eigenvector_centrality.py +30 -0
  213. supplycm-1.2.1/supplycm/network/floyd_warshall.py +20 -0
  214. supplycm-1.2.1/supplycm/network/ford_fulkerson_max_flow.py +34 -0
  215. supplycm-1.2.1/supplycm/network/kruskal_mst.py +41 -0
  216. supplycm-1.2.1/supplycm/network/max_weight_bipartite_matching.py +17 -0
  217. supplycm-1.2.1/supplycm/network/maximal_clique_bron_kerbosch.py +24 -0
  218. supplycm-1.2.1/supplycm/network/min_cost_flow_cycle_canceling.py +67 -0
  219. supplycm-1.2.1/supplycm/network/min_cut_max_flow_theorem.py +57 -0
  220. supplycm-1.2.1/supplycm/network/min_cut_stoer_wagner.py +54 -0
  221. supplycm-1.2.1/supplycm/network/min_weight_bipartite_matching.py +14 -0
  222. supplycm-1.2.1/supplycm/network/page_rank.py +35 -0
  223. supplycm-1.2.1/supplycm/network/prim_mst.py +31 -0
  224. supplycm-1.2.1/supplycm/network/strongly_connected_components.py +43 -0
  225. supplycm-1.2.1/supplycm/network/successive_shortest_path.py +69 -0
  226. supplycm-1.2.1/supplycm/network/topological_sort.py +26 -0
  227. supplycm-1.2.1/supplycm/network_design/__init__.py +7 -0
  228. supplycm-1.2.1/supplycm/network_design/break_even_analysis.py +23 -0
  229. supplycm-1.2.1/supplycm/network_design/center_of_gravity.py +24 -0
  230. supplycm-1.2.1/supplycm/network_design/facility_location_fixed_cost.py +48 -0
  231. supplycm-1.2.1/supplycm/network_design/network_reliability.py +27 -0
  232. supplycm-1.2.1/supplycm/network_design/single_source_allocation.py +42 -0
  233. supplycm-1.2.1/supplycm/optimization/__init__.py +31 -0
  234. supplycm-1.2.1/supplycm/optimization/ant_colony_optimization.py +62 -0
  235. supplycm-1.2.1/supplycm/optimization/bin_packing_best_fit.py +26 -0
  236. supplycm-1.2.1/supplycm/optimization/bin_packing_first_fit.py +23 -0
  237. supplycm-1.2.1/supplycm/optimization/bin_packing_first_fit_decreasing.py +15 -0
  238. supplycm-1.2.1/supplycm/optimization/binary_search.py +21 -0
  239. supplycm-1.2.1/supplycm/optimization/branch_and_bound.py +47 -0
  240. supplycm-1.2.1/supplycm/optimization/convex_hull.py +28 -0
  241. supplycm-1.2.1/supplycm/optimization/dynamic_programming_lcs.py +31 -0
  242. supplycm-1.2.1/supplycm/optimization/edit_distance.py +24 -0
  243. supplycm-1.2.1/supplycm/optimization/fractional_knapsack.py +29 -0
  244. supplycm-1.2.1/supplycm/optimization/genetic_algorithm.py +42 -0
  245. supplycm-1.2.1/supplycm/optimization/golden_section_search.py +28 -0
  246. supplycm-1.2.1/supplycm/optimization/gradient_descent.py +33 -0
  247. supplycm-1.2.1/supplycm/optimization/graph_coloring_greedy.py +23 -0
  248. supplycm-1.2.1/supplycm/optimization/heap_sort.py +15 -0
  249. supplycm-1.2.1/supplycm/optimization/knapsack_01_dp.py +36 -0
  250. supplycm-1.2.1/supplycm/optimization/lagrange_multiplier.py +33 -0
  251. supplycm-1.2.1/supplycm/optimization/longest_increasing_subsequence.py +22 -0
  252. supplycm-1.2.1/supplycm/optimization/matrix_chain_multiplication.py +22 -0
  253. supplycm-1.2.1/supplycm/optimization/merge_sort.py +30 -0
  254. supplycm-1.2.1/supplycm/optimization/n_queens_backtracking.py +29 -0
  255. supplycm-1.2.1/supplycm/optimization/newton_raphson.py +22 -0
  256. supplycm-1.2.1/supplycm/optimization/p_median.py +29 -0
  257. supplycm-1.2.1/supplycm/optimization/particle_swarm_optimization.py +54 -0
  258. supplycm-1.2.1/supplycm/optimization/quick_sort.py +18 -0
  259. supplycm-1.2.1/supplycm/optimization/set_cover_greedy.py +23 -0
  260. supplycm-1.2.1/supplycm/optimization/simplex_method.py +63 -0
  261. supplycm-1.2.1/supplycm/optimization/simulated_annealing.py +40 -0
  262. supplycm-1.2.1/supplycm/optimization/subset_sum.py +20 -0
  263. supplycm-1.2.1/supplycm/optimization/tabu_search.py +45 -0
  264. supplycm-1.2.1/supplycm/quality/__init__.py +9 -0
  265. supplycm-1.2.1/supplycm/quality/dpmo.py +13 -0
  266. supplycm-1.2.1/supplycm/quality/p_chart.py +25 -0
  267. supplycm-1.2.1/supplycm/quality/process_capability_cp.py +14 -0
  268. supplycm-1.2.1/supplycm/quality/process_capability_cpk.py +16 -0
  269. supplycm-1.2.1/supplycm/quality/r_chart.py +23 -0
  270. supplycm-1.2.1/supplycm/quality/sigma_level.py +20 -0
  271. supplycm-1.2.1/supplycm/quality/x_bar_chart.py +30 -0
  272. supplycm-1.2.1/supplycm/risk/__init__.py +2 -0
  273. supplycm-1.2.1/supplycm/risk/supply_chain_resilience_index.py +23 -0
  274. supplycm-1.2.1/supplycm/routing/__init__.py +31 -0
  275. supplycm-1.2.1/supplycm/routing/assignment_problem_hungarian.py +70 -0
  276. supplycm-1.2.1/supplycm/routing/chinese_postman.py +59 -0
  277. supplycm-1.2.1/supplycm/routing/dial_a_ride.py +38 -0
  278. supplycm-1.2.1/supplycm/routing/eulerian_tour.py +26 -0
  279. supplycm-1.2.1/supplycm/routing/hamiltonian_path_backtrack.py +34 -0
  280. supplycm-1.2.1/supplycm/routing/least_cost_method.py +37 -0
  281. supplycm-1.2.1/supplycm/routing/multi_depot_vrp.py +62 -0
  282. supplycm-1.2.1/supplycm/routing/northwest_corner_method.py +28 -0
  283. supplycm-1.2.1/supplycm/routing/periodic_vrp.py +31 -0
  284. supplycm-1.2.1/supplycm/routing/pickup_delivery_problem.py +57 -0
  285. supplycm-1.2.1/supplycm/routing/rural_postman.py +34 -0
  286. supplycm-1.2.1/supplycm/routing/split_delivery_vrp.py +44 -0
  287. supplycm-1.2.1/supplycm/routing/steiner_tree.py +44 -0
  288. supplycm-1.2.1/supplycm/routing/transportation_simplex_modi.py +69 -0
  289. supplycm-1.2.1/supplycm/routing/transshipment_problem.py +30 -0
  290. supplycm-1.2.1/supplycm/routing/tsp_cheapest_insertion.py +33 -0
  291. supplycm-1.2.1/supplycm/routing/tsp_christofides.py +88 -0
  292. supplycm-1.2.1/supplycm/routing/tsp_farthest_insertion.py +41 -0
  293. supplycm-1.2.1/supplycm/routing/tsp_held_karp.py +56 -0
  294. supplycm-1.2.1/supplycm/routing/tsp_nearest_insertion.py +32 -0
  295. supplycm-1.2.1/supplycm/routing/tsp_nearest_neighbor.py +42 -0
  296. supplycm-1.2.1/supplycm/routing/tsp_three_opt.py +46 -0
  297. supplycm-1.2.1/supplycm/routing/tsp_two_opt.py +36 -0
  298. supplycm-1.2.1/supplycm/routing/vehicle_scheduling.py +30 -0
  299. supplycm-1.2.1/supplycm/routing/vogels_approximation.py +72 -0
  300. supplycm-1.2.1/supplycm/routing/vrp_capacitated_greedy.py +35 -0
  301. supplycm-1.2.1/supplycm/routing/vrp_cluster_first_route_second.py +49 -0
  302. supplycm-1.2.1/supplycm/routing/vrp_savings.py +70 -0
  303. supplycm-1.2.1/supplycm/routing/vrp_sweep.py +47 -0
  304. supplycm-1.2.1/supplycm/routing/vrp_with_time_windows.py +59 -0
  305. supplycm-1.2.1/supplycm/scheduling/__init__.py +41 -0
  306. supplycm-1.2.1/supplycm/scheduling/batch_scheduling.py +21 -0
  307. supplycm-1.2.1/supplycm/scheduling/cmax_calculation.py +22 -0
  308. supplycm-1.2.1/supplycm/scheduling/critical_path_method.py +34 -0
  309. supplycm-1.2.1/supplycm/scheduling/critical_ratio.py +16 -0
  310. supplycm-1.2.1/supplycm/scheduling/deteriorating_jobs_scheduling.py +15 -0
  311. supplycm-1.2.1/supplycm/scheduling/earliest_start_schedule.py +27 -0
  312. supplycm-1.2.1/supplycm/scheduling/edd_rule.py +12 -0
  313. supplycm-1.2.1/supplycm/scheduling/fcfs_rule.py +12 -0
  314. supplycm-1.2.1/supplycm/scheduling/flow_shop_schedule.py +20 -0
  315. supplycm-1.2.1/supplycm/scheduling/gantt_chart_data.py +21 -0
  316. supplycm-1.2.1/supplycm/scheduling/job_shop_schedule.py +45 -0
  317. supplycm-1.2.1/supplycm/scheduling/johnsons_rule.py +42 -0
  318. supplycm-1.2.1/supplycm/scheduling/learning_curve_scheduling.py +14 -0
  319. supplycm-1.2.1/supplycm/scheduling/least_slack.py +15 -0
  320. supplycm-1.2.1/supplycm/scheduling/line_balancing.py +38 -0
  321. supplycm-1.2.1/supplycm/scheduling/list_scheduling.py +20 -0
  322. supplycm-1.2.1/supplycm/scheduling/lpt_rule.py +20 -0
  323. supplycm-1.2.1/supplycm/scheduling/lrpt_rule.py +14 -0
  324. supplycm-1.2.1/supplycm/scheduling/machine_utilization.py +14 -0
  325. supplycm-1.2.1/supplycm/scheduling/moore_hodgson.py +25 -0
  326. supplycm-1.2.1/supplycm/scheduling/multifit_algorithm.py +46 -0
  327. supplycm-1.2.1/supplycm/scheduling/neh_heuristic.py +46 -0
  328. supplycm-1.2.1/supplycm/scheduling/no_wait_scheduling.py +33 -0
  329. supplycm-1.2.1/supplycm/scheduling/open_shop_schedule.py +44 -0
  330. supplycm-1.2.1/supplycm/scheduling/parallel_machine_cmax.py +16 -0
  331. supplycm-1.2.1/supplycm/scheduling/parallel_station_scheduling.py +24 -0
  332. supplycm-1.2.1/supplycm/scheduling/pert_expected_duration.py +22 -0
  333. supplycm-1.2.1/supplycm/scheduling/preemptive_spt.py +42 -0
  334. supplycm-1.2.1/supplycm/scheduling/resource_constrained_scheduling.py +62 -0
  335. supplycm-1.2.1/supplycm/scheduling/round_robin_scheduling.py +49 -0
  336. supplycm-1.2.1/supplycm/scheduling/rpw_priority.py +25 -0
  337. supplycm-1.2.1/supplycm/scheduling/setup_time_aware_scheduling.py +23 -0
  338. supplycm-1.2.1/supplycm/scheduling/slack_time_calculation.py +32 -0
  339. supplycm-1.2.1/supplycm/scheduling/spt_rule.py +12 -0
  340. supplycm-1.2.1/supplycm/scheduling/srpt_rule.py +14 -0
  341. supplycm-1.2.1/supplycm/scheduling/tardiness_calculation.py +19 -0
  342. supplycm-1.2.1/supplycm/scheduling/total_completion_time.py +17 -0
  343. supplycm-1.2.1/supplycm/scheduling/total_weighted_tardiness.py +19 -0
  344. supplycm-1.2.1/supplycm/scheduling/two_machine_open_shop.py +23 -0
  345. supplycm-1.2.1/supplycm/scheduling/wspt_rule.py +13 -0
  346. supplycm-1.2.1/supplycm/simulation/__init__.py +4 -0
  347. supplycm-1.2.1/supplycm/simulation/monte_carlo_inventory.py +35 -0
  348. supplycm-1.2.1/supplycm/simulation/monte_carlo_risk.py +41 -0
  349. supplycm-1.2.1/supplycm/sop/__init__.py +5 -0
  350. supplycm-1.2.1/supplycm/sop/demand_supply_match.py +22 -0
  351. supplycm-1.2.1/supplycm/sop/production_chase_strategy.py +19 -0
  352. supplycm-1.2.1/supplycm/sop/production_level_strategy.py +16 -0
  353. supplycm-1.2.1/supplycm/statistics/__init__.py +41 -0
  354. supplycm-1.2.1/supplycm/statistics/adjusted_r_squared.py +13 -0
  355. supplycm-1.2.1/supplycm/statistics/anderson_darling_test.py +29 -0
  356. supplycm-1.2.1/supplycm/statistics/anova_one_way.py +28 -0
  357. supplycm-1.2.1/supplycm/statistics/bias.py +15 -0
  358. supplycm-1.2.1/supplycm/statistics/bootstrap_confidence_interval.py +28 -0
  359. supplycm-1.2.1/supplycm/statistics/chi_square_goodness_of_fit.py +20 -0
  360. supplycm-1.2.1/supplycm/statistics/coefficient_of_determination.py +20 -0
  361. supplycm-1.2.1/supplycm/statistics/coefficient_of_variation.py +19 -0
  362. supplycm-1.2.1/supplycm/statistics/confidence_interval_mean.py +20 -0
  363. supplycm-1.2.1/supplycm/statistics/correlation.py +22 -0
  364. supplycm-1.2.1/supplycm/statistics/descriptive_stats.py +42 -0
  365. supplycm-1.2.1/supplycm/statistics/diebold_mariano_test.py +24 -0
  366. supplycm-1.2.1/supplycm/statistics/exponential_smooth.py +19 -0
  367. supplycm-1.2.1/supplycm/statistics/f_test_variance.py +21 -0
  368. supplycm-1.2.1/supplycm/statistics/forecast_value_added.py +17 -0
  369. supplycm-1.2.1/supplycm/statistics/jarque_bera_test.py +23 -0
  370. supplycm-1.2.1/supplycm/statistics/kolmogorov_smirnov_test.py +24 -0
  371. supplycm-1.2.1/supplycm/statistics/kolmogorov_smirnov_two_sample.py +29 -0
  372. supplycm-1.2.1/supplycm/statistics/kurtosis.py +20 -0
  373. supplycm-1.2.1/supplycm/statistics/mae.py +15 -0
  374. supplycm-1.2.1/supplycm/statistics/mann_whitney_u.py +30 -0
  375. supplycm-1.2.1/supplycm/statistics/mape.py +23 -0
  376. supplycm-1.2.1/supplycm/statistics/mase.py +21 -0
  377. supplycm-1.2.1/supplycm/statistics/mean_percentage_error.py +23 -0
  378. supplycm-1.2.1/supplycm/statistics/minmax_scale.py +19 -0
  379. supplycm-1.2.1/supplycm/statistics/moving_average_smooth.py +19 -0
  380. supplycm-1.2.1/supplycm/statistics/mse.py +15 -0
  381. supplycm-1.2.1/supplycm/statistics/outlier_detection_iqr.py +29 -0
  382. supplycm-1.2.1/supplycm/statistics/percent_bias.py +18 -0
  383. supplycm-1.2.1/supplycm/statistics/r_squared.py +20 -0
  384. supplycm-1.2.1/supplycm/statistics/rmse.py +16 -0
  385. supplycm-1.2.1/supplycm/statistics/shapiro_wilk_approx.py +27 -0
  386. supplycm-1.2.1/supplycm/statistics/skewness.py +20 -0
  387. supplycm-1.2.1/supplycm/statistics/smape.py +20 -0
  388. supplycm-1.2.1/supplycm/statistics/spearman_correlation.py +33 -0
  389. supplycm-1.2.1/supplycm/statistics/t_test_one_sample.py +21 -0
  390. supplycm-1.2.1/supplycm/statistics/t_test_two_sample.py +23 -0
  391. supplycm-1.2.1/supplycm/statistics/tracking_signal_threshold.py +13 -0
  392. supplycm-1.2.1/supplycm/statistics/wilcoxon_signed_rank.py +27 -0
  393. supplycm-1.2.1/supplycm/statistics/zscore.py +21 -0
  394. supplycm-1.2.1/supplycm/supplier/__init__.py +31 -0
  395. supplycm-1.2.1/supplycm/supplier/ahp_supplier_selection.py +20 -0
  396. supplycm-1.2.1/supplycm/supplier/analytic_network_process.py +25 -0
  397. supplycm-1.2.1/supplycm/supplier/competitive_bidding.py +31 -0
  398. supplycm-1.2.1/supplycm/supplier/contract_compliance_score.py +14 -0
  399. supplycm-1.2.1/supplycm/supplier/data_envelopment_analysis.py +42 -0
  400. supplycm-1.2.1/supplycm/supplier/electre.py +45 -0
  401. supplycm-1.2.1/supplycm/supplier/fuzzy_topsis.py +31 -0
  402. supplycm-1.2.1/supplycm/supplier/lead_time_quoted_vs_actual.py +18 -0
  403. supplycm-1.2.1/supplycm/supplier/maverick_spend_detection.py +18 -0
  404. supplycm-1.2.1/supplycm/supplier/negotiation_zone.py +17 -0
  405. supplycm-1.2.1/supplycm/supplier/on_time_delivery_rate.py +18 -0
  406. supplycm-1.2.1/supplycm/supplier/preferred_supplier_index.py +23 -0
  407. supplycm-1.2.1/supplycm/supplier/price_analysis.py +24 -0
  408. supplycm-1.2.1/supplycm/supplier/promethee.py +37 -0
  409. supplycm-1.2.1/supplycm/supplier/purchase_order_compliance.py +16 -0
  410. supplycm-1.2.1/supplycm/supplier/purchase_price_variance.py +13 -0
  411. supplycm-1.2.1/supplycm/supplier/should_cost_analysis.py +18 -0
  412. supplycm-1.2.1/supplycm/supplier/spend_analysis.py +22 -0
  413. supplycm-1.2.1/supplycm/supplier/strategic_supplier_scorecard.py +19 -0
  414. supplycm-1.2.1/supplycm/supplier/supplier_audit_score.py +23 -0
  415. supplycm-1.2.1/supplycm/supplier/supplier_consolidation.py +20 -0
  416. supplycm-1.2.1/supplycm/supplier/supplier_diversity_index.py +16 -0
  417. supplycm-1.2.1/supplycm/supplier/supplier_evaluation_matrix.py +19 -0
  418. supplycm-1.2.1/supplycm/supplier/supplier_rating.py +16 -0
  419. supplycm-1.2.1/supplycm/supplier/supplier_risk_score.py +18 -0
  420. supplycm-1.2.1/supplycm/supplier/supplier_segmentation.py +29 -0
  421. supplycm-1.2.1/supplycm/supplier/topsis.py +51 -0
  422. supplycm-1.2.1/supplycm/supplier/total_cost_of_ownership.py +15 -0
  423. supplycm-1.2.1/supplycm/supplier/vendor_scorecard.py +27 -0
  424. supplycm-1.2.1/supplycm/supplier/weighted_point_method.py +14 -0
  425. supplycm-1.2.1/supplycm/sustainability/__init__.py +5 -0
  426. supplycm-1.2.1/supplycm/sustainability/carbon_footprint_transport.py +14 -0
  427. supplycm-1.2.1/supplycm/sustainability/energy_consumption_warehouse.py +15 -0
  428. supplycm-1.2.1/supplycm/sustainability/reverse_logistics_cost.py +16 -0
  429. supplycm-1.2.1/supplycm/warehouse/__init__.py +11 -0
  430. supplycm-1.2.1/supplycm/warehouse/cross_dock_scheduling.py +34 -0
  431. supplycm-1.2.1/supplycm/warehouse/dock_door_assignment.py +25 -0
  432. supplycm-1.2.1/supplycm/warehouse/order_picking_wave.py +29 -0
  433. supplycm-1.2.1/supplycm/warehouse/pallet_building.py +29 -0
  434. supplycm-1.2.1/supplycm/warehouse/putaway_strategy.py +30 -0
  435. supplycm-1.2.1/supplycm/warehouse/return_routing.py +24 -0
  436. supplycm-1.2.1/supplycm/warehouse/s_shape_routing.py +18 -0
  437. supplycm-1.2.1/supplycm/warehouse/traveling_salesman_picking.py +27 -0
  438. supplycm-1.2.1/supplycm/warehouse/warehouse_layout_optimization.py +23 -0
  439. supplycm-1.2.1/supplycm/warehouse/warehouse_slotting_abc.py +29 -0
  440. supplycm-1.2.1/supplycm.egg-info/PKG-INFO +138 -0
  441. supplycm-1.2.1/supplycm.egg-info/SOURCES.txt +441 -0
  442. supplycm-1.2.1/supplycm.egg-info/dependency_links.txt +1 -0
  443. supplycm-1.2.1/supplycm.egg-info/top_level.txt +1 -0
@@ -0,0 +1,135 @@
1
+ # Changelog
2
+
3
+ All notable changes to supplycm will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Planned
11
+ - Machine learning algorithms
12
+ - Real-time dashboards
13
+
14
+ ## [1.2.1] - 2026-09-06
15
+
16
+ ### Changed
17
+ - Moved education materials (learning paths, concept map, flashcards, notebooks) to a separate repository
18
+ - Package now contains only the Python library, tests, and examples
19
+ - Updated README to link to the companion learning repository
20
+
21
+ ### Notes
22
+ - No algorithm changes in this release
23
+ - No breaking changes
24
+
25
+
26
+
27
+ ### Planned
28
+ - Machine learning algorithms
29
+ - Real-time dashboards
30
+ - API wrapper
31
+ ## [1.2.0] - 2026-09-06
32
+
33
+ ### Added
34
+ - 13 new algorithms across 3 new categories:
35
+ - Network Design (5): center of gravity, facility location, single-source allocation, break-even, network reliability
36
+ - IoT / Real-time (4): anomaly detection, sensor smoothing, inventory monitoring, data aggregation
37
+ - Blockchain (4): hash chain, verify chain, provenance tracking, smart contracts
38
+ - 5 interactive Jupyter notebooks for hands-on learning
39
+ - Unit tests for all new algorithms
40
+
41
+ ### Changed
42
+ - Total algorithm count increased from 384 to 397
43
+ - README updated with notebook links
44
+
45
+
46
+
47
+ ### Planned
48
+ - Interactive learning notebooks
49
+ - Video tutorials
50
+ - Certification program
51
+ ## [1.1.0] - 2026-09-06
52
+
53
+ ### Added
54
+ - 24 new algorithms across 7 new categories:
55
+ - Quality / Six Sigma (7): X-bar chart, R chart, P-chart, Cp, Cpk, DPMO, sigma level
56
+ - Lean (4): takt time, OEE, cycle efficiency, WIP calculation
57
+ - S&OP (3): demand-supply match, chase and level production strategies
58
+ - Sustainability (3): carbon footprint, reverse logistics, energy consumption
59
+ - Contracts (3): revenue sharing, buyback, quantity flexibility
60
+ - Simulation (2): Monte Carlo inventory and risk
61
+ - Cost (2): landed cost, total procurement cost
62
+ - Comprehensive education framework:
63
+ - Learning paths (beginner to advanced)
64
+ - Concept map showing algorithm relationships
65
+ - Data sources guide per algorithm
66
+ - Flashcards for exam preparation
67
+ - Plain English guides per category
68
+ - Unit tests for all new algorithms
69
+
70
+ ### Changed
71
+ - Total algorithm count increased from 360 to 384
72
+ - README updated with education section
73
+
74
+
75
+
76
+ ### Planned
77
+ - Additional algorithms for sustainability and green supply chain
78
+ - Performance optimizations for large datasets
79
+ - Integration with popular data formats
80
+
81
+ ## [1.0.0] - 2026-12-15
82
+
83
+ ### Added
84
+ - Comprehensive test suite with 200+ unit tests using unittest framework
85
+ - Property-based tests for mathematical invariants
86
+ - Edge case tests for boundary conditions
87
+ - Integration tests for end-to-end workflows
88
+ - Doctest runner for docstring examples
89
+ - Benchmark script for performance measurement
90
+ - Type hints validation script
91
+ - Contributing guide for new contributors
92
+ - Code of Conduct based on Contributor Covenant
93
+ - Security policy for vulnerability reporting
94
+ - Frequently Asked Questions (FAQ) document
95
+ - API reference documentation
96
+ - Migration guide for version updates
97
+ - Usage tutorials for inventory, forecasting, routing, optimization, and supplier selection
98
+ - GitHub Actions Continuous Integration (CI) for Python 3.8-3.12
99
+ - Issue templates for bug reports and feature requests
100
+ - Pull Request (PR) template
101
+ - Python version compatibility matrix in README
102
+ - Badges for Python version, license, test status, and dependencies
103
+
104
+ ### Changed
105
+ - README updated with quick start guide and badges
106
+ - All algorithm modules follow consistent style guide
107
+ - Documentation reorganized into docs/ directory
108
+
109
+ ### Fixed
110
+ - Repository URL corrected to point to atqatq/supplycm
111
+
112
+ ## [0.1.0] - 2025-12-15
113
+
114
+ ### Added
115
+ - 360 supply chain management algorithms across 12 categories:
116
+ - Forecasting (50 algorithms)
117
+ - Inventory (60 algorithms)
118
+ - Statistics (40 algorithms)
119
+ - Routing (30 algorithms)
120
+ - Network (30 algorithms)
121
+ - Scheduling (40 algorithms)
122
+ - Material Requirements Planning (MRP) (30 algorithms)
123
+ - Optimization (30 algorithms)
124
+ - Supplier Management (30 algorithms)
125
+ - Warehouse (10 algorithms)
126
+ - Demand Planning (9 algorithms)
127
+ - Risk Assessment (1 algorithm)
128
+ - Pure Python implementation with zero external dependencies
129
+ - MIT License
130
+ - Setup scripts for pip installation
131
+
132
+ ### Notes
133
+ - Algorithms span classic operations research methods and modern heuristics
134
+ - Each algorithm is self-contained in its own module
135
+ - All functions include docstrings with usage examples
@@ -0,0 +1,39 @@
1
+ # Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ ## Our Standards
8
+
9
+ Examples of behavior that contributes to a positive environment:
10
+
11
+ * Using welcoming and inclusive language
12
+ * Being respectful of differing viewpoints and experiences
13
+ * Gracefully accepting constructive criticism
14
+ * Focusing on what is best for the community
15
+ * Showing empathy towards other community members
16
+
17
+ Examples of unacceptable behavior:
18
+
19
+ * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
+ * Trolling, insulting/derogatory comments, and personal or political attacks
21
+ * Public or private harassment
22
+ * Publishing others' private information without explicit permission
23
+ * Other conduct which could reasonably be considered inappropriate in a professional setting
24
+
25
+ ## Enforcement Responsibilities
26
+
27
+ Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
28
+
29
+ ## Scope
30
+
31
+ This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.
32
+
33
+ ## Enforcement
34
+
35
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the repository maintainers. All complaints will be reviewed and investigated promptly and fairly.
36
+
37
+ ## Attribution
38
+
39
+ This Code of Conduct is adapted from the Contributor Covenant, version 2.0.
@@ -0,0 +1,70 @@
1
+ # supplycm Community
2
+
3
+ Welcome to the supplycm community! This file outlines our community standards and resources.
4
+
5
+ ## Health Files
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | [CONTRIBUTING.md](CONTRIBUTING.md) | How to contribute |
10
+ | [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) | Community behavior standards |
11
+ | [SECURITY.md](SECURITY.md) | Security policy |
12
+ | [CHANGELOG.md](CHANGELOG.md) | Version history |
13
+ | [docs/COLLABORATION.md](docs/COLLABORATION.md) | Collaboration guide |
14
+ | [docs/FAQ.md](docs/FAQ.md) | Frequently asked questions |
15
+
16
+ ## Issue Templates
17
+
18
+ When you create a new issue, you can choose from:
19
+ - **Bug report** - Report something that is broken
20
+ - **Feature request** - Suggest a new algorithm or improvement
21
+
22
+ ## Pull Request Template
23
+
24
+ All Pull Requests (PRs) should use the provided template, which includes a checklist
25
+ for code quality, tests, and documentation.
26
+
27
+ ## Labels
28
+
29
+ We use the following labels to organize work:
30
+
31
+ ### Type Labels
32
+ - `bug` - Something is not working
33
+ - `enhancement` - New feature or improvement
34
+ - `documentation` - Documentation changes
35
+
36
+ ### Difficulty Labels
37
+ - `good first issue` - Good for newcomers
38
+ - `help wanted` - Extra attention needed
39
+
40
+ ### Priority Labels
41
+ - `priority: high` - Should be addressed soon
42
+ - `priority: medium` - Normal priority
43
+ - `priority: low` - Can wait
44
+
45
+ ## How to Get Involved
46
+
47
+ 1. **Star the repository** if you find it useful
48
+ 2. **Report bugs** you encounter
49
+ 3. **Suggest features** you need
50
+ 4. **Contribute code** via Pull Requests
51
+ 5. **Help others** in issue discussions
52
+ 6. **Improve documentation** with clearer explanations
53
+
54
+ ## Communication
55
+
56
+ - **GitHub Issues** - For bugs, features, and questions
57
+ - **GitHub Discussions** - For general discussion and ideas
58
+ - **Pull Request comments** - For code-specific discussions
59
+
60
+ ## Contributor Recognition
61
+
62
+ All contributors are listed in the git history. We are working on:
63
+ - A contributors section in the README
64
+ - Automated contributor highlights in release notes
65
+ - A "Contributor of the Month" program (coming soon)
66
+
67
+ ## Code of Conduct
68
+
69
+ Everyone participating in the supplycm community is expected to follow
70
+ our [Code of Conduct](CODE_OF_CONDUCT.md). Please be respectful and welcoming.
@@ -0,0 +1,81 @@
1
+ # Contributing to supplycm
2
+
3
+ Thank you for your interest in contributing to supplycm. This document explains how to contribute.
4
+
5
+ ## Ways to Contribute
6
+
7
+ 1. **Report bugs** - Open an issue describing the problem with a minimal example.
8
+ 2. **Suggest features** - Open an issue describing the use case and proposed solution.
9
+ 3. **Improve documentation** - Fix typos, add examples, clarify explanations.
10
+ 4. **Add algorithms** - Implement new supply chain algorithms following the style guide below.
11
+ 5. **Write tests** - Add or improve test coverage for existing algorithms.
12
+
13
+ ## Style Guide
14
+
15
+ ### Algorithm Module Structure
16
+
17
+ Each algorithm lives in its own file under the appropriate category directory:
18
+
19
+ ```
20
+ supplycm/
21
+ inventory/
22
+ economic_order_quantity.py
23
+ ```
24
+
25
+ ### File Template
26
+
27
+ ```python
28
+ """Short one-line description."""
29
+ from typing import List, Optional
30
+
31
+
32
+ def algorithm_name(param1: float, param2: int = 3) -> float:
33
+ """One-line summary.
34
+
35
+ Longer description explaining the formula or logic.
36
+
37
+ Args:
38
+ param1: Description of param1.
39
+ param2: Description of param2.
40
+
41
+ Returns:
42
+ Description of return value.
43
+
44
+ Example:
45
+ >>> algorithm_name(100, 5)
46
+ 42.0
47
+ """
48
+ if param1 <= 0:
49
+ raise ValueError("param1 must be positive")
50
+ return param1 * 0.42
51
+ ```
52
+
53
+ ### Rules
54
+
55
+ 1. **No external dependencies** - only the Python standard library.
56
+ 2. **Type hints** - all function parameters and return types must have type hints.
57
+ 3. **Docstrings** - every public function must have a docstring with at least one example.
58
+ 4. **Pure functions** - algorithms should not have side effects.
59
+ 5. **Error handling** - validate inputs and raise ValueError for invalid parameters.
60
+
61
+ ## Development Workflow
62
+
63
+ 1. Fork the repository.
64
+ 2. Create a feature branch: `git checkout -b add-new-algorithm`.
65
+ 3. Write your code following the style guide.
66
+ 4. Add tests in `tests/test_<category>.py`.
67
+ 5. Run tests: `python tests/run_tests.py`.
68
+ 6. Commit with a clear message: `Add <algorithm_name> to <category> module`.
69
+ 7. Open a Pull Request (PR).
70
+
71
+ ## Pull Request Checklist
72
+
73
+ - [ ] Code follows the style guide
74
+ - [ ] Tests pass locally
75
+ - [ ] Docstring includes at least one example
76
+ - [ ] No external dependencies added
77
+ - [ ] Commit message is clear and descriptive
78
+
79
+ ## License
80
+
81
+ By contributing, you agree that your contributions will be licensed under the MIT License.
supplycm-1.2.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2015-2025 supplycm
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,13 @@
1
+ # MANIFEST.in for supplycm
2
+ include README.md
3
+ include LICENSE
4
+ include CHANGELOG.md
5
+ include CONTRIBUTING.md
6
+ include CODE_OF_CONDUCT.md
7
+ include SECURITY.md
8
+ include COMMUNITY.md
9
+ include pyproject.toml
10
+ recursive-include examples *.py
11
+ recursive-exclude tests *
12
+ recursive-exclude * __pycache__
13
+ recursive-exclude * *.py[cod]
@@ -0,0 +1,138 @@
1
+ Metadata-Version: 2.4
2
+ Name: supplycm
3
+ Version: 1.2.1
4
+ Summary: Supply Chain Management algorithms (397 pure-Python, no dependencies)
5
+ Home-page: https://github.com/atqatq/supplycm
6
+ Author: Atique
7
+ Author-email: Atique <11529740+atqatq@users.noreply.github.com>
8
+ License: MIT
9
+ Project-URL: Homepage, https://github.com/atqatq/supplycm
10
+ Project-URL: Documentation, https://github.com/atqatq/supplycm/tree/main/docs
11
+ Project-URL: Issues, https://github.com/atqatq/supplycm/issues
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Topic :: Scientific/Engineering
17
+ Requires-Python: >=3.6
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Dynamic: author
21
+ Dynamic: home-page
22
+ Dynamic: license-file
23
+ Dynamic: requires-python
24
+
25
+ # supplycm
26
+
27
+ [![Python 3.6+](https://img.shields.io/badge/python-3.6+-blue.svg)](https://www.python.org/downloads/)
28
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
29
+ [![Tests](https://img.shields.io/badge/tests-passing-green.svg)](tests/)
30
+ [![No Dependencies](https://img.shields.io/badge/dependencies-zero-lightgrey.svg)](setup.py)
31
+
32
+ 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.
33
+
34
+ ## Quick Start
35
+
36
+ ```bash
37
+ pip install supplycm
38
+ ```
39
+
40
+ ```python
41
+ from supplycm.inventory import economic_order_quantity
42
+
43
+ # Compute optimal order quantity
44
+ q = economic_order_quantity(demand=10000, ordering_cost=100, holding_cost=5)
45
+ print(f'Order {q:.0f} units each cycle')
46
+ ```
47
+
48
+ ## Installation
49
+
50
+ ### From PyPI
51
+
52
+ ```bash
53
+ pip install supplycm
54
+ ```
55
+
56
+ ### From source
57
+
58
+ ```bash
59
+ git clone https://github.com/atqatq/supplycm.git
60
+ cd supplycm
61
+ pip install .
62
+ ```
63
+
64
+ **Note**: Python 3.6 or later is required. Check your version with `python --version`.
65
+
66
+ ## Categories
67
+
68
+ | Module | Count | Description |
69
+ |--------|-------|-------------|
70
+ | `supplycm.forecasting` | 50 | Time series forecasting (moving averages, exponential smoothing, Croston, AR/MA) |
71
+ | `supplycm.inventory` | 60 | EOQ/EPQ, newsvendor, lot-sizing, ABC/XYZ analysis |
72
+ | `supplycm.statistics` | 40 | MAPE, RMSE, MASE, hypothesis tests, descriptive stats |
73
+ | `supplycm.routing` | 30 | TSP, VRP, assignment problem, transportation simplex |
74
+ | `supplycm.network` | 30 | Shortest paths, MST, max-flow, graph algorithms |
75
+ | `supplycm.scheduling` | 40 | Johnson's rule, NEH, dispatching rules, CPM/PERT |
76
+ | `supplycm.mrp` | 30 | BOM explosion, MRP, MPS, kanban, DBR |
77
+ | `supplycm.optimization` | 30 | Simplex, GA, SA, PSO, ACO, knapsack, DP |
78
+ | `supplycm.supplier` | 30 | AHP, TOPSIS, DEA, PROMETHEE, ELECTRE |
79
+ | `supplycm.warehouse` | 10 | Slotting, picking, cross-dock, putaway |
80
+ | `supplycm.demand` | 9 | Aggregation, seasonality, sensing, cannibalization |
81
+ | `supplycm.risk` | 1 | Supply chain resilience index |
82
+ | `supplycm.quality` | 7 | Control charts, Cp/Cpk, DPMO, sigma level |
83
+ | `supplycm.lean` | 4 | Takt time, OEE, Little's Law, cycle efficiency |
84
+ | `supplycm.sop` | 3 | Sales and Operations Planning, chase/level strategies |
85
+ | `supplycm.sustainability` | 3 | Carbon footprint, reverse logistics, energy |
86
+ | `supplycm.contracts` | 3 | Revenue sharing, buyback, quantity flexibility |
87
+ | `supplycm.simulation` | 2 | Monte Carlo inventory and risk simulation |
88
+ | `supplycm.cost` | 2 | Landed cost, total procurement cost |
89
+ | `supplycm.network_design` | 5 | Center of gravity, facility location, break-even |
90
+ | `supplycm.iot` | 4 | Anomaly detection, sensor smoothing, real-time monitoring |
91
+ | `supplycm.blockchain` | 4 | Hash chain, provenance tracking, smart contracts |
92
+ | **Total** | **397** | |
93
+
94
+ ## Python Version Compatibility
95
+
96
+ | Python | Status |
97
+ |--------|--------|
98
+ | 3.6 | Supported |
99
+ | 3.7 | Supported |
100
+ | 3.8 | Tested |
101
+ | 3.9 | Tested |
102
+ | 3.10 | Tested |
103
+ | 3.11 | Tested |
104
+ | 3.12 | Tested |
105
+ | 3.13 | Tested |
106
+
107
+ ## Running Tests
108
+
109
+ ```bash
110
+ # Run all unit tests
111
+ python tests/run_tests.py
112
+
113
+ # Run doctests
114
+ python tests/run_doctests.py
115
+ ```
116
+
117
+ ## Design Principles
118
+
119
+ 1. **Pure Python** - no NumPy, pandas, or any third-party dependency. Only the standard library.
120
+ 2. **Self-contained** - each algorithm lives in its own module and can be imported independently.
121
+ 3. **Documented** - every function has a docstring with usage examples.
122
+ 4. **Tested** - comprehensive test suite using Python's built-in unittest framework.
123
+ 5. **Consistent** - all modules follow the same style and structure.
124
+
125
+ ## Community
126
+
127
+ - **[Discussions](https://github.com/atqatq/supplycm/discussions)** - Ask questions, share ideas, show your projects
128
+ - **[Issues](https://github.com/atqatq/supplycm/issues)** - Report bugs or request features
129
+ - **[Contributing Guide](CONTRIBUTING.md)** - How to contribute code, documentation, or algorithms
130
+
131
+ ## Learning the Package
132
+
133
+ Tutorials, learning paths, and interactive notebooks are available in the companion repository:
134
+ **[atqatq/supplycm-learning](https://github.com/atqatq/supplycm-learning)**
135
+
136
+ ## License
137
+
138
+ MIT - see [LICENSE](LICENSE).
@@ -0,0 +1,114 @@
1
+ # supplycm
2
+
3
+ [![Python 3.6+](https://img.shields.io/badge/python-3.6+-blue.svg)](https://www.python.org/downloads/)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ [![Tests](https://img.shields.io/badge/tests-passing-green.svg)](tests/)
6
+ [![No Dependencies](https://img.shields.io/badge/dependencies-zero-lightgrey.svg)](setup.py)
7
+
8
+ 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.
9
+
10
+ ## Quick Start
11
+
12
+ ```bash
13
+ pip install supplycm
14
+ ```
15
+
16
+ ```python
17
+ from supplycm.inventory import economic_order_quantity
18
+
19
+ # Compute optimal order quantity
20
+ q = economic_order_quantity(demand=10000, ordering_cost=100, holding_cost=5)
21
+ print(f'Order {q:.0f} units each cycle')
22
+ ```
23
+
24
+ ## Installation
25
+
26
+ ### From PyPI
27
+
28
+ ```bash
29
+ pip install supplycm
30
+ ```
31
+
32
+ ### From source
33
+
34
+ ```bash
35
+ git clone https://github.com/atqatq/supplycm.git
36
+ cd supplycm
37
+ pip install .
38
+ ```
39
+
40
+ **Note**: Python 3.6 or later is required. Check your version with `python --version`.
41
+
42
+ ## Categories
43
+
44
+ | Module | Count | Description |
45
+ |--------|-------|-------------|
46
+ | `supplycm.forecasting` | 50 | Time series forecasting (moving averages, exponential smoothing, Croston, AR/MA) |
47
+ | `supplycm.inventory` | 60 | EOQ/EPQ, newsvendor, lot-sizing, ABC/XYZ analysis |
48
+ | `supplycm.statistics` | 40 | MAPE, RMSE, MASE, hypothesis tests, descriptive stats |
49
+ | `supplycm.routing` | 30 | TSP, VRP, assignment problem, transportation simplex |
50
+ | `supplycm.network` | 30 | Shortest paths, MST, max-flow, graph algorithms |
51
+ | `supplycm.scheduling` | 40 | Johnson's rule, NEH, dispatching rules, CPM/PERT |
52
+ | `supplycm.mrp` | 30 | BOM explosion, MRP, MPS, kanban, DBR |
53
+ | `supplycm.optimization` | 30 | Simplex, GA, SA, PSO, ACO, knapsack, DP |
54
+ | `supplycm.supplier` | 30 | AHP, TOPSIS, DEA, PROMETHEE, ELECTRE |
55
+ | `supplycm.warehouse` | 10 | Slotting, picking, cross-dock, putaway |
56
+ | `supplycm.demand` | 9 | Aggregation, seasonality, sensing, cannibalization |
57
+ | `supplycm.risk` | 1 | Supply chain resilience index |
58
+ | `supplycm.quality` | 7 | Control charts, Cp/Cpk, DPMO, sigma level |
59
+ | `supplycm.lean` | 4 | Takt time, OEE, Little's Law, cycle efficiency |
60
+ | `supplycm.sop` | 3 | Sales and Operations Planning, chase/level strategies |
61
+ | `supplycm.sustainability` | 3 | Carbon footprint, reverse logistics, energy |
62
+ | `supplycm.contracts` | 3 | Revenue sharing, buyback, quantity flexibility |
63
+ | `supplycm.simulation` | 2 | Monte Carlo inventory and risk simulation |
64
+ | `supplycm.cost` | 2 | Landed cost, total procurement cost |
65
+ | `supplycm.network_design` | 5 | Center of gravity, facility location, break-even |
66
+ | `supplycm.iot` | 4 | Anomaly detection, sensor smoothing, real-time monitoring |
67
+ | `supplycm.blockchain` | 4 | Hash chain, provenance tracking, smart contracts |
68
+ | **Total** | **397** | |
69
+
70
+ ## Python Version Compatibility
71
+
72
+ | Python | Status |
73
+ |--------|--------|
74
+ | 3.6 | Supported |
75
+ | 3.7 | Supported |
76
+ | 3.8 | Tested |
77
+ | 3.9 | Tested |
78
+ | 3.10 | Tested |
79
+ | 3.11 | Tested |
80
+ | 3.12 | Tested |
81
+ | 3.13 | Tested |
82
+
83
+ ## Running Tests
84
+
85
+ ```bash
86
+ # Run all unit tests
87
+ python tests/run_tests.py
88
+
89
+ # Run doctests
90
+ python tests/run_doctests.py
91
+ ```
92
+
93
+ ## Design Principles
94
+
95
+ 1. **Pure Python** - no NumPy, pandas, or any third-party dependency. Only the standard library.
96
+ 2. **Self-contained** - each algorithm lives in its own module and can be imported independently.
97
+ 3. **Documented** - every function has a docstring with usage examples.
98
+ 4. **Tested** - comprehensive test suite using Python's built-in unittest framework.
99
+ 5. **Consistent** - all modules follow the same style and structure.
100
+
101
+ ## Community
102
+
103
+ - **[Discussions](https://github.com/atqatq/supplycm/discussions)** - Ask questions, share ideas, show your projects
104
+ - **[Issues](https://github.com/atqatq/supplycm/issues)** - Report bugs or request features
105
+ - **[Contributing Guide](CONTRIBUTING.md)** - How to contribute code, documentation, or algorithms
106
+
107
+ ## Learning the Package
108
+
109
+ Tutorials, learning paths, and interactive notebooks are available in the companion repository:
110
+ **[atqatq/supplycm-learning](https://github.com/atqatq/supplycm-learning)**
111
+
112
+ ## License
113
+
114
+ MIT - see [LICENSE](LICENSE).
@@ -0,0 +1,34 @@
1
+ # Security Policy
2
+
3
+ ## Reporting a Vulnerability
4
+
5
+ If you discover a security vulnerability in supplycm, please report it responsibly.
6
+
7
+ ### How to Report
8
+
9
+ 1. **Do not** open a public GitHub issue.
10
+ 2. Email the maintainer directly with details of the vulnerability.
11
+ 3. Include a description of the issue, steps to reproduce, and potential impact.
12
+
13
+ ### Response Timeline
14
+
15
+ - **Acknowledgment**: Within 48 hours of receiving your report.
16
+ - **Initial Assessment**: Within 7 days.
17
+ - **Fix Release**: Within 30 days for critical issues, 90 days for others.
18
+
19
+ ## Security Considerations
20
+
21
+ supplycm is a pure-Python library with no external dependencies. However:
22
+
23
+ 1. **Input validation**: Most algorithms validate inputs, but always sanitize data from untrusted sources before passing it to library functions.
24
+ 2. **Numerical stability**: Some algorithms may produce unexpected results with extreme or NaN inputs. Always validate output ranges.
25
+ 3. **No network access**: The library does not make any network calls, reducing attack surface.
26
+
27
+ ## Supported Versions
28
+
29
+ Only the latest release receives security updates.
30
+
31
+ | Version | Supported |
32
+ |---------|--------------------|
33
+ | 0.1.x | Yes |
34
+ | < 0.1 | No |
@@ -0,0 +1 @@
1
+ """supplycm usage examples."""