data-syncmaster 0.3.1__tar.gz → 0.3.3__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.
Files changed (237) hide show
  1. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/PKG-INFO +27 -26
  2. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/README.rst +8 -8
  3. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/data_syncmaster.egg-info/PKG-INFO +27 -26
  4. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/data_syncmaster.egg-info/SOURCES.txt +2 -0
  5. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/data_syncmaster.egg-info/requires.txt +14 -13
  6. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/pyproject.toml +35 -32
  7. data_syncmaster-0.3.3/syncmaster/VERSION +1 -0
  8. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0007_create_transfer_table.py +2 -4
  9. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2025-08-10_0012_update_ts.py +1 -2
  10. data_syncmaster-0.3.3/syncmaster/db/migrations/versions/2026-04-02_0013_add_celery_date_done_indexes.py +39 -0
  11. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/basic.py +1 -1
  12. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/iceberg_rest_s3_delegated/bearer.py +1 -1
  13. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/iceberg_rest_s3_delegated/oauth2_client_credentials.py +4 -1
  14. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/iceberg_rest_s3_direct/bearer.py +4 -1
  15. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/iceberg_rest_s3_direct/oauth2_client_credentials.py +4 -1
  16. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/s3.py +1 -1
  17. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/samba.py +1 -1
  18. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/iceberg.py +2 -2
  19. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/db.py +10 -2
  20. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file_format.py +12 -12
  21. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/transformations/__init__.py +4 -1
  22. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/transformations/dataframe_columns_filter.py +6 -6
  23. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/transformations/dataframe_rows_filter.py +24 -24
  24. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/transformations/file_metadata_filter.py +9 -9
  25. data_syncmaster-0.3.3/syncmaster/schemas/v1/transfers/transformations/sql.py +28 -0
  26. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transformation_types.py +1 -0
  27. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/base.py +19 -1
  28. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/clickhouse.py +53 -1
  29. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/mysql.py +1 -0
  30. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/base.py +6 -0
  31. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/local_df.py +10 -0
  32. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/remote_df.py +10 -0
  33. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/s3.py +10 -0
  34. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/ivy2.py +1 -1
  35. data_syncmaster-0.3.1/syncmaster/VERSION +0 -1
  36. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/LICENSE.txt +0 -0
  37. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/data_syncmaster.egg-info/dependency_links.txt +0 -0
  38. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/data_syncmaster.egg-info/top_level.txt +0 -0
  39. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/setup.cfg +0 -0
  40. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/__init__.py +0 -0
  41. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/__init__.py +0 -0
  42. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/factory.py +0 -0
  43. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/__init__.py +0 -0
  44. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/__main__.py +0 -0
  45. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/alembic.ini +0 -0
  46. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/env.py +0 -0
  47. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0001_create_user_table.py +0 -0
  48. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0002_create_group_table.py +0 -0
  49. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0003_create_queue_table.py +0 -0
  50. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0004_create_connection_table.py +0 -0
  51. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0005_create_user_group_table.py +0 -0
  52. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0006_create_auth_data_table.py +0 -0
  53. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0008_create_run_table.py +0 -0
  54. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2023-11-23_0009_create_celery_tables.py +0 -0
  55. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2024-10-07_0010_add_pg_trgm_extension.py +0 -0
  56. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/2024-11-01_0011_create_apscheduler_table.py +0 -0
  57. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/migrations/versions/__init__.py +0 -0
  58. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/mixins/__init__.py +0 -0
  59. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/mixins/resource.py +0 -0
  60. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/mixins/timestamp.py +0 -0
  61. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/__init__.py +0 -0
  62. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/apscheduler_job.py +0 -0
  63. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/auth_data.py +0 -0
  64. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/base.py +0 -0
  65. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/connection.py +0 -0
  66. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/group.py +0 -0
  67. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/queue.py +0 -0
  68. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/run.py +0 -0
  69. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/transfer.py +0 -0
  70. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/models/user.py +0 -0
  71. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/__init__.py +0 -0
  72. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/base.py +0 -0
  73. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/connection.py +0 -0
  74. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/credentials_repository.py +0 -0
  75. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/group.py +0 -0
  76. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/queue.py +0 -0
  77. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/repository_with_owner.py +0 -0
  78. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/run.py +0 -0
  79. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/search.py +0 -0
  80. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/transfer.py +0 -0
  81. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/user.py +0 -0
  82. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/repositories/utils.py +0 -0
  83. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/db/utils.py +0 -0
  84. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/dto/__init__.py +0 -0
  85. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/dto/connections.py +0 -0
  86. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/dto/runs.py +0 -0
  87. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/dto/transfers.py +0 -0
  88. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/dto/transfers_resources.py +0 -0
  89. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/dto/transfers_strategy.py +0 -0
  90. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/errors/__init__.py +0 -0
  91. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/errors/base.py +0 -0
  92. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/errors/registration.py +0 -0
  93. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/errors/schemas/__init__.py +0 -0
  94. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/errors/schemas/bad_request.py +0 -0
  95. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/errors/schemas/invalid_request.py +0 -0
  96. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/errors/schemas/not_authorized.py +0 -0
  97. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/__init__.py +0 -0
  98. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/auth.py +0 -0
  99. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/base.py +0 -0
  100. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/connection.py +0 -0
  101. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/credentials.py +0 -0
  102. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/group.py +0 -0
  103. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/queue.py +0 -0
  104. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/redirect.py +0 -0
  105. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/run.py +0 -0
  106. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/transfer.py +0 -0
  107. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/exceptions/user.py +0 -0
  108. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/scheduler/__init__.py +0 -0
  109. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/scheduler/__main__.py +0 -0
  110. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/scheduler/celery.py +0 -0
  111. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/scheduler/settings/__init__.py +0 -0
  112. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/scheduler/transfer_fetcher.py +0 -0
  113. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/scheduler/transfer_job_manager.py +0 -0
  114. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/scheduler/utils.py +0 -0
  115. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/__init__.py +0 -0
  116. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/ping.py +0 -0
  117. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/__init__.py +0 -0
  118. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/__init__.py +0 -0
  119. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/iceberg_rest_s3_delegated/__init__.py +0 -0
  120. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/iceberg_rest_s3_direct/__init__.py +0 -0
  121. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/mixins.py +0 -0
  122. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/auth/token.py +0 -0
  123. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connection_types.py +0 -0
  124. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/__init__.py +0 -0
  125. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/clickhouse.py +0 -0
  126. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/connection_base.py +0 -0
  127. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/ftp.py +0 -0
  128. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/ftps.py +0 -0
  129. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/hdfs.py +0 -0
  130. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/hive.py +0 -0
  131. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/mssql.py +0 -0
  132. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/mysql.py +0 -0
  133. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/oracle.py +0 -0
  134. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/postgres.py +0 -0
  135. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/s3.py +0 -0
  136. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/samba.py +0 -0
  137. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/sftp.py +0 -0
  138. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/connections/webdav.py +0 -0
  139. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/file_formats.py +0 -0
  140. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/groups.py +0 -0
  141. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/page.py +0 -0
  142. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/queue.py +0 -0
  143. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/__init__.py +0 -0
  144. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/__init__.py +0 -0
  145. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/base.py +0 -0
  146. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/ftp.py +0 -0
  147. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/ftps.py +0 -0
  148. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/hdfs.py +0 -0
  149. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/s3.py +0 -0
  150. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/samba.py +0 -0
  151. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/sftp.py +0 -0
  152. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/file/webdav.py +0 -0
  153. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/resources.py +0 -0
  154. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/run.py +0 -0
  155. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/transfers/strategy.py +0 -0
  156. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/types.py +0 -0
  157. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/schemas/v1/users.py +0 -0
  158. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/__init__.py +0 -0
  159. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/__main__.py +0 -0
  160. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/__init__.py +0 -0
  161. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/monitoring.py +0 -0
  162. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/router.py +0 -0
  163. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/__init__.py +0 -0
  164. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/auth.py +0 -0
  165. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/connections.py +0 -0
  166. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/groups.py +0 -0
  167. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/queue.py +0 -0
  168. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/router.py +0 -0
  169. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/runs.py +0 -0
  170. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/transfers.py +0 -0
  171. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/api/v1/users.py +0 -0
  172. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/dependencies/__init__.py +0 -0
  173. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/dependencies/get_access_token.py +0 -0
  174. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/dependencies/stub.py +0 -0
  175. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/handler.py +0 -0
  176. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/middlewares/__init__.py +0 -0
  177. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/middlewares/cors.py +0 -0
  178. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/middlewares/monitoring/__init__.py +0 -0
  179. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/middlewares/monitoring/metrics.py +0 -0
  180. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/middlewares/openapi.py +0 -0
  181. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/middlewares/request_id.py +0 -0
  182. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/middlewares/static_files.py +0 -0
  183. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/providers/__init__.py +0 -0
  184. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/providers/auth/__init__.py +0 -0
  185. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/providers/auth/base_provider.py +0 -0
  186. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/providers/auth/dummy_provider.py +0 -0
  187. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/providers/auth/keycloak_provider.py +0 -0
  188. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/providers/auth/oauth2_gateway_provider.py +0 -0
  189. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/scripts/export_openapi_schema.py +0 -0
  190. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/scripts/manage_superusers.py +0 -0
  191. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/services/__init__.py +0 -0
  192. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/services/get_user.py +0 -0
  193. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/services/unit_of_work.py +0 -0
  194. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/__init__.py +0 -0
  195. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/auth/__init__.py +0 -0
  196. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/auth/dummy.py +0 -0
  197. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/auth/jwt.py +0 -0
  198. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/auth/keycloak.py +0 -0
  199. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/auth/oauth2_gateway.py +0 -0
  200. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/server/__init__.py +0 -0
  201. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/server/cors.py +0 -0
  202. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/server/monitoring.py +0 -0
  203. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/server/openapi.py +0 -0
  204. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/server/request_id.py +0 -0
  205. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/settings/server/static_files.py +0 -0
  206. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/utils/__init__.py +0 -0
  207. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/utils/jwt.py +0 -0
  208. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/server/utils/slug.py +0 -0
  209. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/settings/__init__.py +0 -0
  210. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/settings/base.py +0 -0
  211. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/settings/broker.py +0 -0
  212. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/settings/credentials.py +0 -0
  213. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/settings/database.py +0 -0
  214. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/settings/logging.py +0 -0
  215. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/__init__.py +0 -0
  216. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/base.py +0 -0
  217. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/celery.py +0 -0
  218. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/controller.py +0 -0
  219. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/__init__.py +0 -0
  220. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/base.py +0 -0
  221. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/__init__.py +0 -0
  222. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/hive.py +0 -0
  223. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/iceberg.py +0 -0
  224. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/mssql.py +0 -0
  225. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/oracle.py +0 -0
  226. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/db/postgres.py +0 -0
  227. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/__init__.py +0 -0
  228. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/ftp.py +0 -0
  229. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/ftps.py +0 -0
  230. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/hdfs.py +0 -0
  231. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/samba.py +0 -0
  232. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/sftp.py +0 -0
  233. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/handlers/file/webdav.py +0 -0
  234. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/settings/__init__.py +0 -0
  235. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/settings/hwm_store.py +0 -0
  236. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/spark.py +0 -0
  237. {data_syncmaster-0.3.1 → data_syncmaster-0.3.3}/syncmaster/worker/transfer.py +0 -0
