celerp 1.0.3__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 (401) hide show
  1. celerp-1.0.3/CONTRIBUTING.md +71 -0
  2. celerp-1.0.3/LICENSE +77 -0
  3. celerp-1.0.3/MANIFEST.in +37 -0
  4. celerp-1.0.3/NOTICE +25 -0
  5. celerp-1.0.3/PKG-INFO +256 -0
  6. celerp-1.0.3/README.md +115 -0
  7. celerp-1.0.3/alembic.ini +39 -0
  8. celerp-1.0.3/celerp/__init__.py +6 -0
  9. celerp-1.0.3/celerp/ai/__init__.py +2 -0
  10. celerp-1.0.3/celerp/ai/batch.py +228 -0
  11. celerp-1.0.3/celerp/ai/cleanup.py +84 -0
  12. celerp-1.0.3/celerp/ai/commands.py +184 -0
  13. celerp-1.0.3/celerp/ai/conversations.py +234 -0
  14. celerp-1.0.3/celerp/ai/files.py +49 -0
  15. celerp-1.0.3/celerp/ai/intent.py +92 -0
  16. celerp-1.0.3/celerp/ai/llm.py +126 -0
  17. celerp-1.0.3/celerp/ai/memory.py +102 -0
  18. celerp-1.0.3/celerp/ai/models.py +43 -0
  19. celerp-1.0.3/celerp/ai/page_count.py +67 -0
  20. celerp-1.0.3/celerp/ai/quota.py +153 -0
  21. celerp-1.0.3/celerp/ai/service.py +265 -0
  22. celerp-1.0.3/celerp/ai/tools.py +286 -0
  23. celerp-1.0.3/celerp/alembic.ini +39 -0
  24. celerp-1.0.3/celerp/cli.py +763 -0
  25. celerp-1.0.3/celerp/compute/__init__.py +3 -0
  26. celerp-1.0.3/celerp/compute/aggregations.py +25 -0
  27. celerp-1.0.3/celerp/compute/valuation.py +38 -0
  28. celerp-1.0.3/celerp/config.py +293 -0
  29. celerp-1.0.3/celerp/connectors/__init__.py +26 -0
  30. celerp-1.0.3/celerp/connectors/base.py +149 -0
  31. celerp-1.0.3/celerp/connectors/daily_scheduler.py +120 -0
  32. celerp-1.0.3/celerp/connectors/http.py +65 -0
  33. celerp-1.0.3/celerp/connectors/outbound_queue.py +207 -0
  34. celerp-1.0.3/celerp/connectors/quickbooks.py +296 -0
  35. celerp-1.0.3/celerp/connectors/registry.py +32 -0
  36. celerp-1.0.3/celerp/connectors/shopify.py +356 -0
  37. celerp-1.0.3/celerp/connectors/sync_runner.py +126 -0
  38. celerp-1.0.3/celerp/connectors/upsert.py +64 -0
  39. celerp-1.0.3/celerp/connectors/webhooks.py +76 -0
  40. celerp-1.0.3/celerp/connectors/woocommerce.py +319 -0
  41. celerp-1.0.3/celerp/connectors/xero.py +266 -0
  42. celerp-1.0.3/celerp/db.py +23 -0
  43. celerp-1.0.3/celerp/events/__init__.py +3 -0
  44. celerp-1.0.3/celerp/events/engine.py +83 -0
  45. celerp-1.0.3/celerp/events/schemas.py +825 -0
  46. celerp-1.0.3/celerp/events/types.py +113 -0
  47. celerp-1.0.3/celerp/gateway/__init__.py +3 -0
  48. celerp-1.0.3/celerp/gateway/client.py +337 -0
  49. celerp-1.0.3/celerp/gateway/state.py +48 -0
  50. celerp-1.0.3/celerp/importers/__init__.py +2 -0
  51. celerp-1.0.3/celerp/importers/importer.py +384 -0
  52. celerp-1.0.3/celerp/importers/schema.py +199 -0
  53. celerp-1.0.3/celerp/main.py +255 -0
  54. celerp-1.0.3/celerp/middleware.py +131 -0
  55. celerp-1.0.3/celerp/migrations/README.md +47 -0
  56. celerp-1.0.3/celerp/migrations/env.py +83 -0
  57. celerp-1.0.3/celerp/migrations/script.py.mako +31 -0
  58. celerp-1.0.3/celerp/migrations/versions/a1b2c3d4e5f6_add_doc_share_tokens.py +45 -0
  59. celerp-1.0.3/celerp/migrations/versions/b2c3d4e5f6a7_add_import_batches.py +51 -0
  60. celerp-1.0.3/celerp/migrations/versions/c1d2e3f4a5b6_add_marketplace.py +52 -0
  61. celerp-1.0.3/celerp/migrations/versions/d2e3f4a5b6c7_add_password_reset_token.py +35 -0
  62. celerp-1.0.3/celerp/migrations/versions/e3f4a5b6c7d8_add_company_is_active.py +37 -0
  63. celerp-1.0.3/celerp/migrations/versions/f1a2b3c4d5e6_move_accounts_marketplace_to_modules.py +31 -0
  64. celerp-1.0.3/celerp/migrations/versions/fd5de461e14e_initial_schema.py +125 -0
  65. celerp-1.0.3/celerp/migrations/versions/g1h2i3j4k5l6_add_consignment_flag.py +35 -0
  66. celerp-1.0.3/celerp/migrations/versions/h2i3j4k5l6m7_add_bank_accounts_and_reconciliation.py +56 -0
  67. celerp-1.0.3/celerp/migrations/versions/j4k5l6m7n8o9_labels_db_persistence.py +42 -0
  68. celerp-1.0.3/celerp/migrations/versions/k5l6m7n8o9p0_add_reconciliation_v2.py +82 -0
  69. celerp-1.0.3/celerp/migrations/versions/l6m7n8o9p0q1_add_sync_runs_table.py +43 -0
  70. celerp-1.0.3/celerp/migrations/versions/m7n8o9p0q1r2_add_connector_configs_and_outbound_queue.py +60 -0
  71. celerp-1.0.3/celerp/models/__init__.py +9 -0
  72. celerp-1.0.3/celerp/models/accounting.py +25 -0
  73. celerp-1.0.3/celerp/models/ai.py +114 -0
  74. celerp-1.0.3/celerp/models/base.py +8 -0
  75. celerp-1.0.3/celerp/models/company.py +55 -0
  76. celerp-1.0.3/celerp/models/connector_config.py +60 -0
  77. celerp-1.0.3/celerp/models/import_batch.py +38 -0
  78. celerp-1.0.3/celerp/models/ledger.py +36 -0
  79. celerp-1.0.3/celerp/models/marketplace.py +8 -0
  80. celerp-1.0.3/celerp/models/notification.py +46 -0
  81. celerp-1.0.3/celerp/models/projections.py +32 -0
  82. celerp-1.0.3/celerp/models/share.py +32 -0
  83. celerp-1.0.3/celerp/models/sync_run.py +36 -0
  84. celerp-1.0.3/celerp/modules/__init__.py +25 -0
  85. celerp-1.0.3/celerp/modules/api.py +116 -0
  86. celerp-1.0.3/celerp/modules/license.py +139 -0
  87. celerp-1.0.3/celerp/modules/loader.py +440 -0
  88. celerp-1.0.3/celerp/modules/references.py +35 -0
  89. celerp-1.0.3/celerp/modules/registry.py +57 -0
  90. celerp-1.0.3/celerp/modules/slots.py +83 -0
  91. celerp-1.0.3/celerp/notifications/__init__.py +2 -0
  92. celerp-1.0.3/celerp/notifications/service.py +160 -0
  93. celerp-1.0.3/celerp/notifications/sse.py +139 -0
  94. celerp-1.0.3/celerp/projections/__init__.py +3 -0
  95. celerp-1.0.3/celerp/projections/engine.py +120 -0
  96. celerp-1.0.3/celerp/projections/handlers/__init__.py +3 -0
  97. celerp-1.0.3/celerp/projections/handlers/marketplace.py +42 -0
  98. celerp-1.0.3/celerp/projections/handlers/scanning.py +32 -0
  99. celerp-1.0.3/celerp/projections/handlers/system.py +30 -0
  100. celerp-1.0.3/celerp/routers/__init__.py +3 -0
  101. celerp-1.0.3/celerp/routers/auth.py +395 -0
  102. celerp-1.0.3/celerp/routers/companies.py +1657 -0
  103. celerp-1.0.3/celerp/routers/doctor.py +528 -0
  104. celerp-1.0.3/celerp/routers/health.py +81 -0
  105. celerp-1.0.3/celerp/routers/ledger.py +103 -0
  106. celerp-1.0.3/celerp/routers/notifications.py +121 -0
  107. celerp-1.0.3/celerp/routers/system.py +331 -0
  108. celerp-1.0.3/celerp/schemas/__init__.py +2 -0
  109. celerp-1.0.3/celerp/services/__init__.py +3 -0
  110. celerp-1.0.3/celerp/services/attachments.py +244 -0
  111. celerp-1.0.3/celerp/services/auth.py +156 -0
  112. celerp-1.0.3/celerp/services/auto_je.py +380 -0
  113. celerp-1.0.3/celerp/services/backup.py +215 -0
  114. celerp-1.0.3/celerp/services/backup_export.py +117 -0
  115. celerp-1.0.3/celerp/services/backup_files.py +173 -0
  116. celerp-1.0.3/celerp/services/backup_import.py +132 -0
  117. celerp-1.0.3/celerp/services/backup_scheduler.py +177 -0
  118. celerp-1.0.3/celerp/services/demo.py +1283 -0
  119. celerp-1.0.3/celerp/services/email.py +83 -0
  120. celerp-1.0.3/celerp/services/field_schema.py +105 -0
  121. celerp-1.0.3/celerp/services/fulfill.py +293 -0
  122. celerp-1.0.3/celerp/services/je_keys.py +18 -0
  123. celerp-1.0.3/celerp/services/pick.py +149 -0
  124. celerp-1.0.3/celerp/services/session_tracker.py +37 -0
  125. celerp-1.0.3/celerp/services/system_health.py +79 -0
  126. celerp-1.0.3/celerp/session_gate.py +83 -0
  127. celerp-1.0.3/celerp/tax_regimes.py +218 -0
  128. celerp-1.0.3/celerp.egg-info/PKG-INFO +256 -0
  129. celerp-1.0.3/celerp.egg-info/SOURCES.txt +399 -0
  130. celerp-1.0.3/celerp.egg-info/dependency_links.txt +1 -0
  131. celerp-1.0.3/celerp.egg-info/entry_points.txt +2 -0
  132. celerp-1.0.3/celerp.egg-info/requires.txt +42 -0
  133. celerp-1.0.3/celerp.egg-info/top_level.txt +3 -0
  134. celerp-1.0.3/default_modules/__init__.py +8 -0
  135. celerp-1.0.3/default_modules/celerp-accounting/__init__.py +26 -0
  136. celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/__init__.py +2 -0
  137. celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/api_setup.py +9 -0
  138. celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/csv_parser.py +145 -0
  139. celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/matcher.py +196 -0
  140. celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/models.py +126 -0
  141. celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/projections.py +31 -0
  142. celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/routes.py +2048 -0
  143. celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/ui_routes.py +288 -0
  144. celerp-1.0.3/default_modules/celerp-admin/__init__.py +17 -0
  145. celerp-1.0.3/default_modules/celerp-admin/celerp_admin/__init__.py +2 -0
  146. celerp-1.0.3/default_modules/celerp-admin/celerp_admin/routes.py +528 -0
  147. celerp-1.0.3/default_modules/celerp-admin/celerp_admin/setup.py +7 -0
  148. celerp-1.0.3/default_modules/celerp-ai/__init__.py +22 -0
  149. celerp-1.0.3/default_modules/celerp-ai/celerp_ai/__init__.py +2 -0
  150. celerp-1.0.3/default_modules/celerp-ai/celerp_ai/routes.py +753 -0
  151. celerp-1.0.3/default_modules/celerp-ai/celerp_ai/setup.py +8 -0
  152. celerp-1.0.3/default_modules/celerp-ai/celerp_ai/ui_routes.py +1076 -0
  153. celerp-1.0.3/default_modules/celerp-backup/__init__.py +20 -0
  154. celerp-1.0.3/default_modules/celerp-backup/celerp_backup/__init__.py +2 -0
  155. celerp-1.0.3/default_modules/celerp-backup/celerp_backup/routes.py +261 -0
  156. celerp-1.0.3/default_modules/celerp-backup/celerp_backup/setup.py +7 -0
  157. celerp-1.0.3/default_modules/celerp-connectors/__init__.py +42 -0
  158. celerp-1.0.3/default_modules/celerp-connectors/celerp_connectors/__init__.py +2 -0
  159. celerp-1.0.3/default_modules/celerp-connectors/celerp_connectors/models.py +26 -0
  160. celerp-1.0.3/default_modules/celerp-connectors/celerp_connectors/routes.py +146 -0
  161. celerp-1.0.3/default_modules/celerp-contacts/__init__.py +36 -0
  162. celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/__init__.py +3 -0
  163. celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/projections.py +159 -0
  164. celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/routes.py +1082 -0
  165. celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/services.py +80 -0
  166. celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/ui_routes.py +15 -0
  167. celerp-1.0.3/default_modules/celerp-dashboard/__init__.py +19 -0
  168. celerp-1.0.3/default_modules/celerp-dashboard/celerp_dashboard/__init__.py +2 -0
  169. celerp-1.0.3/default_modules/celerp-dashboard/celerp_dashboard/routes.py +112 -0
  170. celerp-1.0.3/default_modules/celerp-dashboard/celerp_dashboard/setup.py +7 -0
  171. celerp-1.0.3/default_modules/celerp-docs/__init__.py +37 -0
  172. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/__init__.py +3 -0
  173. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/_ui_documents.py +1250 -0
  174. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/api_setup.py +14 -0
  175. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/doc_constants.py +6 -0
  176. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/doc_projections.py +257 -0
  177. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/doc_service.py +79 -0
  178. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/models_share.py +4 -0
  179. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/pdf.py +442 -0
  180. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/routes.py +2020 -0
  181. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/routes_share.py +619 -0
  182. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/sequences.py +164 -0
  183. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/taxes.py +40 -0
  184. celerp-1.0.3/default_modules/celerp-docs/celerp_docs/ui_routes.py +9 -0
  185. celerp-1.0.3/default_modules/celerp-inventory/__init__.py +35 -0
  186. celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/__init__.py +22 -0
  187. celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/models_import_batch.py +4 -0
  188. celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/projections.py +122 -0
  189. celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/routes.py +1683 -0
  190. celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/routes_attachments.py +264 -0
  191. celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/routes_scanning.py +107 -0
  192. celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/services.py +80 -0
  193. celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/ui_routes.py +20 -0
  194. celerp-1.0.3/default_modules/celerp-labels/LICENSE +21 -0
  195. celerp-1.0.3/default_modules/celerp-labels/__init__.py +64 -0
  196. celerp-1.0.3/default_modules/celerp-labels/celerp_labels/__init__.py +2 -0
  197. celerp-1.0.3/default_modules/celerp-labels/celerp_labels/migrations/__init__.py +7 -0
  198. celerp-1.0.3/default_modules/celerp-labels/celerp_labels/migrations/labels_001_create_label_templates.py +38 -0
  199. celerp-1.0.3/default_modules/celerp-labels/celerp_labels/models.py +71 -0
  200. celerp-1.0.3/default_modules/celerp-labels/celerp_labels/routes.py +264 -0
  201. celerp-1.0.3/default_modules/celerp-labels/celerp_labels/service.py +263 -0
  202. celerp-1.0.3/default_modules/celerp-labels/celerp_labels/ui_routes.py +1415 -0
  203. celerp-1.0.3/default_modules/celerp-labels/requirements.txt +4 -0
  204. celerp-1.0.3/default_modules/celerp-manufacturing/LICENSE +21 -0
  205. celerp-1.0.3/default_modules/celerp-manufacturing/__init__.py +53 -0
  206. celerp-1.0.3/default_modules/celerp-manufacturing/celerp_manufacturing/__init__.py +2 -0
  207. celerp-1.0.3/default_modules/celerp-manufacturing/celerp_manufacturing/projection_handler.py +49 -0
  208. celerp-1.0.3/default_modules/celerp-manufacturing/celerp_manufacturing/routes.py +621 -0
  209. celerp-1.0.3/default_modules/celerp-manufacturing/celerp_manufacturing/ui_routes.py +22 -0
  210. celerp-1.0.3/default_modules/celerp-manufacturing/requirements.txt +3 -0
  211. celerp-1.0.3/default_modules/celerp-reports/__init__.py +17 -0
  212. celerp-1.0.3/default_modules/celerp-reports/celerp_reports/__init__.py +2 -0
  213. celerp-1.0.3/default_modules/celerp-reports/celerp_reports/api_setup.py +9 -0
  214. celerp-1.0.3/default_modules/celerp-reports/celerp_reports/routes.py +554 -0
  215. celerp-1.0.3/default_modules/celerp-reports/celerp_reports/ui_routes.py +561 -0
  216. celerp-1.0.3/default_modules/celerp-subscriptions/__init__.py +26 -0
  217. celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/__init__.py +22 -0
  218. celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/projection_handler.py +34 -0
  219. celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/routes.py +412 -0
  220. celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/ui_routes.py +482 -0
  221. celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/ui_routes_import.py +189 -0
  222. celerp-1.0.3/default_modules/celerp-verticals/__init__.py +23 -0
  223. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/__init__.py +19 -0
  224. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/accessory_fashion.json +66 -0
  225. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/activewear.json +72 -0
  226. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/art_photography.json +121 -0
  227. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/audio_equipment.json +89 -0
  228. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/bag_handbag.json +88 -0
  229. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/banknote.json +78 -0
  230. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/beauty_tool.json +53 -0
  231. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/bed_bedroom.json +97 -0
  232. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/beer.json +85 -0
  233. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/beverage_nonalc.json +81 -0
  234. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/body_part_auto.json +97 -0
  235. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/book.json +79 -0
  236. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/bottoms.json +86 -0
  237. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/brake_suspension.json +99 -0
  238. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/bullion_coin.json +85 -0
  239. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/camera.json +96 -0
  240. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/colored_stone.json +211 -0
  241. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/comic.json +71 -0
  242. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/commercial_space.json +131 -0
  243. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/component_part.json +63 -0
  244. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/confectionery.json +68 -0
  245. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/consulting_service.json +88 -0
  246. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/decorative_art.json +115 -0
  247. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/diamond.json +175 -0
  248. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/drawing.json +114 -0
  249. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/dress_jumpsuit.json +81 -0
  250. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/electrical_auto.json +76 -0
  251. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/electrical_component.json +63 -0
  252. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/emerald.json +141 -0
  253. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/engine_part.json +80 -0
  254. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fastener.json +79 -0
  255. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fertilizer_chemical.json +83 -0
  256. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/film_video.json +91 -0
  257. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fine_writing_instrument.json +117 -0
  258. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fluid_lubricant.json +56 -0
  259. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/footwear.json +75 -0
  260. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fragrance.json +63 -0
  261. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fresh_food.json +67 -0
  262. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fresh_produce.json +82 -0
  263. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/frozen_food.json +78 -0
  264. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/gaming_console.json +65 -0
  265. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/gold_bullion.json +86 -0
  266. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/grain_cereal.json +84 -0
  267. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/haircare.json +74 -0
  268. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/hand_tool.json +61 -0
  269. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/ingredient_bulk.json +63 -0
  270. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/interior_part.json +83 -0
  271. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/jewelry.json +91 -0
  272. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/kitchen_dining.json +60 -0
  273. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/laptop.json +105 -0
  274. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/lighting.json +89 -0
  275. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/livestock_feed.json +81 -0
  276. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/makeup.json +75 -0
  277. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/measuring_instrument.json +68 -0
  278. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/medal_token.json +80 -0
  279. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/mineral_specimen.json +118 -0
  280. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/mobile_phone.json +79 -0
  281. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/music_cd.json +74 -0
  282. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/music_vinyl.json +115 -0
  283. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/nail.json +63 -0
  284. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/numismatic_coin.json +102 -0
  285. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/outdoor_furniture.json +86 -0
  286. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/outerwear.json +86 -0
  287. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/packaged_food.json +82 -0
  288. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/painting.json +138 -0
  289. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/parking_bay.json +79 -0
  290. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/pearl.json +122 -0
  291. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/personal_care.json +56 -0
  292. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/pipe_plumbing.json +65 -0
  293. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/platinum_bullion.json +92 -0
  294. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/power_tool.json +83 -0
  295. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/print_edition.json +142 -0
  296. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/residential_unit.json +110 -0
  297. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/rough_gemstone.json +124 -0
  298. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/ruby.json +142 -0
  299. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/saas_plan.json +86 -0
  300. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/safety_ppe.json +59 -0
  301. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/sapphire.json +148 -0
  302. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/sculpture.json +140 -0
  303. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/seating.json +98 -0
  304. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/seeds.json +72 -0
  305. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/silver_bullion.json +85 -0
  306. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/skincare.json +72 -0
  307. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/soft_furnishing.json +60 -0
  308. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/software_addon.json +56 -0
  309. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/software_license.json +85 -0
  310. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/spirit.json +91 -0
  311. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/storage_furniture.json +77 -0
  312. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/swimwear.json +75 -0
  313. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/table_desk.json +90 -0
  314. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/tablet.json +81 -0
  315. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/tire_wheel.json +83 -0
  316. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/tops.json +71 -0
  317. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/trading_card.json +80 -0
  318. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/tv_display.json +86 -0
  319. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/video_game.json +84 -0
  320. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/watch.json +131 -0
  321. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/watch_strap.json +92 -0
  322. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/wine.json +111 -0
  323. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/agricultural.json +27 -0
  324. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/artwork.json +25 -0
  325. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/automotive.json +26 -0
  326. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/blank.json +12 -0
  327. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/books_media.json +26 -0
  328. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/coins_precious_metals.json +26 -0
  329. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/consulting.json +22 -0
  330. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/cosmetics.json +26 -0
  331. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/electronics.json +27 -0
  332. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/fashion.json +28 -0
  333. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/food_beverage.json +28 -0
  334. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/furniture.json +27 -0
  335. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/gemstones.json +28 -0
  336. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/hardware.json +26 -0
  337. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/property_rental.json +24 -0
  338. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/saas.json +24 -0
  339. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/watches.json +23 -0
  340. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/wine_spirits.json +25 -0
  341. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/routes.py +237 -0
  342. celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/ui_routes.py +8 -0
  343. celerp-1.0.3/pyproject.toml +131 -0
  344. celerp-1.0.3/setup.cfg +4 -0
  345. celerp-1.0.3/ui/LICENSE +23 -0
  346. celerp-1.0.3/ui/__init__.py +4 -0
  347. celerp-1.0.3/ui/api_client.py +1627 -0
  348. celerp-1.0.3/ui/app.py +264 -0
  349. celerp-1.0.3/ui/components/__init__.py +2 -0
  350. celerp-1.0.3/ui/components/activity.py +356 -0
  351. celerp-1.0.3/ui/components/backup.py +87 -0
  352. celerp-1.0.3/ui/components/cloud_gate.py +90 -0
  353. celerp-1.0.3/ui/components/shell.py +647 -0
  354. celerp-1.0.3/ui/components/table.py +1099 -0
  355. celerp-1.0.3/ui/config.py +54 -0
  356. celerp-1.0.3/ui/i18n.py +71 -0
  357. celerp-1.0.3/ui/locales/ar.json +1146 -0
  358. celerp-1.0.3/ui/locales/de.json +1146 -0
  359. celerp-1.0.3/ui/locales/en.json +1146 -0
  360. celerp-1.0.3/ui/locales/es.json +1146 -0
  361. celerp-1.0.3/ui/locales/fr.json +1146 -0
  362. celerp-1.0.3/ui/locales/id.json +1146 -0
  363. celerp-1.0.3/ui/locales/it.json +1146 -0
  364. celerp-1.0.3/ui/locales/ja.json +1146 -0
  365. celerp-1.0.3/ui/locales/pt.json +1146 -0
  366. celerp-1.0.3/ui/locales/th.json +1146 -0
  367. celerp-1.0.3/ui/locales/vi.json +1146 -0
  368. celerp-1.0.3/ui/routes/__init__.py +2 -0
  369. celerp-1.0.3/ui/routes/accounting.py +248 -0
  370. celerp-1.0.3/ui/routes/accounting_import.py +272 -0
  371. celerp-1.0.3/ui/routes/auth.py +650 -0
  372. celerp-1.0.3/ui/routes/contacts.py +2289 -0
  373. celerp-1.0.3/ui/routes/csv_import.py +1342 -0
  374. celerp-1.0.3/ui/routes/dashboard.py +813 -0
  375. celerp-1.0.3/ui/routes/docs_import.py +356 -0
  376. celerp-1.0.3/ui/routes/documents.py +4620 -0
  377. celerp-1.0.3/ui/routes/inventory.py +2959 -0
  378. celerp-1.0.3/ui/routes/lists_import.py +296 -0
  379. celerp-1.0.3/ui/routes/manufacturing.py +814 -0
  380. celerp-1.0.3/ui/routes/manufacturing_import.py +568 -0
  381. celerp-1.0.3/ui/routes/notifications.py +100 -0
  382. celerp-1.0.3/ui/routes/reconciliation.py +885 -0
  383. celerp-1.0.3/ui/routes/reports.py +561 -0
  384. celerp-1.0.3/ui/routes/search.py +72 -0
  385. celerp-1.0.3/ui/routes/settings.py +4071 -0
  386. celerp-1.0.3/ui/routes/settings_accounting.py +643 -0
  387. celerp-1.0.3/ui/routes/settings_cloud.py +710 -0
  388. celerp-1.0.3/ui/routes/settings_connectors.py +711 -0
  389. celerp-1.0.3/ui/routes/settings_contacts.py +298 -0
  390. celerp-1.0.3/ui/routes/settings_general.py +150 -0
  391. celerp-1.0.3/ui/routes/settings_import.py +644 -0
  392. celerp-1.0.3/ui/routes/settings_inventory.py +513 -0
  393. celerp-1.0.3/ui/routes/settings_purchasing.py +86 -0
  394. celerp-1.0.3/ui/routes/settings_sales.py +291 -0
  395. celerp-1.0.3/ui/routes/setup.py +647 -0
  396. celerp-1.0.3/ui/routes/subscriptions.py +483 -0
  397. celerp-1.0.3/ui/routes/subscriptions_import.py +319 -0
  398. celerp-1.0.3/ui/static/app.css +1901 -0
  399. celerp-1.0.3/ui/static/htmx.min.js +1 -0
  400. celerp-1.0.3/ui/static/icon.png +0 -0
  401. celerp-1.0.3/ui/static/logo.png +0 -0
