recurvedata-lib 0.1.487__tar.gz → 0.1.488__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.

Potentially problematic release.


This version of recurvedata-lib might be problematic. Click here for more details.

Files changed (334) hide show
  1. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/PKG-INFO +2 -2
  2. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/README.md +1 -1
  3. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/pyproject.toml +0 -3
  4. recurvedata_lib-0.1.488/recurvedata/__version__.py +1 -0
  5. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/client/client.py +94 -7
  6. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/core/config.py +1 -1
  7. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/task.py +1 -1
  8. recurvedata_lib-0.1.487/recurvedata/__version__.py +0 -1
  9. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/.gitignore +0 -0
  10. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/__init__.py +0 -0
  11. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/client/__init__.py +0 -0
  12. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/client/server_client.py +0 -0
  13. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/config.py +0 -0
  14. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/__init__.py +0 -0
  15. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/_register.py +0 -0
  16. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/base.py +0 -0
  17. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/config_schema.py +0 -0
  18. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/__init__.py +0 -0
  19. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/aliyun_access_key.py +0 -0
  20. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/auth.py +0 -0
  21. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/azure_blob.py +0 -0
  22. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/azure_synapse.py +0 -0
  23. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/bigquery.py +0 -0
  24. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/clickhouse.py +0 -0
  25. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/dingtalk.py +0 -0
  26. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/doris.py +0 -0
  27. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/es.py +0 -0
  28. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/feishu.py +0 -0
  29. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/ftp.py +0 -0
  30. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/generic.py +0 -0
  31. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/google_cloud_storage.py +0 -0
  32. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/google_service_account.py +0 -0
  33. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/hive.py +0 -0
  34. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/impala.py +0 -0
  35. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/jenkins.py +0 -0
  36. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/mail.py +0 -0
  37. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/microsoft_fabric.py +0 -0
  38. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/mongo.py +0 -0
  39. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/mssql.py +0 -0
  40. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/mysql.py +0 -0
  41. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/n8n.py +0 -0
  42. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/oss.py +0 -0
  43. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/owncloud.py +0 -0
  44. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/phoenix.py +0 -0
  45. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/postgres.py +0 -0
  46. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/python.py +0 -0
  47. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/redshift.py +0 -0
  48. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/s3.py +0 -0
  49. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/sftp.py +0 -0
  50. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/slack.py +0 -0
  51. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/spark.py +0 -0
  52. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/starrocks.py +0 -0
  53. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/tencent_cos.py +0 -0
  54. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/connectors/tidb.py +0 -0
  55. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/const.py +0 -0
  56. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/datasource.py +0 -0
  57. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/dbapi.py +0 -0
  58. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/fs.py +0 -0
  59. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/ftp.py +0 -0
  60. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/object_store.py +0 -0
  61. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/pigeon.py +0 -0
  62. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/proxy.py +0 -0
  63. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/service.py +0 -0
  64. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/connectors/utils.py +0 -0
  65. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/consts.py +0 -0
  66. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/core/__init__.py +0 -0
  67. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/core/configurable.py +0 -0
  68. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/core/consts.py +0 -0
  69. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/core/templating.py +0 -0
  70. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/core/tracing.py +0 -0
  71. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/core/transformer.py +0 -0
  72. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/core/translation.py +0 -0
  73. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/dbt/client.py +0 -0
  74. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/dbt/consts.py +0 -0
  75. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/dbt/cosmos_utils.py +0 -0
  76. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/dbt/error_codes.py +0 -0
  77. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/dbt/schemas.py +0 -0
  78. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/dbt/service.py +0 -0
  79. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/dbt/utils.py +0 -0
  80. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/error_codes.py +0 -0
  81. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/exceptions.py +0 -0
  82. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/__init__.py +0 -0
  83. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/cli/__init__.py +0 -0
  84. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/cli/connector.py +0 -0
  85. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/cli/dbt.py +0 -0
  86. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/cli/main.py +0 -0
  87. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/cli/parameters.py +0 -0
  88. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/client.py +0 -0
  89. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/consts.py +0 -0
  90. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/debug_executor.py +0 -0
  91. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/executor.py +0 -0
  92. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/link_executor.py +0 -0
  93. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/models.py +0 -0
  94. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/schemas.py +0 -0
  95. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/service/__init__.py +0 -0
  96. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/service/connector.py +0 -0
  97. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/executors/utils.py +0 -0
  98. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/filestorage/__init__.py +0 -0
  99. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/filestorage/_factory.py +0 -0
  100. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/filestorage/backends/__init__.py +0 -0
  101. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/filestorage/backends/fsspec.py +0 -0
  102. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/filestorage/backends/local.py +0 -0
  103. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/filestorage/backends/oss.py +0 -0
  104. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/filestorage/interface.py +0 -0
  105. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/__init__.py +0 -0
  106. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/base.py +0 -0
  107. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/config.py +0 -0
  108. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/context.py +0 -0
  109. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/dbt_operator/__init__.py +0 -0
  110. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/dbt_operator/model_pipeline_link_operator.py +0 -0
  111. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/dbt_operator/operator.py +0 -0
  112. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/link_operator/__init__.py +0 -0
  113. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/link_operator/operator.py +0 -0
  114. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/models.py +0 -0
  115. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/notify_operator/__init__.py +0 -0
  116. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/notify_operator/operator.py +0 -0
  117. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/operator.py +0 -0
  118. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/python_operator/__init__.py +0 -0
  119. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/python_operator/operator.py +0 -0
  120. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/sensor_operator/__init__.py +0 -0
  121. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/sensor_operator/airflow_utils.py +0 -0
  122. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/sensor_operator/operator.py +0 -0
  123. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/spark_operator/__init__.py +0 -0
  124. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/spark_operator/operator.py +0 -0
  125. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/spark_operator/spark_sample.py +0 -0
  126. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/sql_operator/__init__.py +0 -0
  127. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/sql_operator/operator.py +0 -0
  128. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/__init__.py +0 -0
  129. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/const.py +0 -0
  130. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_aliyun_sls.py +0 -0
  131. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_sheet_task_base.py +0 -0
  132. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_cass.py +0 -0
  133. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_dbapi.py +0 -0
  134. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_es.py +0 -0
  135. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_feishu_sheet.py +0 -0
  136. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_ftp.py +0 -0
  137. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_google_sheet.py +0 -0
  138. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_mongodb.py +0 -0
  139. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_oss.py +0 -0
  140. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_python.py +0 -0
  141. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_s3.py +0 -0
  142. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/dump_task_sftp.py +0 -0
  143. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_aliyun_oss.py +0 -0
  144. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_azure_blob.py +0 -0
  145. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_azure_synapse.py +0 -0
  146. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_clickhouse.py +0 -0
  147. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_doris.py +0 -0
  148. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_email.py +0 -0
  149. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_es.py +0 -0
  150. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_filebrowser.py +0 -0
  151. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_ftp.py +0 -0
  152. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_google_bigquery.py +0 -0
  153. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_google_cloud_storage.py +0 -0
  154. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_google_sheet.py +0 -0
  155. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_hive.py +0 -0
  156. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_microsoft_fabric.py +0 -0
  157. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_mssql.py +0 -0
  158. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_mysql.py +0 -0
  159. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_owncloud.py +0 -0
  160. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_postgresql.py +0 -0
  161. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_qcloud_cos.py +0 -0
  162. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_recurve_data_prep.py +0 -0
  163. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_redshift.py +0 -0
  164. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_s3.py +0 -0
  165. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_sftp.py +0 -0
  166. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_starrocks.py +0 -0
  167. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/load_task_yicrowds.py +0 -0
  168. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/mixin.py +0 -0
  169. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/operator.py +0 -0
  170. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/task.py +0 -0
  171. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/transfer_operator/utils.py +0 -0
  172. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/ui.py +0 -0
  173. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/utils/__init__.py +0 -0
  174. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/utils/file_factory.py +0 -0
  175. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/utils/fs.py +0 -0
  176. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/utils/lineage.py +0 -0
  177. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/operators/web_init.py +0 -0
  178. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/__init__.py +0 -0
  179. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/_registry.py +0 -0
  180. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/aliyun_oss.py +0 -0
  181. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/awss3.py +0 -0
  182. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/azure_blob.py +0 -0
  183. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/azure_synapse.py +0 -0
  184. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/cass.py +0 -0
  185. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/clickhouse.py +0 -0
  186. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/clickhouse_native.py +0 -0
  187. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/dbapi.py +0 -0
  188. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/doris.py +0 -0
  189. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/es.py +0 -0
  190. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/feishu.py +0 -0
  191. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/ftp.py +0 -0
  192. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/google_bigquery.py +0 -0
  193. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/google_cloud_storage.py +0 -0
  194. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/hbase_phoenix.py +0 -0
  195. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/hdfs.py +0 -0
  196. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/hive_impala.py +0 -0
  197. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/microsoft_fabric.py +0 -0
  198. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/mongodb.py +0 -0
  199. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/mssql.py +0 -0
  200. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/mysql.py +0 -0
  201. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/owncloud.py +0 -0
  202. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/postgresql.py +0 -0
  203. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/power_bi.py +0 -0
  204. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/qcloud_cos.py +0 -0
  205. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/redshift.py +0 -0
  206. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/sftp.py +0 -0
  207. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/sqlite.py +0 -0
  208. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/starrocks.py +0 -0
  209. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/connector/tableau.py +0 -0
  210. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/const.py +0 -0
  211. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/csv.py +0 -0
  212. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/docs/datasources-example.json +0 -0
  213. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/docs/images/pigeon_design.png +0 -0
  214. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/docs/lightweight-data-sync-solution.md +0 -0
  215. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/dumper/__init__.py +0 -0
  216. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/dumper/aliyun_sls.py +0 -0
  217. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/dumper/base.py +0 -0
  218. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/dumper/cass.py +0 -0
  219. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/dumper/dbapi.py +0 -0
  220. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/dumper/es.py +0 -0
  221. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/dumper/ftp.py +0 -0
  222. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/dumper/mongodb.py +0 -0
  223. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/handler/__init__.py +0 -0
  224. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/handler/base.py +0 -0
  225. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/handler/csv_handler.py +0 -0
  226. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/__init__.py +0 -0
  227. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/base.py +0 -0
  228. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_azure_synapse.py +0 -0
  229. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_clickhouse.py +0 -0
  230. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_doris.py +0 -0
  231. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_es.py +0 -0
  232. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_google_bigquery.py +0 -0
  233. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_hive.py +0 -0
  234. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_microsoft_fabric.py +0 -0
  235. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_mssql.py +0 -0
  236. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_mysql.py +0 -0
  237. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_postgresql.py +0 -0
  238. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_redshift.py +0 -0
  239. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/loader/csv_to_starrocks.py +0 -0
  240. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/meta.py +0 -0
  241. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/row_factory.py +0 -0
  242. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/schema/__init__.py +0 -0
  243. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/schema/types.py +0 -0
  244. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/sync.py +0 -0
  245. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/transformer.py +0 -0
  246. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/__init__.py +0 -0
  247. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/bloomfilter.py +0 -0
  248. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/date_time.py +0 -0
  249. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/escape.py +0 -0
  250. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/fs.py +0 -0
  251. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/json.py +0 -0
  252. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/keyed_tuple.py +0 -0
  253. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/mp.py +0 -0
  254. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/sql.py +0 -0
  255. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/pigeon/utils/timing.py +0 -0
  256. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/provider_manager.py +0 -0
  257. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/providers/__init__.py +0 -0
  258. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/providers/dbapi/__init__.py +0 -0
  259. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/providers/flywheel/__init__.py +0 -0
  260. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/providers/mysql/__init__.py +0 -0
  261. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/__init__.py +0 -0
  262. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/airflow.py +0 -0
  263. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/airflow_db_process.py +0 -0
  264. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/airflow_operators.py +0 -0
  265. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/airflow_plugin.py +0 -0
  266. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/airflow_trigger_dag_patch.py +0 -0
  267. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/base.py +0 -0
  268. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/cli.py +0 -0
  269. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/client.py +0 -0
  270. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/consts.py +0 -0
  271. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/debug_celery.py +0 -0
  272. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/model.py +0 -0
  273. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/schemas.py +0 -0
  274. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/service.py +0 -0
  275. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/system_dags.py +0 -0
  276. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/task_status.py +0 -0
  277. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schedulers/utils.py +0 -0
  278. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schema/__init__.py +0 -0
  279. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schema/field.py +0 -0
  280. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schema/schema.py +0 -0
  281. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schema/types.py +0 -0
  282. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/schema.py +0 -0
  283. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/__init__.py +0 -0
  284. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/app.py +0 -0
  285. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/connector/__init__.py +0 -0
  286. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/connector/api.py +0 -0
  287. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/connector/schemas.py +0 -0
  288. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/data_service/__init__.py +0 -0
  289. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/data_service/api.py +0 -0
  290. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/data_service/client.py +0 -0
  291. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/data_service/consts.py +0 -0
  292. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/data_service/schemas.py +0 -0
  293. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/data_service/service.py +0 -0
  294. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/dbt/__init__.py +0 -0
  295. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/dbt/api.py +0 -0
  296. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/error_code.py +0 -0
  297. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/exceptions.py +0 -0
  298. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/executor/__init__.py +0 -0
  299. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/executor/api.py +0 -0
  300. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/executor/schemas.py +0 -0
  301. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/executor/service.py +0 -0
  302. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/main.py +0 -0
  303. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/schedulers/__init__.py +0 -0
  304. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/schedulers/api.py +0 -0
  305. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/schedulers/schemas.py +0 -0
  306. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/server/schemas.py +0 -0
  307. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/__init__.py +0 -0
  308. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/_typer.py +0 -0
  309. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/attrdict.py +0 -0
  310. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/command_helper.py +0 -0
  311. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/compat.py +0 -0
  312. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/compression.py +0 -0
  313. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/crontab.py +0 -0
  314. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/crypto_util.py +0 -0
  315. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/dataclass.py +0 -0
  316. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/date_time.py +0 -0
  317. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/dispatch.py +0 -0
  318. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/email_util.py +0 -0
  319. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/files.py +0 -0
  320. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/helpers.py +0 -0
  321. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/httputil.py +0 -0
  322. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/imports.py +0 -0
  323. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/json.py +0 -0
  324. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/log.py +0 -0
  325. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/log_capture.py +0 -0
  326. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/mp.py +0 -0
  327. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/normalizer.py +0 -0
  328. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/redis_lock.py +0 -0
  329. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/registry.py +0 -0
  330. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/shell.py +0 -0
  331. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/singleton.py +0 -0
  332. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/sql.py +0 -0
  333. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/timeout.py +0 -0
  334. {recurvedata_lib-0.1.487 → recurvedata_lib-0.1.488}/recurvedata/utils/tracing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: recurvedata-lib