@@ -1,14 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: data-syncmaster
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: Syncmaster REST API + scheduler + Worker
5
5
  Author-email: MWS Data Bridge <onetools@mts.ru>
6
6
  License-Expression: Apache-2.0
7
- Project-URL: Homepage, https://github.com/MobileTeleSystems/syncmaster
7
+ Project-URL: Homepage, https://github.com/MTSWebServices/syncmaster
8
8
  Project-URL: Documentation, https://syncmaster.readthedocs.io/
9
- Project-URL: Source, https://github.com/MobileTeleSystems/syncmaster
10
- Project-URL: CI/CD, https://github.com/MobileTeleSystems/syncmaster/actions
11
- Project-URL: Tracker, https://github.com/MobileTeleSystems/syncmaster/issues
9
+ Project-URL: Source, https://github.com/MTSWebServices/syncmaster
10
+ Project-URL: CI/CD, https://github.com/MTSWebServices/syncmaster/actions
11
+ Project-URL: Tracker, https://github.com/MTSWebServices/syncmaster/issues
12
12
  Keywords: Syncmaster,REST,API,Worker,Spark,Transfer,ETL
13
13
  Classifier: Development Status :: 3 - Alpha
14
14
  Classifier: Framework :: Pydantic
@@ -26,47 +26,48 @@ Classifier: Typing :: Typed
26
26
  Requires-Python: >=3.11
