jerry-thomas 1.0.0__tar.gz → 1.0.1__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 (206) hide show
  1. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/PKG-INFO +1 -1
  2. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/pyproject.toml +1 -1
  3. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/plugin.py +5 -1
  4. jerry_thomas-1.0.1/src/datapipeline/services/scaffold/plugin.py +93 -0
  5. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/README.md +2 -0
  6. jerry_thomas-1.0.1/src/datapipeline/templates/plugin_skeleton/jerry.yaml +34 -0
  7. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/jerry_thomas.egg-info/PKG-INFO +1 -1
  8. jerry_thomas-1.0.0/src/datapipeline/services/scaffold/plugin.py +0 -49
  9. jerry_thomas-1.0.0/src/datapipeline/templates/plugin_skeleton/jerry.yaml +0 -28
  10. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/LICENSE +0 -0
  11. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/README.md +0 -0
  12. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/setup.cfg +0 -0
  13. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/__init__.py +0 -0
  14. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/analysis/__init__.py +0 -0
  15. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/analysis/vector/collector.py +0 -0
  16. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/analysis/vector/matrix.py +0 -0
  17. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/analysis/vector/report.py +0 -0
  18. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/analysis/vector_analyzer.py +0 -0
  19. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/build/__init__.py +0 -0
  20. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/build/state.py +0 -0
  21. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/build/tasks/__init__.py +0 -0
  22. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/build/tasks/config.py +0 -0
  23. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/build/tasks/metadata.py +0 -0
  24. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/build/tasks/scaler.py +0 -0
  25. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/build/tasks/schema.py +0 -0
  26. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/build/tasks/utils.py +0 -0
  27. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/app.py +0 -0
  28. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/build.py +0 -0
  29. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/contract.py +0 -0
  30. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/domain.py +0 -0
  31. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/filter.py +0 -0
  32. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/inspect.py +0 -0
  33. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/list_.py +0 -0
  34. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/run.py +0 -0
  35. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/run_config.py +0 -0
  36. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/serve_pipeline.py +0 -0
  37. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/commands/source.py +0 -0
  38. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/__init__.py +0 -0
  39. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/common.py +0 -0
  40. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/labels.py +0 -0
  41. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/runner.py +0 -0
  42. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/sections.py +0 -0
  43. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/sources.py +0 -0
  44. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/sources_basic.py +0 -0
  45. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/sources_off.py +0 -0
  46. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/cli/visuals/sources_rich.py +0 -0
  47. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/__init__.py +0 -0
  48. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/catalog.py +0 -0
  49. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/context.py +0 -0
  50. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/dataset/dataset.py +0 -0
  51. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/dataset/feature.py +0 -0
  52. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/dataset/loader.py +0 -0
  53. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/dataset/normalize.py +0 -0
  54. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/metadata.py +0 -0
  55. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/postprocess.py +0 -0
  56. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/project.py +0 -0
  57. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/resolution.py +0 -0
  58. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/split.py +0 -0
  59. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/tasks.py +0 -0
  60. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/config/workspace.py +0 -0
  61. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/domain/__init__.py +0 -0
  62. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/domain/feature.py +0 -0
  63. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/domain/record.py +0 -0
  64. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/domain/sample.py +0 -0
  65. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/domain/vector.py +0 -0
  66. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/filters/filters.py +0 -0
  67. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/integrations/__init__.py +0 -0
  68. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/integrations/ml/__init__.py +0 -0
  69. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/integrations/ml/adapter.py +0 -0
  70. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/integrations/ml/pandas_support.py +0 -0
  71. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/integrations/ml/rows.py +0 -0
  72. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/integrations/ml/torch_support.py +0 -0
  73. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/factory.py +0 -0
  74. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/output.py +0 -0
  75. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/protocols.py +0 -0
  76. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/serializers.py +0 -0
  77. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/sinks/__init__.py +0 -0
  78. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/sinks/base.py +0 -0
  79. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/sinks/files.py +0 -0
  80. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/sinks/rich.py +0 -0
  81. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/sinks/stdout.py +0 -0
  82. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/writers/__init__.py +0 -0
  83. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/writers/base.py +0 -0
  84. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/writers/csv_writer.py +0 -0
  85. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/writers/jsonl.py +0 -0
  86. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/io/writers/pickle_writer.py +0 -0
  87. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/mappers/noop.py +0 -0
  88. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/mappers/synthetic/time.py +0 -0
  89. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/parsers/identity.py +0 -0
  90. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/__init__.py +0 -0
  91. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/artifacts.py +0 -0
  92. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/context.py +0 -0
  93. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/observability.py +0 -0
  94. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/pipelines.py +0 -0
  95. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/split.py +0 -0
  96. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/stages.py +0 -0
  97. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/utils/keygen.py +0 -0
  98. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/utils/memory_sort.py +0 -0
  99. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/utils/ordering.py +0 -0
  100. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/pipeline/utils/transform_utils.py +0 -0
  101. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/plugins.py +0 -0
  102. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/registries/registry.py +0 -0
  103. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/runtime.py +0 -0
  104. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/artifacts.py +0 -0
  105. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/bootstrap/__init__.py +0 -0
  106. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/bootstrap/config.py +0 -0
  107. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/bootstrap/core.py +0 -0
  108. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/constants.py +0 -0
  109. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/entrypoints.py +0 -0
  110. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/factories.py +0 -0
  111. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/paths.py +0 -0
  112. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/project_paths.py +0 -0
  113. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/runs.py +0 -0
  114. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/scaffold/__init__.py +0 -0
  115. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/scaffold/domain.py +0 -0
  116. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/scaffold/filter.py +0 -0
  117. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/scaffold/mappers.py +0 -0
  118. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/scaffold/source.py +0 -0
  119. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/services/scaffold/templates.py +0 -0
  120. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/__init__.py +0 -0
  121. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/data_loader.py +0 -0
  122. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/decoders.py +0 -0
  123. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/factory.py +0 -0
  124. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/models/__init__.py +0 -0
  125. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/models/base.py +0 -0
  126. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/models/generator.py +0 -0
  127. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/models/loader.py +0 -0
  128. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/models/parser.py +0 -0
  129. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/models/parsing_error.py +0 -0
  130. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/models/source.py +0 -0
  131. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/models/synthetic.py +0 -0
  132. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/synthetic/__init__.py +0 -0
  133. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/synthetic/time/__init__.py +0 -0
  134. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/synthetic/time/loader.py +0 -0
  135. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/synthetic/time/parser.py +0 -0
  136. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/sources/transports.py +0 -0
  137. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/contracts/time.ticks.hour_sin.yaml +0 -0
  138. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/contracts/time.ticks.linear.yaml +0 -0
  139. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/dataset.yaml +0 -0
  140. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/postprocess.yaml +0 -0
  141. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/project.yaml +0 -0
  142. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/sources/synthetic.ticks.yaml +0 -0
  143. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/tasks/metadata.yaml +0 -0
  144. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/tasks/scaler.yaml +0 -0
  145. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/tasks/schema.yaml +0 -0
  146. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/tasks/serve.test.yaml +0 -0
  147. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/tasks/serve.train.yaml +0 -0
  148. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/example/tasks/serve.val.yaml +0 -0
  149. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/pyproject.toml +0 -0
  150. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/src/{{PACKAGE_NAME}}/__init__.py +0 -0
  151. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/contracts/time.ticks.hour_sin.yaml +0 -0
  152. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/contracts/time.ticks.linear.yaml +0 -0
  153. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/dataset.yaml +0 -0
  154. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/postprocess.yaml +0 -0
  155. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/project.yaml +0 -0
  156. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/sources/synthetic.ticks.yaml +0 -0
  157. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/tasks/metadata.yaml +0 -0
  158. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/tasks/scaler.yaml +0 -0
  159. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/tasks/schema.yaml +0 -0
  160. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/tasks/serve.test.yaml +0 -0
  161. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/tasks/serve.train.yaml +0 -0
  162. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/plugin_skeleton/your-dataset/tasks/serve.val.yaml +0 -0
  163. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/stubs/dto.py.j2 +0 -0
  164. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/stubs/filter.py.j2 +0 -0
  165. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/stubs/loader_synthetic.py.j2 +0 -0
  166. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/stubs/mapper.py.j2 +0 -0
  167. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/stubs/parser.py.j2 +0 -0
  168. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/stubs/parser_custom.py.j2 +0 -0
  169. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/stubs/record.py.j2 +0 -0
  170. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/templates/stubs/source.yaml.j2 +0 -0
  171. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/debug/identity.py +0 -0
  172. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/debug/lint.py +0 -0
  173. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/feature/model.py +0 -0
  174. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/feature/scaler.py +0 -0
  175. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/filter.py +0 -0
  176. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/record/floor_time.py +0 -0
  177. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/record/lag.py +0 -0
  178. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/sequence.py +0 -0
  179. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/stream/dedupe.py +0 -0
  180. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/stream/ensure_ticks.py +0 -0
  181. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/stream/fill.py +0 -0
  182. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/stream/granularity.py +0 -0
  183. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/utils.py +0 -0
  184. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/__init__.py +0 -0
  185. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/common.py +0 -0
  186. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/drop/__init__.py +0 -0
  187. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/drop/horizontal.py +0 -0
  188. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/drop/orchestrator.py +0 -0
  189. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/drop/vertical.py +0 -0
  190. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/ensure_schema.py +0 -0
  191. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/fill.py +0 -0
  192. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector/replace.py +0 -0
  193. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/transforms/vector_utils.py +0 -0
  194. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/utils/__init__.py +0 -0
  195. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/utils/load.py +0 -0
  196. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/utils/paths.py +0 -0
  197. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/utils/pickle_model.py +0 -0
  198. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/utils/placeholders.py +0 -0
  199. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/utils/rich_compat.py +0 -0
  200. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/utils/time.py +0 -0
  201. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/datapipeline/utils/window.py +0 -0
  202. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/jerry_thomas.egg-info/SOURCES.txt +0 -0
  203. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/jerry_thomas.egg-info/dependency_links.txt +0 -0
  204. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/jerry_thomas.egg-info/entry_points.txt +0 -0
  205. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/jerry_thomas.egg-info/requires.txt +0 -0
  206. {jerry_thomas-1.0.0 → jerry_thomas-1.0.1}/src/jerry_thomas.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jerry-thomas
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: Jerry-Thomas: a stream-first, plugin-friendly data pipeline (mixology-themed CLI)
5
5
  Author: Anders Skott Lind
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "jerry-thomas"
7
- version = "1.0.0"
7
+ version = "1.0.1"
8
8
  description = "Jerry-Thomas: a stream-first, plugin-friendly data pipeline (mixology-themed CLI)"
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  requires-python = ">=3.10"
@@ -1,10 +1,14 @@
1
+ import logging
1
2
  from pathlib import Path
