dataspace-sdk 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dataspace_sdk-0.1.0/.dockerignore +2 -0
- dataspace_sdk-0.1.0/.env.example +14 -0
- dataspace_sdk-0.1.0/.github/ISSUE_TEMPLATE/bug_report.yml +74 -0
- dataspace_sdk-0.1.0/.github/ISSUE_TEMPLATE/config.yml +8 -0
- dataspace_sdk-0.1.0/.github/ISSUE_TEMPLATE/feature_request.yml +61 -0
- dataspace_sdk-0.1.0/.github/pull_request_template.md +64 -0
- dataspace_sdk-0.1.0/.github/workflows/deploy-to-ecs.yml +147 -0
- dataspace_sdk-0.1.0/.gitignore +162 -0
- dataspace_sdk-0.1.0/.pre-commit-config.yaml +75 -0
- dataspace_sdk-0.1.0/CODE_OF_CONDUCT.md +133 -0
- dataspace_sdk-0.1.0/CONTRIBUTING.md +161 -0
- dataspace_sdk-0.1.0/DataSpace/__init__.py +0 -0
- dataspace_sdk-0.1.0/DataSpace/asgi.py +21 -0
- dataspace_sdk-0.1.0/DataSpace/cache_settings.py +31 -0
- dataspace_sdk-0.1.0/DataSpace/settings.py +492 -0
- dataspace_sdk-0.1.0/DataSpace/urls.py +79 -0
- dataspace_sdk-0.1.0/DataSpace/wsgi.py +19 -0
- dataspace_sdk-0.1.0/Dockerfile +29 -0
- dataspace_sdk-0.1.0/MANIFEST.in +6 -0
- dataspace_sdk-0.1.0/PKG-INFO +472 -0
- dataspace_sdk-0.1.0/README.md +111 -0
- dataspace_sdk-0.1.0/api/__init__.py +0 -0
- dataspace_sdk-0.1.0/api/activities/__init__.py +1 -0
- dataspace_sdk-0.1.0/api/activities/base.py +43 -0
- dataspace_sdk-0.1.0/api/activities/collaborative.py +212 -0
- dataspace_sdk-0.1.0/api/activities/dataset.py +117 -0
- dataspace_sdk-0.1.0/api/activities/decorators.py +139 -0
- dataspace_sdk-0.1.0/api/activities/display.py +265 -0
- dataspace_sdk-0.1.0/api/activities/main.py +66 -0
- dataspace_sdk-0.1.0/api/activities/organization.py +137 -0
- dataspace_sdk-0.1.0/api/activities/registry.py +89 -0
- dataspace_sdk-0.1.0/api/activities/registry_handlers.py +197 -0
- dataspace_sdk-0.1.0/api/activities/resource.py +149 -0
- dataspace_sdk-0.1.0/api/activities/usecase.py +210 -0
- dataspace_sdk-0.1.0/api/admin.py +202 -0
- dataspace_sdk-0.1.0/api/apps.py +10 -0
- dataspace_sdk-0.1.0/api/management/__init__.py +0 -0
- dataspace_sdk-0.1.0/api/management/commands/__init__.py +0 -0
- dataspace_sdk-0.1.0/api/management/commands/populate_geographies.py +439 -0
- dataspace_sdk-0.1.0/api/management/commands/setup_dvc.py +131 -0
- dataspace_sdk-0.1.0/api/management/commands/update_dataindex.py +173 -0
- dataspace_sdk-0.1.0/api/managers/dvc_manager.py +132 -0
- dataspace_sdk-0.1.0/api/middleware/cors_middleware.py +35 -0
- dataspace_sdk-0.1.0/api/middleware/logging.py +64 -0
- dataspace_sdk-0.1.0/api/middleware/rate_limit.py +90 -0
- dataspace_sdk-0.1.0/api/middleware/request_validator.py +28 -0
- dataspace_sdk-0.1.0/api/migrations/0001_initial.py +206 -0
- dataspace_sdk-0.1.0/api/migrations/__init__.py +0 -0
- dataspace_sdk-0.1.0/api/models/AIModel.py +299 -0
- dataspace_sdk-0.1.0/api/models/AccessModel.py +50 -0
- dataspace_sdk-0.1.0/api/models/Catalog.py +32 -0
- dataspace_sdk-0.1.0/api/models/Collaborative.py +90 -0
- dataspace_sdk-0.1.0/api/models/CollaborativeMetadata.py +25 -0
- dataspace_sdk-0.1.0/api/models/CollaborativeOrganizationRelationship.py +29 -0
- dataspace_sdk-0.1.0/api/models/DataSpace.py +24 -0
- dataspace_sdk-0.1.0/api/models/Dataset.py +196 -0
- dataspace_sdk-0.1.0/api/models/DatasetMetadata.py +25 -0
- dataspace_sdk-0.1.0/api/models/Geography.py +68 -0
- dataspace_sdk-0.1.0/api/models/Metadata.py +196 -0
- dataspace_sdk-0.1.0/api/models/Organization.py +45 -0
- dataspace_sdk-0.1.0/api/models/Resource.py +307 -0
- dataspace_sdk-0.1.0/api/models/ResourceChartDetails.py +50 -0
- dataspace_sdk-0.1.0/api/models/ResourceChartImage.py +38 -0
- dataspace_sdk-0.1.0/api/models/ResourceMetadata.py +23 -0
- dataspace_sdk-0.1.0/api/models/ResourceSchema.py +24 -0
- dataspace_sdk-0.1.0/api/models/SDG.py +34 -0
- dataspace_sdk-0.1.0/api/models/Sector.py +23 -0
- dataspace_sdk-0.1.0/api/models/SerializableJSONField.py +131 -0
- dataspace_sdk-0.1.0/api/models/UseCase.py +91 -0
- dataspace_sdk-0.1.0/api/models/UseCaseDashboard.py +24 -0
- dataspace_sdk-0.1.0/api/models/UseCaseMetadata.py +25 -0
- dataspace_sdk-0.1.0/api/models/UseCaseOrganizationRelationship.py +29 -0
- dataspace_sdk-0.1.0/api/models/__init__.py +32 -0
- dataspace_sdk-0.1.0/api/schema/__init__.py +0 -0
- dataspace_sdk-0.1.0/api/schema/access_model_schema.py +173 -0
- dataspace_sdk-0.1.0/api/schema/aimodel_schema.py +663 -0
- dataspace_sdk-0.1.0/api/schema/base_mutation.py +243 -0
- dataspace_sdk-0.1.0/api/schema/collaborative_schema.py +976 -0
- dataspace_sdk-0.1.0/api/schema/dataset_schema.py +755 -0
- dataspace_sdk-0.1.0/api/schema/dataspace_schema.py +52 -0
- dataspace_sdk-0.1.0/api/schema/extensions.py +305 -0
- dataspace_sdk-0.1.0/api/schema/geography_schema.py +27 -0
- dataspace_sdk-0.1.0/api/schema/metadata_schema.py +72 -0
- dataspace_sdk-0.1.0/api/schema/organization_data_schema.py +157 -0
- dataspace_sdk-0.1.0/api/schema/organization_schema.py +258 -0
- dataspace_sdk-0.1.0/api/schema/resource_chart_schema.py +346 -0
- dataspace_sdk-0.1.0/api/schema/resource_schema.py +501 -0
- dataspace_sdk-0.1.0/api/schema/resoure_chart_image_schema.py +156 -0
- dataspace_sdk-0.1.0/api/schema/schema.py +125 -0
- dataspace_sdk-0.1.0/api/schema/sdg_schema.py +114 -0
- dataspace_sdk-0.1.0/api/schema/sector_schema.py +149 -0
- dataspace_sdk-0.1.0/api/schema/stats_schema.py +75 -0
- dataspace_sdk-0.1.0/api/schema/tags_schema.py +47 -0
- dataspace_sdk-0.1.0/api/schema/usecase_dashboard_schema.py +247 -0
- dataspace_sdk-0.1.0/api/schema/usecase_schema.py +813 -0
- dataspace_sdk-0.1.0/api/schema/user_schema.py +107 -0
- dataspace_sdk-0.1.0/api/signals/__init__.py +2 -0
- dataspace_sdk-0.1.0/api/signals/dataset_signals.py +136 -0
- dataspace_sdk-0.1.0/api/signals/usecase_signals.py +84 -0
- dataspace_sdk-0.1.0/api/telemetry.py +138 -0
- dataspace_sdk-0.1.0/api/tests.py +3 -0
- dataspace_sdk-0.1.0/api/types/__init__.py +2 -0
- dataspace_sdk-0.1.0/api/types/base_type.py +58 -0
- dataspace_sdk-0.1.0/api/types/charts/__init__.py +9 -0
- dataspace_sdk-0.1.0/api/types/charts/base_chart.py +817 -0
- dataspace_sdk-0.1.0/api/types/charts/big_number_chart.py +252 -0
- dataspace_sdk-0.1.0/api/types/charts/chart_registry.py +20 -0
- dataspace_sdk-0.1.0/api/types/charts/chart_utils.py +71 -0
- dataspace_sdk-0.1.0/api/types/charts/enhanced_map_chart.py +967 -0
- dataspace_sdk-0.1.0/api/types/charts/map_chart.py +123 -0
- dataspace_sdk-0.1.0/api/types/charts/treemap_chart.py +172 -0
- dataspace_sdk-0.1.0/api/types/charts/unified_chart.py +285 -0
- dataspace_sdk-0.1.0/api/types/map_base/assam_districts.geojson +1 -0
- dataspace_sdk-0.1.0/api/types/map_base/assam_revenue_circles.geojson +182 -0
- dataspace_sdk-0.1.0/api/types/stubs/corsheaders/__init__.pyi +23 -0
- dataspace_sdk-0.1.0/api/types/stubs/corsheaders/conf.pyi +15 -0
- dataspace_sdk-0.1.0/api/types/stubs/corsheaders/middleware.pyi +12 -0
- dataspace_sdk-0.1.0/api/types/stubs/corsheaders/py.typed +0 -0
- dataspace_sdk-0.1.0/api/types/stubs/django_ratelimit/__init__.pyi +13 -0
- dataspace_sdk-0.1.0/api/types/type_access_model.py +47 -0
- dataspace_sdk-0.1.0/api/types/type_access_model_resource.py +10 -0
- dataspace_sdk-0.1.0/api/types/type_aimodel.py +189 -0
- dataspace_sdk-0.1.0/api/types/type_catalog.py +24 -0
- dataspace_sdk-0.1.0/api/types/type_collaborative.py +254 -0
- dataspace_sdk-0.1.0/api/types/type_collaborative_metadata.py +10 -0
- dataspace_sdk-0.1.0/api/types/type_collaborative_organization.py +25 -0
- dataspace_sdk-0.1.0/api/types/type_dataset.py +265 -0
- dataspace_sdk-0.1.0/api/types/type_dataset_metadata.py +10 -0
- dataspace_sdk-0.1.0/api/types/type_dataspace.py +24 -0
- dataspace_sdk-0.1.0/api/types/type_file_details.py +19 -0
- dataspace_sdk-0.1.0/api/types/type_geo.py +23 -0
- dataspace_sdk-0.1.0/api/types/type_metadata.py +43 -0
- dataspace_sdk-0.1.0/api/types/type_organization.py +144 -0
- dataspace_sdk-0.1.0/api/types/type_preview_data.py +12 -0
- dataspace_sdk-0.1.0/api/types/type_resource.py +195 -0
- dataspace_sdk-0.1.0/api/types/type_resource_chart.py +366 -0
- dataspace_sdk-0.1.0/api/types/type_resource_chart_image.py +32 -0
- dataspace_sdk-0.1.0/api/types/type_resource_metadata.py +20 -0
- dataspace_sdk-0.1.0/api/types/type_sdg.py +39 -0
- dataspace_sdk-0.1.0/api/types/type_sector.py +112 -0
- dataspace_sdk-0.1.0/api/types/type_usecase.py +233 -0
- dataspace_sdk-0.1.0/api/types/type_usecase_dashboard.py +40 -0
- dataspace_sdk-0.1.0/api/types/type_usecase_metadata.py +10 -0
- dataspace_sdk-0.1.0/api/types/type_usecase_organization.py +25 -0
- dataspace_sdk-0.1.0/api/types/type_user.py +81 -0
- dataspace_sdk-0.1.0/api/urls.py +102 -0
- dataspace_sdk-0.1.0/api/utils/__init__.py +0 -0
- dataspace_sdk-0.1.0/api/utils/constants.py +29 -0
- dataspace_sdk-0.1.0/api/utils/data_indexing.py +460 -0
- dataspace_sdk-0.1.0/api/utils/debug_utils.py +125 -0
- dataspace_sdk-0.1.0/api/utils/django_utils.py +26 -0
- dataspace_sdk-0.1.0/api/utils/elasticsearch_telemetry_patch.py +50 -0
- dataspace_sdk-0.1.0/api/utils/enums.py +202 -0
- dataspace_sdk-0.1.0/api/utils/error_handlers.py +193 -0
- dataspace_sdk-0.1.0/api/utils/file_paths.py +77 -0
- dataspace_sdk-0.1.0/api/utils/file_utils.py +200 -0
- dataspace_sdk-0.1.0/api/utils/graphql_error_extension.py +73 -0
- dataspace_sdk-0.1.0/api/utils/graphql_telemetry.py +274 -0
- dataspace_sdk-0.1.0/api/utils/graphql_utils.py +85 -0
- dataspace_sdk-0.1.0/api/utils/keycloak_utils.py +233 -0
- dataspace_sdk-0.1.0/api/utils/logger.py +33 -0
- dataspace_sdk-0.1.0/api/utils/metadata_validators.py +37 -0
- dataspace_sdk-0.1.0/api/utils/middleware.py +96 -0
- dataspace_sdk-0.1.0/api/utils/telemetry_utils.py +139 -0
- dataspace_sdk-0.1.0/api/utils/version_detection.py +327 -0
- dataspace_sdk-0.1.0/api/views/__init__.py +2 -0
- dataspace_sdk-0.1.0/api/views/activity.py +145 -0
- dataspace_sdk-0.1.0/api/views/auth.py +100 -0
- dataspace_sdk-0.1.0/api/views/download_view.py +231 -0
- dataspace_sdk-0.1.0/api/views/dynamic_chart_view.py +197 -0
- dataspace_sdk-0.1.0/api/views/health.py +146 -0
- dataspace_sdk-0.1.0/api/views/paginated_elastic_view.py +204 -0
- dataspace_sdk-0.1.0/api/views/search_aimodel.py +221 -0
- dataspace_sdk-0.1.0/api/views/search_dataset.py +294 -0
- dataspace_sdk-0.1.0/api/views/search_unified.py +425 -0
- dataspace_sdk-0.1.0/api/views/search_usecase.py +355 -0
- dataspace_sdk-0.1.0/api/views/trending_datasets.py +62 -0
- dataspace_sdk-0.1.0/asgi.py +31 -0
- dataspace_sdk-0.1.0/authorization/__init__.py +0 -0
- dataspace_sdk-0.1.0/authorization/activity.py +76 -0
- dataspace_sdk-0.1.0/authorization/activity_registry.py +48 -0
- dataspace_sdk-0.1.0/authorization/admin.py +71 -0
- dataspace_sdk-0.1.0/authorization/apps.py +17 -0
- dataspace_sdk-0.1.0/authorization/authentication.py +71 -0
- dataspace_sdk-0.1.0/authorization/backends.py +70 -0
- dataspace_sdk-0.1.0/authorization/consent.py +30 -0
- dataspace_sdk-0.1.0/authorization/graphql.py +8 -0
- dataspace_sdk-0.1.0/authorization/graphql_permissions.py +167 -0
- dataspace_sdk-0.1.0/authorization/keycloak.py +523 -0
- dataspace_sdk-0.1.0/authorization/keycloak_settings.py +53 -0
- dataspace_sdk-0.1.0/authorization/management/__init__.py +0 -0
- dataspace_sdk-0.1.0/authorization/management/commands/__init__.py +0 -0
- dataspace_sdk-0.1.0/authorization/management/commands/init_roles.py +66 -0
- dataspace_sdk-0.1.0/authorization/management/commands/promote_to_superuser.py +74 -0
- dataspace_sdk-0.1.0/authorization/middleware/__init__.py +3 -0
- dataspace_sdk-0.1.0/authorization/middleware/activity_consent.py +60 -0
- dataspace_sdk-0.1.0/authorization/middleware/keycloak_auth.py +50 -0
- dataspace_sdk-0.1.0/authorization/middleware_utils.py +125 -0
- dataspace_sdk-0.1.0/authorization/models.py +96 -0
- dataspace_sdk-0.1.0/authorization/permissions.py +460 -0
- dataspace_sdk-0.1.0/authorization/schema/__init__.py +6 -0
- dataspace_sdk-0.1.0/authorization/schema/inputs.py +42 -0
- dataspace_sdk-0.1.0/authorization/schema/mutation.py +277 -0
- dataspace_sdk-0.1.0/authorization/schema/permissions.py +50 -0
- dataspace_sdk-0.1.0/authorization/schema/query.py +192 -0
- dataspace_sdk-0.1.0/authorization/schema/types.py +54 -0
- dataspace_sdk-0.1.0/authorization/serializers.py +44 -0
- dataspace_sdk-0.1.0/authorization/services.py +237 -0
- dataspace_sdk-0.1.0/authorization/types.py +184 -0
- dataspace_sdk-0.1.0/authorization/urls.py +14 -0
- dataspace_sdk-0.1.0/authorization/views.py +185 -0
- dataspace_sdk-0.1.0/aws/cloudformation/dataspace-infrastructure.yml +382 -0
- dataspace_sdk-0.1.0/aws/multi-service-architecture.md +249 -0
- dataspace_sdk-0.1.0/aws/otel-collector-task-definition.json +81 -0
- dataspace_sdk-0.1.0/aws/otel-collector-task-definition.json.template +67 -0
- dataspace_sdk-0.1.0/aws/redis-task-definition.json +53 -0
- dataspace_sdk-0.1.0/aws/task-definition.json +61 -0
- dataspace_sdk-0.1.0/aws/task-definition.json.template +75 -0
- dataspace_sdk-0.1.0/conftest.py +22 -0
- dataspace_sdk-0.1.0/dataspace_sdk/__init__.py +18 -0
- dataspace_sdk-0.1.0/dataspace_sdk/auth.py +139 -0
- dataspace_sdk-0.1.0/dataspace_sdk/base.py +148 -0
- dataspace_sdk-0.1.0/dataspace_sdk/client.py +133 -0
- dataspace_sdk-0.1.0/dataspace_sdk/exceptions.py +29 -0
- dataspace_sdk-0.1.0/dataspace_sdk/resources/__init__.py +7 -0
- dataspace_sdk-0.1.0/dataspace_sdk/resources/aimodels.py +246 -0
- dataspace_sdk-0.1.0/dataspace_sdk/resources/datasets.py +228 -0
- dataspace_sdk-0.1.0/dataspace_sdk/resources/usecases.py +243 -0
- dataspace_sdk-0.1.0/dataspace_sdk.egg-info/PKG-INFO +472 -0
- dataspace_sdk-0.1.0/dataspace_sdk.egg-info/SOURCES.txt +284 -0
- dataspace_sdk-0.1.0/dataspace_sdk.egg-info/dependency_links.txt +1 -0
- dataspace_sdk-0.1.0/dataspace_sdk.egg-info/requires.txt +9 -0
- dataspace_sdk-0.1.0/dataspace_sdk.egg-info/top_level.txt +1 -0
- dataspace_sdk-0.1.0/docker-compose.yml +224 -0
- dataspace_sdk-0.1.0/docker-entrypoint.sh +70 -0
- dataspace_sdk-0.1.0/docs/activity_stream_guide.md +147 -0
- dataspace_sdk-0.1.0/docs/charts.md +186 -0
- dataspace_sdk-0.1.0/docs/hierarchical_geography_filtering.md +222 -0
- dataspace_sdk-0.1.0/docs/keycloak_integration.md +231 -0
- dataspace_sdk-0.1.0/docs/map_charts.md +291 -0
- dataspace_sdk-0.1.0/docs/sdk/DEVELOPMENT.md +311 -0
- dataspace_sdk-0.1.0/docs/sdk/QUICKSTART.md +107 -0
- dataspace_sdk-0.1.0/docs/sdk/README.md +436 -0
- dataspace_sdk-0.1.0/docs/unified_search_api.md +235 -0
- dataspace_sdk-0.1.0/docs/version_detection_system.md +140 -0
- dataspace_sdk-0.1.0/examples/advanced_search.py +102 -0
- dataspace_sdk-0.1.0/examples/basic_usage.py +57 -0
- dataspace_sdk-0.1.0/examples/error_handling.py +94 -0
- dataspace_sdk-0.1.0/examples/organization_resources.py +49 -0
- dataspace_sdk-0.1.0/manage.py +23 -0
- dataspace_sdk-0.1.0/migrate_geography_metadata.py +453 -0
- dataspace_sdk-0.1.0/migrate_sdg_metadata.py +290 -0
- dataspace_sdk-0.1.0/mypy.ini +150 -0
- dataspace_sdk-0.1.0/otel-collector-config.yaml +34 -0
- dataspace_sdk-0.1.0/populate_sdgs.py +155 -0
- dataspace_sdk-0.1.0/pyproject.toml +66 -0
- dataspace_sdk-0.1.0/pytest.ini +9 -0
- dataspace_sdk-0.1.0/requirements.txt +118 -0
- dataspace_sdk-0.1.0/search/__init__.py +0 -0
- dataspace_sdk-0.1.0/search/admin.py +3 -0
- dataspace_sdk-0.1.0/search/apps.py +6 -0
- dataspace_sdk-0.1.0/search/documents/__init__.py +3 -0
- dataspace_sdk-0.1.0/search/documents/aimodel_document.py +265 -0
- dataspace_sdk-0.1.0/search/documents/analysers.py +13 -0
- dataspace_sdk-0.1.0/search/documents/dataset_document.py +253 -0
- dataspace_sdk-0.1.0/search/documents/usecase_document.py +312 -0
- dataspace_sdk-0.1.0/search/migrations/__init__.py +0 -0
- dataspace_sdk-0.1.0/search/models.py +3 -0
- dataspace_sdk-0.1.0/search/tests.py +3 -0
- dataspace_sdk-0.1.0/search/urls.py +35 -0
- dataspace_sdk-0.1.0/search/views.py +219 -0
- dataspace_sdk-0.1.0/setup.cfg +4 -0
- dataspace_sdk-0.1.0/setup.py +51 -0
- dataspace_sdk-0.1.0/tests/__init__.py +0 -0
- dataspace_sdk-0.1.0/tests/object_types/__init__.py +3 -0
- dataspace_sdk-0.1.0/tests/object_types/charts/__init__.py +8 -0
- dataspace_sdk-0.1.0/tests/object_types/charts/conftest.py +74 -0
- dataspace_sdk-0.1.0/tests/object_types/charts/test_bar_chart.py +131 -0
- dataspace_sdk-0.1.0/tests/object_types/charts/test_base_chart.py +149 -0
- dataspace_sdk-0.1.0/tests/object_types/charts/test_grouped_bar_chart.py +205 -0
- dataspace_sdk-0.1.0/tests/object_types/charts/test_multiline_chart.py +182 -0
- dataspace_sdk-0.1.0/tests/schema/__init__.py +0 -0
- dataspace_sdk-0.1.0/tests/schema/test_dataset_schema.py +132 -0
- dataspace_sdk-0.1.0/tests/test_django_setup.py +8 -0
- dataspace_sdk-0.1.0/tests/test_geography_hierarchy.py +142 -0
- dataspace_sdk-0.1.0/tests/test_settings.py +53 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
DB_ENGINE=django.db.backends.postgresql
|
|
2
|
+
DB_NAME=postgres
|
|
3
|
+
DB_USER=postgresuser
|
|
4
|
+
DB_PASSWORD=postgrespassword
|
|
5
|
+
DB_HOST=backend_db
|
|
6
|
+
DB_PORT=5432
|
|
7
|
+
TELEMETRY_URL=http://otel-collector:4317
|
|
8
|
+
ELASTICSEARCH_INDEX=http://elasticsearch:9200
|
|
9
|
+
ELASTICSEARCH_USERNAME=elasticuser
|
|
10
|
+
ELASTICSEARCH_PASS=elasticpass
|
|
11
|
+
URL_WHITELIST=http://localhost:8000,http://localhost,http://localhost:3000
|
|
12
|
+
DEBUG=True
|
|
13
|
+
SECRET_KEY=your-secret-key
|
|
14
|
+
REDIS_URL=redis://redis:6379/1
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: File a bug report to help us improve
|
|
3
|
+
title: "[Bug]: "
|
|
4
|
+
labels: ["bug", "triage"]
|
|
5
|
+
assignees: []
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
Thanks for taking the time to fill out this bug report!
|
|
11
|
+
- type: input
|
|
12
|
+
id: contact
|
|
13
|
+
attributes:
|
|
14
|
+
label: Contact Details
|
|
15
|
+
description: How can we get in touch with you if we need more info?
|
|
16
|
+
placeholder: ex. email@example.com
|
|
17
|
+
validations:
|
|
18
|
+
required: false
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: what-happened
|
|
21
|
+
attributes:
|
|
22
|
+
label: What happened?
|
|
23
|
+
description: Also tell us, what did you expect to happen?
|
|
24
|
+
placeholder: Tell us what you see!
|
|
25
|
+
value: "A bug happened!"
|
|
26
|
+
validations:
|
|
27
|
+
required: true
|
|
28
|
+
- type: textarea
|
|
29
|
+
id: reproduce
|
|
30
|
+
attributes:
|
|
31
|
+
label: Steps to Reproduce
|
|
32
|
+
description: Please provide detailed steps to reproduce the issue
|
|
33
|
+
placeholder: |
|
|
34
|
+
1. Go to '...'
|
|
35
|
+
2. Click on '....'
|
|
36
|
+
3. Scroll down to '....'
|
|
37
|
+
4. See error
|
|
38
|
+
validations:
|
|
39
|
+
required: true
|
|
40
|
+
- type: dropdown
|
|
41
|
+
id: version
|
|
42
|
+
attributes:
|
|
43
|
+
label: Version
|
|
44
|
+
description: What version of our software are you running?
|
|
45
|
+
options:
|
|
46
|
+
- main (latest)
|
|
47
|
+
- dev
|
|
48
|
+
- Other (please specify in description)
|
|
49
|
+
validations:
|
|
50
|
+
required: true
|
|
51
|
+
- type: dropdown
|
|
52
|
+
id: browsers
|
|
53
|
+
attributes:
|
|
54
|
+
label: What environment are you using?
|
|
55
|
+
multiple: true
|
|
56
|
+
options:
|
|
57
|
+
- Development
|
|
58
|
+
- Production
|
|
59
|
+
- Docker
|
|
60
|
+
- Local setup
|
|
61
|
+
- type: textarea
|
|
62
|
+
id: logs
|
|
63
|
+
attributes:
|
|
64
|
+
label: Relevant log output
|
|
65
|
+
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
|
66
|
+
render: shell
|
|
67
|
+
- type: checkboxes
|
|
68
|
+
id: terms
|
|
69
|
+
attributes:
|
|
70
|
+
label: Code of Conduct
|
|
71
|
+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/CivicDataLab/DataSpaceBackend/blob/main/CODE_OF_CONDUCT.md)
|
|
72
|
+
options:
|
|
73
|
+
- label: I agree to follow this project's Code of Conduct
|
|
74
|
+
required: true
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: GitHub Discussions
|
|
4
|
+
url: https://github.com/CivicDataLab/DataSpaceBackend/discussions
|
|
5
|
+
about: Ask questions and discuss ideas with the community
|
|
6
|
+
- name: Security Issues
|
|
7
|
+
url: mailto:tech@civicdatalab.in
|
|
8
|
+
about: Please report security vulnerabilities via email
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest an idea for this project
|
|
3
|
+
title: "[Feature]: "
|
|
4
|
+
labels: ["enhancement", "triage"]
|
|
5
|
+
assignees: []
|
|
6
|
+
body:
|
|
7
|
+
- type: markdown
|
|
8
|
+
attributes:
|
|
9
|
+
value: |
|
|
10
|
+
Thanks for suggesting a new feature!
|
|
11
|
+
- type: textarea
|
|
12
|
+
id: problem
|
|
13
|
+
attributes:
|
|
14
|
+
label: Is your feature request related to a problem?
|
|
15
|
+
description: A clear and concise description of what the problem is.
|
|
16
|
+
placeholder: I'm always frustrated when [...]
|
|
17
|
+
validations:
|
|
18
|
+
required: false
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: solution
|
|
21
|
+
attributes:
|
|
22
|
+
label: Describe the solution you'd like
|
|
23
|
+
description: A clear and concise description of what you want to happen.
|
|
24
|
+
validations:
|
|
25
|
+
required: true
|
|
26
|
+
- type: textarea
|
|
27
|
+
id: alternatives
|
|
28
|
+
attributes:
|
|
29
|
+
label: Describe alternatives you've considered
|
|
30
|
+
description: A clear and concise description of any alternative solutions or features you've considered.
|
|
31
|
+
validations:
|
|
32
|
+
required: false
|
|
33
|
+
- type: dropdown
|
|
34
|
+
id: component
|
|
35
|
+
attributes:
|
|
36
|
+
label: Which component does this relate to?
|
|
37
|
+
multiple: true
|
|
38
|
+
options:
|
|
39
|
+
- API
|
|
40
|
+
- GraphQL
|
|
41
|
+
- Authentication
|
|
42
|
+
- Database
|
|
43
|
+
- Search
|
|
44
|
+
- Documentation
|
|
45
|
+
- Testing
|
|
46
|
+
- Other
|
|
47
|
+
- type: textarea
|
|
48
|
+
id: additional-context
|
|
49
|
+
attributes:
|
|
50
|
+
label: Additional context
|
|
51
|
+
description: Add any other context or screenshots about the feature request here.
|
|
52
|
+
validations:
|
|
53
|
+
required: false
|
|
54
|
+
- type: checkboxes
|
|
55
|
+
id: terms
|
|
56
|
+
attributes:
|
|
57
|
+
label: Code of Conduct
|
|
58
|
+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/CivicDataLab/DataSpaceBackend/blob/main/CODE_OF_CONDUCT.md)
|
|
59
|
+
options:
|
|
60
|
+
- label: I agree to follow this project's Code of Conduct
|
|
61
|
+
required: true
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Pull Request
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Brief description of the changes introduced by this PR.
|
|
6
|
+
|
|
7
|
+
## Type of Change
|
|
8
|
+
|
|
9
|
+
Please delete options that are not relevant.
|
|
10
|
+
|
|
11
|
+
- [ ] Bug fix (non-breaking change which fixes an issue)
|
|
12
|
+
- [ ] New feature (non-breaking change which adds functionality)
|
|
13
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
14
|
+
- [ ] Documentation update
|
|
15
|
+
- [ ] Performance improvement
|
|
16
|
+
- [ ] Code refactoring
|
|
17
|
+
- [ ] Test improvements
|
|
18
|
+
|
|
19
|
+
## Related Issues
|
|
20
|
+
|
|
21
|
+
Fixes #(issue number)
|
|
22
|
+
Closes #(issue number)
|
|
23
|
+
Relates to #(issue number)
|
|
24
|
+
|
|
25
|
+
## Changes Made
|
|
26
|
+
|
|
27
|
+
- [ ] Change 1
|
|
28
|
+
- [ ] Change 2
|
|
29
|
+
- [ ] Change 3
|
|
30
|
+
|
|
31
|
+
## Testing
|
|
32
|
+
|
|
33
|
+
- [ ] I have added tests that prove my fix is effective or that my feature works
|
|
34
|
+
- [ ] New and existing unit tests pass locally with my changes
|
|
35
|
+
- [ ] I have tested this change manually
|
|
36
|
+
|
|
37
|
+
### Test Instructions
|
|
38
|
+
|
|
39
|
+
Please describe how reviewers can test your changes:
|
|
40
|
+
|
|
41
|
+
1. Step 1
|
|
42
|
+
2. Step 2
|
|
43
|
+
3. Step 3
|
|
44
|
+
|
|
45
|
+
## Screenshots (if applicable)
|
|
46
|
+
|
|
47
|
+
Add screenshots to help explain your changes.
|
|
48
|
+
|
|
49
|
+
## Checklist
|
|
50
|
+
|
|
51
|
+
- [ ] My code follows the style guidelines of this project
|
|
52
|
+
- [ ] I have performed a self-review of my own code
|
|
53
|
+
- [ ] I have commented my code, particularly in hard-to-understand areas
|
|
54
|
+
- [ ] I have made corresponding changes to the documentation
|
|
55
|
+
- [ ] My changes generate no new warnings
|
|
56
|
+
- [ ] I have added tests that prove my fix is effective or that my feature works
|
|
57
|
+
- [ ] New and existing unit tests pass locally with my changes
|
|
58
|
+
- [ ] Any dependent changes have been merged and published in downstream modules
|
|
59
|
+
- [ ] I have run `black .`, `isort .`, and `flake8` and fixed any issues
|
|
60
|
+
- [ ] Database migrations are included (if applicable)
|
|
61
|
+
|
|
62
|
+
## Additional Notes
|
|
63
|
+
|
|
64
|
+
Add any additional notes or context about the PR here.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
name: Deploy to Amazon ECS
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- dev
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
AWS_REGION: ${{ secrets.AWS_REGION }}
|
|
11
|
+
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY }}
|
|
12
|
+
ECS_CLUSTER: ${{ secrets.ECS_CLUSTER }}
|
|
13
|
+
ECS_EXECUTION_ROLE_ARN: ${{ secrets.ECS_EXECUTION_ROLE_ARN }}
|
|
14
|
+
APP_NAME: dataspace
|
|
15
|
+
APP_PORT: 8000
|
|
16
|
+
DB_ENGINE: django.db.backends.postgresql
|
|
17
|
+
DB_PORT: 5432
|
|
18
|
+
DEBUG_MODE: "False"
|
|
19
|
+
TELEMETRY_URL: http://otel-collector:4317
|
|
20
|
+
CPU_UNITS: 256
|
|
21
|
+
MEMORY_UNITS: 512
|
|
22
|
+
SSM_PATH_PREFIX: /dataspace
|
|
23
|
+
ENVIRONMENT: ${{ secrets.ENVIRONMENT || 'dev' }}
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
deploy-infrastructure:
|
|
27
|
+
name: Deploy Infrastructure
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
environment: development
|
|
30
|
+
if: github.event_name == 'workflow_dispatch' || contains(github.event.head_commit.modified, 'aws/cloudformation')
|
|
31
|
+
|
|
32
|
+
steps:
|
|
33
|
+
- name: Checkout
|
|
34
|
+
uses: actions/checkout@v3
|
|
35
|
+
|
|
36
|
+
- name: Configure AWS credentials
|
|
37
|
+
uses: aws-actions/configure-aws-credentials@v1
|
|
38
|
+
with:
|
|
39
|
+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
40
|
+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
41
|
+
aws-region: ${{ env.AWS_REGION }}
|
|
42
|
+
|
|
43
|
+
- name: Deploy CloudFormation stack
|
|
44
|
+
run: |
|
|
45
|
+
aws cloudformation deploy \
|
|
46
|
+
--template-file aws/cloudformation/dataspace-infrastructure.yml \
|
|
47
|
+
--stack-name dataspace-${{ env.ENVIRONMENT }}-infrastructure \
|
|
48
|
+
--parameter-overrides \
|
|
49
|
+
Environment=${{ env.ENVIRONMENT }} \
|
|
50
|
+
VpcId=${{ secrets.VPC_ID }} \
|
|
51
|
+
SubnetIds=${{ secrets.SUBNET_IDS }} \
|
|
52
|
+
DBUsername=${{ secrets.DB_USERNAME }} \
|
|
53
|
+
DBPassword=${{ secrets.DB_PASSWORD }} \
|
|
54
|
+
DBName=${{ secrets.DB_NAME }} \
|
|
55
|
+
ElasticsearchPassword=${{ secrets.ELASTICSEARCH_PASSWORD }} \
|
|
56
|
+
DjangoSecretKey=${{ secrets.DJANGO_SECRET_KEY }} \
|
|
57
|
+
--capabilities CAPABILITY_IAM \
|
|
58
|
+
--no-fail-on-empty-changeset
|
|
59
|
+
|
|
60
|
+
deploy-app:
|
|
61
|
+
name: Deploy Application
|
|
62
|
+
runs-on: ubuntu-latest
|
|
63
|
+
environment: development
|
|
64
|
+
needs: deploy-infrastructure
|
|
65
|
+
if: always() # Run even if infrastructure deployment is skipped
|
|
66
|
+
|
|
67
|
+
steps:
|
|
68
|
+
- name: Checkout
|
|
69
|
+
uses: actions/checkout@v3
|
|
70
|
+
|
|
71
|
+
- name: Configure AWS credentials
|
|
72
|
+
uses: aws-actions/configure-aws-credentials@v1
|
|
73
|
+
with:
|
|
74
|
+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
75
|
+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
76
|
+
aws-region: ${{ env.AWS_REGION }}
|
|
77
|
+
|
|
78
|
+
- name: Login to Amazon ECR
|
|
79
|
+
id: login-ecr
|
|
80
|
+
uses: aws-actions/amazon-ecr-login@v1
|
|
81
|
+
|
|
82
|
+
- name: Build, tag, and push image to Amazon ECR
|
|
83
|
+
id: build-image
|
|
84
|
+
env:
|
|
85
|
+
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
|
|
86
|
+
IMAGE_TAG: ${{ github.sha }}
|
|
87
|
+
run: |
|
|
88
|
+
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
|
|
89
|
+
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
|
|
90
|
+
echo "image=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_OUTPUT
|
|
91
|
+
|
|
92
|
+
- name: Download task definition and get EFS ID
|
|
93
|
+
run: |
|
|
94
|
+
aws ecs describe-task-definition --task-definition dataspace --query taskDefinition > aws/current-task-definition.json
|
|
95
|
+
aws ecs describe-task-definition --task-definition dataspace-otel-collector --query taskDefinition > aws/current-otel-task-definition.json
|
|
96
|
+
# Get the EFS ID from CloudFormation export
|
|
97
|
+
EFS_ID=$(aws cloudformation list-exports --query "Exports[?Name=='dataspace-${{ env.ENVIRONMENT }}-MigrationsFileSystemId'].Value" --output text)
|
|
98
|
+
echo "EFS_ID=$EFS_ID" >> $GITHUB_ENV
|
|
99
|
+
|
|
100
|
+
- name: Update container image only
|
|
101
|
+
id: task-def-app
|
|
102
|
+
uses: aws-actions/amazon-ecs-render-task-definition@v1
|
|
103
|
+
with:
|
|
104
|
+
task-definition: aws/current-task-definition.json
|
|
105
|
+
container-name: dataspace
|
|
106
|
+
image: ${{ steps.build-image.outputs.image }}
|
|
107
|
+
|
|
108
|
+
- name: Deploy main application ECS task definition
|
|
109
|
+
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
|
|
110
|
+
with:
|
|
111
|
+
task-definition: ${{ steps.task-def-app.outputs.task-definition }}
|
|
112
|
+
service: ${{ secrets.ECS_SERVICE }}
|
|
113
|
+
cluster: ${{ env.ECS_CLUSTER }}
|
|
114
|
+
wait-for-service-stability: true
|
|
115
|
+
|
|
116
|
+
deploy-otel:
|
|
117
|
+
name: Deploy OpenTelemetry Collector
|
|
118
|
+
runs-on: ubuntu-latest
|
|
119
|
+
environment: development
|
|
120
|
+
needs: deploy-app
|
|
121
|
+
|
|
122
|
+
steps:
|
|
123
|
+
- name: Checkout
|
|
124
|
+
uses: actions/checkout@v3
|
|
125
|
+
|
|
126
|
+
- name: Configure AWS credentials
|
|
127
|
+
uses: aws-actions/configure-aws-credentials@v1
|
|
128
|
+
with:
|
|
129
|
+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
130
|
+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
131
|
+
aws-region: ${{ env.AWS_REGION }}
|
|
132
|
+
|
|
133
|
+
- name: Download current OpenTelemetry task definition
|
|
134
|
+
id: download-otel-taskdef
|
|
135
|
+
run: |
|
|
136
|
+
aws ecs describe-task-definition \
|
|
137
|
+
--task-definition dataspace-otel-collector \
|
|
138
|
+
--query taskDefinition > aws/current-otel-task-definition.json
|
|
139
|
+
cat aws/current-otel-task-definition.json
|
|
140
|
+
|
|
141
|
+
- name: Deploy OpenTelemetry ECS task definition
|
|
142
|
+
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
|
|
143
|
+
with:
|
|
144
|
+
task-definition: aws/current-otel-task-definition.json
|
|
145
|
+
service: ${{ secrets.ECS_OTEL_SERVICE }}
|
|
146
|
+
cluster: ${{ env.ECS_CLUSTER }}
|
|
147
|
+
wait-for-service-stability: true
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
### Python template
|
|
2
|
+
# Byte-compiled / optimized / DLL files
|
|
3
|
+
__pycache__/
|
|
4
|
+
*.py[cod]
|
|
5
|
+
*$py.class
|
|
6
|
+
|
|
7
|
+
#db file
|
|
8
|
+
sqlite3.db
|
|
9
|
+
db.sqlite3
|
|
10
|
+
|
|
11
|
+
# C extensions
|
|
12
|
+
*.so
|
|
13
|
+
|
|
14
|
+
#config
|
|
15
|
+
config.ini
|
|
16
|
+
|
|
17
|
+
# Distribution / packaging
|
|
18
|
+
.Python
|
|
19
|
+
build/
|
|
20
|
+
develop-eggs/
|
|
21
|
+
dist/
|
|
22
|
+
downloads/
|
|
23
|
+
eggs/
|
|
24
|
+
.eggs/
|
|
25
|
+
lib/
|
|
26
|
+
lib64/
|
|
27
|
+
parts/
|
|
28
|
+
sdist/
|
|
29
|
+
var/
|
|
30
|
+
wheels/
|
|
31
|
+
share/python-wheels/
|
|
32
|
+
*.egg-info/
|
|
33
|
+
.installed.cfg
|
|
34
|
+
*.egg
|
|
35
|
+
MANIFEST
|
|
36
|
+
|
|
37
|
+
# PyInstaller
|
|
38
|
+
# Usually these files are written by a python script from a template
|
|
39
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
40
|
+
*.manifest
|
|
41
|
+
*.spec
|
|
42
|
+
|
|
43
|
+
# Installer logs
|
|
44
|
+
pip-log.txt
|
|
45
|
+
pip-delete-this-directory.txt
|
|
46
|
+
|
|
47
|
+
# Unit test / coverage reports
|
|
48
|
+
htmlcov/
|
|
49
|
+
.tox/
|
|
50
|
+
.nox/
|
|
51
|
+
.coverage
|
|
52
|
+
.coverage.*
|
|
53
|
+
.cache
|
|
54
|
+
nosetests.xml
|
|
55
|
+
coverage.xml
|
|
56
|
+
*.cover
|
|
57
|
+
*.py,cover
|
|
58
|
+
.hypothesis/
|
|
59
|
+
.pytest_cache/
|
|
60
|
+
cover/
|
|
61
|
+
|
|
62
|
+
# Translations
|
|
63
|
+
*.mo
|
|
64
|
+
*.pot
|
|
65
|
+
|
|
66
|
+
# Django stuff:
|
|
67
|
+
*.log
|
|
68
|
+
local_settings.py
|
|
69
|
+
db.sqlite3
|
|
70
|
+
db.sqlite3-journal
|
|
71
|
+
|
|
72
|
+
# Flask stuff:
|
|
73
|
+
instance/
|
|
74
|
+
.webassets-cache
|
|
75
|
+
|
|
76
|
+
# Scrapy stuff:
|
|
77
|
+
.scrapy
|
|
78
|
+
|
|
79
|
+
# Sphinx documentation
|
|
80
|
+
docs/_build/
|
|
81
|
+
|
|
82
|
+
# PyBuilder
|
|
83
|
+
.pybuilder/
|
|
84
|
+
target/
|
|
85
|
+
|
|
86
|
+
# Jupyter Notebook
|
|
87
|
+
.ipynb_checkpoints
|
|
88
|
+
|
|
89
|
+
# IPython
|
|
90
|
+
profile_default/
|
|
91
|
+
ipython_config.py
|
|
92
|
+
|
|
93
|
+
# pyenv
|
|
94
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
95
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
96
|
+
# .python-version
|
|
97
|
+
|
|
98
|
+
# pipenv
|
|
99
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
100
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
101
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
102
|
+
# install all needed dependencies.
|
|
103
|
+
#Pipfile.lock
|
|
104
|
+
|
|
105
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
106
|
+
__pypackages__/
|
|
107
|
+
|
|
108
|
+
# Celery stuff
|
|
109
|
+
celerybeat-schedule
|
|
110
|
+
celerybeat.pid
|
|
111
|
+
|
|
112
|
+
# SageMath parsed files
|
|
113
|
+
*.sage.py
|
|
114
|
+
|
|
115
|
+
# Environments
|
|
116
|
+
.venv
|
|
117
|
+
env/
|
|
118
|
+
venv/
|
|
119
|
+
ENV/
|
|
120
|
+
env.bak/
|
|
121
|
+
venv.bak/
|
|
122
|
+
|
|
123
|
+
# Spyder project settings
|
|
124
|
+
.spyderproject
|
|
125
|
+
.spyproject
|
|
126
|
+
|
|
127
|
+
# Rope project settings
|
|
128
|
+
.ropeproject
|
|
129
|
+
|
|
130
|
+
# mkdocs documentation
|
|
131
|
+
/site
|
|
132
|
+
|
|
133
|
+
# mypy
|
|
134
|
+
.mypy_cache/
|
|
135
|
+
.dmypy.json
|
|
136
|
+
dmypy.json
|
|
137
|
+
|
|
138
|
+
# Pyre type checker
|
|
139
|
+
.pyre/
|
|
140
|
+
|
|
141
|
+
# pytype static type analyzer
|
|
142
|
+
.pytype/
|
|
143
|
+
|
|
144
|
+
# Cython debug symbols
|
|
145
|
+
cython_debug/
|
|
146
|
+
|
|
147
|
+
# IDE
|
|
148
|
+
.vscode/
|
|
149
|
+
.idea/
|
|
150
|
+
.windsurf/
|
|
151
|
+
|
|
152
|
+
#Resources upload folder
|
|
153
|
+
resources/
|
|
154
|
+
|
|
155
|
+
#local env file
|
|
156
|
+
.env
|
|
157
|
+
api/migrations/*
|
|
158
|
+
authorization/migrations/*
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
# AWS files
|
|
162
|
+
aws/.env.*
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v4.5.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: trailing-whitespace
|
|
6
|
+
- id: end-of-file-fixer
|
|
7
|
+
- id: check-yaml
|
|
8
|
+
exclude: ^aws/cloudformation/.*\.yml$
|
|
9
|
+
- id: check-added-large-files
|
|
10
|
+
- id: debug-statements
|
|
11
|
+
|
|
12
|
+
- repo: https://github.com/psf/black
|
|
13
|
+
rev: 24.2.0
|
|
14
|
+
hooks:
|
|
15
|
+
- id: black
|
|
16
|
+
language_version: python3.11
|
|
17
|
+
|
|
18
|
+
- repo: https://github.com/pycqa/isort
|
|
19
|
+
rev: 5.13.2
|
|
20
|
+
hooks:
|
|
21
|
+
- id: isort
|
|
22
|
+
args: ["--profile", "black"]
|
|
23
|
+
|
|
24
|
+
- repo: local
|
|
25
|
+
hooks:
|
|
26
|
+
- id: cloudformation-validate
|
|
27
|
+
name: AWS CloudFormation Validation
|
|
28
|
+
description: Validates CloudFormation templates using AWS CLI
|
|
29
|
+
entry: bash -c 'aws cloudformation validate-template --template-body file://$0 || exit 1'
|
|
30
|
+
language: system
|
|
31
|
+
files: ^aws/cloudformation/.*\.yml$
|
|
32
|
+
require_serial: true
|
|
33
|
+
pass_filenames: true
|
|
34
|
+
|
|
35
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
36
|
+
rev: v1.9.0
|
|
37
|
+
hooks:
|
|
38
|
+
- id: mypy
|
|
39
|
+
language: python
|
|
40
|
+
language_version: python3.11
|
|
41
|
+
additional_dependencies:
|
|
42
|
+
- types-requests
|
|
43
|
+
- types-PyYAML
|
|
44
|
+
- types-python-dateutil
|
|
45
|
+
- types-setuptools
|
|
46
|
+
- django-stubs
|
|
47
|
+
- djangorestframework-stubs
|
|
48
|
+
- pandas-stubs
|
|
49
|
+
- pandas
|
|
50
|
+
- deepdiff
|
|
51
|
+
- types-redis
|
|
52
|
+
- strawberry-graphql
|
|
53
|
+
- strawberry-graphql-django
|
|
54
|
+
- django-environ
|
|
55
|
+
- structlog
|
|
56
|
+
- django
|
|
57
|
+
- elasticsearch-dsl
|
|
58
|
+
- django-elasticsearch-dsl
|
|
59
|
+
- django-elasticsearch-dsl-drf
|
|
60
|
+
- pyecharts
|
|
61
|
+
- selenium
|
|
62
|
+
- python-decouple
|
|
63
|
+
- djangorestframework
|
|
64
|
+
- django-debug-toolbar
|
|
65
|
+
- django-ratelimit
|
|
66
|
+
- django-cors-headers
|
|
67
|
+
- psycopg2-binary
|
|
68
|
+
- python-dotenv
|
|
69
|
+
- uvicorn
|
|
70
|
+
- djangorestframework-simplejwt
|
|
71
|
+
- python-keycloak
|
|
72
|
+
- django-activity-stream
|
|
73
|
+
|
|
74
|
+
args: [--config-file=mypy.ini]
|
|
75
|
+
exclude: ^tests/
|