27
27
  Description-Content-Type: text/x-rst
28
28
  License-File: LICENSE.txt
29
- Requires-Dist: pydantic~=2.12.5
30
- Requires-Dist: pydantic-settings~=2.12.0
29
+ Requires-Dist: pydantic~=2.13.4
30
+ Requires-Dist: pydantic-settings~=2.14.1
31
31
  Requires-Dist: pydantic-settings-logging~=0.1.1
32
- Requires-Dist: sqlalchemy~=2.0.44
32
+ Requires-Dist: sqlalchemy~=2.0.49
33
33
  Requires-Dist: sqlalchemy-utils~=0.42.0
34
34
  Requires-Dist: pyyaml~=6.0.3
35
35
  Requires-Dist: coloredlogs~=15.0.1
36
- Requires-Dist: python-json-logger~=4.0.0
36
+ Requires-Dist: python-json-logger~=4.1.0
37
37
  Requires-Dist: asgi-correlation-id~=4.3.4
38
38
  Requires-Dist: uuid6~=2025.0.1
39
39
  Requires-Dist: celery~=5.6.0
40
40
  Requires-Dist: psycopg2-binary~=2.9.11
41
41
  Provides-Extra: server
42
- Requires-Dist: fastapi~=0.128.0; extra == "server"
42
+ Requires-Dist: fastapi<0.137.0,>=0.135.3; extra == "server"
43
+ Requires-Dist: starlette<1.0; extra == "server"
43
44
  Requires-Dist: starlette-exporter~=0.23.0; extra == "server"
44
- Requires-Dist: python-multipart~=0.0.21; extra == "server"
45
- Requires-Dist: uvicorn~=0.40.0; extra == "server"
46
- Requires-Dist: alembic~=1.18.1; extra == "server"
47
- Requires-Dist: pyjwt~=2.10.1; extra == "server"
48
- Requires-Dist: asyncpg~=0.31; extra == "server"
49
- Requires-Dist: python-keycloak~=7.0.1; extra == "server"
45
+ Requires-Dist: python-multipart~=0.0.26; extra == "server"
46
+ Requires-Dist: uvicorn<0.48,>=0.44; extra == "server"
47
+ Requires-Dist: alembic~=1.18.4; extra == "server"
48
+ Requires-Dist: pyjwt~=2.12.1; extra == "server"
49
+ Requires-Dist: asyncpg~=0.31.0; extra == "server"
50
+ Requires-Dist: python-keycloak~=7.1.1; extra == "server"
50
51
  Requires-Dist: itsdangerous~=2.2.0; extra == "server"
51
52
  Provides-Extra: scheduler
52
53
  Requires-Dist: asyncpg~=0.31; extra == "scheduler"
53
54
  Requires-Dist: apscheduler~=3.11.1; extra == "scheduler"
54
55
  Provides-Extra: worker
55
- Requires-Dist: onetl[files]~=0.15.0; extra == "worker"
56
+ Requires-Dist: onetl[files]~=0.16.0; extra == "worker"
56
57
  Requires-Dist: pyspark<4.0.0; extra == "worker"
57
58
  Requires-Dist: horizon-hwm-store~=1.1.4; extra == "worker"
58
59
  Requires-Dist: jinja2~=3.1.6; extra == "worker"
59
60
  Provides-Extra: kerberos
60
- Requires-Dist: onetl[kerberos]~=0.15.0; extra == "kerberos"
61
+ Requires-Dist: onetl[kerberos]~=0.16.0; extra == "kerberos"
61
62
  Dynamic: license-file
62
63
 
63
64
  .. _readme:
64
65
 
65
66
  |Logo|
66
67
 
67
- .. |Logo| image:: https://raw.githubusercontent.com/MobileTeleSystems/syncmaster/d14bf1b1272f15d42f441d6e33264bd2f95216c9/docs/_static/logo_wide.svg
68
+ .. |Logo| image:: https://raw.githubusercontent.com/MTSWebServices/syncmaster/0eb2ba2be6656f81ea9706523c3b7942df212640/docs/_static/logo_wide.svg
68
69
  :alt: Data.SyncMaster logo
69
- :target: https://github.com/MobileTeleSystems/data-syncmaster
70
+ :target: https://github.com/MTSWebServices/data-syncmaster
70
71
 
71
72
  |Repo Status| |Docker image| |PyPI| |PyPI License| |PyPI Python Version| |Documentation|
72
73
  |Build Status| |Coverage| |pre-commit.ci|
@@ -78,18 +79,18 @@ Dynamic: license-file
78
79
  .. |PyPI| image:: https://img.shields.io/pypi/v/data-syncmaster
79
80
  :target: https://pypi.org/project/data-syncmaster/
80
81
  .. |PyPI License| image:: https://img.shields.io/pypi/l/data-syncmaster.svg
81
- :target: https://github.com/MobileTeleSystems/syncmaster/blob/develop/LICENSE.txt
82
+ :target: https://github.com/MTSWebServices/syncmaster/blob/develop/LICENSE.txt
82
83
  .. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/data-syncmaster.svg
83
84
  :target: https://badge.fury.io/py/data-syncmaster
84
85
  .. |Documentation| image:: https://readthedocs.org/projects/syncmaster/badge/?version=stable
85
86
  :target: https://syncmaster.readthedocs.io
86
- .. |Build Status| image:: https://github.com/MobileTeleSystems/syncmaster/workflows/Run%20All%20Tests/badge.svg
87
- :target: https://github.com/MobileTeleSystems/syncmaster/actions
87
+ .. |Build Status| image:: https://github.com/MTSWebServices/syncmaster/workflows/Run%20All%20Tests/badge.svg
88
+ :target: https://github.com/MTSWebServices/syncmaster/actions
88
89
  .. |Coverage| image:: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/