3
- Version: 0.1.487
3
+ Version: 0.1.488
4
4
  Summary: Common Library for ReOrc Data Platform
5
5
  Author-email: Reorc Team <contact@recurvedata.com>
6
6
  Requires-Dist: croniter
@@ -475,7 +475,7 @@ Description-Content-Type: text/markdown
475
475
  # Recurve Libraries
476
476
 
477
477
  For the unified maintenance of public components of the Recurve platform,
478
- these codes may be used in both Server and Executor (Worker) environments.
478
+ these codes may be used in both Server and Executor (Worker) environments.
479
479
 
480
480
  Only Python 3.11+ are supported.
481
481
 
@@ -1,7 +1,7 @@
1
1
  # Recurve Libraries
2
2
 
3
3
  For the unified maintenance of public components of the Recurve platform,
4
- these codes may be used in both Server and Executor (Worker) environments.
4
+ these codes may be used in both Server and Executor (Worker) environments.
5
5
 
6
6
  Only Python 3.11+ are supported.
7
7
 
@@ -61,9 +61,6 @@ asyncio_mode = "auto"
61
61
  [tool.hatch.version]
62
62
  path = "recurvedata/__version__.py"
63
63
 
64
- [tool.hatch.publish.index]
65
- recurve-pypi = "https://repo.tool.reorc.cloud/repository/recurve_pypi_internal/"
66
-
67
64
  [tool.hatch.build.targets.sdist]