@@ -0,0 +1,71 @@
1
+ # Contributing to Celerp
2
+
3
+ Issues and PRs welcome. This guide covers the development workflow.
4
+
5
+ ## Environment variables
6
+
7
+ | Variable | Default | Notes |
8
+ |----------|---------|-------|
9
+ | `DATABASE_URL` | _(required)_ | `postgresql+asyncpg://user:pass@localhost:5432/dbname` |
10
+ | `JWT_SECRET` | _(required)_ | Fatal on startup if unset or default in production |
11
+ | `ALLOW_INSECURE_JWT` | `false` | Set `true` in dev/CI |
12
+ | `CELERP_PUBLIC_URL` | _(optional)_ | Base URL for share links |
13
+ | `MODULE_DIR` | `default_modules` | Module package directory |
14
+ | `ENABLED_MODULES` | _(all)_ | Comma-separated list to load |
15
+
16
+ ## CLI commands (pip install)
17
+
18
+ ```bash
19
+ celerp init # first-time setup (connects DB, runs migrations, writes config)
20
+ celerp start # launches API + UI
21
+ celerp migrate # apply pending migrations after an upgrade
22
+ celerp status # show config, DB connection, migration state
23
+ celerp demo # seed demo data
24
+ celerp upgrade # pip install --upgrade celerp + migrate
25
+ ```
26
+
27
+ ### Init flags
28
+
29
+ | Flag | Default | Notes |
30
+ |------|---------|-------|
31
+ | `--db-url` | `postgresql+asyncpg://celerp:celerp@localhost:5432/celerp` | PostgreSQL connection URL |
32
+ | `--api-port` | `8000` | API server port |
33
+ | `--ui-port` | `8080` | UI server port |
34
+ | `--cloud-token` | _(empty)_ | Celerp Cloud token (optional) |
35
+ | `--force` | off | Overwrite existing config |
36
+
37
+ To change ports after init, edit `~/.config/celerp/config.toml` directly.
38
+
39
+ ## Troubleshooting
40
+
41
+ | Error | Fix |
42
+ |-------|-----|
43
+ | `fe_sendauth: no password supplied` | Run `set -a && source .env && set +a` before alembic |
44
+ | `password authentication failed` | Run `ALTER USER celerp WITH PASSWORD 'devpass';` via psql |
45
+ | `role "celerp" does not exist` | Run the `CREATE USER` command from README |
46
+ | `FATAL: JWT_SECRET is set to the default` | Generate with `openssl rand -hex 32` or set `ALLOW_INSECURE_JWT=true` |
47
+ | `Directory 'static' does not exist` | Run uvicorn from the repo root, not a subdirectory |
48
+ | `System already bootstrapped` | Drop and recreate the DB, or `DELETE FROM users;` via psql |
49
+
50
+ ## Module system
51
+
52
+ Each module is a self-contained Python package under `default_modules/`. A module registers:
53
+
54
+ - **API routes** via a FastAPI router
55
+ - **Projections** that materialize ledger events into queryable state
56
+ - **UI routes** via FastHTML
57
+ - **Nav slots** for sidebar entries
58
+
59
+ To add a new module, follow the pattern in any existing module (e.g. `celerp-inventory`). Modules are discovered and loaded at startup based on `ENABLED_MODULES`.
60
+
61
+ ## Coding style
62
+
63
+ - DRY, SOLID, KISS
64
+ - Small pure functions, explicit contracts, deterministic behavior
65
+ - Tests use SQLite in-memory - no Postgres required
66
+ - Name test files after the module they test
67
+ - Use `conftest.py` for shared fixtures
68
+
69
+ ## License
70
+
71
+ The project is licensed under [BSL-1.1](LICENSE). By submitting a PR, you agree to license your contribution under the same terms. Don't worry about license headers in your code - we'll sort that out during review.
celerp-1.0.3/LICENSE ADDED
@@ -0,0 +1,77 @@
1
+ Business Source License 1.1
2
+
3
+ Parameters
4
+
5
+ Licensor: Noah Severs
6
+ Licensed Work: Celerp
7
+ The Licensed Work is (c) 2026 Noah Severs
8
+ Additional Use Grant: You may make production use of the Licensed Work, including
9
+ deploying it for your own business operations, provided that:
10
+
11
+ 1. Attribution Requirement (Non-Removable):
12
+ Any user-visible output produced by the Licensed Work,
13
+ including but not limited to invoices, purchase orders,
14
+ quotations, receipts, credit notes, memos, reports, and
15
+ any other documents or exports, MUST retain the "Powered
16
+ by Celerp" attribution mark (text, logo, or link as
17
+ supplied by the Licensed Work). Removal, obscuring, or
18
+ replacement of this attribution is not permitted under
19
+ any use grant.
20
+
21
+ 2. You may not offer the Licensed Work as a hosted service
22
+ to third parties (SaaS/PaaS) without a separate
23
+ commercial agreement with the Licensor.
24
+
25
+ Change Date: 2029-01-01
26
+
27
+ Change License: GNU General Public License, Version 2.0 only
28
+
29
+ -----------------------------------------------------------------------------
30
+
31
+ For commercial licensing, OEM agreements, or white-label inquiries:
32
+ https://celerp.com
33
+
34
+ -----------------------------------------------------------------------------
35
+
36
+ Business Source License 1.1
37
+
38
+ Terms
39
+
40
+ The Licensor hereby grants you the right to copy, modify, create derivative
41
+ works, redistribute, and make non-production use of the Licensed Work. The
42
+ Licensor may make an Additional Use Grant, above, permitting limited production
43
+ use.
44
+
45
+ Effective on the Change Date, or the fourth anniversary of the first publicly
46
+ available distribution of a specific version of the Licensed Work under this
47
+ License, whichever comes first, the Licensor hereby grants you rights under the
48
+ terms of the Change License, and the rights granted in the paragraph above
49
+ terminate.
50
+
51
+ If your use of the Licensed Work does not comply with the requirements currently
52
+ in effect as described in this License, you must purchase a commercial license
53
+ from the Licensor, its affiliated entities, or authorized resellers, or you must
54
+ refrain from using the Licensed Work.
55
+
56
+ All copies of the original and modified Licensed Work, and derivative works of
57
+ the Licensed Work, are subject to this License. This License applies separately
58
+ for each version of the Licensed Work and the Change Date may vary for each
59
+ version of the Licensed Work released by the Licensor.
60
+
61
+ You must conspicuously display this License on each original or modified copy
62
+ of the Licensed Work. If you receive the Licensed Work in original or modified
63
+ form from a third party, the terms and conditions set forth in this License
64
+ apply to your use of that work.
65
+
66
+ Any use of the Licensed Work in violation of this License will automatically
67
+ terminate your rights under this License for the current and all other versions
68
+ of the Licensed Work.
69
+
70
+ This License does not grant you any right in any trademark or logo of Licensor
71
+ or its affiliates (provided that you may use a trademark or logo of Licensor as
72
+ expressly required by this License).
73
+
74
+ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN
75
+ "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS
76
+ OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY,
77
+ FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.
@@ -0,0 +1,37 @@
1
+ include README.md
2
+ include LICENSE
3
+ include NOTICE
4
+ include alembic.ini
5
+ include ui/LICENSE
6
+ include default_modules/celerp-manufacturing/LICENSE
7
+ include default_modules/celerp-labels/LICENSE
8
+
9
+ recursive-include celerp *.py *.mako *.cfg *.ini *.md
10
+ recursive-include ui *.py *.css *.js *.png *.json *.html
11
+ recursive-include default_modules *.py *.json *.md
12
+
13
+ global-exclude __pycache__
14
+ global-exclude *.pyc
15
+ global-exclude *.pyo
16
+
17
+ prune tests
18
+ prune scripts
19
+ prune electron
20
+ prune core
21
+ prune celerp-cloud
22
+ prune celerp-publish
23
+ prune celerp-marketplace
24
+ prune celerp-mobile
25
+ prune celerp-modules
26
+ prune premium-modules
27
+ prune certificates
28
+ prune screenshots
29
+ prune .github
30
+ prune .venv*
31
+ prune docs
32
+
33
+ exclude Dockerfile
34
+ exclude docker-compose.yml
35
+ exclude .env.example
36
+ exclude .env.production.example
37
+ exclude .gitignore
celerp-1.0.3/NOTICE ADDED
@@ -0,0 +1,25 @@
1
+ NOTICE — Celerp Multi-License Distribution
2
+
3
+ This application bundles components under multiple licenses.
4
+ Each component's license governs its use independently.
5
+
6
+ Component Licenses
7
+ ------------------
8
+
9
+ electron/ BSL-1.1 See /LICENSE
10
+ celerp/ BSL-1.1 See /LICENSE
11
+ default_modules/ BSL-1.1 See /LICENSE
12
+ celerp-manufacturing MIT See default_modules/celerp-manufacturing/LICENSE
13
+ celerp-labels MIT See default_modules/celerp-labels/LICENSE
14
+ ui/ Proprietary See ui/LICENSE
15
+ alembic/ BSL-1.1 See /LICENSE
16
+
17
+ The root LICENSE (BSL-1.1) applies to all files not covered by a more
18
+ specific LICENSE file in a subdirectory. When a subdirectory contains its
19
+ own LICENSE file, that file governs all files within it.
20
+
21
+ The "Powered by Celerp" attribution requirement described in both /LICENSE
22
+ and ui/LICENSE applies to all distributions of this software, including
23
+ modified versions and derivative works.
24
+
25
+ For commercial licensing or white-label inquiries: https://celerp.com
celerp-1.0.3/PKG-INFO ADDED
@@ -0,0 +1,256 @@
1
+ Metadata-Version: 2.4
2
+ Name: celerp
3
+ Version: 1.0.3
4
+ Summary: Free, self-hosted ERP for small businesses
5
+ License: Business Source License 1.1
6
+
7
+ Parameters
8
+
9
+ Licensor: Noah Severs
10
+ Licensed Work: Celerp
11
+ The Licensed Work is (c) 2026 Noah Severs
12
+ Additional Use Grant: You may make production use of the Licensed Work, including
13
+ deploying it for your own business operations, provided that:
14
+
15
+ 1. Attribution Requirement (Non-Removable):
16
+ Any user-visible output produced by the Licensed Work,
17
+ including but not limited to invoices, purchase orders,
18
+ quotations, receipts, credit notes, memos, reports, and
19
+ any other documents or exports, MUST retain the "Powered
20
+ by Celerp" attribution mark (text, logo, or link as
21
+ supplied by the Licensed Work). Removal, obscuring, or
22
+ replacement of this attribution is not permitted under
23
+ any use grant.
24
+
25
+ 2. You may not offer the Licensed Work as a hosted service
26
+ to third parties (SaaS/PaaS) without a separate
27
+ commercial agreement with the Licensor.
28
+
29
+ Change Date: 2029-01-01
30
+
31
+ Change License: GNU General Public License, Version 2.0 only
32
+
33
+ -----------------------------------------------------------------------------
34
+
35
+ For commercial licensing, OEM agreements, or white-label inquiries:
36
+ https://celerp.com
37
+
38
+ -----------------------------------------------------------------------------
39
+
40
+ Business Source License 1.1
41
+
42
+ Terms
43
+
44
+ The Licensor hereby grants you the right to copy, modify, create derivative
45
+ works, redistribute, and make non-production use of the Licensed Work. The
46
+ Licensor may make an Additional Use Grant, above, permitting limited production
47
+ use.
48
+
49
+ Effective on the Change Date, or the fourth anniversary of the first publicly
50
+ available distribution of a specific version of the Licensed Work under this
51
+ License, whichever comes first, the Licensor hereby grants you rights under the
52
+ terms of the Change License, and the rights granted in the paragraph above
53
+ terminate.
54
+
55
+ If your use of the Licensed Work does not comply with the requirements currently
56
+ in effect as described in this License, you must purchase a commercial license
57
+ from the Licensor, its affiliated entities, or authorized resellers, or you must
58
+ refrain from using the Licensed Work.
59
+
60
+ All copies of the original and modified Licensed Work, and derivative works of
61
+ the Licensed Work, are subject to this License. This License applies separately
62
+ for each version of the Licensed Work and the Change Date may vary for each
63
+ version of the Licensed Work released by the Licensor.
64
+
65
+ You must conspicuously display this License on each original or modified copy
66
+ of the Licensed Work. If you receive the Licensed Work in original or modified
67
+ form from a third party, the terms and conditions set forth in this License
68
+ apply to your use of that work.
69
+
70
+ Any use of the Licensed Work in violation of this License will automatically
71
+ terminate your rights under this License for the current and all other versions
72
+ of the Licensed Work.
73
+
74
+ This License does not grant you any right in any trademark or logo of Licensor
75
+ or its affiliates (provided that you may use a trademark or logo of Licensor as
76
+ expressly required by this License).
77
+
78
+ TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN
79
+ "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS
80
+ OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY,
81
+ FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.
82
+
83
+ Project-URL: Homepage, https://celerp.com
84
+ Project-URL: Repository, https://github.com/celerp/celerp
85
+ Project-URL: Documentation, https://celerp.com/docs
86
+ Keywords: erp,inventory,accounting,self-hosted,fastapi
87
+ Classifier: Development Status :: 4 - Beta
88
+ Classifier: Intended Audience :: End Users/Desktop
89
+ Classifier: License :: Other/Proprietary License
90
+ Classifier: Programming Language :: Python :: 3
91
+ Classifier: Programming Language :: Python :: 3.10
92
+ Classifier: Programming Language :: Python :: 3.11
93
+ Classifier: Programming Language :: Python :: 3.12
94
+ Classifier: Topic :: Office/Business
95
+ Classifier: Topic :: Office/Business :: Financial :: Accounting
96
+ Requires-Python: >=3.10
97
+ Description-Content-Type: text/markdown
98
+ License-File: LICENSE
99
+ License-File: NOTICE
100
+ Requires-Dist: fastapi>=0.115
101
+ Requires-Dist: uvicorn[standard]>=0.30
102
+ Requires-Dist: sqlalchemy[asyncio]>=2.0
103
+ Requires-Dist: asyncpg>=0.29
104
+ Requires-Dist: alembic>=1.13
105
+ Requires-Dist: pydantic>=2.0
106
+ Requires-Dist: pydantic-settings>=2.0
107
+ Requires-Dist: python-jose[cryptography]>=3.3
108
+ Requires-Dist: cryptography>=42
109
+ Requires-Dist: passlib[bcrypt]>=1.7
110
+ Requires-Dist: numba>=0.59
111
+ Requires-Dist: numpy>=1.26
112
+ Requires-Dist: python-multipart>=0.0.9
113
+ Requires-Dist: aiofiles>=23.0
114
+ Requires-Dist: httpx>=0.27
115
+ Requires-Dist: slowapi>=0.1.9
116
+ Requires-Dist: reportlab>=4.0
117
+ Requires-Dist: python-fasthtml>=0.12
118
+ Requires-Dist: psutil>=5.9
119
+ Requires-Dist: websockets>=12.0
120
+ Requires-Dist: aiosmtplib>=3.0
121
+ Requires-Dist: click>=8.0
122
+ Requires-Dist: python-barcode>=0.15
123
+ Requires-Dist: qrcode>=7.0
124
+ Requires-Dist: Pillow>=10.0
125
+ Requires-Dist: pypdf>=4.0
126
+ Requires-Dist: psycopg2-binary>=2.9
127
+ Provides-Extra: dev
128
+ Requires-Dist: pytest>=8.0; extra == "dev"
129
+ Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
130
+ Requires-Dist: pytest-cov>=5.0; extra == "dev"
131
+ Requires-Dist: faker>=24.0; extra == "dev"
132
+ Requires-Dist: aiosqlite>=0.20; extra == "dev"
133
+ Requires-Dist: respx>=0.21; extra == "dev"
134
+ Requires-Dist: playwright>=1.43; extra == "dev"
135
+ Requires-Dist: pytest-playwright>=0.5; extra == "dev"
136
+ Requires-Dist: pytest-timeout>=2.3; extra == "dev"
137
+ Requires-Dist: pytest-xdist>=3.5; extra == "dev"
138
+ Provides-Extra: prod
139
+ Requires-Dist: gunicorn>=22.0; extra == "prod"
140
+ Dynamic: license-file
141
+
142
+ # Celerp
143
+
144
+ **Open-source ERP. Runs on your machine. You own everything.**
145
+
146
+ Inventory, invoicing, purchasing, manufacturing, accounting, and CRM - in one app, on your computer. No subscription. No cloud required.
147
+
148
+ [![Tests](https://github.com/celerp/celerp/actions/workflows/ci.yml/badge.svg)](https://github.com/celerp/celerp/actions)
149
+ [![License](https://img.shields.io/badge/license-BSL--1.1-blue)](LICENSE)
150
+
151
+ ![Celerp Inventory](docs/screenshot-inventory.png)
152
+
153
+ ---
154
+
155
+ ## Install
156
+
157
+ | Platform | Link |
158
+ |----------|------|
159
+ | Windows (.exe) | [Latest release](https://github.com/celerp/celerp/releases/latest) |
160
+ | Linux (.AppImage) | [Latest release](https://github.com/celerp/celerp/releases/latest) |
161
+ | macOS (.dmg) | Coming soon |
162
+
163
+ **Double-click. No account. No credit card. No server.**
164
+
165
+ Or install via pip:
166
+
167
+ ```bash
168
+ pip install celerp
169
+ celerp init
170
+ celerp start
171
+ ```
172
+
173
+ Open **http://localhost:8080**. Done.
174
+
175
+ ---
176
+
177
+ ## What's inside
178
+
179
+ - Track inventory across locations, scan barcodes, print labels
180
+ - Send invoices, purchase orders, quotations, credit notes
181
+ - Double-entry accounting with chart of accounts, P&L, balance sheet
182
+ - Connect Shopify, WooCommerce, QuickBooks, Xero
183
+ - Manufacturing - BOMs, production orders, merge/split/transform
184
+ - CRM - contacts, pipeline, memos, activity feed
185
+ - Recurring subscriptions with automatic invoicing
186
+ - CSV import/export everything - idempotent, audited, column-mapped
187
+ - Multi-company from one install
188
+ - Role-based permissions - five access levels (viewer, operator, manager, admin, owner) for controlled employee access
189
+ - Works offline, no internet required
190
+
191
+ ---
192
+
193
+ ## How it works
194
+
195
+ Celerp runs entirely on your machine. Your data never leaves your computer.
196
+
197
+ - **No setup** - the desktop app bundles Postgres, runs migrations on launch, opens in your browser
198
+ - **No lock-in** - your data stays in a standard Postgres database you control
199
+ - **Teams** - run as a local server, teammates connect over the LAN
200
+
201
+ ---
202
+
203
+ ## Modules
204
+
205
+ Every business domain is a self-contained module. The full set ships with the download:
206
+
207
+ | Module | What it does |
208
+ |--------|-------------|
209
+ | `celerp-inventory` | Items, stock levels, locations, barcode scanning, valuation |
210
+ | `celerp-contacts` | Contacts, addresses, tags, notes, file attachments |
211
+ | `celerp-docs` | Invoices, POs, quotations, credit notes, receipts |
212
+ | `celerp-accounting` | Chart of accounts, journal entries, P&L, balance sheet |
213
+ | `celerp-reports` | AR/AP aging, sales, purchases, inventory valuation |
214
+ | `celerp-subscriptions` | Recurring billing, auto-invoice generation |
215
+ | `celerp-manufacturing` | BOMs, production orders, merge/split/transform |
216
+ | `celerp-labels` | Label printing, barcode generation |
217
+ | `celerp-verticals` | Industry presets - configure for your business type on first run |
218
+
219
+ The onboarding wizard lets you pick your industry. Modules can be toggled any time at **Settings > Modules**.
220
+
221
+ ---
222
+
223
+ ## Architecture
224
+
225
+ - **Event-sourced** - every change is an immutable ledger entry, projections materialize queryable state
226
+ - **Modular** - each domain is a plugin with its own models, routes, and projections
227
+ - **Python/FastAPI** backend, **FastHTML** UI, embedded **PostgreSQL**
228
+ - SQLite in-memory for tests - no external dependencies to run the test suite
229
+
230
+ ---
231
+
232
+ ## Development
233
+
234
+ ```bash
235
+ git clone git@github.com:celerp/celerp.git
236
+ cd celerp
237
+ python3 -m venv .venv && source .venv/bin/activate
238
+ pip install -e ".[dev]"
239
+ sudo celerp init # creates DB, runs migrations, starts servers
240
+ ```
241
+
242
+ Open **http://localhost:8080**. Run tests with `pytest tests/`.
243
+
244
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for environment variables, troubleshooting, and coding guidelines.
245
+
246
+ ---
247
+
248
+ ## Contributing
249
+
250
+ Issues and PRs welcome. The module system makes it straightforward to add new business domains without touching the kernel.
251
+
252
+ ---
253
+
254
+ ## License
255
+
256
+ [BSL-1.1](LICENSE). Free to use, free to modify, free to self-host. Commercial redistribution restricted for 4 years, after which the code converts to Apache 2.0.
celerp-1.0.3/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # Celerp
2
+
3
+ **Open-source ERP. Runs on your machine. You own everything.**
4
+
5
+ Inventory, invoicing, purchasing, manufacturing, accounting, and CRM - in one app, on your computer. No subscription. No cloud required.
6
+
7
+ [![Tests](https://github.com/celerp/celerp/actions/workflows/ci.yml/badge.svg)](https://github.com/celerp/celerp/actions)
8
+ [![License](https://img.shields.io/badge/license-BSL--1.1-blue)](LICENSE)
9
+
10
+ ![Celerp Inventory](docs/screenshot-inventory.png)
11
+
12
+ ---
13
+
14
+ ## Install
15
+
16
+ | Platform | Link |
17
+ |----------|------|
18
+ | Windows (.exe) | [Latest release](https://github.com/celerp/celerp/releases/latest) |
19
+ | Linux (.AppImage) | [Latest release](https://github.com/celerp/celerp/releases/latest) |
20
+ | macOS (.dmg) | Coming soon |
21
+
22
+ **Double-click. No account. No credit card. No server.**
23
+
24
+ Or install via pip:
25
+
26
+ ```bash
27
+ pip install celerp
28
+ celerp init
29
+ celerp start
30
+ ```
31
+
32
+ Open **http://localhost:8080**. Done.
33
+
34
+ ---
35
+
36
+ ## What's inside
37
+
38
+ - Track inventory across locations, scan barcodes, print labels
39
+ - Send invoices, purchase orders, quotations, credit notes
40
+ - Double-entry accounting with chart of accounts, P&L, balance sheet
41
+ - Connect Shopify, WooCommerce, QuickBooks, Xero
42
+ - Manufacturing - BOMs, production orders, merge/split/transform
43
+ - CRM - contacts, pipeline, memos, activity feed
44
+ - Recurring subscriptions with automatic invoicing
45
+ - CSV import/export everything - idempotent, audited, column-mapped
46
+ - Multi-company from one install
47
+ - Role-based permissions - five access levels (viewer, operator, manager, admin, owner) for controlled employee access
48
+ - Works offline, no internet required
49
+
50
+ ---
51
+
52
+ ## How it works
53
+
54
+ Celerp runs entirely on your machine. Your data never leaves your computer.
55
+
56
+ - **No setup** - the desktop app bundles Postgres, runs migrations on launch, opens in your browser
57
+ - **No lock-in** - your data stays in a standard Postgres database you control
58
+ - **Teams** - run as a local server, teammates connect over the LAN
59
+
60
+ ---
61
+
62
+ ## Modules
63
+
64
+ Every business domain is a self-contained module. The full set ships with the download:
65
+
66
+ | Module | What it does |
67
+ |--------|-------------|
68
+ | `celerp-inventory` | Items, stock levels, locations, barcode scanning, valuation |
69
+ | `celerp-contacts` | Contacts, addresses, tags, notes, file attachments |
70
+ | `celerp-docs` | Invoices, POs, quotations, credit notes, receipts |
71
+ | `celerp-accounting` | Chart of accounts, journal entries, P&L, balance sheet |
72
+ | `celerp-reports` | AR/AP aging, sales, purchases, inventory valuation |
73
+ | `celerp-subscriptions` | Recurring billing, auto-invoice generation |
74
+ | `celerp-manufacturing` | BOMs, production orders, merge/split/transform |
75
+ | `celerp-labels` | Label printing, barcode generation |
76
+ | `celerp-verticals` | Industry presets - configure for your business type on first run |
77
+
78
+ The onboarding wizard lets you pick your industry. Modules can be toggled any time at **Settings > Modules**.
79
+
80
+ ---
81
+
82
+ ## Architecture
83
+
84
+ - **Event-sourced** - every change is an immutable ledger entry, projections materialize queryable state
85
+ - **Modular** - each domain is a plugin with its own models, routes, and projections
86
+ - **Python/FastAPI** backend, **FastHTML** UI, embedded **PostgreSQL**
87
+ - SQLite in-memory for tests - no external dependencies to run the test suite
88
+
89
+ ---
90
+
91
+ ## Development
92
+
93
+ ```bash
94
+ git clone git@github.com:celerp/celerp.git
95
+ cd celerp
96
+ python3 -m venv .venv && source .venv/bin/activate
97
+ pip install -e ".[dev]"
98
+ sudo celerp init # creates DB, runs migrations, starts servers
99
+ ```
100
+
101
+ Open **http://localhost:8080**. Run tests with `pytest tests/`.
102
+
103
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for environment variables, troubleshooting, and coding guidelines.
104
+
105
+ ---
106
+
107
+ ## Contributing
108
+
109
+ Issues and PRs welcome. The module system makes it straightforward to add new business domains without touching the kernel.
110
+
111
+ ---
112
+
113
+ ## License
114
+
115
+ [BSL-1.1](LICENSE). Free to use, free to modify, free to self-host. Commercial redistribution restricted for 4 years, after which the code converts to Apache 2.0.
@@ -0,0 +1,39 @@
1
+ [alembic]
2
+ # script_location points to the Alembic migrations package.
3
+ # sqlalchemy.url is intentionally left as a placeholder — env.py reads DATABASE_URL from the environment.
4
+ script_location = celerp/migrations
5
+ sqlalchemy.url = driver://user:pass@localhost/dbname
6
+
7
+ [loggers]
8
+ keys = root,sqlalchemy,alembic
9
+
10
+ [handlers]
11
+ keys = console
12
+
13
+ [formatters]
14
+ keys = generic
15
+
16
+ [logger_root]
17
+ level = WARN
18
+ handlers = console
19
+ qualname =
20
+
21
+ [logger_sqlalchemy]
22
+ level = WARN
23
+ handlers =
24
+ qualname = sqlalchemy.engine
25
+
26
+ [logger_alembic]
27
+ level = INFO
28
+ handlers =
29
+ qualname = alembic
30
+
31
+ [handler_console]
32
+ class = StreamHandler
33
+ args = (sys.stderr,)
34
+ level = NOTSET
35
+ formatter = generic
36
+
37
+ [formatter_generic]
38
+ format = %(levelname)-5.5s [%(name)s] %(message)s
39
+ datefmt = %H:%M:%S
@@ -0,0 +1,6 @@
1
+ # Copyright (c) 2026 Noah Severs
2
+ # SPDX-License-Identifier: BSL-1.1
3
+
4
+ from __future__ import annotations
5
+
6
+ __version__ = "1.0.0"
@@ -0,0 +1,2 @@
1
+ # Copyright (c) 2026 Noah Severs
2
+ # SPDX-License-Identifier: BSL-1.1