89
90
  MTSOnGithub/03e73a82ecc4709934540ce8201cc3b4/raw/syncmaster_badge.json
90
- :target: https://github.com/MobileTeleSystems/syncmaster/actions
91
- .. |pre-commit.ci| image:: https://results.pre-commit.ci/badge/github/MobileTeleSystems/syncmaster/develop.svg
92
- :target: https://results.pre-commit.ci/latest/github/MobileTeleSystems/syncmaster/develop
91
+ :target: https://github.com/MTSWebServices/syncmaster/actions
92
+ .. |pre-commit.ci| image:: https://results.pre-commit.ci/badge/github/MTSWebServices/syncmaster/develop.svg
93
+ :target: https://results.pre-commit.ci/latest/github/MTSWebServices/syncmaster/develop
93
94
 
94
95
  What is Data.SyncMaster?
95
96
  ------------------------
@@ -2,9 +2,9 @@
2
2
 
3
3
  |Logo|
4
4
 
5
- .. |Logo| image:: https://raw.githubusercontent.com/MobileTeleSystems/syncmaster/d14bf1b1272f15d42f441d6e33264bd2f95216c9/docs/_static/logo_wide.svg
5
+ .. |Logo| image:: https://raw.githubusercontent.com/MTSWebServices/syncmaster/0eb2ba2be6656f81ea9706523c3b7942df212640/docs/_static/logo_wide.svg
6
6
  :alt: Data.SyncMaster logo
7
- :target: https://github.com/MobileTeleSystems/data-syncmaster
7
+ :target: https://github.com/MTSWebServices/data-syncmaster
8
8
 
9
9
  |Repo Status| |Docker image| |PyPI| |PyPI License| |PyPI Python Version| |Documentation|
10
10
  |Build Status| |Coverage| |pre-commit.ci|
@@ -16,18 +16,18 @@
16
16
  .. |PyPI| image:: https://img.shields.io/pypi/v/data-syncmaster
17
17
  :target: https://pypi.org/project/data-syncmaster/
18
18
  .. |PyPI License| image:: https://img.shields.io/pypi/l/data-syncmaster.svg
19
- :target: https://github.com/MobileTeleSystems/syncmaster/blob/develop/LICENSE.txt
19
+ :target: https://github.com/MTSWebServices/syncmaster/blob/develop/LICENSE.txt
20
20
  .. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/data-syncmaster.svg
21
21
  :target: https://badge.fury.io/py/data-syncmaster
22
22
  .. |Documentation| image:: https://readthedocs.org/projects/syncmaster/badge/?version=stable
23
23
  :target: https://syncmaster.readthedocs.io
24
- .. |Build Status| image:: https://github.com/MobileTeleSystems/syncmaster/workflows/Run%20All%20Tests/badge.svg
25
- :target: https://github.com/MobileTeleSystems/syncmaster/actions
24
+ .. |Build Status| image:: https://github.com/MTSWebServices/syncmaster/workflows/Run%20All%20Tests/badge.svg
25
+ :target: https://github.com/MTSWebServices/syncmaster/actions
26
26
  .. |Coverage| image:: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/
27
27
  MTSOnGithub/03e73a82ecc4709934540ce8201cc3b4/raw/syncmaster_badge.json
28
- :target: https://github.com/MobileTeleSystems/syncmaster/actions
29
- .. |pre-commit.ci| image:: https://results.pre-commit.ci/badge/github/MobileTeleSystems/syncmaster/develop.svg
30
- :target: https://results.pre-commit.ci/latest/github/MobileTeleSystems/syncmaster/develop
28
+ :target: https://github.com/MTSWebServices/syncmaster/actions
29
+ .. |pre-commit.ci| image:: https://results.pre-commit.ci/badge/github/MTSWebServices/syncmaster/develop.svg
30
+ :target: https://results.pre-commit.ci/latest/github/MTSWebServices/syncmaster/develop
31
31
 
32
32
  What is Data.SyncMaster?
33
33
  ------------------------
@@ -1,14 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: data-syncmaster
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: Syncmaster REST API + scheduler + Worker
5
5
  Author-email: MWS Data Bridge <onetools@mts.ru>
6
6
  License-Expression: Apache-2.0
7
- Project-URL: Homepage, https://github.com/MobileTeleSystems/syncmaster
7
+ Project-URL: Homepage, https://github.com/MTSWebServices/syncmaster
8
8
  Project-URL: Documentation, https://syncmaster.readthedocs.io/
9
- Project-URL: Source, https://github.com/MobileTeleSystems/syncmaster
10
- Project-URL: CI/CD, https://github.com/MobileTeleSystems/syncmaster/actions
11
- Project-URL: Tracker, https://github.com/MobileTeleSystems/syncmaster/issues
9
+ Project-URL: Source, https://github.com/MTSWebServices/syncmaster
10
+ Project-URL: CI/CD, https://github.com/MTSWebServices/syncmaster/actions
11
+ Project-URL: Tracker, https://github.com/MTSWebServices/syncmaster/issues
12
12
  Keywords: Syncmaster,REST,API,Worker,Spark,Transfer,ETL
13
13
  Classifier: Development Status :: 3 - Alpha
14
14
  Classifier: Framework :: Pydantic
@@ -26,47 +26,48 @@ Classifier: Typing :: Typed
26
26
  Requires-Python: >=3.11
27
27
  Description-Content-Type: text/x-rst
28
28
  License-File: LICENSE.txt
29
- Requires-Dist: pydantic~=2.12.5
30
- Requires-Dist: pydantic-settings~=2.12.0
29
+ Requires-Dist: pydantic~=2.13.4
30
+ Requires-Dist: pydantic-settings~=2.14.1
31
31
  Requires-Dist: pydantic-settings-logging~=0.1.1
32
- Requires-Dist: sqlalchemy~=2.0.44
32
+ Requires-Dist: sqlalchemy~=2.0.49
33
33
  Requires-Dist: sqlalchemy-utils~=0.42.0
