flagsmith-common 2.1.0__tar.gz → 2.2.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.
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/PKG-INFO +5 -3
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/pyproject.toml +1 -1
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/templates/docgen-metrics.md +2 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/utils.py +9 -1
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/LICENSE +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/README.md +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/app.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/cli/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/cli/healthcheck.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/logging.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/main.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/commands/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/commands/docgen.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/commands/start.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/commands/waitfordb.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/metrics.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/middleware.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/urls.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/views.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/environments/permissions.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/multivariate/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/multivariate/serializers.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/serializers.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/versioning/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/versioning/serializers.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/gunicorn/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/gunicorn/conf.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/gunicorn/constants.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/gunicorn/logging.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/gunicorn/metrics.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/gunicorn/middleware.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/gunicorn/utils.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/migrations/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/migrations/helpers/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/migrations/helpers/postgres_helpers.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/organisations/permissions.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/projects/permissions.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/prometheus/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/prometheus/utils.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/py.typed +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/test_tools/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/test_tools/plugin.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/test_tools/types.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/test_tools/utils.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/types.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/admin.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/apps.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/decorators.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/exceptions.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/health.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/managers.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/metrics.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0001_initial.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0002_healthcheckmodel.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0003_add_completed_to_task.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0004_recreate_task_indexes.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0005_update_conditional_index_conditions.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0006_auto_20230221_0802.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0007_add_is_locked.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0008_add_get_task_to_process_function.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0009_add_recurring_task_run_first_run_at.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0010_task_priority.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0011_add_priority_to_get_tasks_to_process.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0012_add_locked_at_and_timeout.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/0013_add_last_picked_at.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/sql/0008_get_recurring_tasks_to_process.sql +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/sql/0008_get_tasks_to_process.sql +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/sql/0011_get_tasks_to_process.sql +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/sql/0012_get_recurringtasks_to_process.sql +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/sql/0013_get_recurringtasks_to_process.sql +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/sql/__init__.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/models.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/monitoring.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/processor.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/py.typed +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/routers.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/serializers.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/task_registry.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/task_run_method.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/tasks.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/threads.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/types.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/urls.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/utils.py +0 -0
- {flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/views.py +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: flagsmith-common
|
|
3
|
-
Version: 2.1
|
|
3
|
+
Version: 2.2.1
|
|
4
4
|
Summary: Flagsmith's common library
|
|
5
|
-
License: BSD-3-Clause
|
|
5
|
+
License-Expression: BSD-3-Clause
|
|
6
|
+
License-File: LICENSE
|
|
6
7
|
Author: Matthew Elwell
|
|
7
8
|
Maintainer: Flagsmith Team
|
|
8
9
|
Maintainer-email: support@flagsmith.com
|
|
@@ -15,6 +16,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
15
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
18
20
|
Provides-Extra: test-tools
|
|
19
21
|
Requires-Dist: backoff (>=2.2.1,<3.0.0)
|
|
20
22
|
Requires-Dist: django (>4,<5)
|
|
@@ -4,7 +4,7 @@ import pathlib
|
|
|
4
4
|
import random
|
|
5
5
|
from functools import lru_cache
|
|
6
6
|
from itertools import cycle
|
|
7
|
-
from typing import Iterator, Literal, NotRequired, TypedDict, TypeVar
|
|
7
|
+
from typing import Iterator, Literal, NotRequired, TypedDict, TypeVar, get_args
|
|
8
8
|
|
|
9
9
|
from django.conf import settings
|
|
10
10
|
from django.contrib.auth import get_user_model
|
|
@@ -130,6 +130,14 @@ def get_file_contents(file_path: str) -> str | None:
|
|
|
130
130
|
return None
|
|
131
131
|
|
|
132
132
|
|
|
133
|
+
@lru_cache()
|
|
134
|
+
def is_database_replica_setup() -> bool:
|
|
135
|
+
"""Checks if any database replica is set up"""
|
|
136
|
+
return any(
|
|
137
|
+
name for name in connections if name.startswith(get_args(ReplicaNamePrefix))
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
|
|
133
141
|
def using_database_replica(
|
|
134
142
|
manager: ManagerType,
|
|
135
143
|
replica_prefix: ReplicaNamePrefix = "replica_",
|
|
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
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/commands/__init__.py
RENAMED
|
File without changes
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/commands/docgen.py
RENAMED
|
File without changes
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/commands/start.py
RENAMED
|
File without changes
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/core/management/commands/waitfordb.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/multivariate/__init__.py
RENAMED
|
File without changes
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/multivariate/serializers.py
RENAMED
|
File without changes
|
|
File without changes
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/versioning/__init__.py
RENAMED
|
File without changes
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/features/versioning/serializers.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
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/common/migrations/helpers/postgres_helpers.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
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/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
|
|
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
|
{flagsmith_common-2.1.0 → flagsmith_common-2.2.1}/src/task_processor/migrations/sql/__init__.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
|