data-syncmaster 0.1.4__tar.gz → 0.2.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.
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/LICENSE.txt +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/PKG-INFO +50 -31
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/README.rst +21 -16
- data_syncmaster-0.2.0/pyproject.toml +546 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/__init__.py +2 -2
- data_syncmaster-0.2.0/syncmaster/db/__init__.py +2 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/factory.py +3 -3
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/migrations/__main__.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/migrations/env.py +46 -5
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0001_create_user_table.py +40 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0002_create_group_table.py +45 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0003_create_queue_table.py +51 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0004_create_connection_table.py +62 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0005_create_user_group_table.py +47 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0006_create_auth_data_table.py +38 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0007_create_transfer_table.py +98 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0008_create_run_table.py +50 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2023-11-23_0009_create_celery_tables.py +71 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2024-10-07_0010_add_pg_trgm_extension.py +28 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/2024-11-01_0011_create_apscheduler_table.py +44 -0
- data_syncmaster-0.2.0/syncmaster/db/migrations/versions/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/db/mixins/__init__.py +9 -0
- data_syncmaster-0.2.0/syncmaster/db/mixins/resource.py +17 -0
- data_syncmaster-0.2.0/syncmaster/db/mixins/timestamp.py +17 -0
- data_syncmaster-0.2.0/syncmaster/db/models/__init__.py +28 -0
- data_syncmaster-0.2.0/syncmaster/db/models/apscheduler_job.py +16 -0
- data_syncmaster-0.2.0/syncmaster/db/models/auth_data.py +18 -0
- {data_syncmaster-0.1.4/syncmaster/db → data_syncmaster-0.2.0/syncmaster/db/models}/base.py +1 -1
- data_syncmaster-0.2.0/syncmaster/db/models/connection.py +65 -0
- data_syncmaster-0.2.0/syncmaster/db/models/group.py +111 -0
- data_syncmaster-0.2.0/syncmaster/db/models/queue.py +35 -0
- data_syncmaster-0.2.0/syncmaster/db/models/run.py +77 -0
- data_syncmaster-0.2.0/syncmaster/db/models/transfer.py +93 -0
- data_syncmaster-0.2.0/syncmaster/db/models/user.py +23 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/__init__.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/base.py +17 -18
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/connection.py +22 -15
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/credentials_repository.py +21 -25
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/group.py +148 -25
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/queue.py +13 -8
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/repository_with_owner.py +3 -3
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/run.py +66 -9
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/transfer.py +81 -33
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/repositories/user.py +27 -6
- data_syncmaster-0.2.0/syncmaster/db/repositories/utils.py +43 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/utils.py +1 -1
- data_syncmaster-0.2.0/syncmaster/dto/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/dto/connections.py +144 -0
- data_syncmaster-0.2.0/syncmaster/dto/runs.py +10 -0
- data_syncmaster-0.2.0/syncmaster/dto/transfers.py +142 -0
- data_syncmaster-0.2.0/syncmaster/dto/transfers_resources.py +10 -0
- data_syncmaster-0.2.0/syncmaster/dto/transfers_strategy.py +33 -0
- data_syncmaster-0.2.0/syncmaster/errors/__init__.py +17 -0
- data_syncmaster-0.2.0/syncmaster/errors/base.py +18 -0
- data_syncmaster-0.2.0/syncmaster/errors/registration.py +65 -0
- data_syncmaster-0.2.0/syncmaster/errors/schemas/__init__.py +11 -0
- data_syncmaster-0.2.0/syncmaster/errors/schemas/bad_request.py +17 -0
- data_syncmaster-0.2.0/syncmaster/errors/schemas/invalid_request.py +29 -0
- data_syncmaster-0.2.0/syncmaster/errors/schemas/not_authorized.py +17 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/__init__.py +1 -1
- data_syncmaster-0.2.0/syncmaster/exceptions/auth.py +30 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/base.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/connection.py +9 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/credentials.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/group.py +5 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/queue.py +5 -1
- data_syncmaster-0.2.0/syncmaster/exceptions/redirect.py +9 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/run.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/transfer.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/exceptions/user.py +1 -1
- data_syncmaster-0.2.0/syncmaster/scheduler/__init__.py +14 -0
- data_syncmaster-0.2.0/syncmaster/scheduler/__main__.py +43 -0
- data_syncmaster-0.2.0/syncmaster/scheduler/celery.py +7 -0
- data_syncmaster-0.2.0/syncmaster/scheduler/settings/__init__.py +78 -0
- data_syncmaster-0.2.0/syncmaster/scheduler/transfer_fetcher.py +24 -0
- data_syncmaster-0.2.0/syncmaster/scheduler/transfer_job_manager.py +107 -0
- data_syncmaster-0.2.0/syncmaster/scheduler/utils.py +27 -0
- data_syncmaster-0.2.0/syncmaster/schemas/__init__.py +7 -0
- data_syncmaster-0.2.0/syncmaster/schemas/ping.py +13 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/__init__.py +57 -3
- data_syncmaster-0.2.0/syncmaster/schemas/v1/auth/__init__.py +38 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/auth/basic.py +26 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/auth/s3.py +26 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/auth/samba.py +28 -0
- data_syncmaster-0.1.4/syncmaster/schemas/v1/auth.py → data_syncmaster-0.2.0/syncmaster/schemas/v1/auth/token.py +3 -2
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connection_types.py +35 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/clickhouse.py +54 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/connection.py +133 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/connection_base.py +30 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/ftp.py +51 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/ftps.py +51 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/hdfs.py +49 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/hive.py +49 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/mssql.py +54 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/mysql.py +54 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/oracle.py +64 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/postgres.py +55 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/s3.py +73 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/samba.py +58 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/sftp.py +51 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/connections/webdav.py +55 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/file_formats.py +11 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/groups.py +58 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/page.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/queue.py +11 -6
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/transfer_types.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/transfers/__init__.py +119 -43
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/db.py +42 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/file/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/file/base.py +104 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/file/ftp.py +27 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/file/ftps.py +27 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/transfers/file/hdfs.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/transfers/file/s3.py +1 -1
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/file/samba.py +27 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/file/sftp.py +27 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/file/webdav.py +27 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/file_format.py +105 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/resources.py +14 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/transfers/run.py +5 -8
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/transfers/strategy.py +2 -3
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/transformations/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/transformations/dataframe_columns_filter.py +33 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/transformations/dataframe_rows_filter.py +96 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transfers/transformations/file_metadata_filter.py +53 -0
- data_syncmaster-0.2.0/syncmaster/schemas/v1/transformation_types.py +7 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/types.py +1 -1
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/schemas/v1/users.py +4 -9
- data_syncmaster-0.2.0/syncmaster/server/__init__.py +72 -0
- {data_syncmaster-0.1.4/syncmaster/backend → data_syncmaster-0.2.0/syncmaster/server}/__main__.py +2 -2
- data_syncmaster-0.2.0/syncmaster/server/api/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/server/api/monitoring.py +13 -0
- {data_syncmaster-0.1.4/syncmaster/backend → data_syncmaster-0.2.0/syncmaster/server}/api/router.py +3 -3
- data_syncmaster-0.2.0/syncmaster/server/api/v1/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/server/api/v1/auth.py +62 -0
- data_syncmaster-0.2.0/syncmaster/server/api/v1/connections.py +320 -0
- {data_syncmaster-0.1.4/syncmaster/backend → data_syncmaster-0.2.0/syncmaster/server}/api/v1/groups.py +72 -37
- {data_syncmaster-0.1.4/syncmaster/backend → data_syncmaster-0.2.0/syncmaster/server}/api/v1/queue.py +48 -46
- data_syncmaster-0.2.0/syncmaster/server/api/v1/router.py +20 -0
- data_syncmaster-0.2.0/syncmaster/server/api/v1/runs.py +163 -0
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/transfers/router.py → data_syncmaster-0.2.0/syncmaster/server/api/v1/transfers.py +101 -232
- data_syncmaster-0.2.0/syncmaster/server/api/v1/users.py +53 -0
- data_syncmaster-0.2.0/syncmaster/server/dependencies/__init__.py +10 -0
- data_syncmaster-0.2.0/syncmaster/server/dependencies/get_access_token.py +12 -0
- data_syncmaster-0.2.0/syncmaster/server/dependencies/stub.py +51 -0
- data_syncmaster-0.2.0/syncmaster/server/handler.py +356 -0
- data_syncmaster-0.2.0/syncmaster/server/middlewares/__init__.py +34 -0
- data_syncmaster-0.2.0/syncmaster/server/middlewares/cors.py +18 -0
- data_syncmaster-0.2.0/syncmaster/server/middlewares/monitoring/__init__.py +7 -0
- data_syncmaster-0.2.0/syncmaster/server/middlewares/monitoring/metrics.py +44 -0
- data_syncmaster-0.2.0/syncmaster/server/middlewares/openapi.py +112 -0
- data_syncmaster-0.2.0/syncmaster/server/middlewares/request_id.py +21 -0
- data_syncmaster-0.2.0/syncmaster/server/middlewares/session.py +17 -0
- data_syncmaster-0.2.0/syncmaster/server/middlewares/static_files.py +15 -0
- data_syncmaster-0.2.0/syncmaster/server/providers/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/server/providers/auth/__init__.py +11 -0
- data_syncmaster-0.2.0/syncmaster/server/providers/auth/base_provider.py +114 -0
- data_syncmaster-0.2.0/syncmaster/server/providers/auth/dummy_provider.py +111 -0
- data_syncmaster-0.2.0/syncmaster/server/providers/auth/keycloak_provider.py +146 -0
- {data_syncmaster-0.1.4/syncmaster/backend → data_syncmaster-0.2.0/syncmaster/server/scripts}/export_openapi_schema.py +3 -5
- data_syncmaster-0.2.0/syncmaster/server/scripts/manage_superusers.py +105 -0
- data_syncmaster-0.2.0/syncmaster/server/services/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/server/services/get_user.py +41 -0
- {data_syncmaster-0.1.4/syncmaster/backend → data_syncmaster-0.2.0/syncmaster/server}/services/unit_of_work.py +9 -5
- data_syncmaster-0.2.0/syncmaster/server/settings/__init__.py +61 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/auth/__init__.py +29 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/auth/dummy.py +20 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/auth/jwt.py +44 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/auth/keycloak.py +22 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/server/__init__.py +60 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/server/cors.py +58 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/server/monitoring.py +65 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/server/openapi.py +148 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/server/request_id.py +37 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/server/session.py +58 -0
- data_syncmaster-0.2.0/syncmaster/server/settings/server/static_files.py +34 -0
- data_syncmaster-0.2.0/syncmaster/server/utils/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/server/utils/jwt.py +29 -0
- data_syncmaster-0.2.0/syncmaster/server/utils/slug.py +10 -0
- data_syncmaster-0.2.0/syncmaster/server/utils/state.py +15 -0
- data_syncmaster-0.2.0/syncmaster/settings/__init__.py +13 -0
- data_syncmaster-0.2.0/syncmaster/settings/broker.py +29 -0
- data_syncmaster-0.2.0/syncmaster/settings/credentials.py +34 -0
- data_syncmaster-0.2.0/syncmaster/settings/database.py +50 -0
- data_syncmaster-0.2.0/syncmaster/settings/log/__init__.py +110 -0
- data_syncmaster-0.2.0/syncmaster/settings/log/colored.yml +53 -0
- data_syncmaster-0.2.0/syncmaster/settings/log/json.yml +52 -0
- data_syncmaster-0.2.0/syncmaster/settings/log/plain.yml +53 -0
- data_syncmaster-0.2.0/syncmaster/worker/__init__.py +19 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/worker/base.py +4 -3
- data_syncmaster-0.2.0/syncmaster/worker/celery.py +6 -0
- data_syncmaster-0.2.0/syncmaster/worker/controller.py +290 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/base.py +43 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/db/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/db/base.py +141 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/db/clickhouse.py +77 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/db/hive.py +67 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/db/mssql.py +64 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/db/mysql.py +64 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/db/oracle.py +65 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/db/postgres.py +53 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/__init__.py +2 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/base.py +134 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/ftp.py +30 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/ftps.py +30 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/hdfs.py +28 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/local_df.py +119 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/remote_df.py +62 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/s3.py +69 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/samba.py +34 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/sftp.py +31 -0
- data_syncmaster-0.2.0/syncmaster/worker/handlers/file/webdav.py +31 -0
- data_syncmaster-0.2.0/syncmaster/worker/settings/__init__.py +79 -0
- data_syncmaster-0.2.0/syncmaster/worker/settings/hwm_store.py +66 -0
- data_syncmaster-0.2.0/syncmaster/worker/spark.py +128 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/worker/transfer.py +32 -30
- data_syncmaster-0.1.4/pyproject.toml +0 -281
- data_syncmaster-0.1.4/syncmaster/backend/__init__.py +0 -60
- data_syncmaster-0.1.4/syncmaster/backend/api/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/backend/api/deps.py +0 -20
- data_syncmaster-0.1.4/syncmaster/backend/api/monitoring.py +0 -10
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/auth/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/auth/router.py +0 -32
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/auth/utils.py +0 -26
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/connections.py +0 -300
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/router.py +0 -18
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/transfers/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/transfers/utils.py +0 -17
- data_syncmaster-0.1.4/syncmaster/backend/api/v1/users.py +0 -75
- data_syncmaster-0.1.4/syncmaster/backend/handler.py +0 -203
- data_syncmaster-0.1.4/syncmaster/backend/services/__init__.py +0 -4
- data_syncmaster-0.1.4/syncmaster/backend/services/auth.py +0 -58
- data_syncmaster-0.1.4/syncmaster/config.py +0 -110
- data_syncmaster-0.1.4/syncmaster/db/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/db/migrations/versions/2023-11-23_478240cdad4b_init.py +0 -242
- data_syncmaster-0.1.4/syncmaster/db/migrations/versions/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/db/mixins.py +0 -33
- data_syncmaster-0.1.4/syncmaster/db/models.py +0 -194
- data_syncmaster-0.1.4/syncmaster/db/repositories/utils.py +0 -25
- data_syncmaster-0.1.4/syncmaster/dto/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/dto/connections.py +0 -60
- data_syncmaster-0.1.4/syncmaster/dto/transfers.py +0 -46
- data_syncmaster-0.1.4/syncmaster/schemas/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/schemas/v1/connection_types.py +0 -9
- data_syncmaster-0.1.4/syncmaster/schemas/v1/connections/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/schemas/v1/connections/connection.py +0 -146
- data_syncmaster-0.1.4/syncmaster/schemas/v1/connections/hdfs.py +0 -40
- data_syncmaster-0.1.4/syncmaster/schemas/v1/connections/hive.py +0 -40
- data_syncmaster-0.1.4/syncmaster/schemas/v1/connections/oracle.py +0 -58
- data_syncmaster-0.1.4/syncmaster/schemas/v1/connections/postgres.py +0 -48
- data_syncmaster-0.1.4/syncmaster/schemas/v1/connections/s3.py +0 -66
- data_syncmaster-0.1.4/syncmaster/schemas/v1/file_formats.py +0 -7
- data_syncmaster-0.1.4/syncmaster/schemas/v1/groups.py +0 -39
- data_syncmaster-0.1.4/syncmaster/schemas/v1/status.py +0 -16
- data_syncmaster-0.1.4/syncmaster/schemas/v1/transfers/db.py +0 -23
- data_syncmaster-0.1.4/syncmaster/schemas/v1/transfers/file/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/schemas/v1/transfers/file/base.py +0 -47
- data_syncmaster-0.1.4/syncmaster/schemas/v1/transfers/file_format.py +0 -29
- data_syncmaster-0.1.4/syncmaster/worker/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/worker/config.py +0 -18
- data_syncmaster-0.1.4/syncmaster/worker/controller.py +0 -127
- data_syncmaster-0.1.4/syncmaster/worker/handlers/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/worker/handlers/base.py +0 -49
- data_syncmaster-0.1.4/syncmaster/worker/handlers/file/__init__.py +0 -2
- data_syncmaster-0.1.4/syncmaster/worker/handlers/file/base.py +0 -56
- data_syncmaster-0.1.4/syncmaster/worker/handlers/file/hdfs.py +0 -14
- data_syncmaster-0.1.4/syncmaster/worker/handlers/file/s3.py +0 -20
- data_syncmaster-0.1.4/syncmaster/worker/handlers/hive.py +0 -41
- data_syncmaster-0.1.4/syncmaster/worker/handlers/oracle.py +0 -48
- data_syncmaster-0.1.4/syncmaster/worker/handlers/postgres.py +0 -47
- data_syncmaster-0.1.4/syncmaster/worker/spark.py +0 -93
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/migrations/README +0 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/migrations/alembic.ini +0 -0
- {data_syncmaster-0.1.4 → data_syncmaster-0.2.0}/syncmaster/db/migrations/script.py.mako +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: data-syncmaster
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Syncmaster REST API + Worker
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: Syncmaster,REST,API,Worker,Replication
|
|
@@ -17,6 +17,7 @@ Classifier: Operating System :: OS Independent
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
21
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
21
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
23
|
Classifier: Programming Language :: Python :: 3.7
|
|
@@ -25,21 +26,33 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
25
26
|
Classifier: Topic :: Software Development :: Libraries
|
|
26
27
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
28
|
Classifier: Typing :: Typed
|
|
28
|
-
Provides-Extra:
|
|
29
|
+
Provides-Extra: scheduler
|
|
30
|
+
Provides-Extra: server
|
|
29
31
|
Provides-Extra: worker
|
|
30
|
-
Requires-Dist: alembic (>=1.
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
Requires-Dist:
|
|
32
|
+
Requires-Dist: alembic (>=1.15.2,<2.0.0) ; extra == "server"
|
|
33
|
+
Requires-Dist: apscheduler (>=3.11.0,<4.0.0) ; extra == "scheduler"
|
|
34
|
+
Requires-Dist: asgi-correlation-id (>=4.3.4,<5.0.0) ; extra == "server" or extra == "worker"
|
|
35
|
+
Requires-Dist: asyncpg (>=0.30.0,<0.31.0) ; extra == "server" or extra == "scheduler"
|
|
36
|
+
Requires-Dist: celery (>=5.5.0,<6.0.0) ; extra == "server" or extra == "worker" or extra == "scheduler"
|
|
37
|
+
Requires-Dist: coloredlogs ; extra == "server" or extra == "worker" or extra == "scheduler"
|
|
38
|
+
Requires-Dist: fastapi (>=0.115.12,<0.116.0) ; extra == "server"
|
|
39
|
+
Requires-Dist: horizon-hwm-store (>=1.1.2,<2.0.0) ; extra == "worker"
|
|
40
|
+
Requires-Dist: itsdangerous (>=2.2.0,<3.0.0) ; extra == "server"
|
|
41
|
+
Requires-Dist: jinja2 (>=3.1.6,<4.0.0) ; extra == "server" or extra == "worker"
|
|
42
|
+
Requires-Dist: onetl[all] (>=0.13.4,<0.14.0) ; extra == "worker"
|
|
43
|
+
Requires-Dist: psycopg2-binary (>=2.9.10,<3.0.0) ; extra == "server" or extra == "worker"
|
|
44
|
+
Requires-Dist: pydantic (>=2.11.1,<3.0.0)
|
|
45
|
+
Requires-Dist: pydantic-settings (>=2.8.1,<3.0.0) ; extra == "server" or extra == "worker" or extra == "scheduler"
|
|
46
|
+
Requires-Dist: pyjwt (>=2.10.1,<3.0.0) ; extra == "server"
|
|
47
|
+
Requires-Dist: python-json-logger ; extra == "server" or extra == "worker" or extra == "scheduler"
|
|
48
|
+
Requires-Dist: python-keycloak (>=5.3.1,<6.0.0) ; extra == "server"
|
|
49
|
+
Requires-Dist: python-multipart (>=0.0.20,<0.0.21) ; extra == "server"
|
|
50
|
+
Requires-Dist: pyyaml ; extra == "server" or extra == "worker" or extra == "scheduler"
|
|
51
|
+
Requires-Dist: sqlalchemy (>=2.0.40,<3.0.0) ; extra == "server" or extra == "worker" or extra == "scheduler"
|
|
52
|
+
Requires-Dist: sqlalchemy-utils (>=0.41.2,<0.42.0) ; extra == "server" or extra == "worker" or extra == "scheduler"
|
|
53
|
+
Requires-Dist: starlette-exporter (>=0.23.0,<0.24.0) ; extra == "server"
|
|
54
|
+
Requires-Dist: uuid6 (>=2024.7.10,<2025.0.0) ; extra == "server" or extra == "worker"
|
|
55
|
+
Requires-Dist: uvicorn (>=0.34.0,<0.35.0) ; extra == "server"
|
|
43
56
|
Project-URL: CI/CD, https://github.com/MobileTeleSystems/syncmaster/actions
|
|
44
57
|
Project-URL: Documentation, https://syncmaster.readthedocs.io
|
|
45
58
|
Project-URL: Homepage, https://github.com/MobileTeleSystems/syncmaster
|
|
@@ -47,25 +60,24 @@ Project-URL: Source, https://github.com/MobileTeleSystems/syncmaster
|
|
|
47
60
|
Project-URL: Tracker, https://github.com/MobileTeleSystems/syncmaster/issues
|
|
48
61
|
Description-Content-Type: text/x-rst
|
|
49
62
|
|
|
50
|
-
..
|
|
63
|
+
.. _readme:
|
|
51
64
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
==========
|
|
65
|
+
Data.SyncMaster
|
|
66
|
+
===============
|
|
55
67
|
|
|
56
68
|
|Repo Status| |PyPI| |PyPI License| |PyPI Python Version| |Docker image| |Documentation|
|
|
57
69
|
|Build Status| |Coverage| |pre-commit.ci|
|
|
58
70
|
|
|
59
|
-
.. |Repo Status| image:: https://www.repostatus.org/badges/latest/
|
|
60
|
-
:target: https://
|
|
71
|
+
.. |Repo Status| image:: https://www.repostatus.org/badges/latest/wip.svg
|
|
72
|
+
:target: https://www.repostatus.org/#wip
|
|
61
73
|
.. |PyPI| image:: https://img.shields.io/pypi/v/data-syncmaster
|
|
62
74
|
:target: https://pypi.org/project/data-syncmaster/
|
|
63
75
|
.. |PyPI License| image:: https://img.shields.io/pypi/l/data-syncmaster.svg
|
|
64
76
|
:target: https://github.com/MobileTeleSystems/syncmaster/blob/develop/LICENSE.txt
|
|
65
77
|
.. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/data-syncmaster.svg
|
|
66
78
|
:target: https://badge.fury.io/py/data-syncmaster
|
|
67
|
-
.. |Docker image| image:: https://img.shields.io/docker/v/mtsrus/syncmaster-
|
|
68
|
-
:target: https://hub.docker.com/r/mtsrus/syncmaster-
|
|
79
|
+
.. |Docker image| image:: https://img.shields.io/docker/v/mtsrus/syncmaster-server?sort=semver&label=docker
|
|
80
|
+
:target: https://hub.docker.com/r/mtsrus/syncmaster-server
|
|
69
81
|
.. |Documentation| image:: https://readthedocs.org/projects/syncmaster/badge/?version=stable
|
|
70
82
|
:target: https://syncmaster.readthedocs.io
|
|
71
83
|
.. |Build Status| image:: https://github.com/MobileTeleSystems/syncmaster/workflows/Run%20All%20Tests/badge.svg
|
|
@@ -76,22 +88,29 @@ SyncMaster
|
|
|
76
88
|
:target: https://results.pre-commit.ci/latest/github/MobileTeleSystems/syncmaster/develop
|
|
77
89
|
|
|
78
90
|
|
|
79
|
-
What is
|
|
80
|
-
|
|
91
|
+
What is Data.SyncMaster?
|
|
92
|
+
------------------------
|
|
81
93
|
|
|
82
|
-
|
|
94
|
+
Data.SyncMaster is as low-code ETL tool for transfering data between databases and file systems.
|
|
83
95
|
List of currently supported connections:
|
|
84
96
|
|
|
85
97
|
* Apache Hive
|
|
98
|
+
* Clickhouse
|
|
86
99
|
* Postgres
|
|
87
100
|
* Oracle
|
|
101
|
+
* MSSQL
|
|
102
|
+
* MySQL
|
|
88
103
|
* HDFS
|
|
89
104
|
* S3
|
|
105
|
+
* FTP
|
|
106
|
+
* FTPS
|
|
107
|
+
* SFTP
|
|
108
|
+
* Samba
|
|
109
|
+
* WebDAV
|
|
90
110
|
|
|
91
|
-
|
|
111
|
+
Based on `onETL <https://onetl.readthedocs.io/>`_ and `Apache Spark <https://spark.apache.org/>`_.
|
|
92
112
|
|
|
93
|
-
|
|
94
|
-
* Celery Worker
|
|
113
|
+
**Note**: service is under active development, and is not ready to use.
|
|
95
114
|
|
|
96
115
|
Goals
|
|
97
116
|
-----
|
|
@@ -104,7 +123,6 @@ Non-goals
|
|
|
104
123
|
---------
|
|
105
124
|
|
|
106
125
|
* This is not a backup system
|
|
107
|
-
* This is not a CDC solution
|
|
108
126
|
* Only batch, no streaming
|
|
109
127
|
|
|
110
128
|
.. documentation
|
|
@@ -113,3 +131,4 @@ Documentation
|
|
|
113
131
|
-------------
|
|
114
132
|
|
|
115
133
|
See https://syncmaster.readthedocs.io
|
|
134
|
+
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
..
|
|
1
|
+
.. _readme:
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
==========
|
|
3
|
+
Data.SyncMaster
|
|
4
|
+
===============
|
|
6
5
|
|
|
7
6
|
|Repo Status| |PyPI| |PyPI License| |PyPI Python Version| |Docker image| |Documentation|
|
|
8
7
|
|Build Status| |Coverage| |pre-commit.ci|
|
|
9
8
|
|
|
10
|
-
.. |Repo Status| image:: https://www.repostatus.org/badges/latest/
|
|
11
|
-
:target: https://
|
|
9
|
+
.. |Repo Status| image:: https://www.repostatus.org/badges/latest/wip.svg
|
|
10
|
+
:target: https://www.repostatus.org/#wip
|
|
12
11
|
.. |PyPI| image:: https://img.shields.io/pypi/v/data-syncmaster
|
|
13
12
|
:target: https://pypi.org/project/data-syncmaster/
|
|
14
13
|
.. |PyPI License| image:: https://img.shields.io/pypi/l/data-syncmaster.svg
|
|
15
14
|
:target: https://github.com/MobileTeleSystems/syncmaster/blob/develop/LICENSE.txt
|
|
16
15
|
.. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/data-syncmaster.svg
|
|
17
16
|
:target: https://badge.fury.io/py/data-syncmaster
|
|
18
|
-
.. |Docker image| image:: https://img.shields.io/docker/v/mtsrus/syncmaster-
|
|
19
|
-
:target: https://hub.docker.com/r/mtsrus/syncmaster-
|
|
17
|
+
.. |Docker image| image:: https://img.shields.io/docker/v/mtsrus/syncmaster-server?sort=semver&label=docker
|
|
18
|
+
:target: https://hub.docker.com/r/mtsrus/syncmaster-server
|
|
20
19
|
.. |Documentation| image:: https://readthedocs.org/projects/syncmaster/badge/?version=stable
|
|
21
20
|
:target: https://syncmaster.readthedocs.io
|
|
22
21
|
.. |Build Status| image:: https://github.com/MobileTeleSystems/syncmaster/workflows/Run%20All%20Tests/badge.svg
|
|
@@ -27,22 +26,29 @@ SyncMaster
|
|
|
27
26
|
:target: https://results.pre-commit.ci/latest/github/MobileTeleSystems/syncmaster/develop
|
|
28
27
|
|
|
29
28
|
|
|
30
|
-
What is
|
|
31
|
-
|
|
29
|
+
What is Data.SyncMaster?
|
|
30
|
+
------------------------
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
Data.SyncMaster is as low-code ETL tool for transfering data between databases and file systems.
|
|
34
33
|
List of currently supported connections:
|
|
35
34
|
|
|
36
35
|
* Apache Hive
|
|
36
|
+
* Clickhouse
|
|
37
37
|
* Postgres
|
|
38
38
|
* Oracle
|
|
39
|
+
* MSSQL
|
|
40
|
+
* MySQL
|
|
39
41
|
* HDFS
|
|
40
42
|
* S3
|
|
43
|
+
* FTP
|
|
44
|
+
* FTPS
|
|
45
|
+
* SFTP
|
|
46
|
+
* Samba
|
|
47
|
+
* WebDAV
|
|
41
48
|
|
|
42
|
-
|
|
49
|
+
Based on `onETL <https://onetl.readthedocs.io/>`_ and `Apache Spark <https://spark.apache.org/>`_.
|
|
43
50
|
|
|
44
|
-
|
|
45
|
-
* Celery Worker
|
|
51
|
+
**Note**: service is under active development, and is not ready to use.
|
|
46
52
|
|
|
47
53
|
Goals
|
|
48
54
|
-----
|
|
@@ -55,7 +61,6 @@ Non-goals
|
|
|
55
61
|
---------
|
|
56
62
|
|
|
57
63
|
* This is not a backup system
|
|
58
|
-
* This is not a CDC solution
|
|
59
64
|
* Only batch, no streaming
|
|
60
65
|
|
|
61
66
|
.. documentation
|
|
@@ -63,4 +68,4 @@ Non-goals
|
|
|
63
68
|
Documentation
|
|
64
69
|
-------------
|
|
65
70
|
|
|
66
|
-
See https://syncmaster.readthedocs.io
|
|
71
|
+
See https://syncmaster.readthedocs.io
|