34
34
  Requires-Dist: pyyaml~=6.0.3
35
35
  Requires-Dist: coloredlogs~=15.0.1
36
- Requires-Dist: python-json-logger~=4.0.0
36
+ Requires-Dist: python-json-logger~=4.1.0
37
37
  Requires-Dist: asgi-correlation-id~=4.3.4
38
38
  Requires-Dist: uuid6~=2025.0.1
39
39
  Requires-Dist: celery~=5.6.0
40
40
  Requires-Dist: psycopg2-binary~=2.9.11
41
41
  Provides-Extra: server
42
- Requires-Dist: fastapi~=0.128.0; extra == "server"
42
+ Requires-Dist: fastapi<0.137.0,>=0.135.3; extra == "server"
43
+ Requires-Dist: starlette<1.0; extra == "server"
43
44
  Requires-Dist: starlette-exporter~=0.23.0; extra == "server"
44
- Requires-Dist: python-multipart~=0.0.21; extra == "server"
45
- Requires-Dist: uvicorn~=0.40.0; extra == "server"
46
- Requires-Dist: alembic~=1.18.1; extra == "server"
47
- Requires-Dist: pyjwt~=2.10.1; extra == "server"
48
- Requires-Dist: asyncpg~=0.31; extra == "server"
49
- Requires-Dist: python-keycloak~=7.0.1; extra == "server"
45
+ Requires-Dist: python-multipart~=0.0.26; extra == "server"
46
+ Requires-Dist: uvicorn<0.48,>=0.44; extra == "server"
47
+ Requires-Dist: alembic~=1.18.4; extra == "server"
48
+ Requires-Dist: pyjwt~=2.12.1; extra == "server"
49
+ Requires-Dist: asyncpg~=0.31.0; extra == "server"
50
+ Requires-Dist: python-keycloak~=7.1.1; extra == "server"
50
51
  Requires-Dist: itsdangerous~=2.2.0; extra == "server"
51
52
  Provides-Extra: scheduler
52
53
  Requires-Dist: asyncpg~=0.31; extra == "scheduler"
53
54
  Requires-Dist: apscheduler~=3.11.1; extra == "scheduler"
54
55
  Provides-Extra: worker
55
- Requires-Dist: onetl[files]~=0.15.0; extra == "worker"
56
+ Requires-Dist: onetl[files]~=0.16.0; extra == "worker"
56
57
  Requires-Dist: pyspark<4.0.0; extra == "worker"
57
58
  Requires-Dist: horizon-hwm-store~=1.1.4; extra == "worker"
58
59
  Requires-Dist: jinja2~=3.1.6; extra == "worker"
59
60
  Provides-Extra: kerberos
60
- Requires-Dist: onetl[kerberos]~=0.15.0; extra == "kerberos"
61
+ Requires-Dist: onetl[kerberos]~=0.16.0; extra == "kerberos"
61
62
  Dynamic: license-file
62
63
 
63
64
  .. _readme:
64
65
 
65
66
  |Logo|
66
67
 
67
- .. |Logo| image:: https://raw.githubusercontent.com/MobileTeleSystems/syncmaster/d14bf1b1272f15d42f441d6e33264bd2f95216c9/docs/_static/logo_wide.svg
68
+ .. |Logo| image:: https://raw.githubusercontent.com/MTSWebServices/syncmaster/0eb2ba2be6656f81ea9706523c3b7942df212640/docs/_static/logo_wide.svg
68
69
  :alt: Data.SyncMaster logo
69
- :target: https://github.com/MobileTeleSystems/data-syncmaster
70
+ :target: https://github.com/MTSWebServices/data-syncmaster
70
71
 
71
72
  |Repo Status| |Docker image| |PyPI| |PyPI License| |PyPI Python Version| |Documentation|
72
73
  |Build Status| |Coverage| |pre-commit.ci|
@@ -78,18 +79,18 @@ Dynamic: license-file
78
79
  .. |PyPI| image:: https://img.shields.io/pypi/v/data-syncmaster
79
80
  :target: https://pypi.org/project/data-syncmaster/
80
81
  .. |PyPI License| image:: https://img.shields.io/pypi/l/data-syncmaster.svg
81
- :target: https://github.com/MobileTeleSystems/syncmaster/blob/develop/LICENSE.txt
82
+ :target: https://github.com/MTSWebServices/syncmaster/blob/develop/LICENSE.txt
82
83
  .. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/data-syncmaster.svg
83
84
  :target: https://badge.fury.io/py/data-syncmaster
84
85
  .. |Documentation| image:: https://readthedocs.org/projects/syncmaster/badge/?version=stable
85
86
  :target: https://syncmaster.readthedocs.io
86
- .. |Build Status| image:: https://github.com/MobileTeleSystems/syncmaster/workflows/Run%20All%20Tests/badge.svg
87
- :target: https://github.com/MobileTeleSystems/syncmaster/actions
87
+ .. |Build Status| image:: https://github.com/MTSWebServices/syncmaster/workflows/Run%20All%20Tests/badge.svg
88
+ :target: https://github.com/MTSWebServices/syncmaster/actions
88
89
  .. |Coverage| image:: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/
89
90
  MTSOnGithub/03e73a82ecc4709934540ce8201cc3b4/raw/syncmaster_badge.json
90
- :target: https://github.com/MobileTeleSystems/syncmaster/actions
91
- .. |pre-commit.ci| image:: https://results.pre-commit.ci/badge/github/MobileTeleSystems/syncmaster/develop.svg
92
- :target: https://results.pre-commit.ci/latest/github/MobileTeleSystems/syncmaster/develop
91
+ :target: https://github.com/MTSWebServices/syncmaster/actions
92
+ .. |pre-commit.ci| image:: https://results.pre-commit.ci/badge/github/MTSWebServices/syncmaster/develop.svg
93
+ :target: https://results.pre-commit.ci/latest/github/MTSWebServices/syncmaster/develop
93
94
 
94
95
  What is Data.SyncMaster?
95
96
  ------------------------
@@ -27,6 +27,7 @@ syncmaster/db/migrations/versions/2023-11-23_0009_create_celery_tables.py
27
27
  syncmaster/db/migrations/versions/2024-10-07_0010_add_pg_trgm_extension.py