2
3
  from datapipeline.services.scaffold.plugin import scaffold_plugin
3
4
 
4
5
 
6
+ logger = logging.getLogger(__name__)
7
+
8
+
5
9
  def bar(subcmd: str, name: str | None, out: str) -> None:
6
10
  if subcmd == "init":
7
11
  if not name:
8
- print("[error] Plugin name is required. Use 'jerry plugin init <name>' or pass -n/--name.")
12
+ logger.error("Plugin name is required. Use 'jerry plugin init <name>' or pass -n/--name.")
9
13
  raise SystemExit(2)
10
14
  scaffold_plugin(name, Path(out))
@@ -0,0 +1,93 @@
1
+ from importlib.resources import as_file, files
2
+ from pathlib import Path
3
+ import logging
4
+ import os
5
+
6
+ import yaml
7
+
8
+ from datapipeline.utils.load import load_yaml
9
+
10
+ from ..constants import DEFAULT_IO_LOADER_EP
11
+
12
+ logger = logging.getLogger(__name__)
13
+
14
+ _RESERVED_PACKAGE_NAMES = {"datapipeline"}
15
+
16
+
17
+ def _normalized_package_name(dist_name: str) -> str:
18
+ package_name = dist_name.replace("-", "_")
19
+ if package_name in _RESERVED_PACKAGE_NAMES:
20
+ logger.error(
21
+ "`datapipeline` is reserved for the core package. Choose a different plugin name."
22
+ )
23
+ raise SystemExit(1)
24
+ if not package_name.isidentifier():
25
+ logger.error(
26
+ "Plugin names must be valid Python identifiers once hyphens are replaced with underscores."
27
+ )
28
+ raise SystemExit(1)
29
+ return package_name
30
+
31
+
32
+ def scaffold_plugin(name: str, outdir: Path) -> None:
33
+ target = (outdir / name).absolute()
34
+ if target.exists():
35
+ logger.error("`%s` already exists", target)
36
+ raise SystemExit(1)
37
+ import shutil
38
+
39
+ package_name = _normalized_package_name(name)
40
+ skeleton_ref = files("datapipeline") / "templates" / "plugin_skeleton"
41
+ with as_file(skeleton_ref) as skeleton_dir:
42
+ shutil.copytree(skeleton_dir, target)
43
+ pkg_dir = target / "src" / "{{PACKAGE_NAME}}"
44
+ pkg_dir.rename(target / "src" / package_name)
45
+ replacements = {
46
+ "{{PACKAGE_NAME}}": package_name,
47
+ "{{DIST_NAME}}": name,
48
+ "{{DEFAULT_IO_LOADER_EP}}": DEFAULT_IO_LOADER_EP,
49
+ }
50
+ for p in (target / "pyproject.toml", target / "README.md"):
51
+ text = p.read_text()
52
+ for placeholder, value in replacements.items():
53
+ text = text.replace(placeholder, value)
54
+ p.write_text(text)
55
+
56
+ # Move jerry.yaml up to the workspace root (current working directory) so
57
+ # users can run the CLI from the workspace without cd'ing into the plugin.
58
+ # We adjust plugin_root and dataset paths to point at the plugin directory
59
+ # relative to the workspace. Do not overwrite an existing workspace
60
+ # jerry.yaml.
61
+ plugin_jerry = target / "jerry.yaml"
62
+ workspace_root = Path.cwd().resolve()
63
+ workspace_jerry = workspace_root / "jerry.yaml"
64
+ if plugin_jerry.exists() and not workspace_jerry.exists():
65
+ try:
66
+ plugin_root_rel = target.relative_to(workspace_root)
67
+ except ValueError:
68
+ # Fall back to a relative path between arbitrary directories; this
69
+ # may include ".." segments.
70
+ try:
71
+ plugin_root_rel = Path(os.path.relpath(target, workspace_root))
72
+ except Exception:
73
+ plugin_root_rel = target
74
+
75
+ data = load_yaml(plugin_jerry)
76
+ data["plugin_root"] = plugin_root_rel.as_posix()
77
+ datasets = data.get("datasets") or {}
78
+ updated_datasets = {}
79
+ for alias, path in datasets.items():
80
+ p = Path(path)
81
+ if p.is_absolute():
82
+ updated_datasets[alias] = p.as_posix()
83
+ else:
84
+ updated_datasets[alias] = (plugin_root_rel / p).as_posix()
85
+ data["datasets"] = updated_datasets
86
+
87
+ workspace_jerry.write_text(
88
+ yaml.safe_dump(data, sort_keys=False), encoding="utf-8"
89
+ )
90
+ plugin_jerry.unlink()
91
+ logger.info("workspace jerry.yaml created at %s", workspace_jerry)
92
+
93
+ logger.info("plugin skeleton created at %s", target)
@@ -10,6 +10,8 @@ Quick start
10
10
  - HTTP data: `jerry source add <provider>.<dataset> -t http -f <json|json-lines|csv>`
