GeneralManager 0.40.4__tar.gz → 0.40.6__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.40.4/src/GeneralManager.egg-info → generalmanager-0.40.6}/PKG-INFO +1 -1
- {generalmanager-0.40.4 → generalmanager-0.40.6}/pyproject.toml +1 -1
- {generalmanager-0.40.4 → generalmanager-0.40.6/src/GeneralManager.egg-info}/PKG-INFO +1 -1
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bootstrap.py +6 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/cache/dependency_index.py +12 -4
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm_utils/field_descriptors.py +28 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/LICENSE +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/README.md +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/setup.cfg +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/GeneralManager.egg-info/SOURCES.txt +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/GeneralManager.egg-info/dependency_links.txt +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/GeneralManager.egg-info/requires.txt +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/GeneralManager.egg-info/top_level.txt +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/api.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/bucket.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/cache.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/factory.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/general_manager.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/interface.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/manager.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/measurement.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/permission.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/rule.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/search.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/_types/utils.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_errors.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_mutations.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_resolvers.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_search.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_subscription_consumer.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_subscriptions.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_view.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/mutation.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/property.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/registry.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/remote_api.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/remote_invalidation.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/remote_invalidation_client.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/apps.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/base_bucket.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/calculation_bucket.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/database_bucket.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/group_bucket.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/request_bucket.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/cache/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/cache/cache_decorator.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/cache/cache_tracker.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/cache/model_dependency_collector.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/cache/signals.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/conf.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/factory/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/factory/auto_factory.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/factory/factories.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/factory/factory_methods.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/base_interface.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/calculation.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/database.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/remote_manager.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/request.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/base.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/builtin.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/calculation/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/calculation/_compat.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/calculation/lifecycle.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/configuration.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/core/observability.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/core/utils.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/exceptions.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/existing_model/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/existing_model/_compat.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/existing_model/resolution.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/factory.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm/_compat.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm/history.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm/lifecycle.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm/mutations.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm/support.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm_utils/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm_utils/django_manager_utils.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/orm_utils/payload_normalizer.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/read_only/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/read_only/_compat.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/read_only/lifecycle.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/read_only/management.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/registry.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/remote_manager.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/capabilities/request/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/infrastructure/startup_hooks.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/infrastructure/system_checks.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/calculation.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/database.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/existing_model.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/read_only.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/remote_manager.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/request.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/manifests/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/manifests/capability_builder.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/manifests/capability_manifest.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/manifests/capability_models.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/orm_interface.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/requests.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/utils/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/utils/database_interface_protocols.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/utils/errors.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/utils/models.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/logging.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/management/commands/search_index.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/management/commands/seed_manager_landscape.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/management/commands/shell.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/management/commands/workflow_drain_outbox.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/management/commands/workflow_replay_dead_letters.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/manager/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/manager/general_manager.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/manager/group_manager.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/manager/input.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/manager/meta.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/measurement/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/measurement/measurement.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/measurement/measurement_field.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/metrics/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/metrics/graphql.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/migrations/0001_initial.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/migrations/0002_workflow_outbox_scaling_indexes.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/migrations/0003_workflow_execution_correlation_constraint.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/migrations/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/models.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/audit.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/base_permission.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/graphql_capabilities.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/manager_based_permission.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/mutation_permission.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/permission_checks.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/permission_data_manager.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/permission/utils.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/public_api_registry.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/py.typed +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/rule/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/rule/handler.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/rule/rule.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/async_tasks.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backend.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backend_registry.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backends/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backends/dev.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backends/meilisearch.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backends/opensearch.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backends/typesense.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/config.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/indexer.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/registry.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/utils.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/seeding/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/seeding/manager_landscape.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/args_to_kwargs.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/filter_parser.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/format_string.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/json_encoder.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/make_cache_key.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/none_to_zero.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/path_mapping.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/public_api.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/testing.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/utils/type_checks.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/actions.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backend_registry.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backends/__init__.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backends/celery.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backends/local.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backends/n8n.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/config.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/engine.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/event_registry.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/events.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/models.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/signal_bridge.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/tasks.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/telemetry.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/tests/test_settings.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/tests/test_urls.py +0 -0
- {generalmanager-0.40.4 → generalmanager-0.40.6}/tests/testing_asgi.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GeneralManager
|
|
3
|
-
Version: 0.40.
|
|
3
|
+
Version: 0.40.6
|
|
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.40.
|
|
7
|
+
version = "0.40.6"
|
|
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.40.
|
|
3
|
+
Version: 0.40.6
|
|
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
|
|
@@ -276,6 +276,12 @@ def initialize_general_manager_classes(
|
|
|
276
276
|
"creating manager attributes",
|
|
277
277
|
context={"pending_attributes": len(pending_attribute_initialization)},
|
|
278
278
|
)
|
|
279
|
+
for general_manager_class in dict.fromkeys(all_classes):
|
|
280
|
+
interface = getattr(general_manager_class, "Interface", None)
|
|
281
|
+
if hasattr(interface, "_field_descriptors"):
|
|
282
|
+
interface_with_cache: Any = interface
|
|
283
|
+
interface_with_cache._field_descriptors = None
|
|
284
|
+
|
|
279
285
|
for general_manager_class in pending_attribute_initialization:
|
|
280
286
|
attributes = general_manager_class.Interface.get_attributes()
|
|
281
287
|
general_manager_class._attributes = attributes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/cache/dependency_index.py
RENAMED
|
@@ -661,7 +661,8 @@ def generic_cache_invalidation(
|
|
|
661
661
|
- "regex": treats `val_key` as a regular expression pattern and tests it against the string form of `value`.
|
|
662
662
|
|
|
663
663
|
Behavior notes:
|
|
664
|
-
- If `value` is None the function
|
|
664
|
+
- If `value` is None the function only matches explicit null equality
|
|
665
|
+
or membership checks.
|
|
665
666
|
- ``val_key`` is a JSON-serialised string produced by
|
|
666
667
|
:func:`json.dumps`. Parsing is done with :func:`json.loads`; if
|
|
667
668
|
JSON parsing or type coercion fails, the function falls back to
|
|
@@ -676,12 +677,11 @@ def generic_cache_invalidation(
|
|
|
676
677
|
Returns:
|
|
677
678
|
bool: `True` if the comparison defined by `op` and `val_key` matches `value`, `False` otherwise.
|
|
678
679
|
"""
|
|
679
|
-
if value is None:
|
|
680
|
-
return False
|
|
681
|
-
|
|
682
680
|
# eq
|
|
683
681
|
if op == "eq":
|
|
684
682
|
literal_val = _json_loads_val_key(val_key)
|
|
683
|
+
if literal_val is None:
|
|
684
|
+
return value is None
|
|
685
685
|
repr_marker = _repr_marker(literal_val)
|
|
686
686
|
if repr_marker is not None:
|
|
687
687
|
return repr(value) == repr_marker
|
|
@@ -697,6 +697,10 @@ def generic_cache_invalidation(
|
|
|
697
697
|
except (json.JSONDecodeError, ValueError):
|
|
698
698
|
return False
|
|
699
699
|
for item in seq:
|
|
700
|
+
if item is None:
|
|
701
|
+
if value is None:
|
|
702
|
+
return True
|
|
703
|
+
continue
|
|
700
704
|
repr_marker = _repr_marker(item)
|
|
701
705
|
if repr_marker is not None:
|
|
702
706
|
if repr(value) == repr_marker:
|
|
@@ -712,6 +716,8 @@ def generic_cache_invalidation(
|
|
|
712
716
|
|
|
713
717
|
# range comparisons
|
|
714
718
|
if op in ("gt", "gte", "lt", "lte"):
|
|
719
|
+
if value is None:
|
|
720
|
+
return False
|
|
715
721
|
literal_val = _json_loads_val_key(val_key)
|
|
716
722
|
thr = _coerce_to_type(value, literal_val)
|
|
717
723
|
if thr is None:
|
|
@@ -727,6 +733,8 @@ def generic_cache_invalidation(
|
|
|
727
733
|
|
|
728
734
|
# wildcard / regex comparisons
|
|
729
735
|
if op in ("contains", "startswith", "endswith", "regex"):
|
|
736
|
+
if value is None:
|
|
737
|
+
return False
|
|
730
738
|
try:
|
|
731
739
|
literal = json.loads(val_key)
|
|
732
740
|
except (json.JSONDecodeError, ValueError):
|
|
@@ -9,6 +9,7 @@ import re
|
|
|
9
9
|
from typing import TYPE_CHECKING, Any, Callable, Iterable, Optional, cast
|
|
10
10
|
from uuid import UUID
|
|
11
11
|
|
|
12
|
+
from django.apps import apps
|
|
12
13
|
from django.contrib.contenttypes.fields import GenericForeignKey
|
|
13
14
|
from django.db import models
|
|
14
15
|
|
|
@@ -395,12 +396,39 @@ class _FieldDescriptorBuilder:
|
|
|
395
396
|
"""
|
|
396
397
|
if related_model == "self":
|
|
397
398
|
return cast(type[models.Model], self.model)
|
|
399
|
+
if isinstance(related_model, str):
|
|
400
|
+
resolved_model = self._resolve_string_related_model(related_model)
|
|
401
|
+
if resolved_model is not None:
|
|
402
|
+
return resolved_model
|
|
398
403
|
if isinstance(related_model, type) and issubclass(related_model, models.Model):
|
|
399
404
|
return cast(type[models.Model], related_model)
|
|
400
405
|
if related_model is not None:
|
|
401
406
|
return None
|
|
402
407
|
return cast(Optional[type[models.Model]], related_model)
|
|
403
408
|
|
|
409
|
+
def _resolve_string_related_model(
|
|
410
|
+
self,
|
|
411
|
+
related_model: str,
|
|
412
|
+
) -> Optional[type[models.Model]]:
|
|
413
|
+
app_label: str | None
|
|
414
|
+
if "." in related_model:
|
|
415
|
+
app_label, model_name = related_model.split(".", 1)
|
|
416
|
+
else:
|
|
417
|
+
meta = getattr(self.model, "_meta", None)
|
|
418
|
+
app_label = getattr(meta, "app_label", None)
|
|
419
|
+
model_name = related_model
|
|
420
|
+
if not app_label:
|
|
421
|
+
return None
|
|
422
|
+
try:
|
|
423
|
+
resolved_model = apps.get_model(app_label, model_name)
|
|
424
|
+
except (LookupError, ValueError):
|
|
425
|
+
return None
|
|
426
|
+
if isinstance(resolved_model, type) and issubclass(
|
|
427
|
+
resolved_model, models.Model
|
|
428
|
+
):
|
|
429
|
+
return cast(type[models.Model], resolved_model)
|
|
430
|
+
return None
|
|
431
|
+
|
|
404
432
|
|
|
405
433
|
def _collect_custom_fields(
|
|
406
434
|
model: type[models.Model] | models.Model,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/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.40.4 → generalmanager-0.40.6}/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.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_mutations.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/api/graphql_resolvers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/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.40.4 → generalmanager-0.40.6}/src/general_manager/api/remote_invalidation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/calculation_bucket.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/database_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/bucket/request_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/cache/cache_decorator.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
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/factory/factory_methods.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/base_interface.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/calculation.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/database.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/bundles/request.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/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
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/database.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/interfaces/request.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/manifests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/orm_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/utils/errors.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/interface/utils/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/management/commands/shell.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/manager/general_manager.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/manager/group_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/measurement/measurement.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/measurement/measurement_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/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.40.4 → generalmanager-0.40.6}/src/general_manager/permission/base_permission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/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.40.4 → generalmanager-0.40.6}/src/general_manager/search/backend_registry.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backends/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backends/meilisearch.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/search/backends/opensearch.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/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.40.4 → generalmanager-0.40.6}/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.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backend_registry.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backends/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backends/celery.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backends/local.py
RENAMED
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/backends/n8n.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/src/general_manager/workflow/event_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.40.4 → generalmanager-0.40.6}/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
|