28
28
  syncmaster/db/migrations/versions/2024-11-01_0011_create_apscheduler_table.py
29
29
  syncmaster/db/migrations/versions/2025-08-10_0012_update_ts.py
30
+ syncmaster/db/migrations/versions/2026-04-02_0013_add_celery_date_done_indexes.py
30
31
  syncmaster/db/migrations/versions/__init__.py
31
32
  syncmaster/db/mixins/__init__.py
32
33
  syncmaster/db/mixins/resource.py
@@ -142,6 +143,7 @@ syncmaster/schemas/v1/transfers/transformations/__init__.py
142
143
  syncmaster/schemas/v1/transfers/transformations/dataframe_columns_filter.py
143
144
  syncmaster/schemas/v1/transfers/transformations/dataframe_rows_filter.py
144
145
  syncmaster/schemas/v1/transfers/transformations/file_metadata_filter.py
146
+ syncmaster/schemas/v1/transfers/transformations/sql.py
145
147
  syncmaster/server/__init__.py
146
148
  syncmaster/server/__main__.py
147
149
  syncmaster/server/handler.py
@@ -1,36 +1,37 @@
1
- pydantic~=2.12.5
2
- pydantic-settings~=2.12.0
1
+ pydantic~=2.13.4
2
+ pydantic-settings~=2.14.1
3
3
  pydantic-settings-logging~=0.1.1
4
- sqlalchemy~=2.0.44
4
+ sqlalchemy~=2.0.49
5
5
  sqlalchemy-utils~=0.42.0
6
6
  pyyaml~=6.0.3
7
7
  coloredlogs~=15.0.1
8
- python-json-logger~=4.0.0
8
+ python-json-logger~=4.1.0
9
9
  asgi-correlation-id~=4.3.4
10
10
  uuid6~=2025.0.1
11
11
  celery~=5.6.0
12
12
  psycopg2-binary~=2.9.11
13
13
 
14
14
  [kerberos]
15
- onetl[kerberos]~=0.15.0
15
+ onetl[kerberos]~=0.16.0
16
16
 
17
17
  [scheduler]
18
18
  asyncpg~=0.31
19
19
  apscheduler~=3.11.1
20
20
 
21
21
  [server]
22
- fastapi~=0.128.0
22
+ fastapi<0.137.0,>=0.135.3
23
+ starlette<1.0
23
24
  starlette-exporter~=0.23.0
24
- python-multipart~=0.0.21
25
- uvicorn~=0.40.0
26
- alembic~=1.18.1
27
- pyjwt~=2.10.1
28
- asyncpg~=0.31
29
- python-keycloak~=7.0.1
25
+ python-multipart~=0.0.26
26
+ uvicorn<0.48,>=0.44
27
+ alembic~=1.18.4
28
+ pyjwt~=2.12.1
29
+ asyncpg~=0.31.0
30
+ python-keycloak~=7.1.1
30
31
  itsdangerous~=2.2.0
31
32
 
32
33
  [worker]
33
- onetl[files]~=0.15.0
34
+ onetl[files]~=0.16.0
34
35
  pyspark<4.0.0
35
36
  horizon-hwm-store~=1.1.4
