GeneralManager 0.41.0__tar.gz → 0.41.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {generalmanager-0.41.0/src/GeneralManager.egg-info → generalmanager-0.41.1}/PKG-INFO +1 -1
- {generalmanager-0.41.0 → generalmanager-0.41.1}/pyproject.toml +1 -1
- {generalmanager-0.41.0 → generalmanager-0.41.1/src/GeneralManager.egg-info}/PKG-INFO +1 -1
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/measurement/measurement.py +46 -1
- {generalmanager-0.41.0 → generalmanager-0.41.1}/LICENSE +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/README.md +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/setup.cfg +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/GeneralManager.egg-info/SOURCES.txt +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/GeneralManager.egg-info/dependency_links.txt +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/GeneralManager.egg-info/requires.txt +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/GeneralManager.egg-info/top_level.txt +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/api.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/bucket.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/cache.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/factory.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/general_manager.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/interface.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/manager.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/measurement.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/permission.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/rule.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/search.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/utils.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_errors.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_mutations.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_resolvers.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_search.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_subscription_consumer.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_subscriptions.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_view.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/mutation.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/property.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/registry.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/remote_api.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/remote_invalidation.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/remote_invalidation_client.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/apps.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bootstrap.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/base_bucket.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/calculation_bucket.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/database_bucket.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/group_bucket.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/request_bucket.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/cache/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/cache/cache_decorator.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/cache/cache_tracker.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/cache/dependency_index.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/cache/model_dependency_collector.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/cache/signals.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/conf.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/factory/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/factory/auto_factory.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/factory/factories.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/factory/factory_methods.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/base_interface.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/calculation.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/database.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/remote_manager.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/request.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/base.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/builtin.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/calculation/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/calculation/_compat.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/calculation/lifecycle.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/configuration.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/core/observability.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/core/utils.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/exceptions.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/existing_model/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/existing_model/_compat.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/existing_model/resolution.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/factory.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm/_compat.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm/history.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm/lifecycle.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm/mutations.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm/support.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm_utils/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm_utils/django_manager_utils.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm_utils/field_descriptors.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/orm_utils/payload_normalizer.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/read_only/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/read_only/_compat.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/read_only/lifecycle.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/read_only/management.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/registry.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/remote_manager.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/request/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/infrastructure/startup_hooks.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/infrastructure/system_checks.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/calculation.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/database.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/existing_model.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/read_only.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/remote_manager.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/request.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/manifests/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/manifests/capability_builder.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/manifests/capability_manifest.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/manifests/capability_models.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/orm_interface.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/requests.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/utils/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/utils/database_interface_protocols.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/utils/errors.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/utils/models.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/logging.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/management/commands/search_index.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/management/commands/seed_manager_landscape.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/management/commands/shell.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/management/commands/workflow_drain_outbox.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/management/commands/workflow_replay_dead_letters.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/manager/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/manager/general_manager.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/manager/group_manager.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/manager/input.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/manager/meta.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/measurement/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/measurement/measurement_field.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/metrics/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/metrics/graphql.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/migrations/0001_initial.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/migrations/0002_workflow_outbox_scaling_indexes.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/migrations/0003_workflow_execution_correlation_constraint.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/migrations/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/models.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/audit.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/base_permission.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/graphql_capabilities.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/manager_based_permission.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/mutation_permission.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/permission_checks.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/permission_data_manager.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/utils.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/public_api_registry.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/py.typed +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/rule/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/rule/handler.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/rule/rule.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/async_tasks.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backend.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backend_registry.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/dev.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/meilisearch.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/opensearch.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/typesense.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/config.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/indexer.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/registry.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/utils.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/seeding/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/seeding/manager_landscape.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/args_to_kwargs.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/filter_parser.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/format_string.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/json_encoder.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/make_cache_key.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/none_to_zero.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/path_mapping.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/public_api.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/testing.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/utils/type_checks.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/actions.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backend_registry.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backends/__init__.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backends/celery.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backends/local.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backends/n8n.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/config.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/engine.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/event_registry.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/events.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/models.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/signal_bridge.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/tasks.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/telemetry.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/tests/test_settings.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/tests/test_urls.py +0 -0
- {generalmanager-0.41.0 → generalmanager-0.41.1}/tests/testing_asgi.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GeneralManager
|
|
3
|
-
Version: 0.41.
|
|
3
|
+
Version: 0.41.1
|
|
4
4
|
Summary: Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching.
|
|
5
5
|
Author-email: Tim Kleindick <tkleindick@yahoo.de>
|
|
6
6
|
License: MIT License
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "GeneralManager"
|
|
7
|
-
version = "0.41.
|
|
7
|
+
version = "0.41.1"
|
|
8
8
|
description = "Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [{ name = "Tim Kleindick", email = "tkleindick@yahoo.de" }]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GeneralManager
|
|
3
|
-
Version: 0.41.
|
|
3
|
+
Version: 0.41.1
|
|
4
4
|
Summary: Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching.
|
|
5
5
|
Author-email: Tim Kleindick <tkleindick@yahoo.de>
|
|
6
6
|
License: MIT License
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/measurement/measurement.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# units.py
|
|
4
4
|
from __future__ import annotations
|
|
5
|
-
from typing import Any, Callable
|
|
5
|
+
from typing import Any, Callable, cast
|
|
6
6
|
import math
|
|
7
7
|
import pint
|
|
8
8
|
from decimal import Decimal, getcontext, InvalidOperation
|
|
@@ -104,6 +104,27 @@ def _convert_quantity(quantity: PlainQuantity, target_unit: str) -> PlainQuantit
|
|
|
104
104
|
return source_quantity.to(target_unit)
|
|
105
105
|
|
|
106
106
|
|
|
107
|
+
def _currency_component(unit: str) -> tuple[str, int] | None:
|
|
108
|
+
"""Return the single configured currency component in a unit expression."""
|
|
109
|
+
|
|
110
|
+
parsed_unit = ureg.parse_units(str(unit))
|
|
111
|
+
currency_components = [
|
|
112
|
+
(unit_name, int(cast(Any, power)))
|
|
113
|
+
for unit_name, power in parsed_unit._units.items()
|
|
114
|
+
if unit_name in currency_units
|
|
115
|
+
]
|
|
116
|
+
if len(currency_components) != 1:
|
|
117
|
+
return None
|
|
118
|
+
return currency_components[0]
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def _unit_without_currency(unit: str, currency: str, power: int) -> str:
|
|
122
|
+
"""Return a unit expression with one currency component removed."""
|
|
123
|
+
|
|
124
|
+
stripped_unit = ureg.parse_units(str(unit)) / (ureg.parse_units(currency) ** power)
|
|
125
|
+
return str(stripped_unit)
|
|
126
|
+
|
|
127
|
+
|
|
107
128
|
def convert_magnitude(value: Decimal, source_unit: str, target_unit: str) -> Decimal:
|
|
108
129
|
"""
|
|
109
130
|
Convert a magnitude between units while keeping offset-unit math away from Decimal.
|
|
@@ -457,6 +478,30 @@ class Measurement:
|
|
|
457
478
|
Raises:
|
|
458
479
|
MissingExchangeRateError: If converting between two different currencies without providing an exchange rate.
|
|
459
480
|
"""
|
|
481
|
+
source_currency = _currency_component(self.unit)
|
|
482
|
+
target_currency = _currency_component(target_unit)
|
|
483
|
+
if (
|
|
484
|
+
source_currency is not None
|
|
485
|
+
and target_currency is not None
|
|
486
|
+
and source_currency[0] != target_currency[0]
|
|
487
|
+
):
|
|
488
|
+
if exchange_rate is None:
|
|
489
|
+
raise MissingExchangeRateError()
|
|
490
|
+
source_currency_name, source_currency_power = source_currency
|
|
491
|
+
target_currency_name, target_currency_power = target_currency
|
|
492
|
+
if source_currency_power == target_currency_power:
|
|
493
|
+
value = convert_magnitude(
|
|
494
|
+
self.magnitude,
|
|
495
|
+
_unit_without_currency(
|
|
496
|
+
self.unit, source_currency_name, source_currency_power
|
|
497
|
+
),
|
|
498
|
+
_unit_without_currency(
|
|
499
|
+
target_unit, target_currency_name, target_currency_power
|
|
500
|
+
),
|
|
501
|
+
)
|
|
502
|
+
value *= Decimal(str(exchange_rate)) ** source_currency_power
|
|
503
|
+
return Measurement(value, target_unit)
|
|
504
|
+
|
|
460
505
|
if self.is_currency():
|
|
461
506
|
if str(self.unit) == str(target_unit):
|
|
462
507
|
return self # Same currency, no conversion needed
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/GeneralManager.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/_types/general_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_mutations.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_resolvers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/graphql_subscriptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/api/remote_invalidation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/calculation_bucket.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/database_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/bucket/request_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/cache/cache_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/cache/dependency_index.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/factory/factory_methods.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/base_interface.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/calculation.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/database.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/bundles/request.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/capabilities/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/database.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/interfaces/request.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/manifests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/orm_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/utils/errors.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/interface/utils/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/management/commands/shell.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/manager/general_manager.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/manager/group_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/measurement/measurement_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/base_permission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/permission/permission_checks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backend_registry.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/meilisearch.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/opensearch.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/search/backends/typesense.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/seeding/manager_landscape.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backend_registry.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backends/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backends/celery.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backends/local.py
RENAMED
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/backends/n8n.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/event_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.41.0 → generalmanager-0.41.1}/src/general_manager/workflow/signal_bridge.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|