11
11
  - Synthetic: `jerry source add -p <provider> -d <dataset> -t synthetic`
12
12
  - Edit the generated `config/sources/*.yaml` to fill in the `path`, delimiter, etc.
13
+ - `jerry.yaml` is placed in your workspace root (alongside the plugin folder) so
14
+ you can run CLI commands from there; `plugin_root` points back to this plugin.
13
15
  - Reinstall after EP changes (pyproject.toml) and restart Python processes:
14
16
  - Core: `cd lib/datapipeline && python -m pip install -e .`
15
17
  - This plugin: `python -m pip install -e .`
@@ -0,0 +1,34 @@
1
+ # Workspace defaults. The scaffolder copies this to your workspace root (where
2
+ # you ran `jerry plugin init`). CLI commands walk upward from cwd to find it.
3
+
4
+ # Relative path from this workspace file back to the plugin root.
5
+ plugin_root: . # e.g., "lib/myplugin" if your plugin lives under lib/
6
+
7
+ # Dataset aliases for `--dataset`; values may be dirs (auto-append project.yaml).
8
+ datasets:
9
+ example: example/project.yaml
10
+ your-second-example-dataset: your-dataset/project.yaml
11
+
12
+ # Default dataset alias when --dataset/--project are omitted.
13
+ default_dataset: example
14
+
15
+ # Shared fallbacks used by all commands (unless overridden).
16
+ shared:
17
+ visuals: AUTO # AUTO | TQDM | RICH | OFF
18
+ progress: BARS # AUTO | SPINNER | BARS | OFF
19
+ log_level: INFO # Default log level when not set elsewhere
20
+
21
+ # Defaults for `jerry serve` (run-time options).
22
+ serve:
23
+ # log_level: INFO # Uncomment to force INFO for serve runs
24
+ limit: null # Cap vectors; null means unlimited
25
+ stage: null # Preview a specific stage; null runs the full pipeline
26
+ output:
27
+ transport: stdout
28
+ format: print # stdout: print|json-lines|json|csv|pickle
29
+ # directory: artifacts/serve # Required when transport=fs
30
+
31
+ # Defaults for `jerry build` (artifact materialization).
32
+ build:
33
+ # log_level: INFO # Uncomment to set build log level
34
+ mode: AUTO # AUTO | FORCE | OFF
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jerry-thomas
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: Jerry-Thomas: a stream-first, plugin-friendly data pipeline (mixology-themed CLI)
5
5
  Author: Anders Skott Lind
