celerp 2.5.0__tar.gz → 2.5.2__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-2.5.0 → celerp-2.5.2}/CONTRIBUTING.md +24 -3
- {celerp-2.5.0 → celerp-2.5.2}/PKG-INFO +84 -33
- {celerp-2.5.0 → celerp-2.5.2}/README.md +3 -1
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/quota.py +1 -1
- {celerp-2.5.0 → celerp-2.5.2}/celerp/cli.py +278 -74
- {celerp-2.5.0 → celerp-2.5.2}/celerp/config.py +27 -29
- {celerp-2.5.0 → celerp-2.5.2}/celerp/config_store.py +72 -27
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/base.py +38 -3
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/daily_scheduler.py +61 -48
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/http.py +28 -6
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/images.py +16 -9
- celerp-2.5.2/celerp/connectors/outbound_queue.py +550 -0
- celerp-2.5.2/celerp/connectors/ownership.py +556 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/quickbooks.py +53 -0
- celerp-2.5.2/celerp/connectors/relay_token.py +89 -0
- celerp-2.5.2/celerp/connectors/remote_state.py +185 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/shopify.py +26 -38
- celerp-2.5.2/celerp/connectors/sync_runner.py +491 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/upsert.py +29 -0
- celerp-2.5.2/celerp/connectors/webhooks.py +225 -0
- celerp-2.5.2/celerp/connectors/woocommerce.py +1054 -0
- celerp-2.5.2/celerp/connectors/xero.py +481 -0
- celerp-2.5.2/celerp/db_url.py +16 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/embedded_pg.py +80 -26
- {celerp-2.5.0 → celerp-2.5.2}/celerp/events/engine.py +162 -18
- {celerp-2.5.0 → celerp-2.5.2}/celerp/events/schemas.py +1 -1
- {celerp-2.5.0 → celerp-2.5.2}/celerp/gateway/__init__.py +14 -18
- {celerp-2.5.0 → celerp-2.5.2}/celerp/gateway/client.py +145 -6
- {celerp-2.5.0 → celerp-2.5.2}/celerp/gateway/state.py +28 -78
- {celerp-2.5.0 → celerp-2.5.2}/celerp/inventory_codes.py +28 -25
- {celerp-2.5.0 → celerp-2.5.2}/celerp/main.py +92 -22
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/_auto_stamp.py +131 -48
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/_json_compat.py +21 -2
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/env.py +2 -2
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/b3c4d5e6f7a8_expand_role_permissions_to_role_grants.py +18 -28
- celerp-2.5.2/celerp/migrations/versions/bc0d1e2f3a4b_barcode_unique_index.py +38 -0
- celerp-2.5.2/celerp/migrations/versions/d1e2f3a4b5c6_rfid_epc_unique_index.py +32 -0
- celerp-2.5.2/celerp/migrations/versions/f8a9b0c1d2e3_work_center_default_backfill.py +114 -0
- celerp-2.5.2/celerp/migrations/versions/g4b5c6d7e8f9_add_install_owner.py +40 -0
- celerp-2.5.2/celerp/migrations/versions/h5c6d7e8f9a0_backfill_install_owner.py +54 -0
- celerp-2.5.2/celerp/migrations/versions/i6d7e8f9a0b1_add_sync_run_attention.py +25 -0
- celerp-2.5.2/celerp/migrations/versions/j7e8f9a0b1c2_add_connector_sources.py +32 -0
- celerp-2.5.2/celerp/migrations/versions/k8f9a0b1c2d3_drop_physical_code_unique_indexes.py +40 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/__init__.py +1 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/company.py +8 -0
- celerp-2.5.2/celerp/models/connector_source.py +26 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/projections.py +0 -24
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/sync_run.py +8 -0
- celerp-2.5.2/celerp/modules/api.py +38 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/loader.py +36 -11
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/migrations_runner.py +1 -1
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/slots.py +1 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/output/doc_print.py +33 -15
- celerp-2.5.2/celerp/output/document_context.py +98 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/output/pdf.py +42 -24
- {celerp-2.5.0 → celerp-2.5.2}/celerp/projections/engine.py +2 -2
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/auth.py +47 -8
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/companies.py +166 -37
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/debug.py +0 -18
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/doctor.py +123 -91
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/health.py +429 -240
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/system.py +60 -4
- celerp-2.5.2/celerp/runtime.py +153 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/attachments.py +218 -10
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/auth.py +25 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/auto_je.py +75 -15
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/backup.py +44 -16
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/backup_import.py +105 -14
- celerp-2.5.2/celerp/services/business_time.py +27 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/cloud_entitlement.py +114 -28
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/cost_visibility.py +13 -9
- celerp-2.5.2/celerp/services/csv_export.py +60 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/demo.py +1 -8
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/field_schema.py +12 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/fulfill.py +15 -6
- celerp-2.5.2/celerp/services/holdings.py +249 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/landed_cost.py +7 -3
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/money.py +97 -1
- celerp-2.5.2/celerp/services/outbound_url.py +195 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/payments.py +7 -5
- celerp-2.5.2/celerp/services/physical_codes.py +152 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/pick.py +41 -0
- celerp-2.5.2/celerp/services/terms.py +82 -0
- celerp-2.5.2/celerp/services/update.py +855 -0
- celerp-2.5.2/celerp/session_gate.py +58 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp.egg-info/PKG-INFO +84 -33
- {celerp-2.5.0 → celerp-2.5.2}/celerp.egg-info/SOURCES.txt +22 -7
- celerp-2.5.2/celerp.egg-info/requires.txt +116 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp.egg-info/scm_file_list.json +56 -9
- {celerp-2.5.0 → celerp-2.5.2}/conftest.py +2 -0
- celerp-2.5.2/constraints.txt +227 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_journal_gl_soa.py +9 -7
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-admin/celerp_admin/routes.py +162 -116
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/celerp_ai/routes.py +3 -6
- celerp-2.5.2/default_modules/celerp-ai/tests/_fixtures.py +140 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_commercial_routing.py +7 -12
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_llm.py +13 -14
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_quota.py +1 -1
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-backup/celerp_backup/routes.py +83 -60
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/__init__.py +14 -15
- celerp-2.5.2/default_modules/celerp-connectors/celerp_connectors/routes.py +758 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/conftest.py +19 -2
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_connector_correctness.py +13 -10
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_connectors.py +132 -21
- celerp-2.5.2/default_modules/celerp-connectors/tests/test_credentials_routes.py +590 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_images.py +9 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_outbound.py +1 -63
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_rate_limiting.py +46 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_shopify.py +45 -8
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_wiring.py +168 -22
- celerp-2.5.2/default_modules/celerp-connectors/tests/test_woocommerce.py +762 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_woocommerce_webhooks.py +26 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_xero.py +15 -11
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/celerp_contacts/routes.py +3 -5
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/celerp_contacts/services.py +29 -6
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/doc_projections.py +9 -13
- celerp-2.5.2/default_modules/celerp-docs/celerp_docs/doc_service.py +1306 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/routes.py +1201 -430
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/routes_payments.py +37 -17
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/routes_share.py +153 -85
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_audits.py +7 -8
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_list_concurrency.py +91 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_list_outcome_concurrency.py +2 -1
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_list_query_pushdown.py +96 -0
- celerp-2.5.2/default_modules/celerp-docs/tests/test_list_reprice.py +410 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_memo_lifecycle_concurrency.py +90 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_receive_sku_batch.py +1 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/celerp_inventory/projections.py +35 -2
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/celerp_inventory/routes.py +471 -290
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/celerp_inventory/routes_attachments.py +97 -40
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/celerp_inventory/search.py +3 -6
- celerp-2.5.2/default_modules/celerp-inventory/celerp_inventory/services.py +2252 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/tests/test_import_service.py +104 -0
- celerp-2.5.2/default_modules/celerp-inventory/tests/test_physical_mutation_concurrency.py +235 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/routes.py +2 -6
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-subscriptions/celerp_subscriptions/routes.py +14 -3
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-subscriptions/tests/test_subscriptions.py +18 -0
- celerp-2.5.2/default_modules/first_party.lock.json +16 -0
- {celerp-2.5.0 → celerp-2.5.2}/pyproject.toml +80 -45
- {celerp-2.5.0 → celerp-2.5.2}/ui/api_client.py +87 -29
- {celerp-2.5.0 → celerp-2.5.2}/ui/app.py +4 -2
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/report_kit.py +1 -9
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/shell.py +178 -80
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/table.py +19 -4
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/am.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/ar.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/de.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/en.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/es.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/fr.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/id.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/it.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/ja.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/pt.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/th.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/locales/vi.json +53 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/account.py +4 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/auth.py +59 -8
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/contacts.py +21 -4
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/dashboard.py +1 -2
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/documents.py +634 -506
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/inventory.py +298 -41
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings.py +111 -31
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_cloud.py +86 -39
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_connectors.py +581 -252
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_inventory.py +2 -5
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_payments.py +4 -6
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/subscriptions.py +5 -19
- celerp-2.5.2/ui/routes/system_update.py +57 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/app.css +28 -3
- celerp-2.5.0/celerp/connectors/relay_token.py +0 -50
- celerp-2.5.0/celerp/connectors/sync_runner.py +0 -228
- celerp-2.5.0/celerp/connectors/webhooks.py +0 -116
- celerp-2.5.0/celerp/connectors/woocommerce.py +0 -457
- celerp-2.5.0/celerp/connectors/xero.py +0 -263
- celerp-2.5.0/celerp/migrations/versions/bc0d1e2f3a4b_barcode_unique_index.py +0 -119
- celerp-2.5.0/celerp/migrations/versions/d1e2f3a4b5c6_rfid_epc_unique_index.py +0 -44
- celerp-2.5.0/celerp/migrations/versions/f8a9b0c1d2e3_work_center_default_backfill.py +0 -93
- celerp-2.5.0/celerp/modules/api.py +0 -108
- celerp-2.5.0/celerp/services/holdings.py +0 -182
- celerp-2.5.0/celerp/session_gate.py +0 -77
- celerp-2.5.0/celerp.egg-info/requires.txt +0 -49
- celerp-2.5.0/celerp.egg-info/scm_version.json +0 -8
- celerp-2.5.0/default_modules/celerp-ai/tests/_fixtures.py +0 -91
- celerp-2.5.0/default_modules/celerp-ai/tests/fixtures/relay/error_402.json +0 -6
- celerp-2.5.0/default_modules/celerp-ai/tests/fixtures/relay/error_409.json +0 -6
- celerp-2.5.0/default_modules/celerp-ai/tests/fixtures/relay/error_429.json +0 -6
- celerp-2.5.0/default_modules/celerp-ai/tests/fixtures/relay/mutation_tool_call.json +0 -25
- celerp-2.5.0/default_modules/celerp-ai/tests/fixtures/relay/read_tool_call.json +0 -25
- celerp-2.5.0/default_modules/celerp-ai/tests/fixtures/relay/text_completion.json +0 -15
- celerp-2.5.0/default_modules/celerp-connectors/celerp_connectors/routes.py +0 -301
- celerp-2.5.0/default_modules/celerp-connectors/tests/test_credentials_routes.py +0 -163
- celerp-2.5.0/default_modules/celerp-connectors/tests/test_woocommerce.py +0 -269
- celerp-2.5.0/default_modules/celerp-docs/celerp_docs/doc_service.py +0 -319
- celerp-2.5.0/default_modules/celerp-inventory/celerp_inventory/services.py +0 -1181
- celerp-2.5.0/default_modules/first_party.lock.json +0 -16
- {celerp-2.5.0 → celerp-2.5.2}/CLA.md +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/LICENSING.md +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/MANIFEST.in +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/NOTICE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/alembic.ini +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/__main__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/batch.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/cleanup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/conversations.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/files.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/intent.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/llm.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/memory.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/models.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/page_count.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/service.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/ai/tools.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/alembic.ini +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/alembic_config.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/capacity.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/compat.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/compute/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/compute/aggregations.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/compute/valuation.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/registry.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/connectors/util.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/constants.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/db.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/entitlement_preflight.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/events/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/events/types.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/gateway/bootstrap.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/gateway/fixtures/entitlement_flags_fixture.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/importers/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/importers/importer.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/importers/schema.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/importers/tabular.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/middleware.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/README.md +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/_data_reconcile.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/script.py.mako +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/a0b1c2d3e4f5_seed_landed_cost_clearing_accounts.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/a1b2c3d4e5f6_add_doc_share_tokens.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/b1c2d3e4f5a6_add_supporter_badges.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/b2c3d4e5f6a7_add_import_batches.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/c1d2e3f4a5b6_add_marketplace.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/c2d3e4f5a6b7_add_is_sync_to_shopify.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/c4d5e6f7a8b9_account_cash_flow_category.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/c9d8e7f6a5b4_seed_shrinkage_writeoff_account.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/d0e1f2a3b4c5_add_share_token_expiry.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/d2e3f4a5b6c7_add_password_reset_token.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/d5e6f7a8b9c0_rename_fx_rounding_to_fx_difference.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/e3f4a5b6c7d8_add_company_is_active.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/e4f5a6b7c8d9_backfill_connector_idempotency_key.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/e7c9a1b3d5f2_work_center_default_columns.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/f1a2b3c4d5e6_move_accounts_marketplace_to_modules.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/f3a4b5c6d7e8_purge_session_registry.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/f6a7b8c9d0e1_seed_fx_rounding_account.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/fd5de461e14e_initial_schema.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/g1h2i3j4k5l6_add_consignment_flag.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/h2i3j4k5l6m7_add_bank_accounts_and_reconciliation.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/j4k5l6m7n8o9_labels_db_persistence.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/k5l6m7n8o9p0_add_reconciliation_v2.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/l6m7n8o9p0q1_add_sync_runs_table.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/m7n8o9p0q1r2_add_connector_configs_and_outbound_queue.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/n8o9p0q1r2s3_backfill_payment_date.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/o9p0q1r2s3t4_backfill_item_price_fields.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/p1q2r3s4t5u6_add_session_registry_and_user_auth_state.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/q2r3s4t5u6v7_add_system_runtime_state.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/r3s4t5u6v7w8_add_projections_company_entity_type_index.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/s4t5u6v7w8x9_drop_user_company_id_role.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/t5u6v7w8x9y0_seed_inventory_sub_accounts.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/u6v7w8x9y0z1_backfill_item_prices_from_attributes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/v7w8x9y0z1a2_backfill_purchase_unit_defaults.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/w8x9y0z1a2b3_backfill_category_unit_defaults.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/x7y8z9a0b1c2_add_projection_created_at.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/y8z9a0b1c2d3_per_company_ledger_idempotency.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/migrations/versions/z9a0b1c2d3e4_work_centers.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/accounting.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/ai.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/auth.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/base.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/connector_config.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/import_batch.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/ledger.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/marketplace.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/notification.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/share.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/models/supporter.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/audit.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/demotion.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/importer.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/license.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/meta.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/references.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/modules/registry.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/notifications/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/notifications/service.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/notifications/sse.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/output/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/output/branding.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/output/share_render.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/projections/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/projections/handlers/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/projections/handlers/marketplace.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/projections/handlers/scanning.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/projections/handlers/shopify.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/projections/handlers/system.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/attachments.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/events.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/ledger.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/notifications.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/search.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/routers/stars.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/schemas/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/activity_redaction.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/background.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/backup_export.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/backup_repo.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/backup_scheduler.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/backup_state.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/cogs_backfill.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/dev_release_guard.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/document_lines.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/email.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/je_keys.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/line_measures.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/list_behavior.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/permissions.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/pricing.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/relay_share.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/reorder.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/runtime_state.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/session_tracker.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/shipping.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/star_cta.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/status_doc_backfill.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/supporter_badge.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/system_health.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/services/units.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp/tax_regimes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp.egg-info/dependency_links.txt +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp.egg-info/entry_points.txt +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/celerp.egg-info/top_level.txt +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/conftest_support.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/api_setup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/csv_parser.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/matcher.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/models.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/projections.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/search.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/celerp_accounting/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/balance-sheet.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/cash-flow.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/extended-journal-csv.csv +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/extended-journal-print.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/extended-journal.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/general-ledger.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/journal-csv.csv +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/journal-print.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/journal.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/ledger.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/pnl.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/statement.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/report_goldens/trial-balance.html +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_accounting_banking.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_accounting_banking_routers.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_accounting_gaps.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_accounting_import_idempotency.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_cash_flow.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_financial_reports_ui.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_journal_gl_soa_ui.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_reconciliation_agent.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_reconciliation_v2.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_reports_end_to_end.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-accounting/tests/test_route_permissions.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-admin/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-admin/celerp_admin/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-admin/celerp_admin/setup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/celerp_ai/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/celerp_ai/setup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/celerp_ai/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/conftest.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_agent_loop.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_batch.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_cleanup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_confirm_race_pg.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_conversations.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_coverage_gaps.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_intent.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_live_agent.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_memory.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_models.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_page_count.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_router.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_routes_coverage.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_showcase_claims.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-ai/tests/test_workflows.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-backup/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-backup/celerp_backup/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-backup/celerp_backup/setup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/celerp_connectors/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/celerp_connectors/models.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_compliance.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-connectors/tests/test_quickbooks.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/celerp_contacts/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/celerp_contacts/migrations.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/celerp_contacts/projections.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/celerp_contacts/search.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-contacts/celerp_contacts/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-dashboard/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-dashboard/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-dashboard/celerp_dashboard/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-dashboard/celerp_dashboard/routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-dashboard/celerp_dashboard/setup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/api_setup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/doc_constants.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/doc_email.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/models_share.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/search.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/sequences.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/taxes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/celerp_docs/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/conftest.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_bulk_payment_alloc_lock.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_consolidate_lots.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_cross_lot_settlement.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_freight_je.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_freight_lines.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_fulfill_no_split.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_fulfillment_activity.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_inbound_je_lifecycle.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_inventory_account_reconciliation.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_landed_receive.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_line_delete_persist.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_line_identifier.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_line_page_patch_truncate.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_list_ids_filter.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_list_page_no_full_state.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_list_quantity_integrity.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_list_sell_by_and_reference.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_memo_close.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_memo_close_projection.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_memo_close_review_fixes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_memo_line_labels.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_memo_unfulfilled_filter.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_payment_void_activity.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_send_visibility.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_service_lines.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_sold_label_ordering.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_void_guards.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-docs/tests/test_writeoffs.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/celerp_inventory/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/celerp_inventory/models_import_batch.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/celerp_inventory/routes_scanning.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/celerp_inventory/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/tests/test_import_agent_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/tests/test_item_recipe_projection.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/tests/test_item_workflow_projection.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-inventory/tests/test_landed_cost_projection.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/am.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/ar.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/de.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/en.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/es.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/fr.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/id.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/it.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/ja.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/pt.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/th.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/locales/vi.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/models.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/presets.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/service.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/celerp_labels/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/requirements.txt +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/tests/test_labels.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-labels/tests/test_labels_module.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/costing.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/expansion.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/labor.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/migrations.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/projection_handler.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/search.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/celerp_manufacturing/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/requirements.txt +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_auto_complete_on_finalize.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_bom_removed.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_build_api.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_completion_lock_order.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_item_recipe_api.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_item_workflow_api.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_labor_providers.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_manufacture_from_doc.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_manufacturing.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_manufacturing_import_idempotency.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_manufacturing_module.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_mfg_events.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_phase2_manufacturing_validations.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_production_order.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_recipe_costing.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_recipe_expansion.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_recost_api.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_run_records.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_to_make_allocation.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_where_used.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_work_centers_and_settings.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-manufacturing/tests/test_workflow_time.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-reports/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-reports/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-reports/celerp_reports/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-reports/celerp_reports/api_setup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-reports/celerp_reports/routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-reports/celerp_reports/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-reports/tests/test_reports_full.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-reports/tests/test_reports_unit.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-subscriptions/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-subscriptions/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-subscriptions/celerp_subscriptions/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-subscriptions/celerp_subscriptions/search.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-subscriptions/celerp_subscriptions/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-subscriptions/tests/test_subscriptions_ui.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/LICENSE +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/accessory_fashion.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/activewear.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/art_photography.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/audio_equipment.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/bag_handbag.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/banknote.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/beauty_tool.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/bed_bedroom.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/beer.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/beverage_nonalc.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/body_part_auto.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/book.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/bottoms.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/brake_suspension.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/bullion_coin.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/camera.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/colored_stone.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/comic.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/commercial_space.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/component_part.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/confectionery.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/consulting_service.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/decorative_art.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/diamond.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/drawing.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/dress_jumpsuit.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/electrical_auto.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/electrical_component.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/emerald.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/engine_part.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/fastener.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/fertilizer_chemical.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/film_video.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/fine_writing_instrument.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/fluid_lubricant.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/footwear.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/fragrance.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/fresh_food.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/fresh_produce.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/frozen_food.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/gaming_console.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/gold_bullion.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/grain_cereal.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/haircare.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/hand_tool.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/ingredient_bulk.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/interior_part.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/jewelry.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/kitchen_dining.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/laptop.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/lighting.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/livestock_feed.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/makeup.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/measuring_instrument.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/medal_token.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/mineral_specimen.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/mobile_phone.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/music_cd.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/music_vinyl.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/nail.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/numismatic_coin.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/outdoor_furniture.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/outerwear.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/packaged_food.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/painting.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/parking_bay.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/pearl.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/personal_care.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/pipe_plumbing.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/platinum_bullion.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/power_tool.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/print_edition.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/residential_unit.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/rough_gemstone.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/ruby.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/saas_plan.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/safety_ppe.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/sapphire.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/sculpture.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/seating.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/seeds.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/silver_bullion.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/skincare.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/soft_furnishing.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/software_addon.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/software_license.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/spirit.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/storage_furniture.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/swimwear.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/table_desk.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/tablet.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/tire_wheel.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/tops.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/trading_card.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/tv_display.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/video_game.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/watch.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/watch_strap.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/categories/wine.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/agricultural.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/artwork.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/automotive.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/blank.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/books_media.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/coins_precious_metals.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/consulting.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/cosmetics.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/electronics.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/fashion.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/food_beverage.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/furniture.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/gemstones.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/hardware.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/property_rental.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/saas.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/watches.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/presets/wine_spirits.json +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/celerp_verticals/ui_routes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/tests/test_verticals.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/default_modules/celerp-verticals/tests/test_verticals_routers.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/legal/OFFICIAL-COMPONENTS.md +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/legal/TRADEMARK.md +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/packaging/winget/Celerp.Celerp.installer.yaml +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/packaging/winget/Celerp.Celerp.locale.en-US.yaml +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/packaging/winget/Celerp.Celerp.yaml +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/packaging/winget/README.md +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/setup.cfg +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/test_helpers.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/activity.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/attrs.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/backup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/cloud_gate.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/currency.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/files.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/journal.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/notes.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/components/phone.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/config.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/i18n.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/marketplace_catalog.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/__init__.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/accounting.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/accounting_import.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/commercial.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/csv_import.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/docs_import.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/events.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/financial_reports.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/lists_import.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/manufacturing.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/modules_page.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/notifications.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/reconciliation.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/reports.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/search.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_accounting.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_contacts.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_general.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_import.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_manufacturing.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_purchasing.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/settings_sales.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/setup.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/stars.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/routes/subscriptions_import.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/security.py +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/htmx.min.js +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/icon.png +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/logo.png +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/vendor/intl-tel-input/img/flags.webp +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/vendor/intl-tel-input/img/flags@2x.webp +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/vendor/intl-tel-input/intlTelInput.min.css +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/vendor/intl-tel-input/intlTelInput.min.js +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/vendor/intl-tel-input/intlTelInputWithUtils.min.js +0 -0
- {celerp-2.5.0 → celerp-2.5.2}/ui/static/vendor/intl-tel-input/utils.js +0 -0
|
@@ -96,12 +96,23 @@ celerp init --force --db-url "postgresql+asyncpg://celerp:celerp@newhost:5432/ce
|
|
|
96
96
|
|
|
97
97
|
`celerp init` launches the servers and blocks (good for the one-command desktop
|
|
98
98
|
flow). For a headless box where a process manager owns the lifecycle, set up with
|
|
99
|
-
`--no-start` and let systemd run `celerp start
|
|
99
|
+
`--no-start` and let systemd run `celerp start`.
|
|
100
|
+
|
|
101
|
+
Install Celerp into a virtual environment. `celerp start` installs updates itself,
|
|
102
|
+
into the service user's Celerp config folder beside its data, so the install can stay
|
|
103
|
+
root-owned. When the service user cannot write to that folder, the update card shows
|
|
104
|
+
the pip command to run instead.
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
sudo useradd --system --create-home celerp
|
|
108
|
+
sudo python3 -m venv /opt/celerp
|
|
109
|
+
sudo /opt/celerp/bin/pip install celerp
|
|
110
|
+
```
|
|
100
111
|
|
|
101
112
|
```bash
|
|
102
113
|
# First boot against a system PostgreSQL: provision DB + migrations + config, then
|
|
103
114
|
# exit (do not block). Run as root so init can create the role/database.
|
|
104
|
-
sudo celerp init --no-start \
|
|
115
|
+
sudo /opt/celerp/bin/celerp init --no-start \
|
|
105
116
|
--db-url "postgresql+asyncpg://celerp:<password>@localhost:5432/celerp" \
|
|
106
117
|
--api-port 8000 --ui-port 8080
|
|
107
118
|
```
|
|
@@ -119,7 +130,7 @@ Description=Celerp
|
|
|
119
130
|
After=network.target postgresql.service
|
|
120
131
|
|
|
121
132
|
[Service]
|
|
122
|
-
ExecStart=/
|
|
133
|
+
ExecStart=/opt/celerp/bin/celerp start
|
|
123
134
|
Restart=on-failure
|
|
124
135
|
User=celerp
|
|
125
136
|
|
|
@@ -131,6 +142,16 @@ WantedBy=multi-user.target
|
|
|
131
142
|
sudo systemctl enable --now celerp
|
|
132
143
|
```
|
|
133
144
|
|
|
145
|
+
New versions install automatically between 03:00 and 05:00 in the company's time
|
|
146
|
+
zone. Each update takes a backup first and is undone if the new version does not
|
|
147
|
+
start. The owner can turn this off in the update card in the notifications panel, or
|
|
148
|
+
set it in `config.toml`:
|
|
149
|
+
|
|
150
|
+
```toml
|
|
151
|
+
[updates]
|
|
152
|
+
auto = false
|
|
153
|
+
```
|
|
154
|
+
|
|
134
155
|
## Troubleshooting
|
|
135
156
|
|
|
136
157
|
| Error | Fix |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: celerp
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.2
|
|
4
4
|
Summary: Free, self-hosted ERP for small businesses
|
|
5
5
|
License: Business Source License 1.1
|
|
6
6
|
|
|
@@ -127,36 +127,85 @@ Requires-Python: >=3.10
|
|
|
127
127
|
Description-Content-Type: text/markdown
|
|
128
128
|
License-File: LICENSE
|
|
129
129
|
License-File: NOTICE
|
|
130
|
-
Requires-Dist:
|
|
131
|
-
Requires-Dist:
|
|
132
|
-
Requires-Dist:
|
|
133
|
-
Requires-Dist:
|
|
134
|
-
Requires-Dist:
|
|
135
|
-
Requires-Dist:
|
|
136
|
-
Requires-Dist:
|
|
137
|
-
Requires-Dist:
|
|
138
|
-
Requires-Dist:
|
|
139
|
-
Requires-Dist:
|
|
140
|
-
Requires-Dist:
|
|
141
|
-
Requires-Dist:
|
|
142
|
-
Requires-Dist:
|
|
143
|
-
Requires-Dist:
|
|
144
|
-
Requires-Dist:
|
|
145
|
-
Requires-Dist:
|
|
146
|
-
Requires-Dist:
|
|
147
|
-
Requires-Dist:
|
|
148
|
-
Requires-Dist:
|
|
149
|
-
Requires-Dist:
|
|
150
|
-
Requires-Dist:
|
|
151
|
-
Requires-Dist:
|
|
152
|
-
Requires-Dist:
|
|
153
|
-
Requires-Dist:
|
|
154
|
-
Requires-Dist:
|
|
155
|
-
Requires-Dist:
|
|
156
|
-
Requires-Dist:
|
|
157
|
-
Requires-Dist:
|
|
158
|
-
Requires-Dist:
|
|
159
|
-
Requires-Dist:
|
|
130
|
+
Requires-Dist: aiofiles==25.1.0
|
|
131
|
+
Requires-Dist: aiosmtplib==5.1.3
|
|
132
|
+
Requires-Dist: alembic==1.20.0
|
|
133
|
+
Requires-Dist: annotated-doc==0.0.5
|
|
134
|
+
Requires-Dist: annotated-types==0.8.0
|
|
135
|
+
Requires-Dist: anyio==4.15.1
|
|
136
|
+
Requires-Dist: async-timeout==5.0.1; python_full_version < "3.11"
|
|
137
|
+
Requires-Dist: asyncpg==0.31.0
|
|
138
|
+
Requires-Dist: bcrypt==5.0.0
|
|
139
|
+
Requires-Dist: beautifulsoup4==4.15.0
|
|
140
|
+
Requires-Dist: celerp-postgres==17.10.0; (platform_machine == "aarch64" and sys_platform == "linux") or (platform_machine == "x86_64" and sys_platform == "linux") or (platform_machine == "AMD64" and sys_platform == "win32")
|
|
141
|
+
Requires-Dist: certifi==2026.7.22
|
|
142
|
+
Requires-Dist: cffi==2.1.1; platform_python_implementation != "PyPy"
|
|
143
|
+
Requires-Dist: charset-normalizer==3.5.1
|
|
144
|
+
Requires-Dist: click==8.5.0
|
|
145
|
+
Requires-Dist: colorama==0.4.6; sys_platform == "win32"
|
|
146
|
+
Requires-Dist: cryptography==50.0.1
|
|
147
|
+
Requires-Dist: deprecated==1.3.1
|
|
148
|
+
Requires-Dist: ecdsa==0.19.2
|
|
149
|
+
Requires-Dist: et-xmlfile==2.0.0
|
|
150
|
+
Requires-Dist: exceptiongroup==1.3.1; python_full_version < "3.11"
|
|
151
|
+
Requires-Dist: fastapi==0.141.1
|
|
152
|
+
Requires-Dist: fastcore==2.2.30
|
|
153
|
+
Requires-Dist: greenlet==3.5.6
|
|
154
|
+
Requires-Dist: h11==0.16.0
|
|
155
|
+
Requires-Dist: httpcore==1.0.9
|
|
156
|
+
Requires-Dist: httpcore2==2.13.1; sys_platform != "emscripten"
|
|
157
|
+
Requires-Dist: httptools==0.8.0
|
|
158
|
+
Requires-Dist: httpx==0.28.1
|
|
159
|
+
Requires-Dist: httpx2==2.13.1
|
|
160
|
+
Requires-Dist: httpx2-jsfetch==1.0; python_full_version >= "3.12" and sys_platform == "emscripten"
|
|
161
|
+
Requires-Dist: idna==3.20
|
|
162
|
+
Requires-Dist: itsdangerous==2.2.0
|
|
163
|
+
Requires-Dist: limits==5.8.0
|
|
164
|
+
Requires-Dist: mako==1.4.3
|
|
165
|
+
Requires-Dist: markupsafe==3.0.3
|
|
166
|
+
Requires-Dist: numpy==2.2.6; python_full_version < "3.11"
|
|
167
|
+
Requires-Dist: numpy==2.4.6; python_full_version == "3.11.*"
|
|
168
|
+
Requires-Dist: numpy==2.5.3; python_full_version >= "3.12"
|
|
169
|
+
Requires-Dist: oauthlib==3.3.1
|
|
170
|
+
Requires-Dist: openpyxl==3.1.5
|
|
171
|
+
Requires-Dist: packaging==26.3
|
|
172
|
+
Requires-Dist: passlib==1.7.4
|
|
173
|
+
Requires-Dist: pillow==12.3.0
|
|
174
|
+
Requires-Dist: psutil==7.2.2
|
|
175
|
+
Requires-Dist: psycopg2-binary==2.9.13
|
|
176
|
+
Requires-Dist: pyasn1==0.6.4
|
|
177
|
+
Requires-Dist: pycparser==3.0; implementation_name != "PyPy" and platform_python_implementation != "PyPy"
|
|
178
|
+
Requires-Dist: pydantic==2.13.5
|
|
179
|
+
Requires-Dist: pydantic-core==2.46.5
|
|
180
|
+
Requires-Dist: pydantic-settings==2.15.0
|
|
181
|
+
Requires-Dist: pypdf==6.19.0
|
|
182
|
+
Requires-Dist: python-barcode==0.16.1
|
|
183
|
+
Requires-Dist: python-dateutil==2.9.0.post0
|
|
184
|
+
Requires-Dist: python-dotenv==1.2.3
|
|
185
|
+
Requires-Dist: python-fasthtml==0.14.13
|
|
186
|
+
Requires-Dist: python-jose==3.5.0
|
|
187
|
+
Requires-Dist: python-multipart==0.0.32
|
|
188
|
+
Requires-Dist: pyyaml==6.0.3
|
|
189
|
+
Requires-Dist: qrcode==8.2
|
|
190
|
+
Requires-Dist: reportlab==5.0.1
|
|
191
|
+
Requires-Dist: rsa==4.9.1
|
|
192
|
+
Requires-Dist: six==1.17.0
|
|
193
|
+
Requires-Dist: slowapi==0.1.10
|
|
194
|
+
Requires-Dist: soupsieve==2.10
|
|
195
|
+
Requires-Dist: sqlalchemy==2.0.54; python_full_version < "3.11"
|
|
196
|
+
Requires-Dist: sqlalchemy==2.1.1; python_full_version >= "3.11"
|
|
197
|
+
Requires-Dist: starlette==1.7.0
|
|
198
|
+
Requires-Dist: tomli==2.4.1; python_full_version < "3.11"
|
|
199
|
+
Requires-Dist: truststore==0.10.4; sys_platform != "emscripten"
|
|
200
|
+
Requires-Dist: typing-extensions==4.16.0
|
|
201
|
+
Requires-Dist: typing-inspection==0.4.4
|
|
202
|
+
Requires-Dist: tzdata==2026.4
|
|
203
|
+
Requires-Dist: uvicorn==0.54.0
|
|
204
|
+
Requires-Dist: uvloop==0.22.1; platform_python_implementation != "PyPy" and sys_platform != "cygwin" and sys_platform != "win32"
|
|
205
|
+
Requires-Dist: watchfiles==1.3.0
|
|
206
|
+
Requires-Dist: websockets==16.1.1; python_full_version < "3.11"
|
|
207
|
+
Requires-Dist: websockets==17.1; python_full_version >= "3.11"
|
|
208
|
+
Requires-Dist: wrapt==2.4.1
|
|
160
209
|
Provides-Extra: dev
|
|
161
210
|
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
162
211
|
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
|
|
@@ -169,7 +218,7 @@ Requires-Dist: pytest-timeout>=2.3; extra == "dev"
|
|
|
169
218
|
Requires-Dist: pytest-xdist>=3.5; extra == "dev"
|
|
170
219
|
Requires-Dist: testcontainers[postgres]>=4.0; extra == "dev"
|
|
171
220
|
Provides-Extra: prod
|
|
172
|
-
Requires-Dist: gunicorn
|
|
221
|
+
Requires-Dist: gunicorn==26.2.0; extra == "prod"
|
|
173
222
|
Dynamic: license-file
|
|
174
223
|
|
|
175
224
|
# Celerp
|
|
@@ -234,6 +283,8 @@ service. Point it at a specific server with `celerp init --db-url postgresql+asy
|
|
|
234
283
|
Running headless or under a process manager? Use `celerp init --no-start` to set up
|
|
235
284
|
without launching, then have your service run `celerp start` — see
|
|
236
285
|
[Run as a service (systemd)](CONTRIBUTING.md#run-as-a-service-systemd).
|
|
286
|
+
Updates install automatically overnight; the owner can turn that off from the update
|
|
287
|
+
card in the notifications panel.
|
|
237
288
|
|
|
238
289
|
---
|
|
239
290
|
|
|
@@ -255,7 +306,7 @@ without launching, then have your service run `celerp start` — see
|
|
|
255
306
|
|
|
256
307
|
## How it works
|
|
257
308
|
|
|
258
|
-
Celerp runs
|
|
309
|
+
Celerp runs on your machine and keeps its primary database local. Optional Connect features can relay remote access or send selected data to Celerp cloud services.
|
|
259
310
|
|
|
260
311
|
- **No setup** - the desktop app bundles Postgres, runs migrations on launch, opens in your browser
|
|
261
312
|
- **No lock-in** - your data stays in a standard Postgres database you control
|
|
@@ -60,6 +60,8 @@ service. Point it at a specific server with `celerp init --db-url postgresql+asy
|
|
|
60
60
|
Running headless or under a process manager? Use `celerp init --no-start` to set up
|
|
61
61
|
without launching, then have your service run `celerp start` — see
|
|
62
62
|
[Run as a service (systemd)](CONTRIBUTING.md#run-as-a-service-systemd).
|
|
63
|
+
Updates install automatically overnight; the owner can turn that off from the update
|
|
64
|
+
card in the notifications panel.
|
|
63
65
|
|
|
64
66
|
---
|
|
65
67
|
|
|
@@ -81,7 +83,7 @@ without launching, then have your service run `celerp start` — see
|
|
|
81
83
|
|
|
82
84
|
## How it works
|
|
83
85
|
|
|
84
|
-
Celerp runs
|
|
86
|
+
Celerp runs on your machine and keeps its primary database local. Optional Connect features can relay remote access or send selected data to Celerp cloud services.
|
|
85
87
|
|
|
86
88
|
- **No setup** - the desktop app bundles Postgres, runs migrations on launch, opens in your browser
|
|
87
89
|
- **No lock-in** - your data stays in a standard Postgres database you control
|
|
@@ -51,7 +51,7 @@ async def get_quota_status() -> dict | None:
|
|
|
51
51
|
tier = str(data.get("tier") or "free")
|
|
52
52
|
if tier in ("cloud", "ai", "team") and not get_session_token():
|
|
53
53
|
try:
|
|
54
|
-
await sync_existing_entitlement()
|
|
54
|
+
await sync_existing_entitlement(require_persisted_key=True)
|
|
55
55
|
except Exception as exc:
|
|
56
56
|
# Quota is the authoritative entitlement read for /ai. Local runtime
|
|
57
57
|
# convergence is best-effort here and must not erase a paid result.
|