From 6d253cfa792cbfde66febe0e0bdd4d3befc6f31b Mon Sep 17 00:00:00 2001 From: "flagsmith-engineering[bot]" Date: Mon, 18 May 2026 19:38:49 +0000 Subject: [PATCH 1/3] [create-pull-request] automated change --- api/app_analytics/constants.py | 2 + api/flagsmith_api.egg-info/PKG-INFO | 280 +++ api/flagsmith_api.egg-info/SOURCES.txt | 1691 +++++++++++++++++ .../dependency_links.txt | 1 + api/flagsmith_api.egg-info/requires.txt | 133 ++ api/flagsmith_api.egg-info/top_level.txt | 31 + 6 files changed, 2138 insertions(+) create mode 100644 api/flagsmith_api.egg-info/PKG-INFO create mode 100644 api/flagsmith_api.egg-info/SOURCES.txt create mode 100644 api/flagsmith_api.egg-info/dependency_links.txt create mode 100644 api/flagsmith_api.egg-info/requires.txt create mode 100644 api/flagsmith_api.egg-info/top_level.txt diff --git a/api/app_analytics/constants.py b/api/app_analytics/constants.py index bb66fd4f92ee..128ffa8d851c 100644 --- a/api/app_analytics/constants.py +++ b/api/app_analytics/constants.py @@ -31,6 +31,8 @@ "flagsmith-flutter-sdk": [ "unknown", "6.1.0", + "6.1.1", + ], "flagsmith-go-sdk": [ "unknown", diff --git a/api/flagsmith_api.egg-info/PKG-INFO b/api/flagsmith_api.egg-info/PKG-INFO new file mode 100644 index 000000000000..62168ba5bfb7 --- /dev/null +++ b/api/flagsmith_api.egg-info/PKG-INFO @@ -0,0 +1,280 @@ +Metadata-Version: 2.4 +Name: flagsmith-api +Version: 2.68.0 +Summary: The API component for the Flagsmith application. +Author-email: Flagsmith +Requires-Python: <3.14,>=3.11 +Description-Content-Type: text/markdown +Requires-Dist: django<6,>=5 +Requires-Dist: rudder-sdk-python<2.1.0,>=2.0.2 +Requires-Dist: segment-analytics-python<2.3.0,>=2.2.3 +Requires-Dist: backoff<2.3.0,>=2.2.1 +Requires-Dist: appdirs<1.5.0,>=1.4.4 +Requires-Dist: django-cors-headers<3.6.0,>=3.5.0 +Requires-Dist: djangorestframework<3.16.0,>=3.15.2 +Requires-Dist: gunicorn<23.1.0,>=23.0.0 +Requires-Dist: pyparsing<2.5.0,>=2.4.7 +Requires-Dist: requests<2.34.0,>=2.33.0 +Requires-Dist: six<1.17.0,>=1.16.0 +Requires-Dist: whitenoise<6.1.0,>=6.0.0 +Requires-Dist: dj-database-url<3.1.0,>=3.0.1 +Requires-Dist: drf-nested-routers<0.93.0,>=0.92.1 +Requires-Dist: shortuuid<1.1.0,>=1.0.1 +Requires-Dist: sendgrid-django<4.3.0,>=4.2.0 +Requires-Dist: psycopg2-binary<2.10.0,>=2.9.5 +Requires-Dist: coreapi<2.4.0,>=2.3.3 +Requires-Dist: django-simple-history<2.13.0,>=2.12.0 +Requires-Dist: google-api-python-client<1.13.0,>=1.12.5 +Requires-Dist: oauth2client<4.2.0,>=4.1.3 +Requires-Dist: djangorestframework-recursive<0.2.0,>=0.1.2 +Requires-Dist: chargebee<4.0.0,>=3.10.0 +Requires-Dist: python-http-client<3.4.0,>=3.3.7 +Requires-Dist: django-health-check<3.19.0,>=3.18.2 +Requires-Dist: django-admin-sso<5.3.0,>=5.2.0 +Requires-Dist: drf-spectacular<0.29.0,>=0.28.0 +Requires-Dist: sentry-sdk<3,>=2.24.1 +Requires-Dist: environs<15.0.0,>=14.1.1 +Requires-Dist: django-lifecycle<1.3.0,>=1.2.4 +Requires-Dist: drf-writable-nested<0.7.0,>=0.6.2 +Requires-Dist: django-filter<2.5.0,>=2.4.0 +Requires-Dist: flagsmith-flag-engine<11.0.0,>=10.1.0 +Requires-Dist: boto3<1.36.0,>=1.35.95 +Requires-Dist: slack-sdk<3.10.0,>=3.9.0 +Requires-Dist: asgiref<3.9.0,>=3.8.1 +Requires-Dist: djangorestframework-api-key<2.3.0,>=2.2.0 +Requires-Dist: pymemcache<4.1.0,>=4.0.0 +Requires-Dist: google-re2<2.0.0,>=1.0 +Requires-Dist: django-softdelete<0.12.0,>=0.11.5 +Requires-Dist: simplejson<3.20.0,>=3.19.1 +Requires-Dist: djoser<3.0.0,>=2.3.0 +Requires-Dist: django-storages<1.11.0,>=1.10.1 +Requires-Dist: django-environ<0.5.0,>=0.4.5 +Requires-Dist: influxdb-client<1.51.0,>=1.50.0 +Requires-Dist: django-ordered-model<3.5.0,>=3.4.1 +Requires-Dist: django-ses<3.6.0,>=3.5.0 +Requires-Dist: django-axes<9.0.0,>=8.1.0 +Requires-Dist: pydantic<3.0.0,>=2.12.0 +Requires-Dist: pydantic-collections<0.7.0,>=0.6.0 +Requires-Dist: pyngo<2.5.0,>=2.4.1 +Requires-Dist: flagsmith<6.0.0,>=5.3.0 +Requires-Dist: openfeature-sdk<0.10.0,>=0.9.0 +Requires-Dist: openfeature-provider-flagsmith>=0.2.0 +Requires-Dist: python-gnupg<0.6.0,>=0.5.1 +Requires-Dist: django-redis<6.0.0,>=5.4.0 +Requires-Dist: pygithub<2.9.0,>=2.8 +Requires-Dist: hubspot-api-client<13.0.0,>=12.0.0 +Requires-Dist: djangorestframework-dataclasses<2.0.0,>=1.3.1 +Requires-Dist: pyotp<3.0.0,>=2.9.0 +Requires-Dist: flagsmith-common[common-core,flagsmith-schemas,task-processor]<4,>=3.9.0 +Requires-Dist: django-stubs<6.0.0,>=5.1.3 +Requires-Dist: tzdata<2025.0.0,>=2024.1 +Requires-Dist: djangorestframework-simplejwt<6.0.0,>=5.5.1 +Requires-Dist: structlog<25.0.0,>=24.4.0 +Requires-Dist: prometheus-client<0.22.0,>=0.21.1 +Requires-Dist: django-cockroachdb<4.3.0,>=4.2 +Requires-Dist: django-oauth-toolkit<4.0.0,>=3.0.1 +Provides-Extra: auth-controller +Requires-Dist: auth-controller; extra == "auth-controller" +Requires-Dist: django-multiselectfield<2,>=1.0.1; extra == "auth-controller" +Provides-Extra: saml +Requires-Dist: pysaml2<8.0.0,>=7.4.2; extra == "saml" +Provides-Extra: ldap +Requires-Dist: flagsmith-ldap; extra == "ldap" +Requires-Dist: django-python3-ldap<1,>=0.15.6; extra == "ldap" +Provides-Extra: workflows +Requires-Dist: workflows-logic; extra == "workflows" +Provides-Extra: licensing +Requires-Dist: licensing; extra == "licensing" +Requires-Dist: cryptography>=44.0.1; extra == "licensing" +Provides-Extra: release-pipelines +Requires-Dist: flagsmith-private<1,>=0.5.1; extra == "release-pipelines" +Provides-Extra: scim +Requires-Dist: flagsmith-private<1,>=0.5.1; extra == "scim" +Provides-Extra: dev +Requires-Dist: django-test-migrations<2.0.0,>=1.2.0; extra == "dev" +Requires-Dist: responses<0.23.0,>=0.22.0; extra == "dev" +Requires-Dist: pre-commit<5.0.0,>=4.0.1; extra == "dev" +Requires-Dist: pytest-mock<3.11.0,>=3.10.0; extra == "dev" +Requires-Dist: pytest-lazy-fixture<0.7.0,>=0.6.3; extra == "dev" +Requires-Dist: moto<4.2.0,>=4.1.3; extra == "dev" +Requires-Dist: pytest-freezegun<0.5.0,>=0.4.2; extra == "dev" +Requires-Dist: setuptools; extra == "dev" +Requires-Dist: pytest-xdist<3.7.0,>=3.6.1; extra == "dev" +Requires-Dist: pylint<2.17.0,>=2.16.2; extra == "dev" +Requires-Dist: pep8<1.8.0,>=1.7.1; extra == "dev" +Requires-Dist: autopep8<2.1.0,>=2.0.1; extra == "dev" +Requires-Dist: pytest<7.3.0,>=7.2.1; extra == "dev" +Requires-Dist: pytest-django<5.0.0,>=4.8.0; extra == "dev" +Requires-Dist: pytest-cov<4.2.0,>=4.1.0; extra == "dev" +Requires-Dist: datamodel-code-generator<0.26.0,>=0.25; extra == "dev" +Requires-Dist: requests-mock<2.0.0,>=1.11.0; extra == "dev" +Requires-Dist: django-extensions<4.0.0,>=3.2.3; extra == "dev" +Requires-Dist: pdbpp<0.11.0,>=0.10.3; extra == "dev" +Requires-Dist: mypy-boto3-dynamodb<2.0.0,>=1.33.0; extra == "dev" +Requires-Dist: pytest-structlog<2.0.0,>=1.1; extra == "dev" +Requires-Dist: pyfakefs<6.0.0,>=5.7.4; extra == "dev" +Requires-Dist: mypy<2.0.0,>=1.15.0; extra == "dev" +Requires-Dist: djangorestframework-stubs<4.0.0,>=3.15.2; extra == "dev" +Requires-Dist: boto3-stubs<2.0.0,>=1.36.20; extra == "dev" +Requires-Dist: types-requests<3.0.0,>=2.32.0.20241016; extra == "dev" +Requires-Dist: types-markdown<4.0.0,>=3.7.0.20241204; extra == "dev" +Requires-Dist: types-pygments<3.0.0,>=2.19.0.20250107; extra == "dev" +Requires-Dist: types-influxdb-client<2.0.0,>=1.45.0.20241221; extra == "dev" +Requires-Dist: types-psycopg2<3.0.0,>=2.9.21.20250121; extra == "dev" +Requires-Dist: types-python-dateutil<3.0.0,>=2.9.0.20241206; extra == "dev" +Requires-Dist: types-pytz<2026.0.0,>=2025.1.0.20250204; extra == "dev" +Requires-Dist: ruff<0.10.0,>=0.9.7; extra == "dev" +Requires-Dist: flagsmith-common[test-tools]; extra == "dev" +Requires-Dist: pytest-responses<0.6.0,>=0.5.1; extra == "dev" +Requires-Dist: diff-cover<11.0.0,>=10.1.0; extra == "dev" +Requires-Dist: django-debug-toolbar; extra == "dev" +Requires-Dist: ipython<10.0.0,>=9.10.0; extra == "dev" +Requires-Dist: email-validator>=2.0.0; extra == "dev" + +## Flagsmith API + +### Local development + +The project assumes the following tools installed: +- [Python](https://www.python.org/downloads/). Any version allowed by `requires-python` in `pyproject.toml` is supported. +- [GNU Make](https://www.gnu.org/software/make/). +- Docker or a compatible tool like [Podman](https://podman.io/). We recommend [OrbStack](https://orbstack.dev/) for macOS. + +To install dev dependencies, run `make install`. Only Flagsmith maintainers can run `uv lock` due to private dependencies. + +To run linters, run `make lint`. + +To run tests, run `make test`. + +To run a subset of tests or an individual test, run `make test opts=''`. If the number of test is too low for xdist, consider adding `-n0` to pytest args. + +To prepare a dev database, run `make docker-up django-migrate`. + +To bring up a dev server, run `make serve`, or `make serve-with-task-processor` to run the Task processor alongside the server. + +### Code guidelines: testing + +The required diff test coverage for our backend PRs is 100%. This policy gives us more confidence to ship, helps us to find bugs earlier, and promotes the test-driven development (TDD) approach. We encourage you to add new tests, and modify existing ones, ahead of writing the code. + +This codebase includes two kinds of tests: +- Black box API tests in `tests/integration` directory. Ideally, these are intended to only invoke API endpoints, and verify their output. +- Tests for individual modules, classes and functions in `tests/unit` directory. + +We avoid class-based tests. To manage test lifecycle and dependencies, we rely on Pytest features such as fixtures, markers, parametrisation, and hooks. Read `conftest.py` for commonly used fixtures. + +We enforce the `test_{subject}__{condition}__{expected outcome}` template for test names, e.g. `test_get_version__valid_file_contents__returns_version_number`. + +We use the Given When Then structure in all our tests. + +### Code guidelines: metrics + +The Flagsmith backend exports Prometheus metrics. When planning a feature, consider which metrics should cover it — counters for domain events, histograms for latency or sizes, gauges for cardinalities. See [documentation for existing metrics](https://docs.flagsmith.com/deployment-self-hosting/observability/metrics). Metrics code is hosted in `metrics.py` modules. + +Name metrics `flagsmith_{domain}_{entity}_{unit}` and give them a comprehensive description. + +### Code guidelines: logs + +We use structured logging to mark up interesting operational and product events. Events emitted via structlog also flow through an OpenTelemetry pipeline and may be routed to a CDP or a data warehouse for product analytics. + +When planning a feature, decide which moments deserve an event: things a product manager would ask about (an integration set up, a workflow committed, an import completed), or that a future oncall engineer would need to debug an incident. One well-shaped event per moment beats a wall of free-form `logging.info` calls. + +```python +import structlog + +# Use logger name as the event domain: +logger = structlog.get_logger("workflows") + +# This will produce a `workflows.change_request.committed` OTLP log event +# with the following attributes: +# - organisation.id +# - environment.id +# - feature_states.count +logger.info( + "change_request.committed", + organisation__id=environment.project.organisation_id, + environment__id=environment.id, + feature_states__count=change_request.feature_states.count(), +) +``` + +In your tests, verify your logs with the `caplog` fixture: + +```python +from pytest_structlog import StructuredLogCapture + +def test_my_view__success__logs_expected( + log: StructuredLogCapture, +) -> None: + # Given / When + ... + + # Then + assert log.events == [ + { + "level": "info", + "event": "action.succeeded", + "organisation__id": organisation.id, + } + ] +``` + +Conventions: + +- Logger name is the domain namespace — typically the app or package (`workflows`, `code_references`, `feature_health`). +- Event name is `entity.action` in snake_case (`scan.created`, `change_request.committed`). Do not repeat the logger name in the event, i.e `get_logger("saml")` with `"saml.configuration.created"` is redundant. +- Use double underscore to namespace event attributes, i.e. `namespace__property` will be emitted as `namespace.property`. Include the IDs of the entities the event is about (`organisation__id`, `project__id`, `environment__id`, `feature__id`) so events can be correlated with each other. +- Bind shared context once with `logger.bind(...)` rather than repeating attributes at every call site. +- Avoid PII — identify users and organisations by ID. + +For errors, use `logger.exception(...)` or pass `exc_info=exc`, and keep the event name actionable (`import.failed`, not `error`). + +### Code guidelines: feature flags (Flagsmith on Flagsmith) + +To gate and gradually roll out features in the backend, we use the [OpenFeature](https://openfeature.dev/) SDK with a Flagsmith provider running in local evaluation mode: + +```python +from integrations.flagsmith.client import get_openfeature_client + +client = get_openfeature_client() +ai_enabled = client.get_boolean_value( + "ai", + default_value=False, + evaluation_context=organisation.openfeature_evaluation_context, +) +``` + +Organisations expose an `openfeature_evaluation_context` property carrying common traits — use it for org-scoped targeting. For other subjects, build an `EvaluationContext` with a stable `targeting_key` and the attributes your targeting rules need. + +Add your feature as early as possible to the Flagsmith on Flagsmith project, and run the `updateflagsmithenvironment` management command to synchronise the local cache. You can use [Flagsmith MCP](https://docs.flagsmith.com/integrating-with-flagsmith/mcp-server) to integrate Flagsmith in your development flow. + +### Code guidelines: migrations + +To auto-generate migrations for your new code, run `make docker-up django-make-migrations`. + +The prompt will ask you for a name and not generate one; we avoid auto-generated migration names. + +Squash newly added migrations whenever you can. + +### Code guidelines: typing + +This codebase, including tests, is fully type-checked by Mypy in strict mode. Resolving existing `# type: ignore` comments is always welcome. If you happen to bring a new `# type: ignore` comment, please document the reason, and consider fixing a small number of adjacent `# type: ignore` comments, if possible and appropriate for the scope of your task. + +To run a full type check, run `make typecheck`. + +### Code guidelines: design and architecture + +Core API consists of Django apps with usual Django submodules like: +- `apps.py` +- `middleware.py` +- `models.py` +- `serializers.py` +- `views.py` +- `urls.py` + +We tend to add our own layers in the following modules: +- `constants.py` for app-wide constant variables. +- `dataclasses.py` for dataclass definitions, typically used for internal data transfer objects (DTOs). +- `mappers.py` for data mapping logic unrelated to API requests and responses. +- `services.py` for encapsulated business logic. Our goal with this layer is to make the views, models and serialisers leaner, so that the business logic is more clearly defined and easier to compose. +- `tasks.py` for defining asynchronous and recurring tasks. +- `types.py` for custom type definitions, including typed dicts. diff --git a/api/flagsmith_api.egg-info/SOURCES.txt b/api/flagsmith_api.egg-info/SOURCES.txt new file mode 100644 index 000000000000..ed8491a65e29 --- /dev/null +++ b/api/flagsmith_api.egg-info/SOURCES.txt @@ -0,0 +1,1691 @@ +README.md +pyproject.toml +api/__init__.py +api/apps.py +api/models.py +api/openapi.py +api/openapi_views.py +api/serializers.py +api/migrations/0001_initial.py +api/migrations/0002_auto_20170619_1243.py +api/migrations/0003_auto_20170619_1255.py +api/migrations/0004_identity_uuid.py +api/migrations/0005_auto_20180514_1557.py +api/migrations/0006_auto_20180514_1622.py +api/migrations/0007_auto_20180517_1011.py +api/migrations/0008_auto_20180517_1104.py +api/migrations/0009_auto_20180517_1418.py +api/migrations/0010_remove_identity_hash.py +api/migrations/0011_auto_20180517_1646.py +api/migrations/0012_delete_ffadminuser.py +api/migrations/0013_featurestate_value.py +api/migrations/0014_auto_20180522_0928.py +api/migrations/0015_auto_20180522_0931.py +api/migrations/0016_auto_20180522_1311.py +api/migrations/0017_feature_description.py +api/migrations/0018_auto_20180524_1521.py +api/migrations/0019_auto_20180525_1436.py +api/migrations/0020_auto_20180525_1541.py +api/migrations/0021_auto_20180525_1651.py +api/migrations/__init__.py +api/urls/__init__.py +api/urls/deprecated.py +api/urls/experiments.py +api/urls/v1.py +api/urls/v2.py +api_keys/__init__.py +api_keys/admin.py +api_keys/apps.py +api_keys/authentication.py +api_keys/models.py +api_keys/serializers.py +api_keys/user.py +api_keys/views.py +api_keys/migrations/0001_initial.py +api_keys/migrations/0002_soft_delete_api_keys.py +api_keys/migrations/0003_masterapikey_is_admin.py +api_keys/migrations/0004_add_created_by.py +api_keys/migrations/__init__.py +app/__init__.py +app/exceptions.py +app/handlers.py +app/pagination.py +app/routers.py +app/urls.py +app/utils.py +app/views.py +app/wsgi.py +app/settings/__init__.py +app/settings/common.py +app/settings/develop.py +app/settings/local.py +app/settings/production.py +app/settings/test.py +app/templates/robots.txt +app_analytics/__init__.py +app_analytics/analytics_db_service.py +app_analytics/apps.py +app_analytics/cache.py +app_analytics/constants.py +app_analytics/dataclasses.py +app_analytics/experiments.py +app_analytics/influxdb_wrapper.py +app_analytics/mappers.py +app_analytics/middleware.py +app_analytics/migrate_to_pg.py +app_analytics/models.py +app_analytics/permissions.py +app_analytics/query.py +app_analytics/serializers.py +app_analytics/services.py +app_analytics/tasks.py +app_analytics/throttles.py +app_analytics/track.py +app_analytics/types.py +app_analytics/views.py +app_analytics/management/commands/migrate_analytics.py +app_analytics/management/commands/populate_buckets.py +app_analytics/management/commands/sendapiusagetoinflux.py +app_analytics/migrations/0001_initial.py +app_analytics/migrations/0002_featureevaluationraw_identifier_and_index_feature.py +app_analytics/migrations/0003_add_feature_name_index.py +app_analytics/migrations/0004_apiusageraw_count.py +app_analytics/migrations/0005_featureevaluationraw_created_at_idx.py +app_analytics/migrations/0006_add_labels.py +app_analytics/migrations/0007_rename_environment_id_created_at_index.py +app_analytics/migrations/0008_labels_jsonb.py +app_analytics/migrations/__init__.py +audit/__init__.py +audit/apps.py +audit/constants.py +audit/models.py +audit/permissions.py +audit/related_object_type.py +audit/serializers.py +audit/services.py +audit/signals.py +audit/tasks.py +audit/types.py +audit/urls.py +audit/views.py +audit/migrations/0001_initial.py +audit/migrations/0002_auto_20190909_1153.py +audit/migrations/0003_auto_20190910_1545.py +audit/migrations/0004_auto_20200504_1322.py +audit/migrations/0005_auditlog_skip_signals.py +audit/migrations/0006_auditlog_master_api_key.py +audit/migrations/0007_auditlog_is_system_event.py +audit/migrations/0008_attach_historical_record_to_audit_log.py +audit/migrations/0010_do_nothing_on_project_or_environment_delete.py +audit/migrations/0011_auditlog_related_object_uuid.py +audit/migrations/0012_auto_20230517_1006.py +audit/migrations/0013_allow_manual_override_of_created_date.py +audit/migrations/__init__.py +core/__init__.py +core/apps.py +core/constants.py +core/dataclasses.py +core/helpers.py +core/migration_helpers.py +core/models.py +core/redis_cluster.py +core/request_origin.py +core/signals.py +core/signing.py +core/throttling.py +core/workflows_services.py +core/custom_admin/__init__.py +core/custom_admin/admin.py +core/custom_admin/apps.py +core/management/__init__.py +core/management/commands/__init__.py +core/management/commands/bootstrap.py +core/management/commands/makemigrations.py +core/management/commands/rollbackmigrationsappliedafter.py +core/management/commands/waitfordb.py +core/middleware/__init__.py +core/middleware/admin.py +core/middleware/axes.py +core/middleware/cache_control.py +custom_auth/__init__.py +custom_auth/admin.py +custom_auth/apps.py +custom_auth/constants.py +custom_auth/models.py +custom_auth/permissions.py +custom_auth/serializers.py +custom_auth/tasks.py +custom_auth/urls.py +custom_auth/views.py +custom_auth/jwt_cookie/__init__.py +custom_auth/jwt_cookie/authentication.py +custom_auth/jwt_cookie/constants.py +custom_auth/jwt_cookie/services.py +custom_auth/jwt_cookie/signals.py +custom_auth/jwt_cookie/views.py +custom_auth/mfa/__init__.py +custom_auth/mfa/backends/__init__.py +custom_auth/mfa/backends/application.py +custom_auth/mfa/trench/__init__.py +custom_auth/mfa/trench/admin.py +custom_auth/mfa/trench/apps.py +custom_auth/mfa/trench/exceptions.py +custom_auth/mfa/trench/models.py +custom_auth/mfa/trench/responses.py +custom_auth/mfa/trench/serializers.py +custom_auth/mfa/trench/utils.py +custom_auth/mfa/trench/backends/__init__.py +custom_auth/mfa/trench/command/__init__.py +custom_auth/mfa/trench/command/activate_mfa_method.py +custom_auth/mfa/trench/command/authenticate_second_factor.py +custom_auth/mfa/trench/command/create_mfa_method.py +custom_auth/mfa/trench/command/create_secret.py +custom_auth/mfa/trench/command/deactivate_mfa_method.py +custom_auth/mfa/trench/command/generate_backup_codes.py +custom_auth/mfa/trench/command/remove_backup_code.py +custom_auth/mfa/trench/command/replace_mfa_method_backup_codes.py +custom_auth/mfa/trench/command/validate_backup_code.py +custom_auth/mfa/trench/migrations/0001_initial.py +custom_auth/mfa/trench/migrations/0002_auto_20190111_1403.py +custom_auth/mfa/trench/migrations/0003_auto_20190213_2330.py +custom_auth/mfa/trench/migrations/0004_add_created_at_and_updated_at.py +custom_auth/mfa/trench/migrations/__init__.py +custom_auth/mfa/trench/urls/__init__.py +custom_auth/mfa/trench/urls/base.py +custom_auth/mfa/trench/views/__init__.py +custom_auth/mfa/trench/views/base.py +custom_auth/migrations/0001_initial.py +custom_auth/migrations/__init__.py +custom_auth/oauth/__init__.py +custom_auth/oauth/exceptions.py +custom_auth/oauth/github.py +custom_auth/oauth/google.py +custom_auth/oauth/serializers.py +custom_auth/oauth/urls.py +custom_auth/oauth/views.py +custom_auth/oauth/helpers/__init__.py +custom_auth/oauth/helpers/github_helpers.py +e2etests/__init__.py +e2etests/e2e_seed_data.py +e2etests/middleware.py +e2etests/permissions.py +e2etests/urls.py +e2etests/views.py +edge_api/__init__.py +edge_api/apps.py +edge_api/utils.py +edge_api/identities/__init__.py +edge_api/identities/apps.py +edge_api/identities/edge_identity_service.py +edge_api/identities/edge_request_forwarder.py +edge_api/identities/events.py +edge_api/identities/exceptions.py +edge_api/identities/export.py +edge_api/identities/models.py +edge_api/identities/openapi.py +edge_api/identities/permissions.py +edge_api/identities/search.py +edge_api/identities/serializers.py +edge_api/identities/tasks.py +edge_api/identities/types.py +edge_api/identities/utils.py +edge_api/identities/views.py +edge_api/management/commands/__init__.py +edge_api/management/commands/ensure_identity_traits_blanks.py +edge_api/management/commands/migrate_to_edge_v2.py +environments/__init__.py +environments/admin.py +environments/api_keys.py +environments/apps.py +environments/authentication.py +environments/constants.py +environments/enums.py +environments/exceptions.py +environments/managers.py +environments/metrics.py +environments/models.py +environments/serializers.py +environments/tasks.py +environments/urls.py +environments/views.py +environments/dynamodb/__init__.py +environments/dynamodb/constants.py +environments/dynamodb/migrator.py +environments/dynamodb/services.py +environments/dynamodb/types.py +environments/dynamodb/utils.py +environments/dynamodb/wrappers/__init__.py +environments/dynamodb/wrappers/base.py +environments/dynamodb/wrappers/environment_api_key_wrapper.py +environments/dynamodb/wrappers/environment_wrapper.py +environments/dynamodb/wrappers/exceptions.py +environments/dynamodb/wrappers/identity_wrapper.py +environments/identities/__init__.py +environments/identities/admin.py +environments/identities/apps.py +environments/identities/managers.py +environments/identities/models.py +environments/identities/serializers.py +environments/identities/views.py +environments/identities/migrations/0001_initial.py +environments/identities/migrations/0002_alter_identity_index_together.py +environments/identities/migrations/0003_sanitized_identifiers.py +environments/identities/migrations/0004_allow_spaces_in_identifiers.py +environments/identities/migrations/0005_revert_sanitized_identifiers.py +environments/identities/migrations/0006_rename_environment_created_date_index.py +environments/identities/migrations/__init__.py +environments/identities/traits/__init__.py +environments/identities/traits/admin.py +environments/identities/traits/constants.py +environments/identities/traits/exceptions.py +environments/identities/traits/fields.py +environments/identities/traits/models.py +environments/identities/traits/openapi.py +environments/identities/traits/serializers.py +environments/identities/traits/views.py +environments/identities/traits/migrations/0001_initial.py +environments/identities/traits/migrations/0002_alter_trait_boolean_value.py +environments/identities/traits/migrations/__init__.py +environments/management/__init__.py +environments/management/serializers.py +environments/management/commands/__init__.py +environments/management/commands/migrate_to_edge.py +environments/migrations/0001_initial.py +environments/migrations/0002_auto_20180809_0014.py +environments/migrations/0003_auto_20180925_0915.py +environments/migrations/0004_auto_20181026_1438.py +environments/migrations/0005_auto_20181128_1013.py +environments/migrations/0006_auditlog.py +environments/migrations/0007_auto_20190827_1528.py +environments/migrations/0008_webhook.py +environments/migrations/0009_auto_20200219_1922.py +environments/migrations/0010_auto_20200219_2343.py +environments/migrations/0011_auto_20200220_0044.py +environments/migrations/0012_auto_20200504_1322.py +environments/migrations/0013_auto_20200619_1321.py +environments/migrations/0014_auto_20200917_1032.py +environments/migrations/0015_auto_20200916_1441.py +environments/migrations/0016_webhook_secret.py +environments/migrations/0017_add_environment_api_key_model.py +environments/migrations/0018_add_minimum_change_request_approvals_to_environment.py +environments/migrations/0019_allow_blank_minimum_change_request_approvals.py +environments/migrations/0020_add_uuid_field_to_environment_webhook.py +environments/migrations/0021_environment_allow_client_traits.py +environments/migrations/0022_environment_description.py +environments/migrations/0023_environment_updated_at.py +environments/migrations/0024_auto_20221206_0601.py +environments/migrations/0025_soft_delete_environments.py +environments/migrations/0026_add_auditable_base_class_to_environment_model.py +environments/migrations/0027_auto_20230106_0626.py +environments/migrations/0028_add_use_mv_v2_evaluation.py +environments/migrations/0029_auto_20230314_0443.py +environments/migrations/0030_auto_20230518_0338.py +environments/migrations/0031_alter_webhook_url.py +environments/migrations/0032_rename_use_mv_v2_evaluation_to_use_in_percentage_split_evaluation.py +environments/migrations/0033_add_environment_feature_state_version_logic.py +environments/migrations/0034_alter_environment_project.py +environments/migrations/0035_add_use_identity_overrides_in_local_eval.py +environments/migrations/0036_add_is_creating_field.py +environments/migrations/0037_add_uuid_field.py +environments/migrations/__init__.py +environments/permissions/__init__.py +environments/permissions/apps.py +environments/permissions/managers.py +environments/permissions/models.py +environments/permissions/permissions.py +environments/permissions/serializers.py +environments/permissions/views.py +environments/permissions/migrations/0001_initial.py +environments/permissions/migrations/0002_add_update_feature_state_permission.py +environments/permissions/migrations/0003_add_manage_identities_permission.py +environments/permissions/migrations/0004_add_change_request_permissions.py +environments/permissions/migrations/0005_add_view_identity_permissions.py +environments/permissions/migrations/0006_merge_duplicate_permissions.py +environments/permissions/migrations/0007_add_unique_permission_constraint.py +environments/permissions/migrations/0008_add_manage_segment_overrides_permission.py +environments/permissions/migrations/0009_add_environment_feature_state_version_logic.py +environments/permissions/migrations/__init__.py +environments/sdk/__init__.py +environments/sdk/serializers.py +environments/sdk/serializers_mixins.py +environments/sdk/services.py +environments/sdk/types.py +environments/sdk/views.py +features/__init__.py +features/admin.py +features/apps.py +features/audit_helpers.py +features/constants.py +features/custom_lifecycle.py +features/dataclasses.py +features/exceptions.py +features/feature_types.py +features/features_service.py +features/fields.py +features/helpers.py +features/managers.py +features/models.py +features/permissions.py +features/serializers.py +features/signals.py +features/tasks.py +features/urls.py +features/utils.py +features/value_types.py +features/views.py +features/feature_external_resources/__init__.py +features/feature_external_resources/apps.py +features/feature_external_resources/models.py +features/feature_external_resources/serializers.py +features/feature_external_resources/views.py +features/feature_external_resources/migrations/0001_initial.py +features/feature_external_resources/migrations/0002_featureexternalresource_feature_ext_type_2b2068_idx.py +features/feature_external_resources/migrations/0003_add_gitlab_resource_types.py +features/feature_external_resources/migrations/__init__.py +features/feature_health/__init__.py +features/feature_health/admin.py +features/feature_health/apps.py +features/feature_health/constants.py +features/feature_health/mappers.py +features/feature_health/models.py +features/feature_health/serializers.py +features/feature_health/services.py +features/feature_health/tasks.py +features/feature_health/types.py +features/feature_health/views.py +features/feature_health/migrations/0001_initial.py +features/feature_health/migrations/0002_featurehealthevent_add_external_id_alter_created_at.py +features/feature_health/migrations/0003_migrate_sample_to_webhook.py +features/feature_health/migrations/__init__.py +features/feature_health/providers/__init__.py +features/feature_health/providers/services.py +features/feature_health/providers/generic/mappers.py +features/feature_health/providers/grafana/__init__.py +features/feature_health/providers/grafana/constants.py +features/feature_health/providers/grafana/mappers.py +features/feature_health/providers/grafana/services.py +features/feature_health/providers/grafana/types.py +features/feature_health/providers/webhook/__init__.py +features/feature_health/providers/webhook/mappers.py +features/feature_health/providers/webhook/services.py +features/feature_health/providers/webhook/types.py +features/feature_segments/__init__.py +features/feature_segments/limits.py +features/feature_segments/permissions.py +features/feature_segments/serializers.py +features/feature_segments/views.py +features/feature_states/__init__.py +features/feature_states/models.py +features/feature_states/permissions.py +features/feature_states/serializers.py +features/feature_states/views.py +features/import_export/apps.py +features/import_export/constants.py +features/import_export/mappers.py +features/import_export/models.py +features/import_export/permissions.py +features/import_export/serializers.py +features/import_export/services.py +features/import_export/tasks.py +features/import_export/types.py +features/import_export/views.py +features/import_export/migrations/0001_initial.py +features/import_export/migrations/0002_status_and_data_featureexport.py +features/import_export/migrations/0003_flagsmithonflagsmithfeatureexport.py +features/import_export/migrations/0004_convert_data_fields_to_text_field.py +features/import_export/migrations/__init__.py +features/migrations/0001_initial.py +features/migrations/0002_auto_20180530_0724.py +features/migrations/0003_auto_20180601_1038.py +features/migrations/0004_auto_20180604_1259.py +features/migrations/0005_auto_20180604_1348.py +features/migrations/0006_featurestate_type.py +features/migrations/0007_feature_default_enabled.py +features/migrations/0008_auto_20180608_1328.py +features/migrations/0009_auto_20180809_0014.py +features/migrations/0009_auto_20180815_1011.py +features/migrations/0010_merge_20180816_1531.py +features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py +features/migrations/0012_auto_20190424_1555.py +features/migrations/0013_auto_20190607_1109.py +features/migrations/0014_auto_20190607_1642.py +features/migrations/0015_auto_20190916_1338.py +features/migrations/0016_auto_20190916_1717.py +features/migrations/0017_auto_20200607_1005.py +features/migrations/0018_auto_20200607_1057.py +features/migrations/0019_auto_20200607_1059.py +features/migrations/0020_auto_20200615_1300.py +features/migrations/0021_historicalfeaturesegment.py +features/migrations/0022_auto_20200630_2115.py +features/migrations/0023_auto_20200717_1515.py +features/migrations/0024_auto_20200917_1032.py +features/migrations/0025_alter_unique_constraints_for_feature_states.py +features/migrations/0025_enable_all_remote_config_feature_states.py +features/migrations/0026_auto_20210110_1300.py +features/migrations/0027_merge_20210215_1059.py +features/migrations/0028_auto_20210216_1600.py +features/migrations/0028_auto_20210223_2039.py +features/migrations/0029_auto_20210223_2106.py +features/migrations/0030_auto_20210401_1552.py +features/migrations/0030_merge_20210305_1622.py +features/migrations/0031_merge_20210409_1621.py +features/migrations/0032_update_feature_type.py +features/migrations/0033_auto_20210918_1048.py +features/migrations/0033_feature_owners.py +features/migrations/0034_merge_20210930_0502.py +features/migrations/0035_auto_20211109_0603.py +features/migrations/0036_alter_feature_options.py +features/migrations/0036_remove_existing_constraints.py +features/migrations/0037_add_feature_state_versioning_fields.py +features/migrations/0038_remove_old_versions_and_drafts.py +features/migrations/0039_allow_null_version.py +features/migrations/0039_merge_20220329_1252.py +features/migrations/0040_add_change_request_to_feature_state.py +features/migrations/0041_merge_20220406_0806.py +features/migrations/0042_default_type_to_STANDARD.py +features/migrations/0043_add_uuid_field_to_feature.py +features/migrations/0044_add_uuid_field_to_feature_state.py +features/migrations/0045_add_uuid_field_to_feature_state_value.py +features/migrations/0046_add_uuid_field_to_feature_segment.py +features/migrations/0047_prevent_null_feature_type.py +features/migrations/0048_add_master_api_key_to_historical_records.py +features/migrations/0049_safe_delete_feature_models.py +features/migrations/0050_remove_unique_indexes.py +features/migrations/0051_permanently_delete_soft_deleted_features.py +features/migrations/0052_add_feature_state_value_audit.py +features/migrations/0053_delete_historical_feature_segment.py +features/migrations/0054_add_missing_migration.py +features/migrations/0055_add_feature_segment_audit_log_for_delete.py +features/migrations/0056_alter_featurestate_change_request.py +features/migrations/0057_add_feature_is_server_key_only.py +features/migrations/0058_alter_boolean_values.py +features/migrations/0059_fix_feature_type.py +features/migrations/0060_feature_group_owners.py +features/migrations/0061_add_environment_feature_state_version_logic.py +features/migrations/0062_alter_feature_segment_unique_together.py +features/migrations/0063_detach_feature_from_project_cascade_delete.py +features/migrations/0064_fix_feature_help_text_typo.py +features/migrations/0065_make_feature_value_size_configurable.py +features/migrations/0066_constrain_feature_type.py +features/migrations/__init__.py +features/multivariate/__init__.py +features/multivariate/apps.py +features/multivariate/models.py +features/multivariate/serializers.py +features/multivariate/urls.py +features/multivariate/views.py +features/multivariate/migrations/0001_initial.py +features/multivariate/migrations/0002_add_unique_constraint_for_mv_feature_states.py +features/multivariate/migrations/0002_auto_20220124_0722.py +features/multivariate/migrations/0003_merge_20220131_1532.py +features/multivariate/migrations/0004_alter_multivariatefeatureoption_string_value.py +features/multivariate/migrations/0005_add_uuid_fields.py +features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py +features/multivariate/migrations/0007_alter_boolean_values.py +features/multivariate/migrations/0008_make_feature_value_size_configurable.py +features/multivariate/migrations/__init__.py +features/release_pipelines/core/__init__.py +features/release_pipelines/core/apps.py +features/release_pipelines/core/constants.py +features/release_pipelines/core/exceptions.py +features/release_pipelines/core/models.py +features/release_pipelines/core/migrations/0001_add_release_pipelines.py +features/release_pipelines/core/migrations/0002_add_phased_rollout.py +features/release_pipelines/core/migrations/0003_add_created_at.py +features/release_pipelines/core/migrations/__init__.py +features/release_pipelines/core/templates/release_pipelines/pipeline_stage_completed_notification.html +features/release_pipelines/core/templates/release_pipelines/pipeline_stage_completed_notification.txt +features/templates/features/webhook_failure.txt +features/versioning/__init__.py +features/versioning/apps.py +features/versioning/constants.py +features/versioning/dataclasses.py +features/versioning/exceptions.py +features/versioning/managers.py +features/versioning/models.py +features/versioning/permissions.py +features/versioning/receivers.py +features/versioning/schemas.py +features/versioning/serializers.py +features/versioning/signals.py +features/versioning/tasks.py +features/versioning/urls.py +features/versioning/versioning_service.py +features/versioning/views.py +features/versioning/migrations/0001_add_environment_feature_state_version_logic.py +features/versioning/migrations/0002_add_api_key_for_creation_and_publish.py +features/versioning/migrations/0003_cascade_delete_versions_on_cr_delete.py +features/versioning/migrations/0004_add_version_change_set.py +features/versioning/migrations/0005_fix_scheduled_fs_data_issue_caused_by_enabling_versioning.py +features/versioning/migrations/0006_add_pipeline_stage_to_envfeatureversion.py +features/versioning/migrations/0007_add_phased_rollout.py +features/versioning/migrations/__init__.py +features/versioning/sql/get_latest_versions.sql +features/versioning/templates/versioning/scheduled_change_failed_conflict_email.txt +features/workflows/__init__.py +features/workflows/core/__init__.py +features/workflows/core/apps.py +features/workflows/core/exceptions.py +features/workflows/core/models.py +features/workflows/core/migrations/0001_initial.py +features/workflows/core/migrations/0002_add_uuid_field.py +features/workflows/core/migrations/0003_add_historical_change_request.py +features/workflows/core/migrations/0004_add_historical_change_request_approvals.py +features/workflows/core/migrations/0005_soft_delete_change_requests.py +features/workflows/core/migrations/0006_auto_20230518_1036.py +features/workflows/core/migrations/0007_add_change_request_group_assignment.py +features/workflows/core/migrations/0008_remove_redundant_column.py +features/workflows/core/migrations/0009_prevent_cascade_delete_from_user_delete.py +features/workflows/core/migrations/0010_add_ignore_conflicts_option.py +features/workflows/core/migrations/0011_add_project_to_change_requests.py +features/workflows/core/migrations/0012_alter_changerequest_options.py +features/workflows/core/migrations/__init__.py +features/workflows/core/templates/workflows_core/change_request_approved_author_notification.html +features/workflows/core/templates/workflows_core/change_request_approved_author_notification.txt +features/workflows/core/templates/workflows_core/change_request_assignee_notification.html +features/workflows/core/templates/workflows_core/change_request_assignee_notification.txt +flagsmith_api.egg-info/PKG-INFO +flagsmith_api.egg-info/SOURCES.txt +flagsmith_api.egg-info/dependency_links.txt +flagsmith_api.egg-info/requires.txt +flagsmith_api.egg-info/top_level.txt +import_export/__init__.py +import_export/export.py +import_export/import_.py +import_export/json_serializers_with_metadata_support.py +import_export/management/__init__.py +import_export/management/commands/__init__.py +import_export/management/commands/dumporganisationtolocalfs.py +import_export/management/commands/dumporganisationtos3.py +import_export/management/commands/importorganisationfroms3.py +integrations/__init__.py +integrations/integration.py +integrations/amplitude/__init__.py +integrations/amplitude/amplitude.py +integrations/amplitude/apps.py +integrations/amplitude/constants.py +integrations/amplitude/models.py +integrations/amplitude/serializers.py +integrations/amplitude/views.py +integrations/amplitude/migrations/0001_initial.py +integrations/amplitude/migrations/0002_auto_20210325_1414.py +integrations/amplitude/migrations/0003_amplitudeconfiguration_uuid.py +integrations/amplitude/migrations/0004_make_uuid_not_editable.py +integrations/amplitude/migrations/0005_amplitudeconfiguration_deleted_at.py +integrations/amplitude/migrations/0006_add_default_base_url.py +integrations/amplitude/migrations/__init__.py +integrations/common/__init__.py +integrations/common/models.py +integrations/common/serializers.py +integrations/common/views.py +integrations/common/wrapper.py +integrations/datadog/__init__.py +integrations/datadog/apps.py +integrations/datadog/datadog.py +integrations/datadog/models.py +integrations/datadog/serializers.py +integrations/datadog/views.py +integrations/datadog/migrations/0001_initial.py +integrations/datadog/migrations/0002_add_uuid_field.py +integrations/datadog/migrations/0003_datadogconfiguration_deleted_at.py +integrations/datadog/migrations/0004_add_use_custom_source.py +integrations/datadog/migrations/__init__.py +integrations/dynatrace/__init__.py +integrations/dynatrace/apps.py +integrations/dynatrace/dynatrace.py +integrations/dynatrace/models.py +integrations/dynatrace/serializers.py +integrations/dynatrace/views.py +integrations/dynatrace/migrations/0001_initial.py +integrations/dynatrace/migrations/0002_add_uuid_field.py +integrations/dynatrace/migrations/0003_dynatraceconfiguration_deleted_at.py +integrations/dynatrace/migrations/__init__.py +integrations/flagsmith/__init__.py +integrations/flagsmith/client.py +integrations/flagsmith/exceptions.py +integrations/flagsmith/flagsmith_service.py +integrations/flagsmith/data/environment.json +integrations/flagsmith/management/__init__.py +integrations/flagsmith/management/commands/__init__.py +integrations/flagsmith/management/commands/updateflagsmithenvironment.py +integrations/github/__init__.py +integrations/github/apps.py +integrations/github/client.py +integrations/github/constants.py +integrations/github/dataclasses.py +integrations/github/exceptions.py +integrations/github/github.py +integrations/github/helpers.py +integrations/github/models.py +integrations/github/permissions.py +integrations/github/serializers.py +integrations/github/tasks.py +integrations/github/views.py +integrations/github/migrations/0001_initial.py +integrations/github/migrations/0002_auto_20240502_1949.py +integrations/github/migrations/0003_auto_20240528_0640.py +integrations/github/migrations/0004_githubrepository_tagging_enabled.py +integrations/github/migrations/__init__.py +integrations/gitlab/__init__.py +integrations/gitlab/apps.py +integrations/gitlab/constants.py +integrations/gitlab/mappers.py +integrations/gitlab/models.py +integrations/gitlab/serializers.py +integrations/gitlab/tasks.py +integrations/gitlab/types.py +integrations/gitlab/client/__init__.py +integrations/gitlab/client/api.py +integrations/gitlab/client/types.py +integrations/gitlab/migrations/0001_initial.py +integrations/gitlab/migrations/0002_add_gitlab_webhook_model.py +integrations/gitlab/migrations/0003_gitlabconfiguration_labeling_enabled.py +integrations/gitlab/migrations/__init__.py +integrations/gitlab/services/__init__.py +integrations/gitlab/services/comments.py +integrations/gitlab/services/labels.py +integrations/gitlab/services/tagging.py +integrations/gitlab/services/url_parsing.py +integrations/gitlab/services/webhooks.py +integrations/gitlab/templates/gitlab/feature_deleted_comment.md +integrations/gitlab/templates/gitlab/feature_linked_comment.md +integrations/gitlab/templates/gitlab/feature_state_changed_comment.md +integrations/gitlab/templates/gitlab/feature_unlinked_comment.md +integrations/gitlab/views/__init__.py +integrations/gitlab/views/browse_gitlab.py +integrations/gitlab/views/configuration.py +integrations/gitlab/views/webhook.py +integrations/grafana/__init__.py +integrations/grafana/apps.py +integrations/grafana/grafana.py +integrations/grafana/mappers.py +integrations/grafana/models.py +integrations/grafana/serializers.py +integrations/grafana/types.py +integrations/grafana/views.py +integrations/grafana/migrations/0001_initial.py +integrations/grafana/migrations/0002_add_grafana_organisation_configuration.py +integrations/grafana/migrations/__init__.py +integrations/heap/__init__.py +integrations/heap/apps.py +integrations/heap/heap.py +integrations/heap/models.py +integrations/heap/serializers.py +integrations/heap/views.py +integrations/heap/migrations/0001_initial.py +integrations/heap/migrations/0002_add_uuid_field.py +integrations/heap/migrations/0003_heapconfiguration_deleted_at.py +integrations/heap/migrations/__init__.py +integrations/launch_darkly/__init__.py +integrations/launch_darkly/admin.py +integrations/launch_darkly/apps.py +integrations/launch_darkly/client.py +integrations/launch_darkly/constants.py +integrations/launch_darkly/exceptions.py +integrations/launch_darkly/models.py +integrations/launch_darkly/serializers.py +integrations/launch_darkly/services.py +integrations/launch_darkly/tasks.py +integrations/launch_darkly/types.py +integrations/launch_darkly/views.py +integrations/launch_darkly/migrations/0001_initial.py +integrations/launch_darkly/migrations/0002_importrequest_unique_project_ld_project_key_status_result_null.py +integrations/launch_darkly/migrations/__init__.py +integrations/lead_tracking/__init__.py +integrations/lead_tracking/lead_tracking.py +integrations/lead_tracking/hubspot/client.py +integrations/lead_tracking/hubspot/constants.py +integrations/lead_tracking/hubspot/lead_tracker.py +integrations/lead_tracking/hubspot/services.py +integrations/lead_tracking/hubspot/tasks.py +integrations/mixpanel/__init__.py +integrations/mixpanel/apps.py +integrations/mixpanel/mixpanel.py +integrations/mixpanel/models.py +integrations/mixpanel/serializers.py +integrations/mixpanel/views.py +integrations/mixpanel/migrations/0001_initial.py +integrations/mixpanel/migrations/0002_add_uuid_field.py +integrations/mixpanel/migrations/0003_mixpanelconfiguration_deleted_at.py +integrations/mixpanel/migrations/__init__.py +integrations/new_relic/__init__.py +integrations/new_relic/apps.py +integrations/new_relic/models.py +integrations/new_relic/new_relic.py +integrations/new_relic/serializers.py +integrations/new_relic/views.py +integrations/new_relic/migrations/0001_initial.py +integrations/new_relic/migrations/0002_auto_20210325_1414.py +integrations/new_relic/migrations/0003_add_uuid_field.py +integrations/new_relic/migrations/0004_newrelicconfiguration_deleted_at.py +integrations/new_relic/migrations/__init__.py +integrations/pylon/__init__.py +integrations/pylon/identity_verification.py +integrations/rudderstack/__init__.py +integrations/rudderstack/apps.py +integrations/rudderstack/models.py +integrations/rudderstack/rudderstack.py +integrations/rudderstack/serializers.py +integrations/rudderstack/views.py +integrations/rudderstack/migrations/0001_initial.py +integrations/rudderstack/migrations/0002_add_uuid_field.py +integrations/rudderstack/migrations/0003_rudderstackconfiguration_deleted_at.py +integrations/rudderstack/migrations/__init__.py +integrations/segment/__init__.py +integrations/segment/apps.py +integrations/segment/constants.py +integrations/segment/models.py +integrations/segment/segment.py +integrations/segment/serializers.py +integrations/segment/views.py +integrations/segment/migrations/0001_initial.py +integrations/segment/migrations/0002_auto_20210325_1414.py +integrations/segment/migrations/0003_add_uuid_field.py +integrations/segment/migrations/0004_segmentconfiguration_deleted_at.py +integrations/segment/migrations/0005_set_base_url_to_default.py +integrations/segment/migrations/0006_set_base_url_to_default_again.py +integrations/segment/migrations/__init__.py +integrations/sentry/__init__.py +integrations/sentry/apps.py +integrations/sentry/change_tracking.py +integrations/sentry/middleware.py +integrations/sentry/models.py +integrations/sentry/samplers.py +integrations/sentry/serializers.py +integrations/sentry/views.py +integrations/sentry/migrations/0001_sentry_change_tracking.py +integrations/sentry/migrations/__init__.py +integrations/slack/__init__.py +integrations/slack/apps.py +integrations/slack/authentication.py +integrations/slack/exceptions.py +integrations/slack/models.py +integrations/slack/permissions.py +integrations/slack/serializers.py +integrations/slack/slack.py +integrations/slack/views.py +integrations/slack/migrations/0001_initial.py +integrations/slack/migrations/0002_add_uuid_fields.py +integrations/slack/migrations/0003_slackconfiguration_deleted_at.py +integrations/slack/migrations/__init__.py +integrations/vcs/__init__.py +integrations/vcs/apps.py +integrations/vcs/services.py +integrations/webhook/__init__.py +integrations/webhook/apps.py +integrations/webhook/models.py +integrations/webhook/serializers.py +integrations/webhook/views.py +integrations/webhook/webhook.py +integrations/webhook/migrations/0001_initial.py +integrations/webhook/migrations/0002_add_uuid_field.py +integrations/webhook/migrations/0003_webhookconfiguration_deleted_at.py +integrations/webhook/migrations/0004_alter_webhookconfiguration_url.py +integrations/webhook/migrations/__init__.py +jmeter-tests/Home Page.jmx +metadata/__init__.py +metadata/apps.py +metadata/fields.py +metadata/models.py +metadata/permissions.py +metadata/serializers.py +metadata/urls.py +metadata/views.py +metadata/migrations/0001_initial.py +metadata/migrations/0002_add_project_to_metadata_field.py +metadata/migrations/__init__.py +metrics/__init__.py +metrics/apps.py +metrics/constants.py +metrics/metrics_service.py +metrics/serializers.py +metrics/types.py +oauth2_metadata/__init__.py +oauth2_metadata/apps.py +oauth2_metadata/authentication.py +oauth2_metadata/dataclasses.py +oauth2_metadata/serializers.py +oauth2_metadata/services.py +oauth2_metadata/tasks.py +oauth2_metadata/views.py +onboarding/__init__.py +onboarding/apps.py +onboarding/serializers.py +onboarding/tasks.py +onboarding/throttling.py +onboarding/urls.py +onboarding/views.py +organisations/__init__.py +organisations/admin.py +organisations/apps.py +organisations/constants.py +organisations/exceptions.py +organisations/managers.py +organisations/models.py +organisations/serializers.py +organisations/subscription_info_cache.py +organisations/task_helpers.py +organisations/tasks.py +organisations/urls.py +organisations/views.py +organisations/chargebee/__init__.py +organisations/chargebee/apps.py +organisations/chargebee/cache.py +organisations/chargebee/chargebee.py +organisations/chargebee/client.py +organisations/chargebee/constants.py +organisations/chargebee/metadata.py +organisations/chargebee/serializers.py +organisations/chargebee/tasks.py +organisations/chargebee/webhook_event_types.py +organisations/chargebee/webhook_handlers.py +organisations/invites/__init__.py +organisations/invites/admin.py +organisations/invites/apps.py +organisations/invites/exceptions.py +organisations/invites/models.py +organisations/invites/serializers.py +organisations/invites/views.py +organisations/invites/migrations/0001_initial.py +organisations/invites/migrations/0002_auto_20210118_2026.py +organisations/invites/migrations/0003_auto_20220323_1455.py +organisations/invites/migrations/0004_remove_invite_frontend_base_url.py +organisations/invites/migrations/0005_add_uuid_field.py +organisations/invites/migrations/0006_invite_permission_groups.py +organisations/invites/migrations/__init__.py +organisations/management/commands/check_if_organisations_over_plan_limit.py +organisations/management/commands/createinitialorganisation.py +organisations/migrations/0001_initial.py +organisations/migrations/0002_organisation_has_requested_features.py +organisations/migrations/0003_organisation_webhook_notification_email.py +organisations/migrations/0004_organisation_created_date.py +organisations/migrations/0005_auto_20181025_1611.py +organisations/migrations/0006_auto_20181030_1438.py +organisations/migrations/0007_organisation_pending_cancellation.py +organisations/migrations/0008_auto_20181108_1259.py +organisations/migrations/0009_auto_20181108_1306.py +organisations/migrations/0010_subscription.py +organisations/migrations/0011_subscription_max_seats.py +organisations/migrations/0012_auto_20190912_1538.py +organisations/migrations/0013_organisation_alerted_over_plan_limit.py +organisations/migrations/0014_organisation_stop_serving_flags.py +organisations/migrations/0014_userorganisation.py +organisations/migrations/0015_auto_20190924_1641.py +organisations/migrations/0016_auto_20190924_1716.py +organisations/migrations/0017_subscription_cancellation_date.py +organisations/migrations/0018_merge_20191003_1249.py +organisations/migrations/0019_subscription_customer_id.py +organisations/migrations/0020_auto_20200222_1159.py +organisations/migrations/0021_auto_20200619_1555.py +organisations/migrations/0022_organisation_persist_trait_data.py +organisations/migrations/0023_organisation_block_access_to_admin.py +organisations/migrations/0024_organisation_feature_analytics.py +organisations/migrations/0025_auto_20210223_1603.py +organisations/migrations/0026_auto_20210907_1232.py +organisations/migrations/0027_organisation_restrict_project_create_to_admin.py +organisations/migrations/0028_organisationwebhook_secret.py +organisations/migrations/0029_add_max_api_calls_to_subscription_model.py +organisations/migrations/0030_alter_userorganisation_role.py +organisations/migrations/0031_alter_subscription_plan.py +organisations/migrations/0032_add_uuid_fields.py +organisations/migrations/0033_allow_blank_payment_method.py +organisations/migrations/0034_alter_subscription_payment_method.py +organisations/migrations/0035_add_organisation_subscription_information_cache.py +organisations/migrations/0036_alter_subscription_plan.py +organisations/migrations/0037_add_default_subscription_to_existing_organisations.py +organisations/migrations/0038_soft_delete_organisations.py +organisations/migrations/0039_subscription_deleted_at.py +organisations/migrations/0040_alter_organisationwebhook_url.py +organisations/migrations/0040_organisationsubscriptioninformationcache_chargebee_email.py +organisations/migrations/0041_merge_20230621_0946.py +organisations/migrations/0042_alter_subscription_payment_method.py +organisations/migrations/0043_add_created_at_and_updated_at_to_organisationwebhook.py +organisations/migrations/0044_organisationsubscriptioninformationcache_allowed_projects.py +organisations/migrations/0045_auto_20230802_1956.py +organisations/migrations/0046_allow_allowed_projects_to_be_null.py +organisations/migrations/0047_organisation_force_2fa.py +organisations/migrations/0048_add_default_subscription_to_orphaned_organisations.py +organisations/migrations/0049_subscription_billing_status.py +organisations/migrations/0050_add_historical_subscription.py +organisations/migrations/0051_create_org_api_usage_notification.py +organisations/migrations/0052_create_hubspot_organisation.py +organisations/migrations/0053_create_api_limit_access_block.py +organisations/migrations/0054_create_api_billing.py +organisations/migrations/0055_alter_percent_usage.py +organisations/migrations/0056_create_organisation_breached_grace_period.py +organisations/migrations/0057_limit_audit_and_version_history.py +organisations/migrations/0058_update_audit_and_history_limits_in_sub_cache.py +organisations/migrations/__init__.py +organisations/permissions/__init__.py +organisations/permissions/apps.py +organisations/permissions/models.py +organisations/permissions/permissions.py +organisations/permissions/serializers.py +organisations/permissions/views.py +organisations/permissions/migrations/0001_initial.py +organisations/permissions/migrations/0002_add_related_query_name.py +organisations/permissions/migrations/0003_merge_duplicate_permissions.py +organisations/permissions/migrations/0004_add_unique_permission_constraint.py +organisations/permissions/migrations/__init__.py +organisations/subscriptions/__init__.py +organisations/subscriptions/constants.py +organisations/subscriptions/exceptions.py +organisations/subscriptions/metadata.py +organisations/subscriptions/permissions.py +organisations/subscriptions/serializers/__init__.py +organisations/subscriptions/serializers/mixins.py +organisations/subscriptions/xero/__init__.py +organisations/subscriptions/xero/metadata.py +organisations/templates/organisations/api_flags_blocked_notification.html +organisations/templates/organisations/api_flags_blocked_notification.txt +organisations/templates/organisations/api_usage_notification.html +organisations/templates/organisations/api_usage_notification.txt +organisations/templates/organisations/api_usage_notification_limit.html +organisations/templates/organisations/api_usage_notification_limit.txt +permissions/__init__.py +permissions/models.py +permissions/permission_service.py +permissions/permissions_calculator.py +permissions/rbac_wrapper.py +permissions/serializers.py +permissions/migrations/0001_initial.py +permissions/migrations/0002_auto_20200221_2126.py +permissions/migrations/0003_add_organisation_permission_type.py +permissions/migrations/0004_add_create_project_permission.py +permissions/migrations/0005_orphan_permission_cleanup.py +permissions/migrations/0006_add_manage_segments_permission.py +permissions/migrations/0007_add_invite_users_and_manage_user_groups_org_permissions.py +permissions/migrations/0008_add_view_audit_log_permission.py +permissions/migrations/0009_move_view_audit_log_permission.py +permissions/migrations/0010_add_manage_tags_permission.py +permissions/migrations/__init__.py +platform_hub/__init__.py +platform_hub/apps.py +platform_hub/constants.py +platform_hub/mappers.py +platform_hub/serializers.py +platform_hub/services.py +platform_hub/types.py +platform_hub/urls.py +platform_hub/views.py +projects/__init__.py +projects/admin.py +projects/apps.py +projects/exceptions.py +projects/managers.py +projects/models.py +projects/permissions.py +projects/serializers.py +projects/services.py +projects/tasks.py +projects/urls.py +projects/views.py +projects/code_references/__init__.py +projects/code_references/apps.py +projects/code_references/constants.py +projects/code_references/models.py +projects/code_references/permissions.py +projects/code_references/serializers.py +projects/code_references/services.py +projects/code_references/types.py +projects/code_references/urls.py +projects/code_references/views.py +projects/code_references/migrations/0001_code_references.py +projects/code_references/migrations/0002_add_project_repo_created_index.py +projects/code_references/migrations/__init__.py +projects/management/commands/createinitialproject.py +projects/migrations/0001_initial.py +projects/migrations/0002_projectpermission_userpermissiongroupprojectpermission_userprojectpermission.py +projects/migrations/0003_auto_20200216_2050.py +projects/migrations/0004_auto_20200220_0044.py +projects/migrations/0005_auto_20200221_2317.py +projects/migrations/0006_auto_20200224_2106.py +projects/migrations/0007_auto_20200504_1322.py +projects/migrations/0008_project_hide_disabled_flags.py +projects/migrations/0009_project_enable_dynamo_db.py +projects/migrations/0010_auto_20211208_1050.py +projects/migrations/0011_add_uuid_field.py +projects/migrations/0012_add_prevent_flag_defaults_to_project.py +projects/migrations/0013_project_enable_realtime_updates.py +projects/migrations/0014_project_only_allow_lower_case_feature_names.py +projects/migrations/0015_project_feature_name_regex.py +projects/migrations/0016_soft_delete_projects.py +projects/migrations/0017_merge_duplicate_permissions.py +projects/migrations/0018_add_unique_permission_constraint.py +projects/migrations/0019_add_limits.py +projects/migrations/0020_add_environment_feature_state_version_logic.py +projects/migrations/0021_add_identity_overrides_migration_status.py +projects/migrations/0022_add_stale_flags_threshold_to_project.py +projects/migrations/0023_rename_identity_overrides_migration_status_keeping_db_column.py +projects/migrations/0024_add_project_edge_v2_migration_read_capacity_budget.py +projects/migrations/0025_add_change_request_project_permissions.py +projects/migrations/0026_add_change_request_approval_limit_to_projects.py +projects/migrations/0027_add_create_project_level_change_requests_permission.py +projects/migrations/0028_add_enforce_feature_owners_to_project.py +projects/migrations/0029_bump_default_project_limits.py +projects/migrations/__init__.py +projects/tags/__init__.py +projects/tags/admin.py +projects/tags/apps.py +projects/tags/models.py +projects/tags/permissions.py +projects/tags/serializers.py +projects/tags/views.py +projects/tags/migrations/0001_initial.py +projects/tags/migrations/0002_auto_20210223_1603.py +projects/tags/migrations/0003_allow_null_tag_description.py +projects/tags/migrations/0004_add_uuid_field.py +projects/tags/migrations/0005_add_tag_fields_for_stale_flags_logic.py +projects/tags/migrations/0006_alter_tag_type.py +projects/tags/migrations/0007_alter_tag_color.py +projects/tags/migrations/0008_alter_tag_type.py +projects/tags/migrations/0009_add_gitlab_tag_type.py +projects/tags/migrations/__init__.py +sales_dashboard/__init__.py +sales_dashboard/apps.py +sales_dashboard/forms.py +sales_dashboard/urls.py +sales_dashboard/views.py +sales_dashboard/migrations/__init__.py +sales_dashboard/templates/sales_dashboard/base.html +sales_dashboard/templates/sales_dashboard/home.html +sales_dashboard/templates/sales_dashboard/nav.html +sales_dashboard/templates/sales_dashboard/organisation.html +sales_dashboard/templates/sales_dashboard/usage.html +sales_dashboard/templatetags/__init__.py +sales_dashboard/templatetags/sales_dashboard_extras.py +segments/__init__.py +segments/admin.py +segments/apps.py +segments/models.py +segments/permissions.py +segments/serializers.py +segments/services.py +segments/tasks.py +segments/types.py +segments/urls.py +segments/views.py +segments/migrations/0001_initial.py +segments/migrations/0002_auto_20190515_1113.py +segments/migrations/0003_segment_project.py +segments/migrations/0004_auto_20190523_1325.py +segments/migrations/0005_auto_20190529_1426.py +segments/migrations/0006_auto_20190828_0907.py +segments/migrations/0007_auto_20190906_1416.py +segments/migrations/0008_auto_20210223_1603.py +segments/migrations/0010_add_uuid_fields.py +segments/migrations/0011_segment_feature.py +segments/migrations/0012_alter_condition_operator.py +segments/migrations/0013_add_is_set_and_is_not_set_operators.py +segments/migrations/0014_add_description_to_segment_condition.py +segments/migrations/0015_remove_max_length_from_condition_description.py +segments/migrations/0016_add_historical_records_to_segment.py +segments/migrations/0017_update_historical_segment_with_missing_changes.py +segments/migrations/0018_soft_delete_segments.py +segments/migrations/0019_add_audit_to_condition.py +segments/migrations/0020_detach_segment_from_project_cascade_delete.py +segments/migrations/0021_create_whitelisted_segments.py +segments/migrations/0022_add_soft_delete_to_segment_rules_and_conditions.py +segments/migrations/0023_add_versioning_to_segments.py +segments/migrations/0024_add_timestamps_to_segments.py +segments/migrations/0025_set_default_version_on_segment.py +segments/migrations/0026_add_change_request_to_segments.py +segments/migrations/0027_historicalsegmentrule.py +segments/migrations/0028_condition_property_required.py +segments/migrations/0029_add_is_system_segment.py +segments/migrations/0030_add_default_to_segment_version.py +segments/migrations/__init__.py +segments/migrations/sql/0023_add_versioning_to_segments.sql +segments/migrations/sql/0023_add_versioning_to_segments_reverse.sql +sse/__init__.py +sse/dataclasses.py +sse/exceptions.py +sse/sse_service.py +sse/tasks.py +telemetry/__init__.py +telemetry/apps.py +telemetry/models.py +telemetry/serializers.py +telemetry/telemetry.py +templates/admin/base_site.html +templates/admin/login.html +tests/__init__.py +tests/conftest.py +tests/test_helpers.py +tests/types.py +tests/integration/__init__.py +tests/integration/conftest.py +tests/integration/helpers.py +tests/integration/test_api_documentation.py +tests/integration/test_integration_api_version_header.py +tests/integration/api_keys/__init__.py +tests/integration/api_keys/conftest.py +tests/integration/api_keys/test_viewset.py +tests/integration/app_analytics/test_influx_query_throttle.py +tests/integration/audit/test_audit_logs.py +tests/integration/core/test_commands.py +tests/integration/core/test_user_rate_throttle.py +tests/integration/custom_auth/end_to_end/test_custom_auth_integration.py +tests/integration/e2etests/end_to_end/test_integration_e2e_tests.py +tests/integration/edge_api/identities/conftest.py +tests/integration/edge_api/identities/test_edge_identity_featurestates_viewset.py +tests/integration/edge_api/identities/test_edge_identity_viewset.py +tests/integration/environments/__init__.py +tests/integration/environments/test_integration_environments.py +tests/integration/environments/identities/__init__.py +tests/integration/environments/identities/test_integration_identities.py +tests/integration/environments/identities/test_integration_identities_feature_states.py +tests/integration/features/__init__.py +tests/integration/features/test_gitlab_external_resources.py +tests/integration/features/test_gitlab_webhook.py +tests/integration/features/test_integration_features.py +tests/integration/features/feature_health/__init__.py +tests/integration/features/feature_health/conftest.py +tests/integration/features/feature_health/test_views.py +tests/integration/features/featurestate/__init__.py +tests/integration/features/featurestate/test_environment_featurestate_viewset.py +tests/integration/features/featurestate/test_simple_featurestate_viewset.py +tests/integration/features/featurestate/test_webhooks.py +tests/integration/features/multivariate/__init__.py +tests/integration/features/multivariate/test_integration_multivariate.py +tests/integration/features/versioning/__init__.py +tests/integration/features/versioning/test_integration_v2_versioning.py +tests/integration/features/versioning/types.py +tests/integration/projects/__init__.py +tests/integration/projects/test_integration_projects.py +tests/integration/sales_dashboard/__init__.py +tests/integration/sales_dashboard/conftest.py +tests/integration/sales_dashboard/test_integration_sales_dashboard.py +tests/integration/scim/__init__.py +tests/integration/scim/conftest.py +tests/integration/scim/test_integration_scim.py +tests/integration/sdk/__init__.py +tests/integration/sdk/test_sdk_api_schemas.py +tests/integration/sdk/test_sdk_environment_document.py +tests/integration/sentry/test_change_tracking_webhook_integration.py +tests/integration/slack/conftest.py +tests/integration/slack/test_slack_environment_viewset.py +tests/integration/slack/test_slack_get_channels.py +tests/integration/slack/test_slack_token_flow.py +tests/integration/users/test_init_config.py +tests/unit/__init__.py +tests/unit/conftest.py +tests/unit/api/__init__.py +tests/unit/api/test_mcp_openapi.py +tests/unit/api/test_unit_api.py +tests/unit/api/test_unit_openapi.py +tests/unit/api_keys/__init__.py +tests/unit/api_keys/test_authentication.py +tests/unit/api_keys/test_user.py +tests/unit/app/__init__.py +tests/unit/app/test_unit_app_routers.py +tests/unit/app/test_unit_app_utils.py +tests/unit/app_analytics/__init__.py +tests/unit/app_analytics/test_analytics_db_service.py +tests/unit/app_analytics/test_commands.py +tests/unit/app_analytics/test_experiments.py +tests/unit/app_analytics/test_middleware.py +tests/unit/app_analytics/test_migrate_to_pg.py +tests/unit/app_analytics/test_migrations.py +tests/unit/app_analytics/test_models.py +tests/unit/app_analytics/test_tasks.py +tests/unit/app_analytics/test_unit_app_analytics_cache.py +tests/unit/app_analytics/test_unit_app_analytics_influxdb_wrapper.py +tests/unit/app_analytics/test_unit_app_analytics_mappers.py +tests/unit/app_analytics/test_unit_app_analytics_track.py +tests/unit/app_analytics/test_unit_app_analytics_views.py +tests/unit/audit/__init__.py +tests/unit/audit/conftest.py +tests/unit/audit/test_unit_audit_models.py +tests/unit/audit/test_unit_audit_permissions.py +tests/unit/audit/test_unit_audit_services.py +tests/unit/audit/test_unit_audit_signals.py +tests/unit/audit/test_unit_audit_tasks.py +tests/unit/audit/test_unit_audit_views.py +tests/unit/core/test_helpers.py +tests/unit/core/test_redis_cluster.py +tests/unit/core/test_unit_core_management.py +tests/unit/core/test_unit_core_migration_helpers.py +tests/unit/core/test_unit_core_throttling.py +tests/unit/core/management/__init__.py +tests/unit/core/management/test_unit_core_management_makemigrations.py +tests/unit/core/middleware/test_unit_core_middleware_admin.py +tests/unit/core/middleware/test_unit_core_middleware_cache_control.py +tests/unit/custom_auth/conftest.py +tests/unit/custom_auth/test_tasks.py +tests/unit/custom_auth/test_unit_custom_auth_serializer.py +tests/unit/custom_auth/test_unit_custom_auth_views.py +tests/unit/custom_auth/jwt_cookie/test_unit_jwt_cookie_authentication.py +tests/unit/custom_auth/mfa/trench/__init__.py +tests/unit/custom_auth/mfa/trench/conftest.py +tests/unit/custom_auth/mfa/trench/test_views.py +tests/unit/custom_auth/oauth/test_unit_oauth_github.py +tests/unit/custom_auth/oauth/test_unit_oauth_google.py +tests/unit/custom_auth/oauth/test_unit_oauth_serializers.py +tests/unit/custom_auth/oauth/test_unit_oauth_views.py +tests/unit/custom_auth/oauth/helpers/test_unit_oauth_github_helpers.py +tests/unit/edge_api/test_unit_edge_api_commands.py +tests/unit/edge_api/test_unit_edge_api_utils.py +tests/unit/edge_api/identities/__init__.py +tests/unit/edge_api/identities/conftest.py +tests/unit/edge_api/identities/test_edge_api_identities_serializers.py +tests/unit/edge_api/identities/test_edge_api_identities_views.py +tests/unit/edge_api/identities/test_edge_identity_featurestate_view.py +tests/unit/edge_api/identities/test_edge_identity_models.py +tests/unit/edge_api/identities/test_edge_identity_service.py +tests/unit/edge_api/identities/test_edge_request_forwarder.py +tests/unit/edge_api/identities/test_events.py +tests/unit/edge_api/identities/test_permissions.py +tests/unit/edge_api/identities/test_unit_edge_api_identities_tasks.py +tests/unit/environments/__init__.py +tests/unit/environments/conftest.py +tests/unit/environments/helpers.py +tests/unit/environments/test_environment_metrics_views.py +tests/unit/environments/test_unit_environments_admin.py +tests/unit/environments/test_unit_environments_authentication.py +tests/unit/environments/test_unit_environments_feature_states_views.py +tests/unit/environments/test_unit_environments_migrations.py +tests/unit/environments/test_unit_environments_models.py +tests/unit/environments/test_unit_environments_permissions.py +tests/unit/environments/test_unit_environments_tasks.py +tests/unit/environments/test_unit_environments_views.py +tests/unit/environments/test_unit_environments_views_sdk_environment.py +tests/unit/environments/dynamodb/test_unit_dynamodb_utils.py +tests/unit/environments/dynamodb/test_unit_migrator.py +tests/unit/environments/dynamodb/test_unit_services.py +tests/unit/environments/dynamodb/types/test_unit_dynamodb_project_metadata.py +tests/unit/environments/dynamodb/wrappers/__init__.py +tests/unit/environments/dynamodb/wrappers/test_unit_dynamo_environment_wrapper.py +tests/unit/environments/dynamodb/wrappers/test_unit_dynamodb_environment_api_key_wrapper.py +tests/unit/environments/dynamodb/wrappers/test_unit_dynamodb_environment_v2_wrapper.py +tests/unit/environments/dynamodb/wrappers/test_unit_dynamodb_identity_wrapper.py +tests/unit/environments/identities/__init__.py +tests/unit/environments/identities/conftest.py +tests/unit/environments/identities/helpers.py +tests/unit/environments/identities/test_unit_identities_feature_states_views.py +tests/unit/environments/identities/test_unit_identities_models.py +tests/unit/environments/identities/test_unit_identities_views.py +tests/unit/environments/identities/traits/__init__.py +tests/unit/environments/identities/traits/test_traits_views.py +tests/unit/environments/identities/traits/test_unit_traits_models.py +tests/unit/environments/identities/traits/test_unit_traits_serializers.py +tests/unit/environments/management/commands/test_unit_environments_management_commands_migrate_to_edge.py +tests/unit/environments/permissions/__init__.py +tests/unit/environments/permissions/test_unit_environments_permissions.py +tests/unit/environments/permissions/test_unit_environments_permissions_migrations.py +tests/unit/environments/permissions/test_unit_environments_views.py +tests/unit/environments/sdk/__init__.py +tests/unit/environments/sdk/test_unit_sdk_serializers.py +tests/unit/features/__init__.py +tests/unit/features/conftest.py +tests/unit/features/test_migrations.py +tests/unit/features/test_unit_feature_external_resources_views.py +tests/unit/features/test_unit_features_audit_helpers.py +tests/unit/features/test_unit_features_features_service.py +tests/unit/features/test_unit_features_helpers.py +tests/unit/features/test_unit_features_models.py +tests/unit/features/test_unit_features_permissions.py +tests/unit/features/test_unit_features_serializers.py +tests/unit/features/test_unit_features_tasks.py +tests/unit/features/test_unit_features_utils.py +tests/unit/features/test_unit_features_views.py +tests/unit/features/feature_health/__init__.py +tests/unit/features/feature_health/conftest.py +tests/unit/features/feature_health/test_admin.py +tests/unit/features/feature_health/test_models.py +tests/unit/features/feature_health/test_services.py +tests/unit/features/feature_segments/__init__.py +tests/unit/features/feature_segments/test_unit_feature_segments_limits.py +tests/unit/features/feature_segments/test_unit_feature_segments_models.py +tests/unit/features/feature_segments/test_unit_feature_segments_permissions.py +tests/unit/features/feature_segments/test_unit_feature_segments_serializers.py +tests/unit/features/feature_segments/test_unit_feature_segments_views.py +tests/unit/features/feature_states/__init__.py +tests/unit/features/feature_states/test_models.py +tests/unit/features/feature_states/test_serializers.py +tests/unit/features/feature_states/test_unit_feature_states_views.py +tests/unit/features/import_export/test_unit_features_import_export_tasks.py +tests/unit/features/import_export/test_unit_features_import_export_views.py +tests/unit/features/multivariate/__init__.py +tests/unit/features/multivariate/test_migrations.py +tests/unit/features/multivariate/test_unit_multivariate_models.py +tests/unit/features/multivariate/test_unit_multivariate_views.py +tests/unit/features/release_pipeline/core/conftest.py +tests/unit/features/release_pipeline/core/test_unit_release_pipeline_models.py +tests/unit/features/versioning/__init__.py +tests/unit/features/versioning/test_unit_versioning_dataclasses.py +tests/unit/features/versioning/test_unit_versioning_migrations.py +tests/unit/features/versioning/test_unit_versioning_models.py +tests/unit/features/versioning/test_unit_versioning_tasks.py +tests/unit/features/versioning/test_unit_versioning_versioning_service.py +tests/unit/features/versioning/test_unit_versioning_views.py +tests/unit/features/workflows/__init__.py +tests/unit/features/workflows/core/__init__.py +tests/unit/features/workflows/core/conftest.py +tests/unit/features/workflows/core/test_unit_workflows_migrations.py +tests/unit/features/workflows/core/test_unit_workflows_models.py +tests/unit/import_export/__init__.py +tests/unit/import_export/test_unit_import_export_export.py +tests/unit/import_export/test_unit_import_export_import.py +tests/unit/integrations/__init__.py +tests/unit/integrations/test_unit_integration.py +tests/unit/integrations/amplitude/__init__.py +tests/unit/integrations/amplitude/conftest.py +tests/unit/integrations/amplitude/test_unit_amplitude.py +tests/unit/integrations/amplitude/test_unit_amplitude_models.py +tests/unit/integrations/amplitude/test_unit_amplitude_views.py +tests/unit/integrations/common/__init__.py +tests/unit/integrations/common/test_unit_integrations_common_serializers.py +tests/unit/integrations/datadog/__init__.py +tests/unit/integrations/datadog/conftest.py +tests/unit/integrations/datadog/test_unit_datadog.py +tests/unit/integrations/datadog/test_unit_datadog_views.py +tests/unit/integrations/dynatrace/test_unit_dynatrace.py +tests/unit/integrations/dynatrace/test_unit_dynatrace_views.py +tests/unit/integrations/flagsmith/__init__.py +tests/unit/integrations/flagsmith/test_unit_flagsmith_client.py +tests/unit/integrations/flagsmith/test_unit_flagsmith_service.py +tests/unit/integrations/github/__init__.py +tests/unit/integrations/github/test_unit_github_cleanup_issue.py +tests/unit/integrations/github/test_unit_github_client.py +tests/unit/integrations/github/test_unit_github_github.py +tests/unit/integrations/github/test_unit_github_views.py +tests/unit/integrations/github/client_responses/get_issues.json +tests/unit/integrations/github/client_responses/get_pulls.json +tests/unit/integrations/github/client_responses/get_repos.json +tests/unit/integrations/gitlab/__init__.py +tests/unit/integrations/gitlab/conftest.py +tests/unit/integrations/gitlab/test_client.py +tests/unit/integrations/gitlab/test_comments.py +tests/unit/integrations/gitlab/test_configuration.py +tests/unit/integrations/gitlab/test_mappers.py +tests/unit/integrations/gitlab/test_proxy_views.py +tests/unit/integrations/gitlab/test_tagging.py +tests/unit/integrations/gitlab/test_tasks.py +tests/unit/integrations/gitlab/test_url_parsing.py +tests/unit/integrations/gitlab/test_webhooks.py +tests/unit/integrations/grafana/__init__.py +tests/unit/integrations/grafana/test_grafana.py +tests/unit/integrations/grafana/test_mappers.py +tests/unit/integrations/grafana/test_views.py +tests/unit/integrations/heap/__init__.py +tests/unit/integrations/heap/test_unit_heap.py +tests/unit/integrations/heap/test_unit_heap_views.py +tests/unit/integrations/launch_darkly/__init__.py +tests/unit/integrations/launch_darkly/conftest.py +tests/unit/integrations/launch_darkly/test_admin.py +tests/unit/integrations/launch_darkly/test_client.py +tests/unit/integrations/launch_darkly/test_services.py +tests/unit/integrations/launch_darkly/test_tasks.py +tests/unit/integrations/launch_darkly/test_views.py +tests/unit/integrations/launch_darkly/client_responses/get_environments.json +tests/unit/integrations/launch_darkly/client_responses/get_flags.json +tests/unit/integrations/launch_darkly/client_responses/get_project.json +tests/unit/integrations/launch_darkly/client_responses/get_segments.json +tests/unit/integrations/launch_darkly/client_responses/get_segments__large_segments.json +tests/unit/integrations/launch_darkly/example_api_responses/getEnvironmentsByProject_1.json +tests/unit/integrations/launch_darkly/example_api_responses/getEnvironmentsByProject_2.json +tests/unit/integrations/launch_darkly/example_api_responses/getFeatureFlags_1.json +tests/unit/integrations/launch_darkly/example_api_responses/getFeatureFlags_2.json +tests/unit/integrations/launch_darkly/example_api_responses/getProject.json +tests/unit/integrations/launch_darkly/example_api_responses/getTags.json +tests/unit/integrations/launch_darkly/snapshots/test_process_import_request__large_segments__correctly_imported__condition_data.csv +tests/unit/integrations/launch_darkly/snapshots/test_process_import_request__large_segments__correctly_imported__import_request_status.json +tests/unit/integrations/lead_tracking/__init__.py +tests/unit/integrations/lead_tracking/hubspot/_hubspot_responses.py +tests/unit/integrations/lead_tracking/hubspot/test_services.py +tests/unit/integrations/lead_tracking/hubspot/test_unit_hubspot_client.py +tests/unit/integrations/lead_tracking/hubspot/test_unit_hubspot_lead_tracking.py +tests/unit/integrations/lead_tracking/hubspot/test_unit_hubspot_tasks.py +tests/unit/integrations/mixpanel/test_unit_mixpanel.py +tests/unit/integrations/mixpanel/test_unit_mixpanel_views.py +tests/unit/integrations/new_relic/__init__.py +tests/unit/integrations/new_relic/conftest.py +tests/unit/integrations/new_relic/test_unit_new_relic.py +tests/unit/integrations/new_relic/test_unit_new_relic_views.py +tests/unit/integrations/rudderstack/test_unit_rudderstack.py +tests/unit/integrations/rudderstack/test_unit_rudderstack_views.py +tests/unit/integrations/segment/__init__.py +tests/unit/integrations/segment/test_unit_segment.py +tests/unit/integrations/segment/test_unit_segment_views.py +tests/unit/integrations/sentry/test_unit_sentry_middleware.py +tests/unit/integrations/sentry/test_unit_sentry_sampler.py +tests/unit/integrations/sentry/test_unit_sentry_views.py +tests/unit/integrations/slack/conftest.py +tests/unit/integrations/slack/test_unit_slack.py +tests/unit/integrations/slack/test_unit_slack_authentication.py +tests/unit/integrations/slack/test_unit_slack_permissions.py +tests/unit/integrations/webhook/conftest.py +tests/unit/integrations/webhook/test_unit_webhook.py +tests/unit/integrations/webhook/test_unit_webhook_models.py +tests/unit/integrations/webhook/test_unit_webhook_serializers.py +tests/unit/integrations/webhook/test_unit_webhook_views.py +tests/unit/metadata/__init__.py +tests/unit/metadata/conftest.py +tests/unit/metadata/test_serializers.py +tests/unit/metadata/test_views.py +tests/unit/metrics/test_unit_metrics_service.py +tests/unit/oauth2_metadata/__init__.py +tests/unit/oauth2_metadata/test_authentication.py +tests/unit/oauth2_metadata/test_authorize_view.py +tests/unit/oauth2_metadata/test_dcr.py +tests/unit/oauth2_metadata/test_services.py +tests/unit/oauth2_metadata/test_tasks.py +tests/unit/oauth2_metadata/test_views.py +tests/unit/onboarding/conftest.py +tests/unit/onboarding/test_views.py +tests/unit/organisations/__init__.py +tests/unit/organisations/test_unit_organisations_migrations.py +tests/unit/organisations/test_unit_organisations_models.py +tests/unit/organisations/test_unit_organisations_permissions.py +tests/unit/organisations/test_unit_organisations_serializers.py +tests/unit/organisations/test_unit_organisations_subscription_info_cache.py +tests/unit/organisations/test_unit_organisations_tasks.py +tests/unit/organisations/test_unit_organisations_views.py +tests/unit/organisations/chargebee/__init__.py +tests/unit/organisations/chargebee/conftest.py +tests/unit/organisations/chargebee/test_unit_chargebee_cache.py +tests/unit/organisations/chargebee/test_unit_chargebee_chargebee.py +tests/unit/organisations/chargebee/test_unit_chargebee_metadata.py +tests/unit/organisations/chargebee/test_unit_chargebee_tasks.py +tests/unit/organisations/invites/__init__.py +tests/unit/organisations/invites/conftest.py +tests/unit/organisations/invites/test_unit_invites_models.py +tests/unit/organisations/invites/test_unit_invites_views.py +tests/unit/organisations/permissions/__init__.py +tests/unit/organisations/permissions/test_unit_organisations_migrations.py +tests/unit/organisations/permissions/test_unit_organisations_permissions.py +tests/unit/organisations/permissions/test_unit_organisations_views.py +tests/unit/organisations/subscriptions/__init__.py +tests/unit/organisations/subscriptions/test_unit_subscriptions_dataclasses.py +tests/unit/organisations/subscriptions/test_unit_subscriptions_permissions.py +tests/unit/organisations/subscriptions/serializers/__init__.py +tests/unit/organisations/subscriptions/serializers/test_unit_subscriptions_serializers_mixins.py +tests/unit/permissions/test_migrations.py +tests/unit/permissions/test_unit_permissions_calculator.py +tests/unit/permissions/permission_service/conftest.py +tests/unit/permissions/permission_service/test_get_permitted_environments_for_user.py +tests/unit/permissions/permission_service/test_get_permitted_projects_for_user.py +tests/unit/permissions/permission_service/test_is_user_environment_admin.py +tests/unit/permissions/permission_service/test_is_user_project_admin.py +tests/unit/permissions/permission_service/test_master_api_key_permission_service.py +tests/unit/permissions/permission_service/test_user_has_organisation_permissions.py +tests/unit/platform_hub/__init__.py +tests/unit/platform_hub/conftest.py +tests/unit/platform_hub/test_services.py +tests/unit/platform_hub/test_views.py +tests/unit/projects/__init__.py +tests/unit/projects/conftest.py +tests/unit/projects/test_migrations.py +tests/unit/projects/test_unit_projects_admin.py +tests/unit/projects/test_unit_projects_models.py +tests/unit/projects/test_unit_projects_permissions.py +tests/unit/projects/test_unit_projects_serializers.py +tests/unit/projects/test_unit_projects_tasks.py +tests/unit/projects/test_unit_projects_views.py +tests/unit/projects/code_references/test_unit_projects_code_references_services.py +tests/unit/projects/code_references/test_unit_projects_code_references_views.py +tests/unit/projects/tags/test_unit_projects_tags_permissions.py +tests/unit/projects/tags/test_unit_projects_tags_views.py +tests/unit/sales_dashboard/__init__.py +tests/unit/sales_dashboard/conftest.py +tests/unit/sales_dashboard/test_unit_sales_dashboard_views.py +tests/unit/segments/__init__.py +tests/unit/segments/test_unit_segments_migrations.py +tests/unit/segments/test_unit_segments_models.py +tests/unit/segments/test_unit_segments_permissions.py +tests/unit/segments/test_unit_segments_services.py +tests/unit/segments/test_unit_segments_views.py +tests/unit/sse/__init__.py +tests/unit/sse/conftest.py +tests/unit/sse/test_sse_service.py +tests/unit/sse/test_tasks.py +tests/unit/telemetry/__init__.py +tests/unit/telemetry/helpers.py +tests/unit/telemetry/test_unit_telemetry_models.py +tests/unit/telemetry/test_unit_telemetry_serializers.py +tests/unit/telemetry/test_unit_telemetry_telemetry.py +tests/unit/users/__init__.py +tests/unit/users/test_unit_users_forms.py +tests/unit/users/test_unit_users_login.py +tests/unit/users/test_unit_users_migrations.py +tests/unit/users/test_unit_users_models.py +tests/unit/users/test_unit_users_serializers.py +tests/unit/users/test_unit_users_signals.py +tests/unit/users/test_unit_users_tasks.py +tests/unit/users/test_unit_users_views.py +tests/unit/users/utils/__init__.py +tests/unit/util/test_db.py +tests/unit/util/test_util.py +tests/unit/util/engine_models/identities/traits/test_unit_traits_types.py +tests/unit/util/mappers/test_unit_mappers_dynamodb.py +tests/unit/util/mappers/test_unit_mappers_engine.py +tests/unit/util/mappers/test_unit_mappers_sdk.py +tests/unit/webhooks/test_unit_webhooks.py +tests/unit/webhooks/test_unit_webhooks_mappers.py +tests/unit/webhooks/test_unit_webhooks_permissions.py +users/__init__.py +users/abc.py +users/admin.py +users/apps.py +users/auth_type.py +users/constants.py +users/emails.py +users/exceptions.py +users/forms.py +users/models.py +users/serializers.py +users/services.py +users/signals.py +users/tasks.py +users/urls.py +users/views.py +users/management/__init__.py +users/management/commands/__init__.py +users/management/commands/createinitialadminuser.py +users/migrations/0001_initial.py +users/migrations/0002_ffadminuser_organisation.py +users/migrations/0003_auto_20180518_1045.py +users/migrations/0004_auto_20180518_1655.py +users/migrations/0005_auto_20180518_1659.py +users/migrations/0006_auto_20180522_0928.py +users/migrations/0007_invite.py +users/migrations/0008_auto_20180522_1302.py +users/migrations/0009_auto_20180522_1342.py +users/migrations/0010_auto_20180522_1350.py +users/migrations/0011_remove_ffadminuser_organisation.py +users/migrations/0012_invite_frontend_base_url.py +users/migrations/0013_auto_20180524_1521.py +users/migrations/0014_invite_invited_by.py +users/migrations/0015_auto_20180809_0014.py +users/migrations/0016_auto_20180910_1341.py +users/migrations/0017_auto_20180913_1116.py +users/migrations/0018_auto_20180920_1234.py +users/migrations/0019_auto_20181025_1611.py +users/migrations/0020_auto_20181128_1012.py +users/migrations/0021_auto_20190918_1040.py +users/migrations/0022_invite_role.py +users/migrations/0023_auto_20191122_1039.py +users/migrations/0024_auto_20200216_1924.py +users/migrations/0025_auto_20200509_1326.py +users/migrations/0026_ffadminuser_google_user_id.py +users/migrations/0027_ffadminuser_github_user_id.py +users/migrations/0028_delete_invite.py +users/migrations/0029_auto_20210223_1603.py +users/migrations/0030_ffadminuser_marketing_consent_given.py +users/migrations/0031_userpermissiongroup_is_default.py +users/migrations/0032_auto_20221107_0425.py +users/migrations/0033_ffadminuser_sign_up_type.py +users/migrations/0034_add_user_permission_group_membership_through_model.py +users/migrations/0035_add_ldap_dn.py +users/migrations/0036_create_hubspot_lead.py +users/migrations/0037_add_uuid_field_to_user_model.py +users/migrations/0038_create_hubspot_tracker.py +users/migrations/0039_alter_ffadminuser_first_name.py +users/migrations/0040_default_marketing_consent_given_true.py +users/migrations/0041_add_onboarding_field.py +users/migrations/0042_add_utm_data_json_field.py +users/migrations/0043_make_hubspot_cookie_optional.py +users/migrations/0044_remove_users_from_groups_in_orgs_they_do_not_belong_to.py +users/migrations/0045_add_through_fields_metadata_for_django_5_upgrade.py +users/migrations/__init__.py +users/static/sales_dashboard/css/bootstrap.min.css +users/templates/users/activation.html +users/templates/users/confirmation.html +users/templates/users/email_updated.txt +users/templates/users/invite_to_org.html +users/templates/users/invite_to_org.txt +users/templates/users/onboard.html +util/__init__.py +util/dataclasses.py +util/db.py +util/migrations.py +util/renderers.py +util/tests.py +util/util.py +util/views.py +util/drf_writable_nested/serializers.py +util/engine_models/__init__.py +util/engine_models/context/__init__.py +util/engine_models/context/mappers.py +util/engine_models/environments/__init__.py +util/engine_models/environments/models.py +util/engine_models/environments/integrations/__init__.py +util/engine_models/environments/integrations/models.py +util/engine_models/features/__init__.py +util/engine_models/features/models.py +util/engine_models/identities/__init__.py +util/engine_models/identities/models.py +util/engine_models/identities/traits/__init__.py +util/engine_models/identities/traits/constants.py +util/engine_models/identities/traits/models.py +util/engine_models/identities/traits/types.py +util/engine_models/organisations/__init__.py +util/engine_models/organisations/models.py +util/engine_models/projects/__init__.py +util/engine_models/projects/models.py +util/engine_models/segments/__init__.py +util/engine_models/segments/models.py +util/engine_models/utils/__init__.py +util/engine_models/utils/datetime.py +util/engine_models/utils/exceptions.py +util/engine_models/utils/hashing.py +util/history/__init__.py +util/history/custom_simple_history.py +util/mappers/__init__.py +util/mappers/dynamodb.py +util/mappers/engine.py +util/mappers/sdk.py +util/mappers/types.py +webhooks/__init__.py +webhooks/apps.py +webhooks/constants.py +webhooks/exceptions.py +webhooks/mappers.py +webhooks/models.py +webhooks/permissions.py +webhooks/serializers.py +webhooks/tasks.py +webhooks/urls.py +webhooks/views.py +webhooks/webhooks.py \ No newline at end of file diff --git a/api/flagsmith_api.egg-info/dependency_links.txt b/api/flagsmith_api.egg-info/dependency_links.txt new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/api/flagsmith_api.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/api/flagsmith_api.egg-info/requires.txt b/api/flagsmith_api.egg-info/requires.txt new file mode 100644 index 000000000000..27b64461593c --- /dev/null +++ b/api/flagsmith_api.egg-info/requires.txt @@ -0,0 +1,133 @@ +django<6,>=5 +rudder-sdk-python<2.1.0,>=2.0.2 +segment-analytics-python<2.3.0,>=2.2.3 +backoff<2.3.0,>=2.2.1 +appdirs<1.5.0,>=1.4.4 +django-cors-headers<3.6.0,>=3.5.0 +djangorestframework<3.16.0,>=3.15.2 +gunicorn<23.1.0,>=23.0.0 +pyparsing<2.5.0,>=2.4.7 +requests<2.34.0,>=2.33.0 +six<1.17.0,>=1.16.0 +whitenoise<6.1.0,>=6.0.0 +dj-database-url<3.1.0,>=3.0.1 +drf-nested-routers<0.93.0,>=0.92.1 +shortuuid<1.1.0,>=1.0.1 +sendgrid-django<4.3.0,>=4.2.0 +psycopg2-binary<2.10.0,>=2.9.5 +coreapi<2.4.0,>=2.3.3 +django-simple-history<2.13.0,>=2.12.0 +google-api-python-client<1.13.0,>=1.12.5 +oauth2client<4.2.0,>=4.1.3 +djangorestframework-recursive<0.2.0,>=0.1.2 +chargebee<4.0.0,>=3.10.0 +python-http-client<3.4.0,>=3.3.7 +django-health-check<3.19.0,>=3.18.2 +django-admin-sso<5.3.0,>=5.2.0 +drf-spectacular<0.29.0,>=0.28.0 +sentry-sdk<3,>=2.24.1 +environs<15.0.0,>=14.1.1 +django-lifecycle<1.3.0,>=1.2.4 +drf-writable-nested<0.7.0,>=0.6.2 +django-filter<2.5.0,>=2.4.0 +flagsmith-flag-engine<11.0.0,>=10.1.0 +boto3<1.36.0,>=1.35.95 +slack-sdk<3.10.0,>=3.9.0 +asgiref<3.9.0,>=3.8.1 +djangorestframework-api-key<2.3.0,>=2.2.0 +pymemcache<4.1.0,>=4.0.0 +google-re2<2.0.0,>=1.0 +django-softdelete<0.12.0,>=0.11.5 +simplejson<3.20.0,>=3.19.1 +djoser<3.0.0,>=2.3.0 +django-storages<1.11.0,>=1.10.1 +django-environ<0.5.0,>=0.4.5 +influxdb-client<1.51.0,>=1.50.0 +django-ordered-model<3.5.0,>=3.4.1 +django-ses<3.6.0,>=3.5.0 +django-axes<9.0.0,>=8.1.0 +pydantic<3.0.0,>=2.12.0 +pydantic-collections<0.7.0,>=0.6.0 +pyngo<2.5.0,>=2.4.1 +flagsmith<6.0.0,>=5.3.0 +openfeature-sdk<0.10.0,>=0.9.0 +openfeature-provider-flagsmith>=0.2.0 +python-gnupg<0.6.0,>=0.5.1 +django-redis<6.0.0,>=5.4.0 +pygithub<2.9.0,>=2.8 +hubspot-api-client<13.0.0,>=12.0.0 +djangorestframework-dataclasses<2.0.0,>=1.3.1 +pyotp<3.0.0,>=2.9.0 +flagsmith-common[common-core,flagsmith-schemas,task-processor]<4,>=3.9.0 +django-stubs<6.0.0,>=5.1.3 +tzdata<2025.0.0,>=2024.1 +djangorestframework-simplejwt<6.0.0,>=5.5.1 +structlog<25.0.0,>=24.4.0 +prometheus-client<0.22.0,>=0.21.1 +django-cockroachdb<4.3.0,>=4.2 +django-oauth-toolkit<4.0.0,>=3.0.1 + +[auth-controller] +auth-controller +django-multiselectfield<2,>=1.0.1 + +[dev] +django-test-migrations<2.0.0,>=1.2.0 +responses<0.23.0,>=0.22.0 +pre-commit<5.0.0,>=4.0.1 +pytest-mock<3.11.0,>=3.10.0 +pytest-lazy-fixture<0.7.0,>=0.6.3 +moto<4.2.0,>=4.1.3 +pytest-freezegun<0.5.0,>=0.4.2 +setuptools +pytest-xdist<3.7.0,>=3.6.1 +pylint<2.17.0,>=2.16.2 +pep8<1.8.0,>=1.7.1 +autopep8<2.1.0,>=2.0.1 +pytest<7.3.0,>=7.2.1 +pytest-django<5.0.0,>=4.8.0 +pytest-cov<4.2.0,>=4.1.0 +datamodel-code-generator<0.26.0,>=0.25 +requests-mock<2.0.0,>=1.11.0 +django-extensions<4.0.0,>=3.2.3 +pdbpp<0.11.0,>=0.10.3 +mypy-boto3-dynamodb<2.0.0,>=1.33.0 +pytest-structlog<2.0.0,>=1.1 +pyfakefs<6.0.0,>=5.7.4 +mypy<2.0.0,>=1.15.0 +djangorestframework-stubs<4.0.0,>=3.15.2 +boto3-stubs<2.0.0,>=1.36.20 +types-requests<3.0.0,>=2.32.0.20241016 +types-markdown<4.0.0,>=3.7.0.20241204 +types-pygments<3.0.0,>=2.19.0.20250107 +types-influxdb-client<2.0.0,>=1.45.0.20241221 +types-psycopg2<3.0.0,>=2.9.21.20250121 +types-python-dateutil<3.0.0,>=2.9.0.20241206 +types-pytz<2026.0.0,>=2025.1.0.20250204 +ruff<0.10.0,>=0.9.7 +flagsmith-common[test-tools] +pytest-responses<0.6.0,>=0.5.1 +diff-cover<11.0.0,>=10.1.0 +django-debug-toolbar +ipython<10.0.0,>=9.10.0 +email-validator>=2.0.0 + +[ldap] +flagsmith-ldap +django-python3-ldap<1,>=0.15.6 + +[licensing] +licensing +cryptography>=44.0.1 + +[release-pipelines] +flagsmith-private<1,>=0.5.1 + +[saml] +pysaml2<8.0.0,>=7.4.2 + +[scim] +flagsmith-private<1,>=0.5.1 + +[workflows] +workflows-logic diff --git a/api/flagsmith_api.egg-info/top_level.txt b/api/flagsmith_api.egg-info/top_level.txt new file mode 100644 index 000000000000..c4e789f32d5a --- /dev/null +++ b/api/flagsmith_api.egg-info/top_level.txt @@ -0,0 +1,31 @@ +api +api_keys +app +app_analytics +audit +core +custom_auth +e2etests +edge_api +environments +features +import_export +integrations +jmeter-tests +metadata +metrics +oauth2_metadata +onboarding +organisations +permissions +platform_hub +projects +sales_dashboard +segments +sse +telemetry +templates +tests +users +util +webhooks From 42f02708406b3fe98aa332670c3099ee23ea7026 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 19:39:02 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- api/app_analytics/constants.py | 1 - 1 file changed, 1 deletion(-) diff --git a/api/app_analytics/constants.py b/api/app_analytics/constants.py index 128ffa8d851c..e30e31e1fadb 100644 --- a/api/app_analytics/constants.py +++ b/api/app_analytics/constants.py @@ -32,7 +32,6 @@ "unknown", "6.1.0", "6.1.1", - ], "flagsmith-go-sdk": [ "unknown", From b62182e73cd7c35f45ba5ad33d75d4408945f79a Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Tue, 19 May 2026 10:56:30 +0100 Subject: [PATCH 3/3] chore(API): Untrack egg-info packaging metadata beep boop --- api/flagsmith_api.egg-info/PKG-INFO | 280 --- api/flagsmith_api.egg-info/SOURCES.txt | 1691 ----------------- .../dependency_links.txt | 1 - api/flagsmith_api.egg-info/requires.txt | 133 -- api/flagsmith_api.egg-info/top_level.txt | 31 - 5 files changed, 2136 deletions(-) delete mode 100644 api/flagsmith_api.egg-info/PKG-INFO delete mode 100644 api/flagsmith_api.egg-info/SOURCES.txt delete mode 100644 api/flagsmith_api.egg-info/dependency_links.txt delete mode 100644 api/flagsmith_api.egg-info/requires.txt delete mode 100644 api/flagsmith_api.egg-info/top_level.txt diff --git a/api/flagsmith_api.egg-info/PKG-INFO b/api/flagsmith_api.egg-info/PKG-INFO deleted file mode 100644 index 62168ba5bfb7..000000000000 --- a/api/flagsmith_api.egg-info/PKG-INFO +++ /dev/null @@ -1,280 +0,0 @@ -Metadata-Version: 2.4 -Name: flagsmith-api -Version: 2.68.0 -Summary: The API component for the Flagsmith application. -Author-email: Flagsmith -Requires-Python: <3.14,>=3.11 -Description-Content-Type: text/markdown -Requires-Dist: django<6,>=5 -Requires-Dist: rudder-sdk-python<2.1.0,>=2.0.2 -Requires-Dist: segment-analytics-python<2.3.0,>=2.2.3 -Requires-Dist: backoff<2.3.0,>=2.2.1 -Requires-Dist: appdirs<1.5.0,>=1.4.4 -Requires-Dist: django-cors-headers<3.6.0,>=3.5.0 -Requires-Dist: djangorestframework<3.16.0,>=3.15.2 -Requires-Dist: gunicorn<23.1.0,>=23.0.0 -Requires-Dist: pyparsing<2.5.0,>=2.4.7 -Requires-Dist: requests<2.34.0,>=2.33.0 -Requires-Dist: six<1.17.0,>=1.16.0 -Requires-Dist: whitenoise<6.1.0,>=6.0.0 -Requires-Dist: dj-database-url<3.1.0,>=3.0.1 -Requires-Dist: drf-nested-routers<0.93.0,>=0.92.1 -Requires-Dist: shortuuid<1.1.0,>=1.0.1 -Requires-Dist: sendgrid-django<4.3.0,>=4.2.0 -Requires-Dist: psycopg2-binary<2.10.0,>=2.9.5 -Requires-Dist: coreapi<2.4.0,>=2.3.3 -Requires-Dist: django-simple-history<2.13.0,>=2.12.0 -Requires-Dist: google-api-python-client<1.13.0,>=1.12.5 -Requires-Dist: oauth2client<4.2.0,>=4.1.3 -Requires-Dist: djangorestframework-recursive<0.2.0,>=0.1.2 -Requires-Dist: chargebee<4.0.0,>=3.10.0 -Requires-Dist: python-http-client<3.4.0,>=3.3.7 -Requires-Dist: django-health-check<3.19.0,>=3.18.2 -Requires-Dist: django-admin-sso<5.3.0,>=5.2.0 -Requires-Dist: drf-spectacular<0.29.0,>=0.28.0 -Requires-Dist: sentry-sdk<3,>=2.24.1 -Requires-Dist: environs<15.0.0,>=14.1.1 -Requires-Dist: django-lifecycle<1.3.0,>=1.2.4 -Requires-Dist: drf-writable-nested<0.7.0,>=0.6.2 -Requires-Dist: django-filter<2.5.0,>=2.4.0 -Requires-Dist: flagsmith-flag-engine<11.0.0,>=10.1.0 -Requires-Dist: boto3<1.36.0,>=1.35.95 -Requires-Dist: slack-sdk<3.10.0,>=3.9.0 -Requires-Dist: asgiref<3.9.0,>=3.8.1 -Requires-Dist: djangorestframework-api-key<2.3.0,>=2.2.0 -Requires-Dist: pymemcache<4.1.0,>=4.0.0 -Requires-Dist: google-re2<2.0.0,>=1.0 -Requires-Dist: django-softdelete<0.12.0,>=0.11.5 -Requires-Dist: simplejson<3.20.0,>=3.19.1 -Requires-Dist: djoser<3.0.0,>=2.3.0 -Requires-Dist: django-storages<1.11.0,>=1.10.1 -Requires-Dist: django-environ<0.5.0,>=0.4.5 -Requires-Dist: influxdb-client<1.51.0,>=1.50.0 -Requires-Dist: django-ordered-model<3.5.0,>=3.4.1 -Requires-Dist: django-ses<3.6.0,>=3.5.0 -Requires-Dist: django-axes<9.0.0,>=8.1.0 -Requires-Dist: pydantic<3.0.0,>=2.12.0 -Requires-Dist: pydantic-collections<0.7.0,>=0.6.0 -Requires-Dist: pyngo<2.5.0,>=2.4.1 -Requires-Dist: flagsmith<6.0.0,>=5.3.0 -Requires-Dist: openfeature-sdk<0.10.0,>=0.9.0 -Requires-Dist: openfeature-provider-flagsmith>=0.2.0 -Requires-Dist: python-gnupg<0.6.0,>=0.5.1 -Requires-Dist: django-redis<6.0.0,>=5.4.0 -Requires-Dist: pygithub<2.9.0,>=2.8 -Requires-Dist: hubspot-api-client<13.0.0,>=12.0.0 -Requires-Dist: djangorestframework-dataclasses<2.0.0,>=1.3.1 -Requires-Dist: pyotp<3.0.0,>=2.9.0 -Requires-Dist: flagsmith-common[common-core,flagsmith-schemas,task-processor]<4,>=3.9.0 -Requires-Dist: django-stubs<6.0.0,>=5.1.3 -Requires-Dist: tzdata<2025.0.0,>=2024.1 -Requires-Dist: djangorestframework-simplejwt<6.0.0,>=5.5.1 -Requires-Dist: structlog<25.0.0,>=24.4.0 -Requires-Dist: prometheus-client<0.22.0,>=0.21.1 -Requires-Dist: django-cockroachdb<4.3.0,>=4.2 -Requires-Dist: django-oauth-toolkit<4.0.0,>=3.0.1 -Provides-Extra: auth-controller -Requires-Dist: auth-controller; extra == "auth-controller" -Requires-Dist: django-multiselectfield<2,>=1.0.1; extra == "auth-controller" -Provides-Extra: saml -Requires-Dist: pysaml2<8.0.0,>=7.4.2; extra == "saml" -Provides-Extra: ldap -Requires-Dist: flagsmith-ldap; extra == "ldap" -Requires-Dist: django-python3-ldap<1,>=0.15.6; extra == "ldap" -Provides-Extra: workflows -Requires-Dist: workflows-logic; extra == "workflows" -Provides-Extra: licensing -Requires-Dist: licensing; extra == "licensing" -Requires-Dist: cryptography>=44.0.1; extra == "licensing" -Provides-Extra: release-pipelines -Requires-Dist: flagsmith-private<1,>=0.5.1; extra == "release-pipelines" -Provides-Extra: scim -Requires-Dist: flagsmith-private<1,>=0.5.1; extra == "scim" -Provides-Extra: dev -Requires-Dist: django-test-migrations<2.0.0,>=1.2.0; extra == "dev" -Requires-Dist: responses<0.23.0,>=0.22.0; extra == "dev" -Requires-Dist: pre-commit<5.0.0,>=4.0.1; extra == "dev" -Requires-Dist: pytest-mock<3.11.0,>=3.10.0; extra == "dev" -Requires-Dist: pytest-lazy-fixture<0.7.0,>=0.6.3; extra == "dev" -Requires-Dist: moto<4.2.0,>=4.1.3; extra == "dev" -Requires-Dist: pytest-freezegun<0.5.0,>=0.4.2; extra == "dev" -Requires-Dist: setuptools; extra == "dev" -Requires-Dist: pytest-xdist<3.7.0,>=3.6.1; extra == "dev" -Requires-Dist: pylint<2.17.0,>=2.16.2; extra == "dev" -Requires-Dist: pep8<1.8.0,>=1.7.1; extra == "dev" -Requires-Dist: autopep8<2.1.0,>=2.0.1; extra == "dev" -Requires-Dist: pytest<7.3.0,>=7.2.1; extra == "dev" -Requires-Dist: pytest-django<5.0.0,>=4.8.0; extra == "dev" -Requires-Dist: pytest-cov<4.2.0,>=4.1.0; extra == "dev" -Requires-Dist: datamodel-code-generator<0.26.0,>=0.25; extra == "dev" -Requires-Dist: requests-mock<2.0.0,>=1.11.0; extra == "dev" -Requires-Dist: django-extensions<4.0.0,>=3.2.3; extra == "dev" -Requires-Dist: pdbpp<0.11.0,>=0.10.3; extra == "dev" -Requires-Dist: mypy-boto3-dynamodb<2.0.0,>=1.33.0; extra == "dev" -Requires-Dist: pytest-structlog<2.0.0,>=1.1; extra == "dev" -Requires-Dist: pyfakefs<6.0.0,>=5.7.4; extra == "dev" -Requires-Dist: mypy<2.0.0,>=1.15.0; extra == "dev" -Requires-Dist: djangorestframework-stubs<4.0.0,>=3.15.2; extra == "dev" -Requires-Dist: boto3-stubs<2.0.0,>=1.36.20; extra == "dev" -Requires-Dist: types-requests<3.0.0,>=2.32.0.20241016; extra == "dev" -Requires-Dist: types-markdown<4.0.0,>=3.7.0.20241204; extra == "dev" -Requires-Dist: types-pygments<3.0.0,>=2.19.0.20250107; extra == "dev" -Requires-Dist: types-influxdb-client<2.0.0,>=1.45.0.20241221; extra == "dev" -Requires-Dist: types-psycopg2<3.0.0,>=2.9.21.20250121; extra == "dev" -Requires-Dist: types-python-dateutil<3.0.0,>=2.9.0.20241206; extra == "dev" -Requires-Dist: types-pytz<2026.0.0,>=2025.1.0.20250204; extra == "dev" -Requires-Dist: ruff<0.10.0,>=0.9.7; extra == "dev" -Requires-Dist: flagsmith-common[test-tools]; extra == "dev" -Requires-Dist: pytest-responses<0.6.0,>=0.5.1; extra == "dev" -Requires-Dist: diff-cover<11.0.0,>=10.1.0; extra == "dev" -Requires-Dist: django-debug-toolbar; extra == "dev" -Requires-Dist: ipython<10.0.0,>=9.10.0; extra == "dev" -Requires-Dist: email-validator>=2.0.0; extra == "dev" - -## Flagsmith API - -### Local development - -The project assumes the following tools installed: -- [Python](https://www.python.org/downloads/). Any version allowed by `requires-python` in `pyproject.toml` is supported. -- [GNU Make](https://www.gnu.org/software/make/). -- Docker or a compatible tool like [Podman](https://podman.io/). We recommend [OrbStack](https://orbstack.dev/) for macOS. - -To install dev dependencies, run `make install`. Only Flagsmith maintainers can run `uv lock` due to private dependencies. - -To run linters, run `make lint`. - -To run tests, run `make test`. - -To run a subset of tests or an individual test, run `make test opts=''`. If the number of test is too low for xdist, consider adding `-n0` to pytest args. - -To prepare a dev database, run `make docker-up django-migrate`. - -To bring up a dev server, run `make serve`, or `make serve-with-task-processor` to run the Task processor alongside the server. - -### Code guidelines: testing - -The required diff test coverage for our backend PRs is 100%. This policy gives us more confidence to ship, helps us to find bugs earlier, and promotes the test-driven development (TDD) approach. We encourage you to add new tests, and modify existing ones, ahead of writing the code. - -This codebase includes two kinds of tests: -- Black box API tests in `tests/integration` directory. Ideally, these are intended to only invoke API endpoints, and verify their output. -- Tests for individual modules, classes and functions in `tests/unit` directory. - -We avoid class-based tests. To manage test lifecycle and dependencies, we rely on Pytest features such as fixtures, markers, parametrisation, and hooks. Read `conftest.py` for commonly used fixtures. - -We enforce the `test_{subject}__{condition}__{expected outcome}` template for test names, e.g. `test_get_version__valid_file_contents__returns_version_number`. - -We use the Given When Then structure in all our tests. - -### Code guidelines: metrics - -The Flagsmith backend exports Prometheus metrics. When planning a feature, consider which metrics should cover it — counters for domain events, histograms for latency or sizes, gauges for cardinalities. See [documentation for existing metrics](https://docs.flagsmith.com/deployment-self-hosting/observability/metrics). Metrics code is hosted in `metrics.py` modules. - -Name metrics `flagsmith_{domain}_{entity}_{unit}` and give them a comprehensive description. - -### Code guidelines: logs - -We use structured logging to mark up interesting operational and product events. Events emitted via structlog also flow through an OpenTelemetry pipeline and may be routed to a CDP or a data warehouse for product analytics. - -When planning a feature, decide which moments deserve an event: things a product manager would ask about (an integration set up, a workflow committed, an import completed), or that a future oncall engineer would need to debug an incident. One well-shaped event per moment beats a wall of free-form `logging.info` calls. - -```python -import structlog - -# Use logger name as the event domain: -logger = structlog.get_logger("workflows") - -# This will produce a `workflows.change_request.committed` OTLP log event -# with the following attributes: -# - organisation.id -# - environment.id -# - feature_states.count -logger.info( - "change_request.committed", - organisation__id=environment.project.organisation_id, - environment__id=environment.id, - feature_states__count=change_request.feature_states.count(), -) -``` - -In your tests, verify your logs with the `caplog` fixture: - -```python -from pytest_structlog import StructuredLogCapture - -def test_my_view__success__logs_expected( - log: StructuredLogCapture, -) -> None: - # Given / When - ... - - # Then - assert log.events == [ - { - "level": "info", - "event": "action.succeeded", - "organisation__id": organisation.id, - } - ] -``` - -Conventions: - -- Logger name is the domain namespace — typically the app or package (`workflows`, `code_references`, `feature_health`). -- Event name is `entity.action` in snake_case (`scan.created`, `change_request.committed`). Do not repeat the logger name in the event, i.e `get_logger("saml")` with `"saml.configuration.created"` is redundant. -- Use double underscore to namespace event attributes, i.e. `namespace__property` will be emitted as `namespace.property`. Include the IDs of the entities the event is about (`organisation__id`, `project__id`, `environment__id`, `feature__id`) so events can be correlated with each other. -- Bind shared context once with `logger.bind(...)` rather than repeating attributes at every call site. -- Avoid PII — identify users and organisations by ID. - -For errors, use `logger.exception(...)` or pass `exc_info=exc`, and keep the event name actionable (`import.failed`, not `error`). - -### Code guidelines: feature flags (Flagsmith on Flagsmith) - -To gate and gradually roll out features in the backend, we use the [OpenFeature](https://openfeature.dev/) SDK with a Flagsmith provider running in local evaluation mode: - -```python -from integrations.flagsmith.client import get_openfeature_client - -client = get_openfeature_client() -ai_enabled = client.get_boolean_value( - "ai", - default_value=False, - evaluation_context=organisation.openfeature_evaluation_context, -) -``` - -Organisations expose an `openfeature_evaluation_context` property carrying common traits — use it for org-scoped targeting. For other subjects, build an `EvaluationContext` with a stable `targeting_key` and the attributes your targeting rules need. - -Add your feature as early as possible to the Flagsmith on Flagsmith project, and run the `updateflagsmithenvironment` management command to synchronise the local cache. You can use [Flagsmith MCP](https://docs.flagsmith.com/integrating-with-flagsmith/mcp-server) to integrate Flagsmith in your development flow. - -### Code guidelines: migrations - -To auto-generate migrations for your new code, run `make docker-up django-make-migrations`. - -The prompt will ask you for a name and not generate one; we avoid auto-generated migration names. - -Squash newly added migrations whenever you can. - -### Code guidelines: typing - -This codebase, including tests, is fully type-checked by Mypy in strict mode. Resolving existing `# type: ignore` comments is always welcome. If you happen to bring a new `# type: ignore` comment, please document the reason, and consider fixing a small number of adjacent `# type: ignore` comments, if possible and appropriate for the scope of your task. - -To run a full type check, run `make typecheck`. - -### Code guidelines: design and architecture - -Core API consists of Django apps with usual Django submodules like: -- `apps.py` -- `middleware.py` -- `models.py` -- `serializers.py` -- `views.py` -- `urls.py` - -We tend to add our own layers in the following modules: -- `constants.py` for app-wide constant variables. -- `dataclasses.py` for dataclass definitions, typically used for internal data transfer objects (DTOs). -- `mappers.py` for data mapping logic unrelated to API requests and responses. -- `services.py` for encapsulated business logic. Our goal with this layer is to make the views, models and serialisers leaner, so that the business logic is more clearly defined and easier to compose. -- `tasks.py` for defining asynchronous and recurring tasks. -- `types.py` for custom type definitions, including typed dicts. diff --git a/api/flagsmith_api.egg-info/SOURCES.txt b/api/flagsmith_api.egg-info/SOURCES.txt deleted file mode 100644 index ed8491a65e29..000000000000 --- a/api/flagsmith_api.egg-info/SOURCES.txt +++ /dev/null @@ -1,1691 +0,0 @@ -README.md -pyproject.toml -api/__init__.py -api/apps.py -api/models.py -api/openapi.py -api/openapi_views.py -api/serializers.py -api/migrations/0001_initial.py -api/migrations/0002_auto_20170619_1243.py -api/migrations/0003_auto_20170619_1255.py -api/migrations/0004_identity_uuid.py -api/migrations/0005_auto_20180514_1557.py -api/migrations/0006_auto_20180514_1622.py -api/migrations/0007_auto_20180517_1011.py -api/migrations/0008_auto_20180517_1104.py -api/migrations/0009_auto_20180517_1418.py -api/migrations/0010_remove_identity_hash.py -api/migrations/0011_auto_20180517_1646.py -api/migrations/0012_delete_ffadminuser.py -api/migrations/0013_featurestate_value.py -api/migrations/0014_auto_20180522_0928.py -api/migrations/0015_auto_20180522_0931.py -api/migrations/0016_auto_20180522_1311.py -api/migrations/0017_feature_description.py -api/migrations/0018_auto_20180524_1521.py -api/migrations/0019_auto_20180525_1436.py -api/migrations/0020_auto_20180525_1541.py -api/migrations/0021_auto_20180525_1651.py -api/migrations/__init__.py -api/urls/__init__.py -api/urls/deprecated.py -api/urls/experiments.py -api/urls/v1.py -api/urls/v2.py -api_keys/__init__.py -api_keys/admin.py -api_keys/apps.py -api_keys/authentication.py -api_keys/models.py -api_keys/serializers.py -api_keys/user.py -api_keys/views.py -api_keys/migrations/0001_initial.py -api_keys/migrations/0002_soft_delete_api_keys.py -api_keys/migrations/0003_masterapikey_is_admin.py -api_keys/migrations/0004_add_created_by.py -api_keys/migrations/__init__.py -app/__init__.py -app/exceptions.py -app/handlers.py -app/pagination.py -app/routers.py -app/urls.py -app/utils.py -app/views.py -app/wsgi.py -app/settings/__init__.py -app/settings/common.py -app/settings/develop.py -app/settings/local.py -app/settings/production.py -app/settings/test.py -app/templates/robots.txt -app_analytics/__init__.py -app_analytics/analytics_db_service.py -app_analytics/apps.py -app_analytics/cache.py -app_analytics/constants.py -app_analytics/dataclasses.py -app_analytics/experiments.py -app_analytics/influxdb_wrapper.py -app_analytics/mappers.py -app_analytics/middleware.py -app_analytics/migrate_to_pg.py -app_analytics/models.py -app_analytics/permissions.py -app_analytics/query.py -app_analytics/serializers.py -app_analytics/services.py -app_analytics/tasks.py -app_analytics/throttles.py -app_analytics/track.py -app_analytics/types.py -app_analytics/views.py -app_analytics/management/commands/migrate_analytics.py -app_analytics/management/commands/populate_buckets.py -app_analytics/management/commands/sendapiusagetoinflux.py -app_analytics/migrations/0001_initial.py -app_analytics/migrations/0002_featureevaluationraw_identifier_and_index_feature.py -app_analytics/migrations/0003_add_feature_name_index.py -app_analytics/migrations/0004_apiusageraw_count.py -app_analytics/migrations/0005_featureevaluationraw_created_at_idx.py -app_analytics/migrations/0006_add_labels.py -app_analytics/migrations/0007_rename_environment_id_created_at_index.py -app_analytics/migrations/0008_labels_jsonb.py -app_analytics/migrations/__init__.py -audit/__init__.py -audit/apps.py -audit/constants.py -audit/models.py -audit/permissions.py -audit/related_object_type.py -audit/serializers.py -audit/services.py -audit/signals.py -audit/tasks.py -audit/types.py -audit/urls.py -audit/views.py -audit/migrations/0001_initial.py -audit/migrations/0002_auto_20190909_1153.py -audit/migrations/0003_auto_20190910_1545.py -audit/migrations/0004_auto_20200504_1322.py -audit/migrations/0005_auditlog_skip_signals.py -audit/migrations/0006_auditlog_master_api_key.py -audit/migrations/0007_auditlog_is_system_event.py -audit/migrations/0008_attach_historical_record_to_audit_log.py -audit/migrations/0010_do_nothing_on_project_or_environment_delete.py -audit/migrations/0011_auditlog_related_object_uuid.py -audit/migrations/0012_auto_20230517_1006.py -audit/migrations/0013_allow_manual_override_of_created_date.py -audit/migrations/__init__.py -core/__init__.py -core/apps.py -core/constants.py -core/dataclasses.py -core/helpers.py -core/migration_helpers.py -core/models.py -core/redis_cluster.py -core/request_origin.py -core/signals.py -core/signing.py -core/throttling.py -core/workflows_services.py -core/custom_admin/__init__.py -core/custom_admin/admin.py -core/custom_admin/apps.py -core/management/__init__.py -core/management/commands/__init__.py -core/management/commands/bootstrap.py -core/management/commands/makemigrations.py -core/management/commands/rollbackmigrationsappliedafter.py -core/management/commands/waitfordb.py -core/middleware/__init__.py -core/middleware/admin.py -core/middleware/axes.py -core/middleware/cache_control.py -custom_auth/__init__.py -custom_auth/admin.py -custom_auth/apps.py -custom_auth/constants.py -custom_auth/models.py -custom_auth/permissions.py -custom_auth/serializers.py -custom_auth/tasks.py -custom_auth/urls.py -custom_auth/views.py -custom_auth/jwt_cookie/__init__.py -custom_auth/jwt_cookie/authentication.py -custom_auth/jwt_cookie/constants.py -custom_auth/jwt_cookie/services.py -custom_auth/jwt_cookie/signals.py -custom_auth/jwt_cookie/views.py -custom_auth/mfa/__init__.py -custom_auth/mfa/backends/__init__.py -custom_auth/mfa/backends/application.py -custom_auth/mfa/trench/__init__.py -custom_auth/mfa/trench/admin.py -custom_auth/mfa/trench/apps.py -custom_auth/mfa/trench/exceptions.py -custom_auth/mfa/trench/models.py -custom_auth/mfa/trench/responses.py -custom_auth/mfa/trench/serializers.py -custom_auth/mfa/trench/utils.py -custom_auth/mfa/trench/backends/__init__.py -custom_auth/mfa/trench/command/__init__.py -custom_auth/mfa/trench/command/activate_mfa_method.py -custom_auth/mfa/trench/command/authenticate_second_factor.py -custom_auth/mfa/trench/command/create_mfa_method.py -custom_auth/mfa/trench/command/create_secret.py -custom_auth/mfa/trench/command/deactivate_mfa_method.py -custom_auth/mfa/trench/command/generate_backup_codes.py -custom_auth/mfa/trench/command/remove_backup_code.py -custom_auth/mfa/trench/command/replace_mfa_method_backup_codes.py -custom_auth/mfa/trench/command/validate_backup_code.py -custom_auth/mfa/trench/migrations/0001_initial.py -custom_auth/mfa/trench/migrations/0002_auto_20190111_1403.py -custom_auth/mfa/trench/migrations/0003_auto_20190213_2330.py -custom_auth/mfa/trench/migrations/0004_add_created_at_and_updated_at.py -custom_auth/mfa/trench/migrations/__init__.py -custom_auth/mfa/trench/urls/__init__.py -custom_auth/mfa/trench/urls/base.py -custom_auth/mfa/trench/views/__init__.py -custom_auth/mfa/trench/views/base.py -custom_auth/migrations/0001_initial.py -custom_auth/migrations/__init__.py -custom_auth/oauth/__init__.py -custom_auth/oauth/exceptions.py -custom_auth/oauth/github.py -custom_auth/oauth/google.py -custom_auth/oauth/serializers.py -custom_auth/oauth/urls.py -custom_auth/oauth/views.py -custom_auth/oauth/helpers/__init__.py -custom_auth/oauth/helpers/github_helpers.py -e2etests/__init__.py -e2etests/e2e_seed_data.py -e2etests/middleware.py -e2etests/permissions.py -e2etests/urls.py -e2etests/views.py -edge_api/__init__.py -edge_api/apps.py -edge_api/utils.py -edge_api/identities/__init__.py -edge_api/identities/apps.py -edge_api/identities/edge_identity_service.py -edge_api/identities/edge_request_forwarder.py -edge_api/identities/events.py -edge_api/identities/exceptions.py -edge_api/identities/export.py -edge_api/identities/models.py -edge_api/identities/openapi.py -edge_api/identities/permissions.py -edge_api/identities/search.py -edge_api/identities/serializers.py -edge_api/identities/tasks.py -edge_api/identities/types.py -edge_api/identities/utils.py -edge_api/identities/views.py -edge_api/management/commands/__init__.py -edge_api/management/commands/ensure_identity_traits_blanks.py -edge_api/management/commands/migrate_to_edge_v2.py -environments/__init__.py -environments/admin.py -environments/api_keys.py -environments/apps.py -environments/authentication.py -environments/constants.py -environments/enums.py -environments/exceptions.py -environments/managers.py -environments/metrics.py -environments/models.py -environments/serializers.py -environments/tasks.py -environments/urls.py -environments/views.py -environments/dynamodb/__init__.py -environments/dynamodb/constants.py -environments/dynamodb/migrator.py -environments/dynamodb/services.py -environments/dynamodb/types.py -environments/dynamodb/utils.py -environments/dynamodb/wrappers/__init__.py -environments/dynamodb/wrappers/base.py -environments/dynamodb/wrappers/environment_api_key_wrapper.py -environments/dynamodb/wrappers/environment_wrapper.py -environments/dynamodb/wrappers/exceptions.py -environments/dynamodb/wrappers/identity_wrapper.py -environments/identities/__init__.py -environments/identities/admin.py -environments/identities/apps.py -environments/identities/managers.py -environments/identities/models.py -environments/identities/serializers.py -environments/identities/views.py -environments/identities/migrations/0001_initial.py -environments/identities/migrations/0002_alter_identity_index_together.py -environments/identities/migrations/0003_sanitized_identifiers.py -environments/identities/migrations/0004_allow_spaces_in_identifiers.py -environments/identities/migrations/0005_revert_sanitized_identifiers.py -environments/identities/migrations/0006_rename_environment_created_date_index.py -environments/identities/migrations/__init__.py -environments/identities/traits/__init__.py -environments/identities/traits/admin.py -environments/identities/traits/constants.py -environments/identities/traits/exceptions.py -environments/identities/traits/fields.py -environments/identities/traits/models.py -environments/identities/traits/openapi.py -environments/identities/traits/serializers.py -environments/identities/traits/views.py -environments/identities/traits/migrations/0001_initial.py -environments/identities/traits/migrations/0002_alter_trait_boolean_value.py -environments/identities/traits/migrations/__init__.py -environments/management/__init__.py -environments/management/serializers.py -environments/management/commands/__init__.py -environments/management/commands/migrate_to_edge.py -environments/migrations/0001_initial.py -environments/migrations/0002_auto_20180809_0014.py -environments/migrations/0003_auto_20180925_0915.py -environments/migrations/0004_auto_20181026_1438.py -environments/migrations/0005_auto_20181128_1013.py -environments/migrations/0006_auditlog.py -environments/migrations/0007_auto_20190827_1528.py -environments/migrations/0008_webhook.py -environments/migrations/0009_auto_20200219_1922.py -environments/migrations/0010_auto_20200219_2343.py -environments/migrations/0011_auto_20200220_0044.py -environments/migrations/0012_auto_20200504_1322.py -environments/migrations/0013_auto_20200619_1321.py -environments/migrations/0014_auto_20200917_1032.py -environments/migrations/0015_auto_20200916_1441.py -environments/migrations/0016_webhook_secret.py -environments/migrations/0017_add_environment_api_key_model.py -environments/migrations/0018_add_minimum_change_request_approvals_to_environment.py -environments/migrations/0019_allow_blank_minimum_change_request_approvals.py -environments/migrations/0020_add_uuid_field_to_environment_webhook.py -environments/migrations/0021_environment_allow_client_traits.py -environments/migrations/0022_environment_description.py -environments/migrations/0023_environment_updated_at.py -environments/migrations/0024_auto_20221206_0601.py -environments/migrations/0025_soft_delete_environments.py -environments/migrations/0026_add_auditable_base_class_to_environment_model.py -environments/migrations/0027_auto_20230106_0626.py -environments/migrations/0028_add_use_mv_v2_evaluation.py -environments/migrations/0029_auto_20230314_0443.py -environments/migrations/0030_auto_20230518_0338.py -environments/migrations/0031_alter_webhook_url.py -environments/migrations/0032_rename_use_mv_v2_evaluation_to_use_in_percentage_split_evaluation.py -environments/migrations/0033_add_environment_feature_state_version_logic.py -environments/migrations/0034_alter_environment_project.py -environments/migrations/0035_add_use_identity_overrides_in_local_eval.py -environments/migrations/0036_add_is_creating_field.py -environments/migrations/0037_add_uuid_field.py -environments/migrations/__init__.py -environments/permissions/__init__.py -environments/permissions/apps.py -environments/permissions/managers.py -environments/permissions/models.py -environments/permissions/permissions.py -environments/permissions/serializers.py -environments/permissions/views.py -environments/permissions/migrations/0001_initial.py -environments/permissions/migrations/0002_add_update_feature_state_permission.py -environments/permissions/migrations/0003_add_manage_identities_permission.py -environments/permissions/migrations/0004_add_change_request_permissions.py -environments/permissions/migrations/0005_add_view_identity_permissions.py -environments/permissions/migrations/0006_merge_duplicate_permissions.py -environments/permissions/migrations/0007_add_unique_permission_constraint.py -environments/permissions/migrations/0008_add_manage_segment_overrides_permission.py -environments/permissions/migrations/0009_add_environment_feature_state_version_logic.py -environments/permissions/migrations/__init__.py -environments/sdk/__init__.py -environments/sdk/serializers.py -environments/sdk/serializers_mixins.py -environments/sdk/services.py -environments/sdk/types.py -environments/sdk/views.py -features/__init__.py -features/admin.py -features/apps.py -features/audit_helpers.py -features/constants.py -features/custom_lifecycle.py -features/dataclasses.py -features/exceptions.py -features/feature_types.py -features/features_service.py -features/fields.py -features/helpers.py -features/managers.py -features/models.py -features/permissions.py -features/serializers.py -features/signals.py -features/tasks.py -features/urls.py -features/utils.py -features/value_types.py -features/views.py -features/feature_external_resources/__init__.py -features/feature_external_resources/apps.py -features/feature_external_resources/models.py -features/feature_external_resources/serializers.py -features/feature_external_resources/views.py -features/feature_external_resources/migrations/0001_initial.py -features/feature_external_resources/migrations/0002_featureexternalresource_feature_ext_type_2b2068_idx.py -features/feature_external_resources/migrations/0003_add_gitlab_resource_types.py -features/feature_external_resources/migrations/__init__.py -features/feature_health/__init__.py -features/feature_health/admin.py -features/feature_health/apps.py -features/feature_health/constants.py -features/feature_health/mappers.py -features/feature_health/models.py -features/feature_health/serializers.py -features/feature_health/services.py -features/feature_health/tasks.py -features/feature_health/types.py -features/feature_health/views.py -features/feature_health/migrations/0001_initial.py -features/feature_health/migrations/0002_featurehealthevent_add_external_id_alter_created_at.py -features/feature_health/migrations/0003_migrate_sample_to_webhook.py -features/feature_health/migrations/__init__.py -features/feature_health/providers/__init__.py -features/feature_health/providers/services.py -features/feature_health/providers/generic/mappers.py -features/feature_health/providers/grafana/__init__.py -features/feature_health/providers/grafana/constants.py -features/feature_health/providers/grafana/mappers.py -features/feature_health/providers/grafana/services.py -features/feature_health/providers/grafana/types.py -features/feature_health/providers/webhook/__init__.py -features/feature_health/providers/webhook/mappers.py -features/feature_health/providers/webhook/services.py -features/feature_health/providers/webhook/types.py -features/feature_segments/__init__.py -features/feature_segments/limits.py -features/feature_segments/permissions.py -features/feature_segments/serializers.py -features/feature_segments/views.py -features/feature_states/__init__.py -features/feature_states/models.py -features/feature_states/permissions.py -features/feature_states/serializers.py -features/feature_states/views.py -features/import_export/apps.py -features/import_export/constants.py -features/import_export/mappers.py -features/import_export/models.py -features/import_export/permissions.py -features/import_export/serializers.py -features/import_export/services.py -features/import_export/tasks.py -features/import_export/types.py -features/import_export/views.py -features/import_export/migrations/0001_initial.py -features/import_export/migrations/0002_status_and_data_featureexport.py -features/import_export/migrations/0003_flagsmithonflagsmithfeatureexport.py -features/import_export/migrations/0004_convert_data_fields_to_text_field.py -features/import_export/migrations/__init__.py -features/migrations/0001_initial.py -features/migrations/0002_auto_20180530_0724.py -features/migrations/0003_auto_20180601_1038.py -features/migrations/0004_auto_20180604_1259.py -features/migrations/0005_auto_20180604_1348.py -features/migrations/0006_featurestate_type.py -features/migrations/0007_feature_default_enabled.py -features/migrations/0008_auto_20180608_1328.py -features/migrations/0009_auto_20180809_0014.py -features/migrations/0009_auto_20180815_1011.py -features/migrations/0010_merge_20180816_1531.py -features/migrations/0011_historicalfeature_squashed_0012_historicalfeaturestate_historicalfeaturestatevalue.py -features/migrations/0012_auto_20190424_1555.py -features/migrations/0013_auto_20190607_1109.py -features/migrations/0014_auto_20190607_1642.py -features/migrations/0015_auto_20190916_1338.py -features/migrations/0016_auto_20190916_1717.py -features/migrations/0017_auto_20200607_1005.py -features/migrations/0018_auto_20200607_1057.py -features/migrations/0019_auto_20200607_1059.py -features/migrations/0020_auto_20200615_1300.py -features/migrations/0021_historicalfeaturesegment.py -features/migrations/0022_auto_20200630_2115.py -features/migrations/0023_auto_20200717_1515.py -features/migrations/0024_auto_20200917_1032.py -features/migrations/0025_alter_unique_constraints_for_feature_states.py -features/migrations/0025_enable_all_remote_config_feature_states.py -features/migrations/0026_auto_20210110_1300.py -features/migrations/0027_merge_20210215_1059.py -features/migrations/0028_auto_20210216_1600.py -features/migrations/0028_auto_20210223_2039.py -features/migrations/0029_auto_20210223_2106.py -features/migrations/0030_auto_20210401_1552.py -features/migrations/0030_merge_20210305_1622.py -features/migrations/0031_merge_20210409_1621.py -features/migrations/0032_update_feature_type.py -features/migrations/0033_auto_20210918_1048.py -features/migrations/0033_feature_owners.py -features/migrations/0034_merge_20210930_0502.py -features/migrations/0035_auto_20211109_0603.py -features/migrations/0036_alter_feature_options.py -features/migrations/0036_remove_existing_constraints.py -features/migrations/0037_add_feature_state_versioning_fields.py -features/migrations/0038_remove_old_versions_and_drafts.py -features/migrations/0039_allow_null_version.py -features/migrations/0039_merge_20220329_1252.py -features/migrations/0040_add_change_request_to_feature_state.py -features/migrations/0041_merge_20220406_0806.py -features/migrations/0042_default_type_to_STANDARD.py -features/migrations/0043_add_uuid_field_to_feature.py -features/migrations/0044_add_uuid_field_to_feature_state.py -features/migrations/0045_add_uuid_field_to_feature_state_value.py -features/migrations/0046_add_uuid_field_to_feature_segment.py -features/migrations/0047_prevent_null_feature_type.py -features/migrations/0048_add_master_api_key_to_historical_records.py -features/migrations/0049_safe_delete_feature_models.py -features/migrations/0050_remove_unique_indexes.py -features/migrations/0051_permanently_delete_soft_deleted_features.py -features/migrations/0052_add_feature_state_value_audit.py -features/migrations/0053_delete_historical_feature_segment.py -features/migrations/0054_add_missing_migration.py -features/migrations/0055_add_feature_segment_audit_log_for_delete.py -features/migrations/0056_alter_featurestate_change_request.py -features/migrations/0057_add_feature_is_server_key_only.py -features/migrations/0058_alter_boolean_values.py -features/migrations/0059_fix_feature_type.py -features/migrations/0060_feature_group_owners.py -features/migrations/0061_add_environment_feature_state_version_logic.py -features/migrations/0062_alter_feature_segment_unique_together.py -features/migrations/0063_detach_feature_from_project_cascade_delete.py -features/migrations/0064_fix_feature_help_text_typo.py -features/migrations/0065_make_feature_value_size_configurable.py -features/migrations/0066_constrain_feature_type.py -features/migrations/__init__.py -features/multivariate/__init__.py -features/multivariate/apps.py -features/multivariate/models.py -features/multivariate/serializers.py -features/multivariate/urls.py -features/multivariate/views.py -features/multivariate/migrations/0001_initial.py -features/multivariate/migrations/0002_add_unique_constraint_for_mv_feature_states.py -features/multivariate/migrations/0002_auto_20220124_0722.py -features/multivariate/migrations/0003_merge_20220131_1532.py -features/multivariate/migrations/0004_alter_multivariatefeatureoption_string_value.py -features/multivariate/migrations/0005_add_uuid_fields.py -features/multivariate/migrations/0006_add_audit_log_events_form_multivariate_models.py -features/multivariate/migrations/0007_alter_boolean_values.py -features/multivariate/migrations/0008_make_feature_value_size_configurable.py -features/multivariate/migrations/__init__.py -features/release_pipelines/core/__init__.py -features/release_pipelines/core/apps.py -features/release_pipelines/core/constants.py -features/release_pipelines/core/exceptions.py -features/release_pipelines/core/models.py -features/release_pipelines/core/migrations/0001_add_release_pipelines.py -features/release_pipelines/core/migrations/0002_add_phased_rollout.py -features/release_pipelines/core/migrations/0003_add_created_at.py -features/release_pipelines/core/migrations/__init__.py -features/release_pipelines/core/templates/release_pipelines/pipeline_stage_completed_notification.html -features/release_pipelines/core/templates/release_pipelines/pipeline_stage_completed_notification.txt -features/templates/features/webhook_failure.txt -features/versioning/__init__.py -features/versioning/apps.py -features/versioning/constants.py -features/versioning/dataclasses.py -features/versioning/exceptions.py -features/versioning/managers.py -features/versioning/models.py -features/versioning/permissions.py -features/versioning/receivers.py -features/versioning/schemas.py -features/versioning/serializers.py -features/versioning/signals.py -features/versioning/tasks.py -features/versioning/urls.py -features/versioning/versioning_service.py -features/versioning/views.py -features/versioning/migrations/0001_add_environment_feature_state_version_logic.py -features/versioning/migrations/0002_add_api_key_for_creation_and_publish.py -features/versioning/migrations/0003_cascade_delete_versions_on_cr_delete.py -features/versioning/migrations/0004_add_version_change_set.py -features/versioning/migrations/0005_fix_scheduled_fs_data_issue_caused_by_enabling_versioning.py -features/versioning/migrations/0006_add_pipeline_stage_to_envfeatureversion.py -features/versioning/migrations/0007_add_phased_rollout.py -features/versioning/migrations/__init__.py -features/versioning/sql/get_latest_versions.sql -features/versioning/templates/versioning/scheduled_change_failed_conflict_email.txt -features/workflows/__init__.py -features/workflows/core/__init__.py -features/workflows/core/apps.py -features/workflows/core/exceptions.py -features/workflows/core/models.py -features/workflows/core/migrations/0001_initial.py -features/workflows/core/migrations/0002_add_uuid_field.py -features/workflows/core/migrations/0003_add_historical_change_request.py -features/workflows/core/migrations/0004_add_historical_change_request_approvals.py -features/workflows/core/migrations/0005_soft_delete_change_requests.py -features/workflows/core/migrations/0006_auto_20230518_1036.py -features/workflows/core/migrations/0007_add_change_request_group_assignment.py -features/workflows/core/migrations/0008_remove_redundant_column.py -features/workflows/core/migrations/0009_prevent_cascade_delete_from_user_delete.py -features/workflows/core/migrations/0010_add_ignore_conflicts_option.py -features/workflows/core/migrations/0011_add_project_to_change_requests.py -features/workflows/core/migrations/0012_alter_changerequest_options.py -features/workflows/core/migrations/__init__.py -features/workflows/core/templates/workflows_core/change_request_approved_author_notification.html -features/workflows/core/templates/workflows_core/change_request_approved_author_notification.txt -features/workflows/core/templates/workflows_core/change_request_assignee_notification.html -features/workflows/core/templates/workflows_core/change_request_assignee_notification.txt -flagsmith_api.egg-info/PKG-INFO -flagsmith_api.egg-info/SOURCES.txt -flagsmith_api.egg-info/dependency_links.txt -flagsmith_api.egg-info/requires.txt -flagsmith_api.egg-info/top_level.txt -import_export/__init__.py -import_export/export.py -import_export/import_.py -import_export/json_serializers_with_metadata_support.py -import_export/management/__init__.py -import_export/management/commands/__init__.py -import_export/management/commands/dumporganisationtolocalfs.py -import_export/management/commands/dumporganisationtos3.py -import_export/management/commands/importorganisationfroms3.py -integrations/__init__.py -integrations/integration.py -integrations/amplitude/__init__.py -integrations/amplitude/amplitude.py -integrations/amplitude/apps.py -integrations/amplitude/constants.py -integrations/amplitude/models.py -integrations/amplitude/serializers.py -integrations/amplitude/views.py -integrations/amplitude/migrations/0001_initial.py -integrations/amplitude/migrations/0002_auto_20210325_1414.py -integrations/amplitude/migrations/0003_amplitudeconfiguration_uuid.py -integrations/amplitude/migrations/0004_make_uuid_not_editable.py -integrations/amplitude/migrations/0005_amplitudeconfiguration_deleted_at.py -integrations/amplitude/migrations/0006_add_default_base_url.py -integrations/amplitude/migrations/__init__.py -integrations/common/__init__.py -integrations/common/models.py -integrations/common/serializers.py -integrations/common/views.py -integrations/common/wrapper.py -integrations/datadog/__init__.py -integrations/datadog/apps.py -integrations/datadog/datadog.py -integrations/datadog/models.py -integrations/datadog/serializers.py -integrations/datadog/views.py -integrations/datadog/migrations/0001_initial.py -integrations/datadog/migrations/0002_add_uuid_field.py -integrations/datadog/migrations/0003_datadogconfiguration_deleted_at.py -integrations/datadog/migrations/0004_add_use_custom_source.py -integrations/datadog/migrations/__init__.py -integrations/dynatrace/__init__.py -integrations/dynatrace/apps.py -integrations/dynatrace/dynatrace.py -integrations/dynatrace/models.py -integrations/dynatrace/serializers.py -integrations/dynatrace/views.py -integrations/dynatrace/migrations/0001_initial.py -integrations/dynatrace/migrations/0002_add_uuid_field.py -integrations/dynatrace/migrations/0003_dynatraceconfiguration_deleted_at.py -integrations/dynatrace/migrations/__init__.py -integrations/flagsmith/__init__.py -integrations/flagsmith/client.py -integrations/flagsmith/exceptions.py -integrations/flagsmith/flagsmith_service.py -integrations/flagsmith/data/environment.json -integrations/flagsmith/management/__init__.py -integrations/flagsmith/management/commands/__init__.py -integrations/flagsmith/management/commands/updateflagsmithenvironment.py -integrations/github/__init__.py -integrations/github/apps.py -integrations/github/client.py -integrations/github/constants.py -integrations/github/dataclasses.py -integrations/github/exceptions.py -integrations/github/github.py -integrations/github/helpers.py -integrations/github/models.py -integrations/github/permissions.py -integrations/github/serializers.py -integrations/github/tasks.py -integrations/github/views.py -integrations/github/migrations/0001_initial.py -integrations/github/migrations/0002_auto_20240502_1949.py -integrations/github/migrations/0003_auto_20240528_0640.py -integrations/github/migrations/0004_githubrepository_tagging_enabled.py -integrations/github/migrations/__init__.py -integrations/gitlab/__init__.py -integrations/gitlab/apps.py -integrations/gitlab/constants.py -integrations/gitlab/mappers.py -integrations/gitlab/models.py -integrations/gitlab/serializers.py -integrations/gitlab/tasks.py -integrations/gitlab/types.py -integrations/gitlab/client/__init__.py -integrations/gitlab/client/api.py -integrations/gitlab/client/types.py -integrations/gitlab/migrations/0001_initial.py -integrations/gitlab/migrations/0002_add_gitlab_webhook_model.py -integrations/gitlab/migrations/0003_gitlabconfiguration_labeling_enabled.py -integrations/gitlab/migrations/__init__.py -integrations/gitlab/services/__init__.py -integrations/gitlab/services/comments.py -integrations/gitlab/services/labels.py -integrations/gitlab/services/tagging.py -integrations/gitlab/services/url_parsing.py -integrations/gitlab/services/webhooks.py -integrations/gitlab/templates/gitlab/feature_deleted_comment.md -integrations/gitlab/templates/gitlab/feature_linked_comment.md -integrations/gitlab/templates/gitlab/feature_state_changed_comment.md -integrations/gitlab/templates/gitlab/feature_unlinked_comment.md -integrations/gitlab/views/__init__.py -integrations/gitlab/views/browse_gitlab.py -integrations/gitlab/views/configuration.py -integrations/gitlab/views/webhook.py -integrations/grafana/__init__.py -integrations/grafana/apps.py -integrations/grafana/grafana.py -integrations/grafana/mappers.py -integrations/grafana/models.py -integrations/grafana/serializers.py -integrations/grafana/types.py -integrations/grafana/views.py -integrations/grafana/migrations/0001_initial.py -integrations/grafana/migrations/0002_add_grafana_organisation_configuration.py -integrations/grafana/migrations/__init__.py -integrations/heap/__init__.py -integrations/heap/apps.py -integrations/heap/heap.py -integrations/heap/models.py -integrations/heap/serializers.py -integrations/heap/views.py -integrations/heap/migrations/0001_initial.py -integrations/heap/migrations/0002_add_uuid_field.py -integrations/heap/migrations/0003_heapconfiguration_deleted_at.py -integrations/heap/migrations/__init__.py -integrations/launch_darkly/__init__.py -integrations/launch_darkly/admin.py -integrations/launch_darkly/apps.py -integrations/launch_darkly/client.py -integrations/launch_darkly/constants.py -integrations/launch_darkly/exceptions.py -integrations/launch_darkly/models.py -integrations/launch_darkly/serializers.py -integrations/launch_darkly/services.py -integrations/launch_darkly/tasks.py -integrations/launch_darkly/types.py -integrations/launch_darkly/views.py -integrations/launch_darkly/migrations/0001_initial.py -integrations/launch_darkly/migrations/0002_importrequest_unique_project_ld_project_key_status_result_null.py -integrations/launch_darkly/migrations/__init__.py -integrations/lead_tracking/__init__.py -integrations/lead_tracking/lead_tracking.py -integrations/lead_tracking/hubspot/client.py -integrations/lead_tracking/hubspot/constants.py -integrations/lead_tracking/hubspot/lead_tracker.py -integrations/lead_tracking/hubspot/services.py -integrations/lead_tracking/hubspot/tasks.py -integrations/mixpanel/__init__.py -integrations/mixpanel/apps.py -integrations/mixpanel/mixpanel.py -integrations/mixpanel/models.py -integrations/mixpanel/serializers.py -integrations/mixpanel/views.py -integrations/mixpanel/migrations/0001_initial.py -integrations/mixpanel/migrations/0002_add_uuid_field.py -integrations/mixpanel/migrations/0003_mixpanelconfiguration_deleted_at.py -integrations/mixpanel/migrations/__init__.py -integrations/new_relic/__init__.py -integrations/new_relic/apps.py -integrations/new_relic/models.py -integrations/new_relic/new_relic.py -integrations/new_relic/serializers.py -integrations/new_relic/views.py -integrations/new_relic/migrations/0001_initial.py -integrations/new_relic/migrations/0002_auto_20210325_1414.py -integrations/new_relic/migrations/0003_add_uuid_field.py -integrations/new_relic/migrations/0004_newrelicconfiguration_deleted_at.py -integrations/new_relic/migrations/__init__.py -integrations/pylon/__init__.py -integrations/pylon/identity_verification.py -integrations/rudderstack/__init__.py -integrations/rudderstack/apps.py -integrations/rudderstack/models.py -integrations/rudderstack/rudderstack.py -integrations/rudderstack/serializers.py -integrations/rudderstack/views.py -integrations/rudderstack/migrations/0001_initial.py -integrations/rudderstack/migrations/0002_add_uuid_field.py -integrations/rudderstack/migrations/0003_rudderstackconfiguration_deleted_at.py -integrations/rudderstack/migrations/__init__.py -integrations/segment/__init__.py -integrations/segment/apps.py -integrations/segment/constants.py -integrations/segment/models.py -integrations/segment/segment.py -integrations/segment/serializers.py -integrations/segment/views.py -integrations/segment/migrations/0001_initial.py -integrations/segment/migrations/0002_auto_20210325_1414.py -integrations/segment/migrations/0003_add_uuid_field.py -integrations/segment/migrations/0004_segmentconfiguration_deleted_at.py -integrations/segment/migrations/0005_set_base_url_to_default.py -integrations/segment/migrations/0006_set_base_url_to_default_again.py -integrations/segment/migrations/__init__.py -integrations/sentry/__init__.py -integrations/sentry/apps.py -integrations/sentry/change_tracking.py -integrations/sentry/middleware.py -integrations/sentry/models.py -integrations/sentry/samplers.py -integrations/sentry/serializers.py -integrations/sentry/views.py -integrations/sentry/migrations/0001_sentry_change_tracking.py -integrations/sentry/migrations/__init__.py -integrations/slack/__init__.py -integrations/slack/apps.py -integrations/slack/authentication.py -integrations/slack/exceptions.py -integrations/slack/models.py -integrations/slack/permissions.py -integrations/slack/serializers.py -integrations/slack/slack.py -integrations/slack/views.py -integrations/slack/migrations/0001_initial.py -integrations/slack/migrations/0002_add_uuid_fields.py -integrations/slack/migrations/0003_slackconfiguration_deleted_at.py -integrations/slack/migrations/__init__.py -integrations/vcs/__init__.py -integrations/vcs/apps.py -integrations/vcs/services.py -integrations/webhook/__init__.py -integrations/webhook/apps.py -integrations/webhook/models.py -integrations/webhook/serializers.py -integrations/webhook/views.py -integrations/webhook/webhook.py -integrations/webhook/migrations/0001_initial.py -integrations/webhook/migrations/0002_add_uuid_field.py -integrations/webhook/migrations/0003_webhookconfiguration_deleted_at.py -integrations/webhook/migrations/0004_alter_webhookconfiguration_url.py -integrations/webhook/migrations/__init__.py -jmeter-tests/Home Page.jmx -metadata/__init__.py -metadata/apps.py -metadata/fields.py -metadata/models.py -metadata/permissions.py -metadata/serializers.py -metadata/urls.py -metadata/views.py -metadata/migrations/0001_initial.py -metadata/migrations/0002_add_project_to_metadata_field.py -metadata/migrations/__init__.py -metrics/__init__.py -metrics/apps.py -metrics/constants.py -metrics/metrics_service.py -metrics/serializers.py -metrics/types.py -oauth2_metadata/__init__.py -oauth2_metadata/apps.py -oauth2_metadata/authentication.py -oauth2_metadata/dataclasses.py -oauth2_metadata/serializers.py -oauth2_metadata/services.py -oauth2_metadata/tasks.py -oauth2_metadata/views.py -onboarding/__init__.py -onboarding/apps.py -onboarding/serializers.py -onboarding/tasks.py -onboarding/throttling.py -onboarding/urls.py -onboarding/views.py -organisations/__init__.py -organisations/admin.py -organisations/apps.py -organisations/constants.py -organisations/exceptions.py -organisations/managers.py -organisations/models.py -organisations/serializers.py -organisations/subscription_info_cache.py -organisations/task_helpers.py -organisations/tasks.py -organisations/urls.py -organisations/views.py -organisations/chargebee/__init__.py -organisations/chargebee/apps.py -organisations/chargebee/cache.py -organisations/chargebee/chargebee.py -organisations/chargebee/client.py -organisations/chargebee/constants.py -organisations/chargebee/metadata.py -organisations/chargebee/serializers.py -organisations/chargebee/tasks.py -organisations/chargebee/webhook_event_types.py -organisations/chargebee/webhook_handlers.py -organisations/invites/__init__.py -organisations/invites/admin.py -organisations/invites/apps.py -organisations/invites/exceptions.py -organisations/invites/models.py -organisations/invites/serializers.py -organisations/invites/views.py -organisations/invites/migrations/0001_initial.py -organisations/invites/migrations/0002_auto_20210118_2026.py -organisations/invites/migrations/0003_auto_20220323_1455.py -organisations/invites/migrations/0004_remove_invite_frontend_base_url.py -organisations/invites/migrations/0005_add_uuid_field.py -organisations/invites/migrations/0006_invite_permission_groups.py -organisations/invites/migrations/__init__.py -organisations/management/commands/check_if_organisations_over_plan_limit.py -organisations/management/commands/createinitialorganisation.py -organisations/migrations/0001_initial.py -organisations/migrations/0002_organisation_has_requested_features.py -organisations/migrations/0003_organisation_webhook_notification_email.py -organisations/migrations/0004_organisation_created_date.py -organisations/migrations/0005_auto_20181025_1611.py -organisations/migrations/0006_auto_20181030_1438.py -organisations/migrations/0007_organisation_pending_cancellation.py -organisations/migrations/0008_auto_20181108_1259.py -organisations/migrations/0009_auto_20181108_1306.py -organisations/migrations/0010_subscription.py -organisations/migrations/0011_subscription_max_seats.py -organisations/migrations/0012_auto_20190912_1538.py -organisations/migrations/0013_organisation_alerted_over_plan_limit.py -organisations/migrations/0014_organisation_stop_serving_flags.py -organisations/migrations/0014_userorganisation.py -organisations/migrations/0015_auto_20190924_1641.py -organisations/migrations/0016_auto_20190924_1716.py -organisations/migrations/0017_subscription_cancellation_date.py -organisations/migrations/0018_merge_20191003_1249.py -organisations/migrations/0019_subscription_customer_id.py -organisations/migrations/0020_auto_20200222_1159.py -organisations/migrations/0021_auto_20200619_1555.py -organisations/migrations/0022_organisation_persist_trait_data.py -organisations/migrations/0023_organisation_block_access_to_admin.py -organisations/migrations/0024_organisation_feature_analytics.py -organisations/migrations/0025_auto_20210223_1603.py -organisations/migrations/0026_auto_20210907_1232.py -organisations/migrations/0027_organisation_restrict_project_create_to_admin.py -organisations/migrations/0028_organisationwebhook_secret.py -organisations/migrations/0029_add_max_api_calls_to_subscription_model.py -organisations/migrations/0030_alter_userorganisation_role.py -organisations/migrations/0031_alter_subscription_plan.py -organisations/migrations/0032_add_uuid_fields.py -organisations/migrations/0033_allow_blank_payment_method.py -organisations/migrations/0034_alter_subscription_payment_method.py -organisations/migrations/0035_add_organisation_subscription_information_cache.py -organisations/migrations/0036_alter_subscription_plan.py -organisations/migrations/0037_add_default_subscription_to_existing_organisations.py -organisations/migrations/0038_soft_delete_organisations.py -organisations/migrations/0039_subscription_deleted_at.py -organisations/migrations/0040_alter_organisationwebhook_url.py -organisations/migrations/0040_organisationsubscriptioninformationcache_chargebee_email.py -organisations/migrations/0041_merge_20230621_0946.py -organisations/migrations/0042_alter_subscription_payment_method.py -organisations/migrations/0043_add_created_at_and_updated_at_to_organisationwebhook.py -organisations/migrations/0044_organisationsubscriptioninformationcache_allowed_projects.py -organisations/migrations/0045_auto_20230802_1956.py -organisations/migrations/0046_allow_allowed_projects_to_be_null.py -organisations/migrations/0047_organisation_force_2fa.py -organisations/migrations/0048_add_default_subscription_to_orphaned_organisations.py -organisations/migrations/0049_subscription_billing_status.py -organisations/migrations/0050_add_historical_subscription.py -organisations/migrations/0051_create_org_api_usage_notification.py -organisations/migrations/0052_create_hubspot_organisation.py -organisations/migrations/0053_create_api_limit_access_block.py -organisations/migrations/0054_create_api_billing.py -organisations/migrations/0055_alter_percent_usage.py -organisations/migrations/0056_create_organisation_breached_grace_period.py -organisations/migrations/0057_limit_audit_and_version_history.py -organisations/migrations/0058_update_audit_and_history_limits_in_sub_cache.py -organisations/migrations/__init__.py -organisations/permissions/__init__.py -organisations/permissions/apps.py -organisations/permissions/models.py -organisations/permissions/permissions.py -organisations/permissions/serializers.py -organisations/permissions/views.py -organisations/permissions/migrations/0001_initial.py -organisations/permissions/migrations/0002_add_related_query_name.py -organisations/permissions/migrations/0003_merge_duplicate_permissions.py -organisations/permissions/migrations/0004_add_unique_permission_constraint.py -organisations/permissions/migrations/__init__.py -organisations/subscriptions/__init__.py -organisations/subscriptions/constants.py -organisations/subscriptions/exceptions.py -organisations/subscriptions/metadata.py -organisations/subscriptions/permissions.py -organisations/subscriptions/serializers/__init__.py -organisations/subscriptions/serializers/mixins.py -organisations/subscriptions/xero/__init__.py -organisations/subscriptions/xero/metadata.py -organisations/templates/organisations/api_flags_blocked_notification.html -organisations/templates/organisations/api_flags_blocked_notification.txt -organisations/templates/organisations/api_usage_notification.html -organisations/templates/organisations/api_usage_notification.txt -organisations/templates/organisations/api_usage_notification_limit.html -organisations/templates/organisations/api_usage_notification_limit.txt -permissions/__init__.py -permissions/models.py -permissions/permission_service.py -permissions/permissions_calculator.py -permissions/rbac_wrapper.py -permissions/serializers.py -permissions/migrations/0001_initial.py -permissions/migrations/0002_auto_20200221_2126.py -permissions/migrations/0003_add_organisation_permission_type.py -permissions/migrations/0004_add_create_project_permission.py -permissions/migrations/0005_orphan_permission_cleanup.py -permissions/migrations/0006_add_manage_segments_permission.py -permissions/migrations/0007_add_invite_users_and_manage_user_groups_org_permissions.py -permissions/migrations/0008_add_view_audit_log_permission.py -permissions/migrations/0009_move_view_audit_log_permission.py -permissions/migrations/0010_add_manage_tags_permission.py -permissions/migrations/__init__.py -platform_hub/__init__.py -platform_hub/apps.py -platform_hub/constants.py -platform_hub/mappers.py -platform_hub/serializers.py -platform_hub/services.py -platform_hub/types.py -platform_hub/urls.py -platform_hub/views.py -projects/__init__.py -projects/admin.py -projects/apps.py -projects/exceptions.py -projects/managers.py -projects/models.py -projects/permissions.py -projects/serializers.py -projects/services.py -projects/tasks.py -projects/urls.py -projects/views.py -projects/code_references/__init__.py -projects/code_references/apps.py -projects/code_references/constants.py -projects/code_references/models.py -projects/code_references/permissions.py -projects/code_references/serializers.py -projects/code_references/services.py -projects/code_references/types.py -projects/code_references/urls.py -projects/code_references/views.py -projects/code_references/migrations/0001_code_references.py -projects/code_references/migrations/0002_add_project_repo_created_index.py -projects/code_references/migrations/__init__.py -projects/management/commands/createinitialproject.py -projects/migrations/0001_initial.py -projects/migrations/0002_projectpermission_userpermissiongroupprojectpermission_userprojectpermission.py -projects/migrations/0003_auto_20200216_2050.py -projects/migrations/0004_auto_20200220_0044.py -projects/migrations/0005_auto_20200221_2317.py -projects/migrations/0006_auto_20200224_2106.py -projects/migrations/0007_auto_20200504_1322.py -projects/migrations/0008_project_hide_disabled_flags.py -projects/migrations/0009_project_enable_dynamo_db.py -projects/migrations/0010_auto_20211208_1050.py -projects/migrations/0011_add_uuid_field.py -projects/migrations/0012_add_prevent_flag_defaults_to_project.py -projects/migrations/0013_project_enable_realtime_updates.py -projects/migrations/0014_project_only_allow_lower_case_feature_names.py -projects/migrations/0015_project_feature_name_regex.py -projects/migrations/0016_soft_delete_projects.py -projects/migrations/0017_merge_duplicate_permissions.py -projects/migrations/0018_add_unique_permission_constraint.py -projects/migrations/0019_add_limits.py -projects/migrations/0020_add_environment_feature_state_version_logic.py -projects/migrations/0021_add_identity_overrides_migration_status.py -projects/migrations/0022_add_stale_flags_threshold_to_project.py -projects/migrations/0023_rename_identity_overrides_migration_status_keeping_db_column.py -projects/migrations/0024_add_project_edge_v2_migration_read_capacity_budget.py -projects/migrations/0025_add_change_request_project_permissions.py -projects/migrations/0026_add_change_request_approval_limit_to_projects.py -projects/migrations/0027_add_create_project_level_change_requests_permission.py -projects/migrations/0028_add_enforce_feature_owners_to_project.py -projects/migrations/0029_bump_default_project_limits.py -projects/migrations/__init__.py -projects/tags/__init__.py -projects/tags/admin.py -projects/tags/apps.py -projects/tags/models.py -projects/tags/permissions.py -projects/tags/serializers.py -projects/tags/views.py -projects/tags/migrations/0001_initial.py -projects/tags/migrations/0002_auto_20210223_1603.py -projects/tags/migrations/0003_allow_null_tag_description.py -projects/tags/migrations/0004_add_uuid_field.py -projects/tags/migrations/0005_add_tag_fields_for_stale_flags_logic.py -projects/tags/migrations/0006_alter_tag_type.py -projects/tags/migrations/0007_alter_tag_color.py -projects/tags/migrations/0008_alter_tag_type.py -projects/tags/migrations/0009_add_gitlab_tag_type.py -projects/tags/migrations/__init__.py -sales_dashboard/__init__.py -sales_dashboard/apps.py -sales_dashboard/forms.py -sales_dashboard/urls.py -sales_dashboard/views.py -sales_dashboard/migrations/__init__.py -sales_dashboard/templates/sales_dashboard/base.html -sales_dashboard/templates/sales_dashboard/home.html -sales_dashboard/templates/sales_dashboard/nav.html -sales_dashboard/templates/sales_dashboard/organisation.html -sales_dashboard/templates/sales_dashboard/usage.html -sales_dashboard/templatetags/__init__.py -sales_dashboard/templatetags/sales_dashboard_extras.py -segments/__init__.py -segments/admin.py -segments/apps.py -segments/models.py -segments/permissions.py -segments/serializers.py -segments/services.py -segments/tasks.py -segments/types.py -segments/urls.py -segments/views.py -segments/migrations/0001_initial.py -segments/migrations/0002_auto_20190515_1113.py -segments/migrations/0003_segment_project.py -segments/migrations/0004_auto_20190523_1325.py -segments/migrations/0005_auto_20190529_1426.py -segments/migrations/0006_auto_20190828_0907.py -segments/migrations/0007_auto_20190906_1416.py -segments/migrations/0008_auto_20210223_1603.py -segments/migrations/0010_add_uuid_fields.py -segments/migrations/0011_segment_feature.py -segments/migrations/0012_alter_condition_operator.py -segments/migrations/0013_add_is_set_and_is_not_set_operators.py -segments/migrations/0014_add_description_to_segment_condition.py -segments/migrations/0015_remove_max_length_from_condition_description.py -segments/migrations/0016_add_historical_records_to_segment.py -segments/migrations/0017_update_historical_segment_with_missing_changes.py -segments/migrations/0018_soft_delete_segments.py -segments/migrations/0019_add_audit_to_condition.py -segments/migrations/0020_detach_segment_from_project_cascade_delete.py -segments/migrations/0021_create_whitelisted_segments.py -segments/migrations/0022_add_soft_delete_to_segment_rules_and_conditions.py -segments/migrations/0023_add_versioning_to_segments.py -segments/migrations/0024_add_timestamps_to_segments.py -segments/migrations/0025_set_default_version_on_segment.py -segments/migrations/0026_add_change_request_to_segments.py -segments/migrations/0027_historicalsegmentrule.py -segments/migrations/0028_condition_property_required.py -segments/migrations/0029_add_is_system_segment.py -segments/migrations/0030_add_default_to_segment_version.py -segments/migrations/__init__.py -segments/migrations/sql/0023_add_versioning_to_segments.sql -segments/migrations/sql/0023_add_versioning_to_segments_reverse.sql -sse/__init__.py -sse/dataclasses.py -sse/exceptions.py -sse/sse_service.py -sse/tasks.py -telemetry/__init__.py -telemetry/apps.py -telemetry/models.py -telemetry/serializers.py -telemetry/telemetry.py -templates/admin/base_site.html -templates/admin/login.html -tests/__init__.py -tests/conftest.py -tests/test_helpers.py -tests/types.py -tests/integration/__init__.py -tests/integration/conftest.py -tests/integration/helpers.py -tests/integration/test_api_documentation.py -tests/integration/test_integration_api_version_header.py -tests/integration/api_keys/__init__.py -tests/integration/api_keys/conftest.py -tests/integration/api_keys/test_viewset.py -tests/integration/app_analytics/test_influx_query_throttle.py -tests/integration/audit/test_audit_logs.py -tests/integration/core/test_commands.py -tests/integration/core/test_user_rate_throttle.py -tests/integration/custom_auth/end_to_end/test_custom_auth_integration.py -tests/integration/e2etests/end_to_end/test_integration_e2e_tests.py -tests/integration/edge_api/identities/conftest.py -tests/integration/edge_api/identities/test_edge_identity_featurestates_viewset.py -tests/integration/edge_api/identities/test_edge_identity_viewset.py -tests/integration/environments/__init__.py -tests/integration/environments/test_integration_environments.py -tests/integration/environments/identities/__init__.py -tests/integration/environments/identities/test_integration_identities.py -tests/integration/environments/identities/test_integration_identities_feature_states.py -tests/integration/features/__init__.py -tests/integration/features/test_gitlab_external_resources.py -tests/integration/features/test_gitlab_webhook.py -tests/integration/features/test_integration_features.py -tests/integration/features/feature_health/__init__.py -tests/integration/features/feature_health/conftest.py -tests/integration/features/feature_health/test_views.py -tests/integration/features/featurestate/__init__.py -tests/integration/features/featurestate/test_environment_featurestate_viewset.py -tests/integration/features/featurestate/test_simple_featurestate_viewset.py -tests/integration/features/featurestate/test_webhooks.py -tests/integration/features/multivariate/__init__.py -tests/integration/features/multivariate/test_integration_multivariate.py -tests/integration/features/versioning/__init__.py -tests/integration/features/versioning/test_integration_v2_versioning.py -tests/integration/features/versioning/types.py -tests/integration/projects/__init__.py -tests/integration/projects/test_integration_projects.py -tests/integration/sales_dashboard/__init__.py -tests/integration/sales_dashboard/conftest.py -tests/integration/sales_dashboard/test_integration_sales_dashboard.py -tests/integration/scim/__init__.py -tests/integration/scim/conftest.py -tests/integration/scim/test_integration_scim.py -tests/integration/sdk/__init__.py -tests/integration/sdk/test_sdk_api_schemas.py -tests/integration/sdk/test_sdk_environment_document.py -tests/integration/sentry/test_change_tracking_webhook_integration.py -tests/integration/slack/conftest.py -tests/integration/slack/test_slack_environment_viewset.py -tests/integration/slack/test_slack_get_channels.py -tests/integration/slack/test_slack_token_flow.py -tests/integration/users/test_init_config.py -tests/unit/__init__.py -tests/unit/conftest.py -tests/unit/api/__init__.py -tests/unit/api/test_mcp_openapi.py -tests/unit/api/test_unit_api.py -tests/unit/api/test_unit_openapi.py -tests/unit/api_keys/__init__.py -tests/unit/api_keys/test_authentication.py -tests/unit/api_keys/test_user.py -tests/unit/app/__init__.py -tests/unit/app/test_unit_app_routers.py -tests/unit/app/test_unit_app_utils.py -tests/unit/app_analytics/__init__.py -tests/unit/app_analytics/test_analytics_db_service.py -tests/unit/app_analytics/test_commands.py -tests/unit/app_analytics/test_experiments.py -tests/unit/app_analytics/test_middleware.py -tests/unit/app_analytics/test_migrate_to_pg.py -tests/unit/app_analytics/test_migrations.py -tests/unit/app_analytics/test_models.py -tests/unit/app_analytics/test_tasks.py -tests/unit/app_analytics/test_unit_app_analytics_cache.py -tests/unit/app_analytics/test_unit_app_analytics_influxdb_wrapper.py -tests/unit/app_analytics/test_unit_app_analytics_mappers.py -tests/unit/app_analytics/test_unit_app_analytics_track.py -tests/unit/app_analytics/test_unit_app_analytics_views.py -tests/unit/audit/__init__.py -tests/unit/audit/conftest.py -tests/unit/audit/test_unit_audit_models.py -tests/unit/audit/test_unit_audit_permissions.py -tests/unit/audit/test_unit_audit_services.py -tests/unit/audit/test_unit_audit_signals.py -tests/unit/audit/test_unit_audit_tasks.py -tests/unit/audit/test_unit_audit_views.py -tests/unit/core/test_helpers.py -tests/unit/core/test_redis_cluster.py -tests/unit/core/test_unit_core_management.py -tests/unit/core/test_unit_core_migration_helpers.py -tests/unit/core/test_unit_core_throttling.py -tests/unit/core/management/__init__.py -tests/unit/core/management/test_unit_core_management_makemigrations.py -tests/unit/core/middleware/test_unit_core_middleware_admin.py -tests/unit/core/middleware/test_unit_core_middleware_cache_control.py -tests/unit/custom_auth/conftest.py -tests/unit/custom_auth/test_tasks.py -tests/unit/custom_auth/test_unit_custom_auth_serializer.py -tests/unit/custom_auth/test_unit_custom_auth_views.py -tests/unit/custom_auth/jwt_cookie/test_unit_jwt_cookie_authentication.py -tests/unit/custom_auth/mfa/trench/__init__.py -tests/unit/custom_auth/mfa/trench/conftest.py -tests/unit/custom_auth/mfa/trench/test_views.py -tests/unit/custom_auth/oauth/test_unit_oauth_github.py -tests/unit/custom_auth/oauth/test_unit_oauth_google.py -tests/unit/custom_auth/oauth/test_unit_oauth_serializers.py -tests/unit/custom_auth/oauth/test_unit_oauth_views.py -tests/unit/custom_auth/oauth/helpers/test_unit_oauth_github_helpers.py -tests/unit/edge_api/test_unit_edge_api_commands.py -tests/unit/edge_api/test_unit_edge_api_utils.py -tests/unit/edge_api/identities/__init__.py -tests/unit/edge_api/identities/conftest.py -tests/unit/edge_api/identities/test_edge_api_identities_serializers.py -tests/unit/edge_api/identities/test_edge_api_identities_views.py -tests/unit/edge_api/identities/test_edge_identity_featurestate_view.py -tests/unit/edge_api/identities/test_edge_identity_models.py -tests/unit/edge_api/identities/test_edge_identity_service.py -tests/unit/edge_api/identities/test_edge_request_forwarder.py -tests/unit/edge_api/identities/test_events.py -tests/unit/edge_api/identities/test_permissions.py -tests/unit/edge_api/identities/test_unit_edge_api_identities_tasks.py -tests/unit/environments/__init__.py -tests/unit/environments/conftest.py -tests/unit/environments/helpers.py -tests/unit/environments/test_environment_metrics_views.py -tests/unit/environments/test_unit_environments_admin.py -tests/unit/environments/test_unit_environments_authentication.py -tests/unit/environments/test_unit_environments_feature_states_views.py -tests/unit/environments/test_unit_environments_migrations.py -tests/unit/environments/test_unit_environments_models.py -tests/unit/environments/test_unit_environments_permissions.py -tests/unit/environments/test_unit_environments_tasks.py -tests/unit/environments/test_unit_environments_views.py -tests/unit/environments/test_unit_environments_views_sdk_environment.py -tests/unit/environments/dynamodb/test_unit_dynamodb_utils.py -tests/unit/environments/dynamodb/test_unit_migrator.py -tests/unit/environments/dynamodb/test_unit_services.py -tests/unit/environments/dynamodb/types/test_unit_dynamodb_project_metadata.py -tests/unit/environments/dynamodb/wrappers/__init__.py -tests/unit/environments/dynamodb/wrappers/test_unit_dynamo_environment_wrapper.py -tests/unit/environments/dynamodb/wrappers/test_unit_dynamodb_environment_api_key_wrapper.py -tests/unit/environments/dynamodb/wrappers/test_unit_dynamodb_environment_v2_wrapper.py -tests/unit/environments/dynamodb/wrappers/test_unit_dynamodb_identity_wrapper.py -tests/unit/environments/identities/__init__.py -tests/unit/environments/identities/conftest.py -tests/unit/environments/identities/helpers.py -tests/unit/environments/identities/test_unit_identities_feature_states_views.py -tests/unit/environments/identities/test_unit_identities_models.py -tests/unit/environments/identities/test_unit_identities_views.py -tests/unit/environments/identities/traits/__init__.py -tests/unit/environments/identities/traits/test_traits_views.py -tests/unit/environments/identities/traits/test_unit_traits_models.py -tests/unit/environments/identities/traits/test_unit_traits_serializers.py -tests/unit/environments/management/commands/test_unit_environments_management_commands_migrate_to_edge.py -tests/unit/environments/permissions/__init__.py -tests/unit/environments/permissions/test_unit_environments_permissions.py -tests/unit/environments/permissions/test_unit_environments_permissions_migrations.py -tests/unit/environments/permissions/test_unit_environments_views.py -tests/unit/environments/sdk/__init__.py -tests/unit/environments/sdk/test_unit_sdk_serializers.py -tests/unit/features/__init__.py -tests/unit/features/conftest.py -tests/unit/features/test_migrations.py -tests/unit/features/test_unit_feature_external_resources_views.py -tests/unit/features/test_unit_features_audit_helpers.py -tests/unit/features/test_unit_features_features_service.py -tests/unit/features/test_unit_features_helpers.py -tests/unit/features/test_unit_features_models.py -tests/unit/features/test_unit_features_permissions.py -tests/unit/features/test_unit_features_serializers.py -tests/unit/features/test_unit_features_tasks.py -tests/unit/features/test_unit_features_utils.py -tests/unit/features/test_unit_features_views.py -tests/unit/features/feature_health/__init__.py -tests/unit/features/feature_health/conftest.py -tests/unit/features/feature_health/test_admin.py -tests/unit/features/feature_health/test_models.py -tests/unit/features/feature_health/test_services.py -tests/unit/features/feature_segments/__init__.py -tests/unit/features/feature_segments/test_unit_feature_segments_limits.py -tests/unit/features/feature_segments/test_unit_feature_segments_models.py -tests/unit/features/feature_segments/test_unit_feature_segments_permissions.py -tests/unit/features/feature_segments/test_unit_feature_segments_serializers.py -tests/unit/features/feature_segments/test_unit_feature_segments_views.py -tests/unit/features/feature_states/__init__.py -tests/unit/features/feature_states/test_models.py -tests/unit/features/feature_states/test_serializers.py -tests/unit/features/feature_states/test_unit_feature_states_views.py -tests/unit/features/import_export/test_unit_features_import_export_tasks.py -tests/unit/features/import_export/test_unit_features_import_export_views.py -tests/unit/features/multivariate/__init__.py -tests/unit/features/multivariate/test_migrations.py -tests/unit/features/multivariate/test_unit_multivariate_models.py -tests/unit/features/multivariate/test_unit_multivariate_views.py -tests/unit/features/release_pipeline/core/conftest.py -tests/unit/features/release_pipeline/core/test_unit_release_pipeline_models.py -tests/unit/features/versioning/__init__.py -tests/unit/features/versioning/test_unit_versioning_dataclasses.py -tests/unit/features/versioning/test_unit_versioning_migrations.py -tests/unit/features/versioning/test_unit_versioning_models.py -tests/unit/features/versioning/test_unit_versioning_tasks.py -tests/unit/features/versioning/test_unit_versioning_versioning_service.py -tests/unit/features/versioning/test_unit_versioning_views.py -tests/unit/features/workflows/__init__.py -tests/unit/features/workflows/core/__init__.py -tests/unit/features/workflows/core/conftest.py -tests/unit/features/workflows/core/test_unit_workflows_migrations.py -tests/unit/features/workflows/core/test_unit_workflows_models.py -tests/unit/import_export/__init__.py -tests/unit/import_export/test_unit_import_export_export.py -tests/unit/import_export/test_unit_import_export_import.py -tests/unit/integrations/__init__.py -tests/unit/integrations/test_unit_integration.py -tests/unit/integrations/amplitude/__init__.py -tests/unit/integrations/amplitude/conftest.py -tests/unit/integrations/amplitude/test_unit_amplitude.py -tests/unit/integrations/amplitude/test_unit_amplitude_models.py -tests/unit/integrations/amplitude/test_unit_amplitude_views.py -tests/unit/integrations/common/__init__.py -tests/unit/integrations/common/test_unit_integrations_common_serializers.py -tests/unit/integrations/datadog/__init__.py -tests/unit/integrations/datadog/conftest.py -tests/unit/integrations/datadog/test_unit_datadog.py -tests/unit/integrations/datadog/test_unit_datadog_views.py -tests/unit/integrations/dynatrace/test_unit_dynatrace.py -tests/unit/integrations/dynatrace/test_unit_dynatrace_views.py -tests/unit/integrations/flagsmith/__init__.py -tests/unit/integrations/flagsmith/test_unit_flagsmith_client.py -tests/unit/integrations/flagsmith/test_unit_flagsmith_service.py -tests/unit/integrations/github/__init__.py -tests/unit/integrations/github/test_unit_github_cleanup_issue.py -tests/unit/integrations/github/test_unit_github_client.py -tests/unit/integrations/github/test_unit_github_github.py -tests/unit/integrations/github/test_unit_github_views.py -tests/unit/integrations/github/client_responses/get_issues.json -tests/unit/integrations/github/client_responses/get_pulls.json -tests/unit/integrations/github/client_responses/get_repos.json -tests/unit/integrations/gitlab/__init__.py -tests/unit/integrations/gitlab/conftest.py -tests/unit/integrations/gitlab/test_client.py -tests/unit/integrations/gitlab/test_comments.py -tests/unit/integrations/gitlab/test_configuration.py -tests/unit/integrations/gitlab/test_mappers.py -tests/unit/integrations/gitlab/test_proxy_views.py -tests/unit/integrations/gitlab/test_tagging.py -tests/unit/integrations/gitlab/test_tasks.py -tests/unit/integrations/gitlab/test_url_parsing.py -tests/unit/integrations/gitlab/test_webhooks.py -tests/unit/integrations/grafana/__init__.py -tests/unit/integrations/grafana/test_grafana.py -tests/unit/integrations/grafana/test_mappers.py -tests/unit/integrations/grafana/test_views.py -tests/unit/integrations/heap/__init__.py -tests/unit/integrations/heap/test_unit_heap.py -tests/unit/integrations/heap/test_unit_heap_views.py -tests/unit/integrations/launch_darkly/__init__.py -tests/unit/integrations/launch_darkly/conftest.py -tests/unit/integrations/launch_darkly/test_admin.py -tests/unit/integrations/launch_darkly/test_client.py -tests/unit/integrations/launch_darkly/test_services.py -tests/unit/integrations/launch_darkly/test_tasks.py -tests/unit/integrations/launch_darkly/test_views.py -tests/unit/integrations/launch_darkly/client_responses/get_environments.json -tests/unit/integrations/launch_darkly/client_responses/get_flags.json -tests/unit/integrations/launch_darkly/client_responses/get_project.json -tests/unit/integrations/launch_darkly/client_responses/get_segments.json -tests/unit/integrations/launch_darkly/client_responses/get_segments__large_segments.json -tests/unit/integrations/launch_darkly/example_api_responses/getEnvironmentsByProject_1.json -tests/unit/integrations/launch_darkly/example_api_responses/getEnvironmentsByProject_2.json -tests/unit/integrations/launch_darkly/example_api_responses/getFeatureFlags_1.json -tests/unit/integrations/launch_darkly/example_api_responses/getFeatureFlags_2.json -tests/unit/integrations/launch_darkly/example_api_responses/getProject.json -tests/unit/integrations/launch_darkly/example_api_responses/getTags.json -tests/unit/integrations/launch_darkly/snapshots/test_process_import_request__large_segments__correctly_imported__condition_data.csv -tests/unit/integrations/launch_darkly/snapshots/test_process_import_request__large_segments__correctly_imported__import_request_status.json -tests/unit/integrations/lead_tracking/__init__.py -tests/unit/integrations/lead_tracking/hubspot/_hubspot_responses.py -tests/unit/integrations/lead_tracking/hubspot/test_services.py -tests/unit/integrations/lead_tracking/hubspot/test_unit_hubspot_client.py -tests/unit/integrations/lead_tracking/hubspot/test_unit_hubspot_lead_tracking.py -tests/unit/integrations/lead_tracking/hubspot/test_unit_hubspot_tasks.py -tests/unit/integrations/mixpanel/test_unit_mixpanel.py -tests/unit/integrations/mixpanel/test_unit_mixpanel_views.py -tests/unit/integrations/new_relic/__init__.py -tests/unit/integrations/new_relic/conftest.py -tests/unit/integrations/new_relic/test_unit_new_relic.py -tests/unit/integrations/new_relic/test_unit_new_relic_views.py -tests/unit/integrations/rudderstack/test_unit_rudderstack.py -tests/unit/integrations/rudderstack/test_unit_rudderstack_views.py -tests/unit/integrations/segment/__init__.py -tests/unit/integrations/segment/test_unit_segment.py -tests/unit/integrations/segment/test_unit_segment_views.py -tests/unit/integrations/sentry/test_unit_sentry_middleware.py -tests/unit/integrations/sentry/test_unit_sentry_sampler.py -tests/unit/integrations/sentry/test_unit_sentry_views.py -tests/unit/integrations/slack/conftest.py -tests/unit/integrations/slack/test_unit_slack.py -tests/unit/integrations/slack/test_unit_slack_authentication.py -tests/unit/integrations/slack/test_unit_slack_permissions.py -tests/unit/integrations/webhook/conftest.py -tests/unit/integrations/webhook/test_unit_webhook.py -tests/unit/integrations/webhook/test_unit_webhook_models.py -tests/unit/integrations/webhook/test_unit_webhook_serializers.py -tests/unit/integrations/webhook/test_unit_webhook_views.py -tests/unit/metadata/__init__.py -tests/unit/metadata/conftest.py -tests/unit/metadata/test_serializers.py -tests/unit/metadata/test_views.py -tests/unit/metrics/test_unit_metrics_service.py -tests/unit/oauth2_metadata/__init__.py -tests/unit/oauth2_metadata/test_authentication.py -tests/unit/oauth2_metadata/test_authorize_view.py -tests/unit/oauth2_metadata/test_dcr.py -tests/unit/oauth2_metadata/test_services.py -tests/unit/oauth2_metadata/test_tasks.py -tests/unit/oauth2_metadata/test_views.py -tests/unit/onboarding/conftest.py -tests/unit/onboarding/test_views.py -tests/unit/organisations/__init__.py -tests/unit/organisations/test_unit_organisations_migrations.py -tests/unit/organisations/test_unit_organisations_models.py -tests/unit/organisations/test_unit_organisations_permissions.py -tests/unit/organisations/test_unit_organisations_serializers.py -tests/unit/organisations/test_unit_organisations_subscription_info_cache.py -tests/unit/organisations/test_unit_organisations_tasks.py -tests/unit/organisations/test_unit_organisations_views.py -tests/unit/organisations/chargebee/__init__.py -tests/unit/organisations/chargebee/conftest.py -tests/unit/organisations/chargebee/test_unit_chargebee_cache.py -tests/unit/organisations/chargebee/test_unit_chargebee_chargebee.py -tests/unit/organisations/chargebee/test_unit_chargebee_metadata.py -tests/unit/organisations/chargebee/test_unit_chargebee_tasks.py -tests/unit/organisations/invites/__init__.py -tests/unit/organisations/invites/conftest.py -tests/unit/organisations/invites/test_unit_invites_models.py -tests/unit/organisations/invites/test_unit_invites_views.py -tests/unit/organisations/permissions/__init__.py -tests/unit/organisations/permissions/test_unit_organisations_migrations.py -tests/unit/organisations/permissions/test_unit_organisations_permissions.py -tests/unit/organisations/permissions/test_unit_organisations_views.py -tests/unit/organisations/subscriptions/__init__.py -tests/unit/organisations/subscriptions/test_unit_subscriptions_dataclasses.py -tests/unit/organisations/subscriptions/test_unit_subscriptions_permissions.py -tests/unit/organisations/subscriptions/serializers/__init__.py -tests/unit/organisations/subscriptions/serializers/test_unit_subscriptions_serializers_mixins.py -tests/unit/permissions/test_migrations.py -tests/unit/permissions/test_unit_permissions_calculator.py -tests/unit/permissions/permission_service/conftest.py -tests/unit/permissions/permission_service/test_get_permitted_environments_for_user.py -tests/unit/permissions/permission_service/test_get_permitted_projects_for_user.py -tests/unit/permissions/permission_service/test_is_user_environment_admin.py -tests/unit/permissions/permission_service/test_is_user_project_admin.py -tests/unit/permissions/permission_service/test_master_api_key_permission_service.py -tests/unit/permissions/permission_service/test_user_has_organisation_permissions.py -tests/unit/platform_hub/__init__.py -tests/unit/platform_hub/conftest.py -tests/unit/platform_hub/test_services.py -tests/unit/platform_hub/test_views.py -tests/unit/projects/__init__.py -tests/unit/projects/conftest.py -tests/unit/projects/test_migrations.py -tests/unit/projects/test_unit_projects_admin.py -tests/unit/projects/test_unit_projects_models.py -tests/unit/projects/test_unit_projects_permissions.py -tests/unit/projects/test_unit_projects_serializers.py -tests/unit/projects/test_unit_projects_tasks.py -tests/unit/projects/test_unit_projects_views.py -tests/unit/projects/code_references/test_unit_projects_code_references_services.py -tests/unit/projects/code_references/test_unit_projects_code_references_views.py -tests/unit/projects/tags/test_unit_projects_tags_permissions.py -tests/unit/projects/tags/test_unit_projects_tags_views.py -tests/unit/sales_dashboard/__init__.py -tests/unit/sales_dashboard/conftest.py -tests/unit/sales_dashboard/test_unit_sales_dashboard_views.py -tests/unit/segments/__init__.py -tests/unit/segments/test_unit_segments_migrations.py -tests/unit/segments/test_unit_segments_models.py -tests/unit/segments/test_unit_segments_permissions.py -tests/unit/segments/test_unit_segments_services.py -tests/unit/segments/test_unit_segments_views.py -tests/unit/sse/__init__.py -tests/unit/sse/conftest.py -tests/unit/sse/test_sse_service.py -tests/unit/sse/test_tasks.py -tests/unit/telemetry/__init__.py -tests/unit/telemetry/helpers.py -tests/unit/telemetry/test_unit_telemetry_models.py -tests/unit/telemetry/test_unit_telemetry_serializers.py -tests/unit/telemetry/test_unit_telemetry_telemetry.py -tests/unit/users/__init__.py -tests/unit/users/test_unit_users_forms.py -tests/unit/users/test_unit_users_login.py -tests/unit/users/test_unit_users_migrations.py -tests/unit/users/test_unit_users_models.py -tests/unit/users/test_unit_users_serializers.py -tests/unit/users/test_unit_users_signals.py -tests/unit/users/test_unit_users_tasks.py -tests/unit/users/test_unit_users_views.py -tests/unit/users/utils/__init__.py -tests/unit/util/test_db.py -tests/unit/util/test_util.py -tests/unit/util/engine_models/identities/traits/test_unit_traits_types.py -tests/unit/util/mappers/test_unit_mappers_dynamodb.py -tests/unit/util/mappers/test_unit_mappers_engine.py -tests/unit/util/mappers/test_unit_mappers_sdk.py -tests/unit/webhooks/test_unit_webhooks.py -tests/unit/webhooks/test_unit_webhooks_mappers.py -tests/unit/webhooks/test_unit_webhooks_permissions.py -users/__init__.py -users/abc.py -users/admin.py -users/apps.py -users/auth_type.py -users/constants.py -users/emails.py -users/exceptions.py -users/forms.py -users/models.py -users/serializers.py -users/services.py -users/signals.py -users/tasks.py -users/urls.py -users/views.py -users/management/__init__.py -users/management/commands/__init__.py -users/management/commands/createinitialadminuser.py -users/migrations/0001_initial.py -users/migrations/0002_ffadminuser_organisation.py -users/migrations/0003_auto_20180518_1045.py -users/migrations/0004_auto_20180518_1655.py -users/migrations/0005_auto_20180518_1659.py -users/migrations/0006_auto_20180522_0928.py -users/migrations/0007_invite.py -users/migrations/0008_auto_20180522_1302.py -users/migrations/0009_auto_20180522_1342.py -users/migrations/0010_auto_20180522_1350.py -users/migrations/0011_remove_ffadminuser_organisation.py -users/migrations/0012_invite_frontend_base_url.py -users/migrations/0013_auto_20180524_1521.py -users/migrations/0014_invite_invited_by.py -users/migrations/0015_auto_20180809_0014.py -users/migrations/0016_auto_20180910_1341.py -users/migrations/0017_auto_20180913_1116.py -users/migrations/0018_auto_20180920_1234.py -users/migrations/0019_auto_20181025_1611.py -users/migrations/0020_auto_20181128_1012.py -users/migrations/0021_auto_20190918_1040.py -users/migrations/0022_invite_role.py -users/migrations/0023_auto_20191122_1039.py -users/migrations/0024_auto_20200216_1924.py -users/migrations/0025_auto_20200509_1326.py -users/migrations/0026_ffadminuser_google_user_id.py -users/migrations/0027_ffadminuser_github_user_id.py -users/migrations/0028_delete_invite.py -users/migrations/0029_auto_20210223_1603.py -users/migrations/0030_ffadminuser_marketing_consent_given.py -users/migrations/0031_userpermissiongroup_is_default.py -users/migrations/0032_auto_20221107_0425.py -users/migrations/0033_ffadminuser_sign_up_type.py -users/migrations/0034_add_user_permission_group_membership_through_model.py -users/migrations/0035_add_ldap_dn.py -users/migrations/0036_create_hubspot_lead.py -users/migrations/0037_add_uuid_field_to_user_model.py -users/migrations/0038_create_hubspot_tracker.py -users/migrations/0039_alter_ffadminuser_first_name.py -users/migrations/0040_default_marketing_consent_given_true.py -users/migrations/0041_add_onboarding_field.py -users/migrations/0042_add_utm_data_json_field.py -users/migrations/0043_make_hubspot_cookie_optional.py -users/migrations/0044_remove_users_from_groups_in_orgs_they_do_not_belong_to.py -users/migrations/0045_add_through_fields_metadata_for_django_5_upgrade.py -users/migrations/__init__.py -users/static/sales_dashboard/css/bootstrap.min.css -users/templates/users/activation.html -users/templates/users/confirmation.html -users/templates/users/email_updated.txt -users/templates/users/invite_to_org.html -users/templates/users/invite_to_org.txt -users/templates/users/onboard.html -util/__init__.py -util/dataclasses.py -util/db.py -util/migrations.py -util/renderers.py -util/tests.py -util/util.py -util/views.py -util/drf_writable_nested/serializers.py -util/engine_models/__init__.py -util/engine_models/context/__init__.py -util/engine_models/context/mappers.py -util/engine_models/environments/__init__.py -util/engine_models/environments/models.py -util/engine_models/environments/integrations/__init__.py -util/engine_models/environments/integrations/models.py -util/engine_models/features/__init__.py -util/engine_models/features/models.py -util/engine_models/identities/__init__.py -util/engine_models/identities/models.py -util/engine_models/identities/traits/__init__.py -util/engine_models/identities/traits/constants.py -util/engine_models/identities/traits/models.py -util/engine_models/identities/traits/types.py -util/engine_models/organisations/__init__.py -util/engine_models/organisations/models.py -util/engine_models/projects/__init__.py -util/engine_models/projects/models.py -util/engine_models/segments/__init__.py -util/engine_models/segments/models.py -util/engine_models/utils/__init__.py -util/engine_models/utils/datetime.py -util/engine_models/utils/exceptions.py -util/engine_models/utils/hashing.py -util/history/__init__.py -util/history/custom_simple_history.py -util/mappers/__init__.py -util/mappers/dynamodb.py -util/mappers/engine.py -util/mappers/sdk.py -util/mappers/types.py -webhooks/__init__.py -webhooks/apps.py -webhooks/constants.py -webhooks/exceptions.py -webhooks/mappers.py -webhooks/models.py -webhooks/permissions.py -webhooks/serializers.py -webhooks/tasks.py -webhooks/urls.py -webhooks/views.py -webhooks/webhooks.py \ No newline at end of file diff --git a/api/flagsmith_api.egg-info/dependency_links.txt b/api/flagsmith_api.egg-info/dependency_links.txt deleted file mode 100644 index 8b137891791f..000000000000 --- a/api/flagsmith_api.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/api/flagsmith_api.egg-info/requires.txt b/api/flagsmith_api.egg-info/requires.txt deleted file mode 100644 index 27b64461593c..000000000000 --- a/api/flagsmith_api.egg-info/requires.txt +++ /dev/null @@ -1,133 +0,0 @@ -django<6,>=5 -rudder-sdk-python<2.1.0,>=2.0.2 -segment-analytics-python<2.3.0,>=2.2.3 -backoff<2.3.0,>=2.2.1 -appdirs<1.5.0,>=1.4.4 -django-cors-headers<3.6.0,>=3.5.0 -djangorestframework<3.16.0,>=3.15.2 -gunicorn<23.1.0,>=23.0.0 -pyparsing<2.5.0,>=2.4.7 -requests<2.34.0,>=2.33.0 -six<1.17.0,>=1.16.0 -whitenoise<6.1.0,>=6.0.0 -dj-database-url<3.1.0,>=3.0.1 -drf-nested-routers<0.93.0,>=0.92.1 -shortuuid<1.1.0,>=1.0.1 -sendgrid-django<4.3.0,>=4.2.0 -psycopg2-binary<2.10.0,>=2.9.5 -coreapi<2.4.0,>=2.3.3 -django-simple-history<2.13.0,>=2.12.0 -google-api-python-client<1.13.0,>=1.12.5 -oauth2client<4.2.0,>=4.1.3 -djangorestframework-recursive<0.2.0,>=0.1.2 -chargebee<4.0.0,>=3.10.0 -python-http-client<3.4.0,>=3.3.7 -django-health-check<3.19.0,>=3.18.2 -django-admin-sso<5.3.0,>=5.2.0 -drf-spectacular<0.29.0,>=0.28.0 -sentry-sdk<3,>=2.24.1 -environs<15.0.0,>=14.1.1 -django-lifecycle<1.3.0,>=1.2.4 -drf-writable-nested<0.7.0,>=0.6.2 -django-filter<2.5.0,>=2.4.0 -flagsmith-flag-engine<11.0.0,>=10.1.0 -boto3<1.36.0,>=1.35.95 -slack-sdk<3.10.0,>=3.9.0 -asgiref<3.9.0,>=3.8.1 -djangorestframework-api-key<2.3.0,>=2.2.0 -pymemcache<4.1.0,>=4.0.0 -google-re2<2.0.0,>=1.0 -django-softdelete<0.12.0,>=0.11.5 -simplejson<3.20.0,>=3.19.1 -djoser<3.0.0,>=2.3.0 -django-storages<1.11.0,>=1.10.1 -django-environ<0.5.0,>=0.4.5 -influxdb-client<1.51.0,>=1.50.0 -django-ordered-model<3.5.0,>=3.4.1 -django-ses<3.6.0,>=3.5.0 -django-axes<9.0.0,>=8.1.0 -pydantic<3.0.0,>=2.12.0 -pydantic-collections<0.7.0,>=0.6.0 -pyngo<2.5.0,>=2.4.1 -flagsmith<6.0.0,>=5.3.0 -openfeature-sdk<0.10.0,>=0.9.0 -openfeature-provider-flagsmith>=0.2.0 -python-gnupg<0.6.0,>=0.5.1 -django-redis<6.0.0,>=5.4.0 -pygithub<2.9.0,>=2.8 -hubspot-api-client<13.0.0,>=12.0.0 -djangorestframework-dataclasses<2.0.0,>=1.3.1 -pyotp<3.0.0,>=2.9.0 -flagsmith-common[common-core,flagsmith-schemas,task-processor]<4,>=3.9.0 -django-stubs<6.0.0,>=5.1.3 -tzdata<2025.0.0,>=2024.1 -djangorestframework-simplejwt<6.0.0,>=5.5.1 -structlog<25.0.0,>=24.4.0 -prometheus-client<0.22.0,>=0.21.1 -django-cockroachdb<4.3.0,>=4.2 -django-oauth-toolkit<4.0.0,>=3.0.1 - -[auth-controller] -auth-controller -django-multiselectfield<2,>=1.0.1 - -[dev] -django-test-migrations<2.0.0,>=1.2.0 -responses<0.23.0,>=0.22.0 -pre-commit<5.0.0,>=4.0.1 -pytest-mock<3.11.0,>=3.10.0 -pytest-lazy-fixture<0.7.0,>=0.6.3 -moto<4.2.0,>=4.1.3 -pytest-freezegun<0.5.0,>=0.4.2 -setuptools -pytest-xdist<3.7.0,>=3.6.1 -pylint<2.17.0,>=2.16.2 -pep8<1.8.0,>=1.7.1 -autopep8<2.1.0,>=2.0.1 -pytest<7.3.0,>=7.2.1 -pytest-django<5.0.0,>=4.8.0 -pytest-cov<4.2.0,>=4.1.0 -datamodel-code-generator<0.26.0,>=0.25 -requests-mock<2.0.0,>=1.11.0 -django-extensions<4.0.0,>=3.2.3 -pdbpp<0.11.0,>=0.10.3 -mypy-boto3-dynamodb<2.0.0,>=1.33.0 -pytest-structlog<2.0.0,>=1.1 -pyfakefs<6.0.0,>=5.7.4 -mypy<2.0.0,>=1.15.0 -djangorestframework-stubs<4.0.0,>=3.15.2 -boto3-stubs<2.0.0,>=1.36.20 -types-requests<3.0.0,>=2.32.0.20241016 -types-markdown<4.0.0,>=3.7.0.20241204 -types-pygments<3.0.0,>=2.19.0.20250107 -types-influxdb-client<2.0.0,>=1.45.0.20241221 -types-psycopg2<3.0.0,>=2.9.21.20250121 -types-python-dateutil<3.0.0,>=2.9.0.20241206 -types-pytz<2026.0.0,>=2025.1.0.20250204 -ruff<0.10.0,>=0.9.7 -flagsmith-common[test-tools] -pytest-responses<0.6.0,>=0.5.1 -diff-cover<11.0.0,>=10.1.0 -django-debug-toolbar -ipython<10.0.0,>=9.10.0 -email-validator>=2.0.0 - -[ldap] -flagsmith-ldap -django-python3-ldap<1,>=0.15.6 - -[licensing] -licensing -cryptography>=44.0.1 - -[release-pipelines] -flagsmith-private<1,>=0.5.1 - -[saml] -pysaml2<8.0.0,>=7.4.2 - -[scim] -flagsmith-private<1,>=0.5.1 - -[workflows] -workflows-logic diff --git a/api/flagsmith_api.egg-info/top_level.txt b/api/flagsmith_api.egg-info/top_level.txt deleted file mode 100644 index c4e789f32d5a..000000000000 --- a/api/flagsmith_api.egg-info/top_level.txt +++ /dev/null @@ -1,31 +0,0 @@ -api -api_keys -app -app_analytics -audit -core -custom_auth -e2etests -edge_api -environments -features -import_export -integrations -jmeter-tests -metadata -metrics -oauth2_metadata -onboarding -organisations -permissions -platform_hub -projects -sales_dashboard -segments -sse -telemetry -templates -tests -users -util -webhooks