6
6
  License: MIT
@@ -1,49 +0,0 @@
1
- from importlib.resources import as_file, files
2
- from pathlib import Path
3
-
4
- from ..constants import DEFAULT_IO_LOADER_EP
5
-
6
- _RESERVED_PACKAGE_NAMES = {"datapipeline"}
7
-
8
-
9
- def _normalized_package_name(dist_name: str) -> str:
10
- package_name = dist_name.replace("-", "_")
11
- if package_name in _RESERVED_PACKAGE_NAMES:
12
- print(
13
- "[error] `datapipeline` is reserved for the core package. "
14
- "Choose a different plugin name."
15
- )
16
- raise SystemExit(1)
17
- if not package_name.isidentifier():
18
- print(
19
- "[error] Plugin names must be valid Python identifiers once hyphens are replaced "
20
- "with underscores."
21
- )
22
- raise SystemExit(1)
23
- return package_name
24
-
25
-
26
- def scaffold_plugin(name: str, outdir: Path) -> None:
27
- target = (outdir / name).absolute()
28
- if target.exists():
29
- print(f"[error] `{target}` already exists")
30
- raise SystemExit(1)
31
- import shutil
32
-
33
- package_name = _normalized_package_name(name)
34
- skeleton_ref = files("datapipeline") / "templates" / "plugin_skeleton"
35
- with as_file(skeleton_ref) as skeleton_dir:
36
- shutil.copytree(skeleton_dir, target)
37
- pkg_dir = target / "src" / "{{PACKAGE_NAME}}"
38
- pkg_dir.rename(target / "src" / package_name)
39
- replacements = {
40
- "{{PACKAGE_NAME}}": package_name,
41
- "{{DIST_NAME}}": name,
42
- "{{DEFAULT_IO_LOADER_EP}}": DEFAULT_IO_LOADER_EP,
43
- }
44
- for p in (target / "pyproject.toml", target / "README.md"):
45
- text = p.read_text()
46
- for placeholder, value in replacements.items():
47
- text = text.replace(placeholder, value)
48
- p.write_text(text)
49
- print(f"[new] plugin skeleton at {target}")
@@ -1,28 +0,0 @@
1
- # Workspace defaults. Move this file to the root of your workspace if you serve
2
- # configs outside the plugin repo; the CLI searches upward from cwd for jerry.yaml.
3
-
4
- plugin_root: . # relative path to the plugin repo root
5
-
6
- datasets:
7
- example: example/project.yaml
8
- your-second-example-dataset: your-dataset/project.yaml
9
-
10
- default_dataset: example
11
-
12
- shared:
13
- visuals: AUTO # AUTO | TQDM | RICH | OFF
14
- progress: BARS # AUTO | SPINNER | BARS | OFF
15
- log_level: INFO
16
-
17
- serve:
18
- # log_level: INFO
19
- limit: null
20
- stage: null
21
- output:
22
- transport: stdout
23
- format: print # set to fs + directory for file outputs
24
- # directory: artifacts/serve
25
-
26
- build:
27
- # log_level: INFO
28
- mode: AUTO # AUTO | FORCE | OFF
File without changes
File without changes
File without changes