68
65
  include = ["/recurvedata"]
69
66
 
@@ -0,0 +1 @@
1
+ __version__ = "0.1.488"
@@ -1,6 +1,8 @@
1
1
  import json
2
2
  import logging
3
+ import os
3
4
  import time
5
+ from pathlib import Path
4
6
  from typing import Any, TypeVar, overload
5
7
 
6
8
  import httpx
@@ -24,13 +26,90 @@ class Client:
24
26
  config = AgentConfig.load()
25
27
  self.set_config(config)
26
28
 
29
+ @property
30
+ def is_offline_mode(self) -> bool:
31
+ """Check if offline mode is enabled via environment variable"""
32
+ return os.environ.get("RECURVE_OFFLINE_MODE", "").lower() in ("true", "1")
33
+
34
+ @property
35
+ def offline_data_path(self) -> Path:
36
+ """Get the offline data directory path"""
37
+ offline_path = os.environ.get("RECURVE_OFFLINE_DATA_PATH", "offline_data")
38
+ return Path(offline_path)
39
+
27
40
  def set_config(self, config: AgentConfig):
28
41
  self._config = config
29
- self._client = httpx.Client(
30
- base_url=config.server_url,
31
- timeout=config.request_timeout,
32
- headers={"User-Agent": f"RecurveLib/{__version__}"},
33
- )
42
+ # Only create HTTP client if not in offline mode
43
+ if not self.is_offline_mode:
44
+ self._client = httpx.Client(
45
+ base_url=config.server_url,
46
+ timeout=config.request_timeout,
47
+ headers={"User-Agent": f"RecurveLib/{__version__}"},
48
+ )
49
+ else:
50
+ self._client = None
51
+
52
+ def _resolve_offline_file_path(self, path: str, **kwargs) -> Path:
53
+ """Convert API path to local file path with parameterized support"""
54
+ # Remove leading /api/ prefix: /api/executor/connection -> executor/connection
55
+ if path.startswith("/api/"):
56
+ clean_path = path[5:] # Remove "/api/" prefix
57
+ else:
58
+ clean_path = path.lstrip("/")
59
+
60
+ # Extract parameters from kwargs
61
+ params = kwargs.get("params", {})
62
+
63
+ # CORE OPERATOR APIs with parameter-based file structure:
64
+
65
+ # 1. get_connection() API - parameterized by project_id + connection_name
66
+ if clean_path == "executor/connection":
67
+ project_id = params.get("project_id", "0")
68
+ connection_name = params.get("name", "default")
69
+ return self.offline_data_path / "executor/connection" / str(project_id) / f"{connection_name}.json"
70
+
71
+ # 2. get_py_conn_configs() API - parameterized by project_id + project_connection_name
72
+ elif clean_path == "executor/python-conn-configs":
73
+ project_id = params.get("project_id", "0")
74
+ # Python configs use project_connection_name as the key (fallback to other param names for compatibility)
75
+ # Handle empty strings properly - treat them as None/missing
76
+ project_connection_name = (params.get("project_connection_name") or
77
+ params.get("project_conn_name") or
78
+ params.get("pyenv_name") or
79
+ "default")
80
+ return self.offline_data_path / "executor/python-conn-configs" / str(project_id) / f"{project_connection_name}.json"
81
+
82
+ # For any other APIs, raise error do not support offline mode
83
+ raise APIError(f"Offline mode: {path} is not supported")
84
+
85
+ def _read_offline_data(self, method: str, path: str, response_model_class: type[ResponseModelType] | None = None, **kwargs) -> Any:
86
+ """Read API response from local JSON file"""
87
+ file_path = self._resolve_offline_file_path(path, **kwargs)
88
+
89
+ logger.info(f"🔌 Offline mode: Reading from {file_path}")
90
+
91
+ try:
92
+ if not file_path.exists():
93
+ logger.error(f"Offline data file not found: {file_path}")
94
+ raise APIError(f"Offline mode: Required data file not found: {file_path}")
95
+
96
+ with open(file_path, 'r') as f:
97
+ resp_content = json.load(f)
98
+
99
+ # Handle response model validation (same logic as online mode)
100
+ if response_model_class is not None:
101
+ if "code" in resp_content:
102
+ return response_model_class.model_validate(resp_content["data"])
103
+ return response_model_class.model_validate(resp_content)
104
+
105
+ return resp_content.get("data", resp_content)
106
+
107
+ except APIError:
108
+ raise # Re-raise APIError as-is
109
+ except Exception as e:
110
+ logger.error(f"Error reading offline data from {file_path}: {e}")
111
+ raise APIError(f"Offline mode: Failed to read data file {file_path}: {e}")
112
+
34
113
 