36
37
  jinja2~=3.1.6
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning>=2.0,<3", ]
2
+ requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning<4,>=3.0", ]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [tool.setuptools-git-versioning]
@@ -33,14 +33,14 @@ classifiers = [
33
33
  keywords = ["Syncmaster", "REST", "API", "Worker", "Spark", "Transfer", "ETL"]
34
34
  requires-python = ">=3.11"
35
35
  dependencies = [
36
- "pydantic~=2.12.5",
37
- "pydantic-settings~=2.12.0",
36
+ "pydantic~=2.13.4",
37
+ "pydantic-settings~=2.14.1",
38
38
  "pydantic-settings-logging~=0.1.1",
39
- "sqlalchemy~=2.0.44",
39
+ "sqlalchemy~=2.0.49",
40
40
  "sqlalchemy-utils~=0.42.0",
41
41
  "pyyaml~=6.0.3",
42
42
  "coloredlogs~=15.0.1",
43
- "python-json-logger~=4.0.0",
43
+ "python-json-logger~=4.1.0",
44
44
  "asgi-correlation-id~=4.3.4",
45
45
  "uuid6~=2025.0.1",
46
46
  "celery~=5.6.0",
@@ -56,23 +56,25 @@ exclude = ["docs", "tests"]
56
56
  "*" = ["py.typed", "*.yml", "*.ini", "VERSION"]
57
57
 
58
58
  [project.urls] # Optional
59
- "Homepage" = "https://github.com/MobileTeleSystems/syncmaster"
59
+ "Homepage" = "https://github.com/MTSWebServices/syncmaster"
60
60
  "Documentation" = "https://syncmaster.readthedocs.io/"
61
- "Source" = "https://github.com/MobileTeleSystems/syncmaster"
62
- "CI/CD" = "https://github.com/MobileTeleSystems/syncmaster/actions"
63
- "Tracker" = "https://github.com/MobileTeleSystems/syncmaster/issues"
61
+ "Source" = "https://github.com/MTSWebServices/syncmaster"
62
+ "CI/CD" = "https://github.com/MTSWebServices/syncmaster/actions"
63
+ "Tracker" = "https://github.com/MTSWebServices/syncmaster/issues"
64
64
 
65
65
 
66
66
  [project.optional-dependencies]
67
67
  server = [
68
- "fastapi~=0.128.0",
68
+ "fastapi>=0.135.3,<0.137.0",
69
+ # starlette 1.0.0 break cookies
70
+ "starlette<1.0",
69
71
  "starlette-exporter~=0.23.0",
70
- "python-multipart~=0.0.21",
71
- "uvicorn~=0.40.0",
72
- "alembic~=1.18.1",
73
- "pyjwt~=2.10.1",
74
- "asyncpg~=0.31",
75
- "python-keycloak~=7.0.1",
72
+ "python-multipart~=0.0.26",
73
+ "uvicorn>=0.44,<0.48",
74
+ "alembic~=1.18.4",
75
+ "pyjwt~=2.12.1",
76
+ "asyncpg~=0.31.0",
77
+ "python-keycloak~=7.1.1",
76
78
  "itsdangerous~=2.2.0",
77
79
  ]
78
80
  scheduler = [
@@ -80,13 +82,13 @@ scheduler = [
80
82
  "apscheduler~=3.11.1",
81
83
  ]
82
84
  worker = [
83
- "onetl[files]~=0.15.0",
85
+ "onetl[files]~=0.16.0",
84
86
  "pyspark<4.0.0",
85
87
  "horizon-hwm-store~=1.1.4",
86
88
  "jinja2~=3.1.6",
87
89
  ]
88
90
  kerberos = [
89
- "onetl[kerberos]~=0.15.0",
91
+ "onetl[kerberos]~=0.16.0",
90
92
  ]
91
93
 
92
94
  [dependency-groups]
@@ -94,35 +96,36 @@ test = [
94
96
  "pytest~=8.4.2",
95
97
  "httpx~=0.28.1",
96
98
  "pytest-asyncio>=0.26.0,<1.0",
97
- "pytest-randomly~=4.0.1",
99
+ "pytest-randomly>=4.0.1,<4.2.0",
98
100
  "pytest-rerunfailures~=16.1",
99
- "pytest-deadfixtures~=3.0.0",
101
+ "pytest-deadfixtures~=3.1.0",
100
102
  "pytest-mock~=3.15.1",
101
103
  "pytest-lazy-fixtures~=1.4.0",
102
- "faker~=40.1",
103
- "coverage~=7.13.0",
104
- "gevent~=25.9.1",
105
- "respx~=0.22.0",
104
+ "faker~=40.13",
105
+ "coverage~=7.14.0",
106
+ "gevent>=26.4,<26.6",
107
+ "respx~=0.23.1",
106
108
  "dirty-equals~=0.11.0",
107
109
  ]
108
110
  dev = [
109
- "mypy~=1.19.1",
110
- "prek~=0.2.25",
111
- "sqlalchemy[mypy]~=2.0.44",
111
+ "ruff~=0.15.12",
112
+ "mypy~=2.1.0",
113
+ "prek>=0.3.2,<0.5.0",
114
+ "sqlalchemy[mypy]~=2.0.49",
112
115
  "types-jwcrypto~=1.5.0",
113
116
  ]
114
117
  docs = [
115
- "setuptools-git-versioning~=2.1.0",
118
+ "setuptools-git-versioning>=3.0.1,<3.2.0",
116
119
  "autodoc-pydantic~=2.2.0",
117
120
  "numpydoc~=1.10.0",
118
- "sphinx~=8.2.3",
121
+ "sphinx~=9.0.4",
119
122
  "furo~=2025.12.19",
120
123
  "sphinx-copybutton~=0.5.2",
121
124
  "sphinxcontrib-towncrier~=0.5.0a0",
122
125
  "towncrier~=25.8.0",
123
- "sphinx-issues~=5.0.1",
124
- "sphinx-design~=0.6.1",
125
- "sphinx-favicon~=1.0.1",
126
+ "sphinx-issues~=6.0.0",
127
+ "sphinx-design~=0.7.0",
128
+ "sphinx-favicon~=1.1.0",
126
129
  "sphinx-argparse~=0.5.2",
127
130
  # https://github.com/mgeier/sphinx-last-updated-by-git/pull/77
128
131
  "sphinx-last-updated-by-git~=0.3.8",
@@ -0,0 +1 @@
1
+ 0.3.3
@@ -20,8 +20,7 @@ depends_on = None
20
20
 
21
21
  def upgrade():
22
22
  sql_expression = (
23
- "to_tsvector('english'::regconfig, "
24
- "name || ' ' || "
23
+ "to_tsvector('english'::regconfig, name || ' ' || "
25
24
  "COALESCE(json_extract_path_text(source_params, 'table_name'), '') || ' ' || "
26
25
  "COALESCE(json_extract_path_text(target_params, 'table_name'), '') || ' ' || "
27
26
  "COALESCE(json_extract_path_text(source_params, 'directory_path'), '') || ' ' || "
@@ -30,8 +29,7 @@ def upgrade():
30
29
  "COALESCE(translate(json_extract_path_text(source_params, 'table_name'), './', ' '), '') || ' ' || "
31
30
  "COALESCE(translate(json_extract_path_text(target_params, 'table_name'), './', ' '), '') || ' ' || "
32
31
  "COALESCE(translate(json_extract_path_text(source_params, 'directory_path'), './', ' '), '') || ' ' || "
33
- "COALESCE(translate(json_extract_path_text(target_params, 'directory_path'), './', ' '), '')"
34
- ")"
32
+ "COALESCE(translate(json_extract_path_text(target_params, 'directory_path'), './', ' '), ''))"
35
33
  )
36
34
  op.create_table(
37
35
  "transfer",
@@ -201,8 +201,7 @@ def downgrade() -> None:
201
201
  "search_vector",
202
202
  postgresql.TSVECTOR(),
203
203
  sa.Computed(
204
- "to_tsvector('english'::regconfig, "
205
- "name || ' ') || "
204
+ "to_tsvector('english'::regconfig, name || ' ' || "
206
205
  "COALESCE(json_extract_path_text(source_params, VARIADIC ARRAY['table_name']), '') || ' ' || "
207
206
  "COALESCE(json_extract_path_text(target_params, VARIADIC ARRAY['table_name']), '') || ' ' || "
208
207
  "COALESCE(json_extract_path_text(source_params, VARIADIC ARRAY['directory_path']), '') || ' ' || "
@@ -0,0 +1,39 @@
1
+ # SPDX-FileCopyrightText: 2025-present MTS PJSC
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ """Add celery_*_date_done indexex
4
+
5
+ Revision ID: 0013
6
+ Revises: 0012
7
+ Create Date: 2026-04-02 11:06:44.293882
8
+
9
+ """
10
+
11
+ from alembic import op
12
+
13
+ # revision identifiers, used by Alembic.
14
+ revision = "0013"
15
+ down_revision = "0012"
16
+ branch_labels = None
17
+ depends_on = None
18
+
19
+
20
+ def upgrade() -> None:
21
+ op.create_index(
22
+ op.f("ix_celery_taskmeta_date_done"),
23
+ "celery_taskmeta",
24
+ ["date_done"],
25
+ unique=False,
26
+ if_not_exists=True,
27
+ )
28
+ op.create_index(
29
+ op.f("ix_celery_tasksetmeta_date_done"),
30
+ "celery_tasksetmeta",
31
+ ["date_done"],
32
+ unique=False,
33
+ if_not_exists=True,
34
+ )
35
+
36
+
37
+ def downgrade() -> None:
38
+ op.drop_index(op.f("ix_celery_tasksetmeta_date_done"), table_name="celery_tasksetmeta", if_exists=True)
39
+ op.drop_index(op.f("ix_celery_taskmeta_date_done"), table_name="celery_taskmeta", if_exists=True)
@@ -8,7 +8,7 @@ from syncmaster.schemas.v1.auth.mixins import SecretDumpMixin
8
8
 
9
9
 
10
10
  class ReadBasicAuthSchema(SecretDumpMixin):
11
- type: Literal["basic"] = Field(description="Auth type")
11
+ type: Literal["basic"] = Field(default="basic", description="Auth type")
12
12
  user: str
13
13
 
14
14
 
@@ -8,7 +8,7 @@ from syncmaster.schemas.v1.auth.mixins import SecretDumpMixin
8
8
 
9
9
 
10
10
  class ReadIcebergRESTCatalogBearerAuthSchema(SecretDumpMixin):
11
- type: Literal["iceberg_rest_bearer"] = Field(description="Auth type")
11
+ type: Literal["iceberg_rest_bearer"] = Field(default="iceberg_rest_bearer", description="Auth type")
12
12
 
13
13
 
14
14
  class CreateIcebergRESTCatalogBearerAuthSchema(ReadIcebergRESTCatalogBearerAuthSchema):
@@ -9,7 +9,10 @@ from syncmaster.schemas.v1.types import URL
9
9
 
10
10
 
11
11
  class ReadIcebergRESTCatalogOAuth2ClientCredentialsAuthSchema(SecretDumpMixin):
12
- type: Literal["iceberg_rest_oauth2_client_credentials"] = Field(description="Auth type")
12
+ type: Literal["iceberg_rest_oauth2_client_credentials"] = Field(
13
+ default="iceberg_rest_oauth2_client_credentials",
14
+ description="Auth type",
15
+ )
13
16
  rest_catalog_oauth2_client_id: str
14
17
  rest_catalog_oauth2_scopes: list[str] = Field(default_factory=list)
15
18
  rest_catalog_oauth2_resource: str | None = None
@@ -8,7 +8,10 @@ from syncmaster.schemas.v1.auth.mixins import SecretDumpMixin
8
8
 
9
9
 
10
10
  class ReadIcebergRESTCatalogBearerS3BasicAuthSchema(SecretDumpMixin):
11
- type: Literal["iceberg_rest_bearer_s3_basic"] = Field(description="Auth type")
11
+ type: Literal["iceberg_rest_bearer_s3_basic"] = Field(
12
+ default="iceberg_rest_bearer_s3_basic",
13
+ description="Auth type",
14
+ )
12
15
  s3_access_key: str
13
16
 
14
17
 
@@ -8,7 +8,10 @@ from syncmaster.schemas.v1.auth.mixins import SecretDumpMixin
8
8
 
9
9
 
10
10
  class ReadIcebergRESTCatalogOAuth2ClientCredentialsS3BasicAuthSchema(SecretDumpMixin):
11
- type: Literal["iceberg_rest_oauth2_client_credentials_s3_basic"] = Field(description="Auth type")
11
+ type: Literal["iceberg_rest_oauth2_client_credentials_s3_basic"] = Field(
12
+ default="iceberg_rest_oauth2_client_credentials_s3_basic",
13
+ description="Auth type",
14
+ )
12
15
  rest_catalog_oauth2_client_id: str
13
16
  rest_catalog_oauth2_scopes: list[str] = Field(default_factory=list)
14
17
  rest_catalog_oauth2_resource: str | None = None
@@ -8,7 +8,7 @@ from syncmaster.schemas.v1.auth.mixins import SecretDumpMixin
8
8
 
9
9
 
10
10
  class ReadS3AuthSchema(SecretDumpMixin):
11
- type: Literal["s3"] = Field(description="Auth type")
11
+ type: Literal["s3"] = Field(default="s3", description="Auth type")
12
12
  access_key: str
13
13
 
14
14
 
@@ -8,7 +8,7 @@ from syncmaster.schemas.v1.auth.mixins import SecretDumpMixin
8
8
 
9
9
 
10
10
  class ReadSambaAuthSchema(SecretDumpMixin):
11
- type: Literal["samba"] = Field(description="Auth type")
11
+ type: Literal["samba"] = Field(default="samba", description="Auth type")
12
12
  user: str
13
13
  auth_type: Literal["NTLMv1", "NTLMv2"] = "NTLMv2"
14
14
 
@@ -24,7 +24,7 @@ from syncmaster.schemas.v1.types import URL
24
24
 
25
25
 
26
26
  class IcebergRESTCatalogS3DirectConnectionDataSchema(BaseModel):
27
- type: Literal["iceberg_rest_s3_direct"]
27
+ type: Literal["iceberg_rest_s3_direct"] = "iceberg_rest_s3_direct"
28
28
  rest_catalog_url: URL
29
29
  s3_warehouse_path: str
30
30
  s3_host: str
@@ -37,7 +37,7 @@ class IcebergRESTCatalogS3DirectConnectionDataSchema(BaseModel):
37
37
 
38
38
 
39
39
  class IcebergRESTCatalogS3DelegatedConnectionDataSchema(BaseModel):
40
- type: Literal["iceberg_rest_s3_delegated"]
40
+ type: Literal["iceberg_rest_s3_delegated"] = "iceberg_rest_s3_delegated"
41
41
  rest_catalog_url: URL
42
42
  s3_warehouse_name: str | None = None
43
43
  s3_access_delegation: Literal["vended-credentials", "remote-signing"] = "vended-credentials"