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.
- celerp-1.0.3/CONTRIBUTING.md +71 -0
- celerp-1.0.3/LICENSE +77 -0
- celerp-1.0.3/MANIFEST.in +37 -0
- celerp-1.0.3/NOTICE +25 -0
- celerp-1.0.3/PKG-INFO +256 -0
- celerp-1.0.3/README.md +115 -0
- celerp-1.0.3/alembic.ini +39 -0
- celerp-1.0.3/celerp/__init__.py +6 -0
- celerp-1.0.3/celerp/ai/__init__.py +2 -0
- celerp-1.0.3/celerp/ai/batch.py +228 -0
- celerp-1.0.3/celerp/ai/cleanup.py +84 -0
- celerp-1.0.3/celerp/ai/commands.py +184 -0
- celerp-1.0.3/celerp/ai/conversations.py +234 -0
- celerp-1.0.3/celerp/ai/files.py +49 -0
- celerp-1.0.3/celerp/ai/intent.py +92 -0
- celerp-1.0.3/celerp/ai/llm.py +126 -0
- celerp-1.0.3/celerp/ai/memory.py +102 -0
- celerp-1.0.3/celerp/ai/models.py +43 -0
- celerp-1.0.3/celerp/ai/page_count.py +67 -0
- celerp-1.0.3/celerp/ai/quota.py +153 -0
- celerp-1.0.3/celerp/ai/service.py +265 -0
- celerp-1.0.3/celerp/ai/tools.py +286 -0
- celerp-1.0.3/celerp/alembic.ini +39 -0
- celerp-1.0.3/celerp/cli.py +763 -0
- celerp-1.0.3/celerp/compute/__init__.py +3 -0
- celerp-1.0.3/celerp/compute/aggregations.py +25 -0
- celerp-1.0.3/celerp/compute/valuation.py +38 -0
- celerp-1.0.3/celerp/config.py +293 -0
- celerp-1.0.3/celerp/connectors/__init__.py +26 -0
- celerp-1.0.3/celerp/connectors/base.py +149 -0
- celerp-1.0.3/celerp/connectors/daily_scheduler.py +120 -0
- celerp-1.0.3/celerp/connectors/http.py +65 -0
- celerp-1.0.3/celerp/connectors/outbound_queue.py +207 -0
- celerp-1.0.3/celerp/connectors/quickbooks.py +296 -0
- celerp-1.0.3/celerp/connectors/registry.py +32 -0
- celerp-1.0.3/celerp/connectors/shopify.py +356 -0
- celerp-1.0.3/celerp/connectors/sync_runner.py +126 -0
- celerp-1.0.3/celerp/connectors/upsert.py +64 -0
- celerp-1.0.3/celerp/connectors/webhooks.py +76 -0
- celerp-1.0.3/celerp/connectors/woocommerce.py +319 -0
- celerp-1.0.3/celerp/connectors/xero.py +266 -0
- celerp-1.0.3/celerp/db.py +23 -0
- celerp-1.0.3/celerp/events/__init__.py +3 -0
- celerp-1.0.3/celerp/events/engine.py +83 -0
- celerp-1.0.3/celerp/events/schemas.py +825 -0
- celerp-1.0.3/celerp/events/types.py +113 -0
- celerp-1.0.3/celerp/gateway/__init__.py +3 -0
- celerp-1.0.3/celerp/gateway/client.py +337 -0
- celerp-1.0.3/celerp/gateway/state.py +48 -0
- celerp-1.0.3/celerp/importers/__init__.py +2 -0
- celerp-1.0.3/celerp/importers/importer.py +384 -0
- celerp-1.0.3/celerp/importers/schema.py +199 -0
- celerp-1.0.3/celerp/main.py +255 -0
- celerp-1.0.3/celerp/middleware.py +131 -0
- celerp-1.0.3/celerp/migrations/README.md +47 -0
- celerp-1.0.3/celerp/migrations/env.py +83 -0
- celerp-1.0.3/celerp/migrations/script.py.mako +31 -0
- celerp-1.0.3/celerp/migrations/versions/a1b2c3d4e5f6_add_doc_share_tokens.py +45 -0
- celerp-1.0.3/celerp/migrations/versions/b2c3d4e5f6a7_add_import_batches.py +51 -0
- celerp-1.0.3/celerp/migrations/versions/c1d2e3f4a5b6_add_marketplace.py +52 -0
- celerp-1.0.3/celerp/migrations/versions/d2e3f4a5b6c7_add_password_reset_token.py +35 -0
- celerp-1.0.3/celerp/migrations/versions/e3f4a5b6c7d8_add_company_is_active.py +37 -0
- celerp-1.0.3/celerp/migrations/versions/f1a2b3c4d5e6_move_accounts_marketplace_to_modules.py +31 -0
- celerp-1.0.3/celerp/migrations/versions/fd5de461e14e_initial_schema.py +125 -0
- celerp-1.0.3/celerp/migrations/versions/g1h2i3j4k5l6_add_consignment_flag.py +35 -0
- celerp-1.0.3/celerp/migrations/versions/h2i3j4k5l6m7_add_bank_accounts_and_reconciliation.py +56 -0
- celerp-1.0.3/celerp/migrations/versions/j4k5l6m7n8o9_labels_db_persistence.py +42 -0
- celerp-1.0.3/celerp/migrations/versions/k5l6m7n8o9p0_add_reconciliation_v2.py +82 -0
- celerp-1.0.3/celerp/migrations/versions/l6m7n8o9p0q1_add_sync_runs_table.py +43 -0
- celerp-1.0.3/celerp/migrations/versions/m7n8o9p0q1r2_add_connector_configs_and_outbound_queue.py +60 -0
- celerp-1.0.3/celerp/models/__init__.py +9 -0
- celerp-1.0.3/celerp/models/accounting.py +25 -0
- celerp-1.0.3/celerp/models/ai.py +114 -0
- celerp-1.0.3/celerp/models/base.py +8 -0
- celerp-1.0.3/celerp/models/company.py +55 -0
- celerp-1.0.3/celerp/models/connector_config.py +60 -0
- celerp-1.0.3/celerp/models/import_batch.py +38 -0
- celerp-1.0.3/celerp/models/ledger.py +36 -0
- celerp-1.0.3/celerp/models/marketplace.py +8 -0
- celerp-1.0.3/celerp/models/notification.py +46 -0
- celerp-1.0.3/celerp/models/projections.py +32 -0
- celerp-1.0.3/celerp/models/share.py +32 -0
- celerp-1.0.3/celerp/models/sync_run.py +36 -0
- celerp-1.0.3/celerp/modules/__init__.py +25 -0
- celerp-1.0.3/celerp/modules/api.py +116 -0
- celerp-1.0.3/celerp/modules/license.py +139 -0
- celerp-1.0.3/celerp/modules/loader.py +440 -0
- celerp-1.0.3/celerp/modules/references.py +35 -0
- celerp-1.0.3/celerp/modules/registry.py +57 -0
- celerp-1.0.3/celerp/modules/slots.py +83 -0
- celerp-1.0.3/celerp/notifications/__init__.py +2 -0
- celerp-1.0.3/celerp/notifications/service.py +160 -0
- celerp-1.0.3/celerp/notifications/sse.py +139 -0
- celerp-1.0.3/celerp/projections/__init__.py +3 -0
- celerp-1.0.3/celerp/projections/engine.py +120 -0
- celerp-1.0.3/celerp/projections/handlers/__init__.py +3 -0
- celerp-1.0.3/celerp/projections/handlers/marketplace.py +42 -0
- celerp-1.0.3/celerp/projections/handlers/scanning.py +32 -0
- celerp-1.0.3/celerp/projections/handlers/system.py +30 -0
- celerp-1.0.3/celerp/routers/__init__.py +3 -0
- celerp-1.0.3/celerp/routers/auth.py +395 -0
- celerp-1.0.3/celerp/routers/companies.py +1657 -0
- celerp-1.0.3/celerp/routers/doctor.py +528 -0
- celerp-1.0.3/celerp/routers/health.py +81 -0
- celerp-1.0.3/celerp/routers/ledger.py +103 -0
- celerp-1.0.3/celerp/routers/notifications.py +121 -0
- celerp-1.0.3/celerp/routers/system.py +331 -0
- celerp-1.0.3/celerp/schemas/__init__.py +2 -0
- celerp-1.0.3/celerp/services/__init__.py +3 -0
- celerp-1.0.3/celerp/services/attachments.py +244 -0
- celerp-1.0.3/celerp/services/auth.py +156 -0
- celerp-1.0.3/celerp/services/auto_je.py +380 -0
- celerp-1.0.3/celerp/services/backup.py +215 -0
- celerp-1.0.3/celerp/services/backup_export.py +117 -0
- celerp-1.0.3/celerp/services/backup_files.py +173 -0
- celerp-1.0.3/celerp/services/backup_import.py +132 -0
- celerp-1.0.3/celerp/services/backup_scheduler.py +177 -0
- celerp-1.0.3/celerp/services/demo.py +1283 -0
- celerp-1.0.3/celerp/services/email.py +83 -0
- celerp-1.0.3/celerp/services/field_schema.py +105 -0
- celerp-1.0.3/celerp/services/fulfill.py +293 -0
- celerp-1.0.3/celerp/services/je_keys.py +18 -0
- celerp-1.0.3/celerp/services/pick.py +149 -0
- celerp-1.0.3/celerp/services/session_tracker.py +37 -0
- celerp-1.0.3/celerp/services/system_health.py +79 -0
- celerp-1.0.3/celerp/session_gate.py +83 -0
- celerp-1.0.3/celerp/tax_regimes.py +218 -0
- celerp-1.0.3/celerp.egg-info/PKG-INFO +256 -0
- celerp-1.0.3/celerp.egg-info/SOURCES.txt +399 -0
- celerp-1.0.3/celerp.egg-info/dependency_links.txt +1 -0
- celerp-1.0.3/celerp.egg-info/entry_points.txt +2 -0
- celerp-1.0.3/celerp.egg-info/requires.txt +42 -0
- celerp-1.0.3/celerp.egg-info/top_level.txt +3 -0
- celerp-1.0.3/default_modules/__init__.py +8 -0
- celerp-1.0.3/default_modules/celerp-accounting/__init__.py +26 -0
- celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/api_setup.py +9 -0
- celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/csv_parser.py +145 -0
- celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/matcher.py +196 -0
- celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/models.py +126 -0
- celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/projections.py +31 -0
- celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/routes.py +2048 -0
- celerp-1.0.3/default_modules/celerp-accounting/celerp_accounting/ui_routes.py +288 -0
- celerp-1.0.3/default_modules/celerp-admin/__init__.py +17 -0
- celerp-1.0.3/default_modules/celerp-admin/celerp_admin/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-admin/celerp_admin/routes.py +528 -0
- celerp-1.0.3/default_modules/celerp-admin/celerp_admin/setup.py +7 -0
- celerp-1.0.3/default_modules/celerp-ai/__init__.py +22 -0
- celerp-1.0.3/default_modules/celerp-ai/celerp_ai/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-ai/celerp_ai/routes.py +753 -0
- celerp-1.0.3/default_modules/celerp-ai/celerp_ai/setup.py +8 -0
- celerp-1.0.3/default_modules/celerp-ai/celerp_ai/ui_routes.py +1076 -0
- celerp-1.0.3/default_modules/celerp-backup/__init__.py +20 -0
- celerp-1.0.3/default_modules/celerp-backup/celerp_backup/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-backup/celerp_backup/routes.py +261 -0
- celerp-1.0.3/default_modules/celerp-backup/celerp_backup/setup.py +7 -0
- celerp-1.0.3/default_modules/celerp-connectors/__init__.py +42 -0
- celerp-1.0.3/default_modules/celerp-connectors/celerp_connectors/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-connectors/celerp_connectors/models.py +26 -0
- celerp-1.0.3/default_modules/celerp-connectors/celerp_connectors/routes.py +146 -0
- celerp-1.0.3/default_modules/celerp-contacts/__init__.py +36 -0
- celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/__init__.py +3 -0
- celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/projections.py +159 -0
- celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/routes.py +1082 -0
- celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/services.py +80 -0
- celerp-1.0.3/default_modules/celerp-contacts/celerp_contacts/ui_routes.py +15 -0
- celerp-1.0.3/default_modules/celerp-dashboard/__init__.py +19 -0
- celerp-1.0.3/default_modules/celerp-dashboard/celerp_dashboard/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-dashboard/celerp_dashboard/routes.py +112 -0
- celerp-1.0.3/default_modules/celerp-dashboard/celerp_dashboard/setup.py +7 -0
- celerp-1.0.3/default_modules/celerp-docs/__init__.py +37 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/__init__.py +3 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/_ui_documents.py +1250 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/api_setup.py +14 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/doc_constants.py +6 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/doc_projections.py +257 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/doc_service.py +79 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/models_share.py +4 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/pdf.py +442 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/routes.py +2020 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/routes_share.py +619 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/sequences.py +164 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/taxes.py +40 -0
- celerp-1.0.3/default_modules/celerp-docs/celerp_docs/ui_routes.py +9 -0
- celerp-1.0.3/default_modules/celerp-inventory/__init__.py +35 -0
- celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/__init__.py +22 -0
- celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/models_import_batch.py +4 -0
- celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/projections.py +122 -0
- celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/routes.py +1683 -0
- celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/routes_attachments.py +264 -0
- celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/routes_scanning.py +107 -0
- celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/services.py +80 -0
- celerp-1.0.3/default_modules/celerp-inventory/celerp_inventory/ui_routes.py +20 -0
- celerp-1.0.3/default_modules/celerp-labels/LICENSE +21 -0
- celerp-1.0.3/default_modules/celerp-labels/__init__.py +64 -0
- celerp-1.0.3/default_modules/celerp-labels/celerp_labels/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-labels/celerp_labels/migrations/__init__.py +7 -0
- celerp-1.0.3/default_modules/celerp-labels/celerp_labels/migrations/labels_001_create_label_templates.py +38 -0
- celerp-1.0.3/default_modules/celerp-labels/celerp_labels/models.py +71 -0
- celerp-1.0.3/default_modules/celerp-labels/celerp_labels/routes.py +264 -0
- celerp-1.0.3/default_modules/celerp-labels/celerp_labels/service.py +263 -0
- celerp-1.0.3/default_modules/celerp-labels/celerp_labels/ui_routes.py +1415 -0
- celerp-1.0.3/default_modules/celerp-labels/requirements.txt +4 -0
- celerp-1.0.3/default_modules/celerp-manufacturing/LICENSE +21 -0
- celerp-1.0.3/default_modules/celerp-manufacturing/__init__.py +53 -0
- celerp-1.0.3/default_modules/celerp-manufacturing/celerp_manufacturing/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-manufacturing/celerp_manufacturing/projection_handler.py +49 -0
- celerp-1.0.3/default_modules/celerp-manufacturing/celerp_manufacturing/routes.py +621 -0
- celerp-1.0.3/default_modules/celerp-manufacturing/celerp_manufacturing/ui_routes.py +22 -0
- celerp-1.0.3/default_modules/celerp-manufacturing/requirements.txt +3 -0
- celerp-1.0.3/default_modules/celerp-reports/__init__.py +17 -0
- celerp-1.0.3/default_modules/celerp-reports/celerp_reports/__init__.py +2 -0
- celerp-1.0.3/default_modules/celerp-reports/celerp_reports/api_setup.py +9 -0
- celerp-1.0.3/default_modules/celerp-reports/celerp_reports/routes.py +554 -0
- celerp-1.0.3/default_modules/celerp-reports/celerp_reports/ui_routes.py +561 -0
- celerp-1.0.3/default_modules/celerp-subscriptions/__init__.py +26 -0
- celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/__init__.py +22 -0
- celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/projection_handler.py +34 -0
- celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/routes.py +412 -0
- celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/ui_routes.py +482 -0
- celerp-1.0.3/default_modules/celerp-subscriptions/celerp_subscriptions/ui_routes_import.py +189 -0
- celerp-1.0.3/default_modules/celerp-verticals/__init__.py +23 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/__init__.py +19 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/accessory_fashion.json +66 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/activewear.json +72 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/art_photography.json +121 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/audio_equipment.json +89 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/bag_handbag.json +88 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/banknote.json +78 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/beauty_tool.json +53 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/bed_bedroom.json +97 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/beer.json +85 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/beverage_nonalc.json +81 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/body_part_auto.json +97 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/book.json +79 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/bottoms.json +86 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/brake_suspension.json +99 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/bullion_coin.json +85 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/camera.json +96 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/colored_stone.json +211 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/comic.json +71 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/commercial_space.json +131 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/component_part.json +63 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/confectionery.json +68 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/consulting_service.json +88 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/decorative_art.json +115 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/diamond.json +175 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/drawing.json +114 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/dress_jumpsuit.json +81 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/electrical_auto.json +76 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/electrical_component.json +63 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/emerald.json +141 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/engine_part.json +80 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fastener.json +79 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fertilizer_chemical.json +83 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/film_video.json +91 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fine_writing_instrument.json +117 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fluid_lubricant.json +56 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/footwear.json +75 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fragrance.json +63 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fresh_food.json +67 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/fresh_produce.json +82 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/frozen_food.json +78 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/gaming_console.json +65 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/gold_bullion.json +86 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/grain_cereal.json +84 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/haircare.json +74 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/hand_tool.json +61 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/ingredient_bulk.json +63 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/interior_part.json +83 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/jewelry.json +91 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/kitchen_dining.json +60 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/laptop.json +105 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/lighting.json +89 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/livestock_feed.json +81 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/makeup.json +75 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/measuring_instrument.json +68 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/medal_token.json +80 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/mineral_specimen.json +118 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/mobile_phone.json +79 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/music_cd.json +74 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/music_vinyl.json +115 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/nail.json +63 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/numismatic_coin.json +102 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/outdoor_furniture.json +86 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/outerwear.json +86 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/packaged_food.json +82 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/painting.json +138 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/parking_bay.json +79 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/pearl.json +122 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/personal_care.json +56 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/pipe_plumbing.json +65 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/platinum_bullion.json +92 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/power_tool.json +83 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/print_edition.json +142 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/residential_unit.json +110 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/rough_gemstone.json +124 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/ruby.json +142 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/saas_plan.json +86 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/safety_ppe.json +59 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/sapphire.json +148 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/sculpture.json +140 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/seating.json +98 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/seeds.json +72 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/silver_bullion.json +85 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/skincare.json +72 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/soft_furnishing.json +60 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/software_addon.json +56 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/software_license.json +85 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/spirit.json +91 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/storage_furniture.json +77 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/swimwear.json +75 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/table_desk.json +90 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/tablet.json +81 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/tire_wheel.json +83 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/tops.json +71 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/trading_card.json +80 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/tv_display.json +86 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/video_game.json +84 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/watch.json +131 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/watch_strap.json +92 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/categories/wine.json +111 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/agricultural.json +27 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/artwork.json +25 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/automotive.json +26 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/blank.json +12 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/books_media.json +26 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/coins_precious_metals.json +26 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/consulting.json +22 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/cosmetics.json +26 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/electronics.json +27 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/fashion.json +28 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/food_beverage.json +28 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/furniture.json +27 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/gemstones.json +28 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/hardware.json +26 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/property_rental.json +24 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/saas.json +24 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/watches.json +23 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/presets/wine_spirits.json +25 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/routes.py +237 -0
- celerp-1.0.3/default_modules/celerp-verticals/celerp_verticals/ui_routes.py +8 -0
- celerp-1.0.3/pyproject.toml +131 -0
- celerp-1.0.3/setup.cfg +4 -0
- celerp-1.0.3/ui/LICENSE +23 -0
- celerp-1.0.3/ui/__init__.py +4 -0
- celerp-1.0.3/ui/api_client.py +1627 -0
- celerp-1.0.3/ui/app.py +264 -0
- celerp-1.0.3/ui/components/__init__.py +2 -0
- celerp-1.0.3/ui/components/activity.py +356 -0
- celerp-1.0.3/ui/components/backup.py +87 -0
- celerp-1.0.3/ui/components/cloud_gate.py +90 -0
- celerp-1.0.3/ui/components/shell.py +647 -0
- celerp-1.0.3/ui/components/table.py +1099 -0
- celerp-1.0.3/ui/config.py +54 -0
- celerp-1.0.3/ui/i18n.py +71 -0
- celerp-1.0.3/ui/locales/ar.json +1146 -0
- celerp-1.0.3/ui/locales/de.json +1146 -0
- celerp-1.0.3/ui/locales/en.json +1146 -0
- celerp-1.0.3/ui/locales/es.json +1146 -0
- celerp-1.0.3/ui/locales/fr.json +1146 -0
- celerp-1.0.3/ui/locales/id.json +1146 -0
- celerp-1.0.3/ui/locales/it.json +1146 -0
- celerp-1.0.3/ui/locales/ja.json +1146 -0
- celerp-1.0.3/ui/locales/pt.json +1146 -0
- celerp-1.0.3/ui/locales/th.json +1146 -0
- celerp-1.0.3/ui/locales/vi.json +1146 -0
- celerp-1.0.3/ui/routes/__init__.py +2 -0
- celerp-1.0.3/ui/routes/accounting.py +248 -0
- celerp-1.0.3/ui/routes/accounting_import.py +272 -0
- celerp-1.0.3/ui/routes/auth.py +650 -0
- celerp-1.0.3/ui/routes/contacts.py +2289 -0
- celerp-1.0.3/ui/routes/csv_import.py +1342 -0
- celerp-1.0.3/ui/routes/dashboard.py +813 -0
- celerp-1.0.3/ui/routes/docs_import.py +356 -0
- celerp-1.0.3/ui/routes/documents.py +4620 -0
- celerp-1.0.3/ui/routes/inventory.py +2959 -0
- celerp-1.0.3/ui/routes/lists_import.py +296 -0
- celerp-1.0.3/ui/routes/manufacturing.py +814 -0
- celerp-1.0.3/ui/routes/manufacturing_import.py +568 -0
- celerp-1.0.3/ui/routes/notifications.py +100 -0
- celerp-1.0.3/ui/routes/reconciliation.py +885 -0
- celerp-1.0.3/ui/routes/reports.py +561 -0
- celerp-1.0.3/ui/routes/search.py +72 -0
- celerp-1.0.3/ui/routes/settings.py +4071 -0
- celerp-1.0.3/ui/routes/settings_accounting.py +643 -0
- celerp-1.0.3/ui/routes/settings_cloud.py +710 -0
- celerp-1.0.3/ui/routes/settings_connectors.py +711 -0
- celerp-1.0.3/ui/routes/settings_contacts.py +298 -0
- celerp-1.0.3/ui/routes/settings_general.py +150 -0
- celerp-1.0.3/ui/routes/settings_import.py +644 -0
- celerp-1.0.3/ui/routes/settings_inventory.py +513 -0
- celerp-1.0.3/ui/routes/settings_purchasing.py +86 -0
- celerp-1.0.3/ui/routes/settings_sales.py +291 -0
- celerp-1.0.3/ui/routes/setup.py +647 -0
- celerp-1.0.3/ui/routes/subscriptions.py +483 -0
- celerp-1.0.3/ui/routes/subscriptions_import.py +319 -0
- celerp-1.0.3/ui/static/app.css +1901 -0
- celerp-1.0.3/ui/static/htmx.min.js +1 -0
- celerp-1.0.3/ui/static/icon.png +0 -0
- 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.
|
celerp-1.0.3/MANIFEST.in
ADDED
|
@@ -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
|
+
[](https://github.com/celerp/celerp/actions)
|
|
149
|
+
[](LICENSE)
|
|
150
|
+
|
|
151
|
+

|
|
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
|
+
[](https://github.com/celerp/celerp/actions)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
|
|
10
|
+

|
|
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.
|
celerp-1.0.3/alembic.ini
ADDED
|
@@ -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
|