35
114
  @overload
36
115
  def request(self, method: str, path: str, response_model_class: None = None, retries: int = 3, **kwargs) -> Any:
@@ -56,6 +135,11 @@ class Client:
56
135
  retries: int = 1,
57
136
  **kwargs,
58
137
  ) -> Any:
138
+ # Route to offline mode if enabled
139
+ if self.is_offline_mode:
140
+ return self._read_offline_data(method, path, response_model_class, **kwargs)
141
+
142
+ # Original online mode logic
59
143
  self.prepare_header(kwargs)
60
144
  pre_err: httpx.HTTPStatusError | None = None
61
145
  for attempt in range(retries):
@@ -143,8 +227,11 @@ class Client:
143
227
  )
144
228
 
145
229
  def close(self):
146
- self._client.close()
230
+ if self._client:
231
+ self._client.close()
147
232
 
148
233
  @property
149
234
  def base_url(self) -> str:
150
- return str(self._client.base_url)
235
+ if self.is_offline_mode:
236
+ return "offline://localhost"
237
+ return str(self._client.base_url) if self._client else ""
@@ -26,7 +26,7 @@ class Config:
26
26
  """load default config from env file or environment variables
27
27
 
28
28
  file format:
29
- RECURVE_HOST = https://recurve.test.recurvedata.com
29
+ RECURVE_HOST = https://abc.test.domain.com
30
30
  RECURVE_USERNAME = foo
31
31
  RECURVE_PASSWORD = pwd123
32
32
  """
@@ -181,7 +181,7 @@ class BaseTask(Configurable, LineageTaskMixin):
181
181
 
182
182
  @property
183
183
  def node_url(self) -> str:
184
- # https://dev-test.recurve.test.recurvedata.com/datawork/workflow?p_id=257942399102349312&wf_id=258282502478635008&open_drawer=true&node_key=D2f0I
184
+ # https://abc.env.name.domain.com/datawork/workflow?p_id=257942399102349312&wf_id=258282502478635008&open_drawer=true&node_key=D2f0I
185
185
  host = context.client.base_url # todo: correct it
186
186
  query_string = urllib.parse.urlencode(
187
187
  {"p_id": self.dag.project_id, "job_id": self.dag.id, "node_key": self.node.node_key, "open_drawer": "true"}
@@ -1 +0,0 @@
1
- __version__ = "0.1.487"