jerry-thomas 1.0.2__py3-none-any.whl → 1.0.3__py3-none-any.whl

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.
@@ -14,9 +14,10 @@ datapipeline/build/tasks/metadata.py,sha256=3eHI1vBRwm-fT342gu1wgj7oXNXKZ94D30wk
14
14
  datapipeline/build/tasks/scaler.py,sha256=knJbdeGdDvYZ4O15ra4mnVkmLZbRZbCdJdjfELe_LnU,2554
15
15
  datapipeline/build/tasks/schema.py,sha256=kJnAlD_Z8Pd_c9kJH5bDVixB_Vi_mBkKWpjW7eZru1s,2163
16
16
  datapipeline/build/tasks/utils.py,sha256=iFMJ8hWk1iRnQ1bUz0huiKlWyevt3x0g8Vh6PNzlMU8,6335
17
- datapipeline/cli/app.py,sha256=KZDTdig3IvSZBq4M3kcxz-RkbOTBEu2sdBUDdS-QWSg,24174
17
+ datapipeline/cli/app.py,sha256=r1nQRV2Zi5kj051In4w2pYkSYefvsNWiuyZGcKVsd8Y,23980
18
+ datapipeline/cli/workspace_utils.py,sha256=rZ6OxGu_fr61v6pc-qFN6MplW07CZeNkMm0yqhj4tGc,804
18
19
  datapipeline/cli/commands/build.py,sha256=OPJ-r3WWAzWwa1wHK0zxnQhuM_1h1mSfNpPRl_Bqrf8,8979
19
- datapipeline/cli/commands/contract.py,sha256=bPWhWZgdnkk_Ajlm9zUJrvZ3SlyXVqBxx-IJV1zZ5kM,14953
20
+ datapipeline/cli/commands/contract.py,sha256=a9rSqToajX8xu1d4zaFIyg0W4B2FAP_JL1mzweG56Yo,15303
20
21
  datapipeline/cli/commands/domain.py,sha256=JdOMlfpZP996kuNGePdjCGMKrqezo-cX8lhlOfd9F44,479
21
22
  datapipeline/cli/commands/filter.py,sha256=vhoCIETJNUJmiI37ZdBNaeJAm6O4AU_tveJxVj47S8A,307
22
23
  datapipeline/cli/commands/inspect.py,sha256=aatn_olRcFaLyya6r2QMlzzAzlbguEtQ7mKRxoEOFAA,16066
@@ -25,16 +26,16 @@ datapipeline/cli/commands/plugin.py,sha256=jUMBrxLw0QX61a2wf7rRGAWFg42xLZkI-C-Hy
25
26
  datapipeline/cli/commands/run.py,sha256=TmbyggYOlF972oxwLhh-r27ggeWARg0_WfCMQJAudS8,8348
26
27
  datapipeline/cli/commands/run_config.py,sha256=zeXCuDz1ez6Zd6Tq2N0S-YIPs1ZQ8U3fN3lvvd56108,3194
27
28
  datapipeline/cli/commands/serve_pipeline.py,sha256=7i1HbuFIbYKkM-aQ2BrDN57K1kFv6NJ4EAN6NOz4aFE,5036
28
- datapipeline/cli/commands/source.py,sha256=OyDOZm93Lbj6avbAefQPWX87WfRWE1phCPVPB-dNVc4,2073
29
+ datapipeline/cli/commands/source.py,sha256=9o7OqC53lvoup1hfPfS2op4PiIzHMXPWByVkCSxRi-o,2400
29
30
  datapipeline/cli/visuals/__init__.py,sha256=CUxCoMoU96FQonq6V_i_HBUwuwoWjML5X-_MZDF_i8M,371
30
- datapipeline/cli/visuals/common.py,sha256=p66-3WBMfl7_3UVIfsrkXnzpE9BsHinpmkHWOZaK00c,8173
31
- datapipeline/cli/visuals/labels.py,sha256=oK1PpgMoGhlwfyTqiXuaaDm65gDYqv9R-Ac8NqYPhHE,2680
31
+ datapipeline/cli/visuals/common.py,sha256=cZjxFVmWvuuhirhmiH44F2lOfE-K6_D0I5kXKTqUy98,10334
32
+ datapipeline/cli/visuals/labels.py,sha256=rfilkKeTna25ZnSw2UlQ7apMK0DeDvTIRUCkaAOkM_I,1748
32
33
  datapipeline/cli/visuals/runner.py,sha256=GtQcFjmYfVuNMmmp3uoJo0sXJOGeCoN6EOUUB6kzWSU,2085
33
34
  datapipeline/cli/visuals/sections.py,sha256=ZK02cjxd5FJAF-IJXqj9loWSrlWwMfYJlbsCfmLBJ5A,614
34
35
  datapipeline/cli/visuals/sources.py,sha256=m0nNmRSlSNWTyGj_MF3PS_m9hXKtJv63bP_9-SKn0Xc,5144
35
36
  datapipeline/cli/visuals/sources_basic.py,sha256=1-1JJ77AdiQv0iC4qpvb71cICmheInusIJFCc3csWLs,9086
36
37
  datapipeline/cli/visuals/sources_off.py,sha256=8nWuwsj-XBsjcfZ9FBpuxC3vhC6mPPObjVsh1EUparM,2651
37
- datapipeline/cli/visuals/sources_rich.py,sha256=W2ziT0Sb0QKhEbEjPYVUMY0TOrOhey0X3LXjNSwQHLg,16577
38
+ datapipeline/cli/visuals/sources_rich.py,sha256=GtEEO43PckQZFCOcMrZlX2JsrhIktb0Ixs6KXYMiLR8,16772
38
39
  datapipeline/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
40
  datapipeline/config/catalog.py,sha256=2eMwiCEof3WWKASfhxLNaZHLHCqXBoUtdJ1LvHUT74Y,2552
40
41
  datapipeline/config/context.py,sha256=JzkhFHeSYuyID5L2FPSinA3S0Gx7BNsXXfy_adAjNHI,6857
@@ -44,11 +45,11 @@ datapipeline/config/project.py,sha256=nc2n9g-02pOmuErzHHxJasP4wn04rB7rXqIUieYg_v
44
45
  datapipeline/config/resolution.py,sha256=syS9fLWNl17NrA-GPpAk3pbFtL4I7hQDJdfWaeldqXs,3477
45
46
  datapipeline/config/split.py,sha256=VFYRF6Fz5xLTqqxIt3RVGB4kwlnHH8CxjOddEAJYG5Q,1048
46
47
  datapipeline/config/tasks.py,sha256=qRHV6vEOWgpfknSplfV7RbCAdcIsAVcfk2NZU92zRsE,9777
47
- datapipeline/config/workspace.py,sha256=mcZxnEtV2rNkb7TeeE7P_C-LIgQ27e10CawW1w4H7w0,5131
48
- datapipeline/config/dataset/dataset.py,sha256=Q9cb5QoDtyPb4pbD9mSTZcJmXQhdEWwDLS52xKAcqXg,562
48
+ datapipeline/config/workspace.py,sha256=Wjbhpshe3cc0labHNt5xCjGDejygMDlEw8CeiLEJMpM,5688
49
+ datapipeline/config/dataset/dataset.py,sha256=2alhzYJjIck5VceCkyPTo_Wtc8jwAfbkKR00AK2-P3k,564
49
50
  datapipeline/config/dataset/feature.py,sha256=2Hxz0FXZskLI4ICXhmlG6b1Vvxzh0Ql9e6BwjMRtzSs,346
50
51
  datapipeline/config/dataset/loader.py,sha256=Eh_F56o242ptEIsR22kC7HkNi6SggpRf10Gpfc3ipTo,1063
51
- datapipeline/config/dataset/normalize.py,sha256=5IFGYhRrJ4JMWLLy-qRc6W8p6FZr8T-Fz2FCxp6MHCA,803
52
+ datapipeline/config/dataset/normalize.py,sha256=BEGuZeevd9RFBxaxPqULRw54E_UfX5r-sUqiWLq5P_A,1012
52
53
  datapipeline/domain/__init__.py,sha256=rfZZpfvozmQNKhBabzgC9g4urMbchjDXbbl54sNtxZQ,262
53
54
  datapipeline/domain/feature.py,sha256=7BOI4H458BKU8B9vqdfez7WOO1YKiF6lt0oy7PMbqrQ,295
54
55
  datapipeline/domain/record.py,sha256=VY2vxpVJGpn0sztI5mvD0oPdxy5auLJ8huKUR1VCgZA,1062
@@ -105,12 +106,13 @@ datapipeline/services/scaffold/domain.py,sha256=mww7HhZ1ZepNvn2tHczpLZH0y3Ej7vgD
105
106
  datapipeline/services/scaffold/filter.py,sha256=EwLFeI3cRoHw-hYE3jlLfqV0DKk9Z8EnWyVymJmOppA,1084
106
107
  datapipeline/services/scaffold/mappers.py,sha256=kkkJ-UB51B2yawRoUst3CGExn3gRYPm5d_3kbujPVMQ,1960
107
108
  datapipeline/services/scaffold/plugin.py,sha256=Eecb-OUJsn-upsq2vC88JYOyYTRbrIxsPu4yYorziqs,3407
108
- datapipeline/services/scaffold/source.py,sha256=w0w-oID9x48eMV6c0FhqW1myAWh_ELYmFojsdfVlaTk,6649
109
+ datapipeline/services/scaffold/source.py,sha256=_84aZSFnD2PLyK2NA4ASVf43_LkT1wGt4m9RhU_hs8A,6746
109
110
  datapipeline/services/scaffold/templates.py,sha256=B3YnZpFUZLynijJosTNxZQLXnPP_Y_t1RHqfI1lGOxU,634
110
111
  datapipeline/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
112
  datapipeline/sources/data_loader.py,sha256=q-gAQDOkMwIvY5b-T0j6P_Bj716R5I7jIoyHOleTB2s,1358
112
113
  datapipeline/sources/decoders.py,sha256=yH4uVDg0Hh6sUpk04W3u1dtJi_Xv-vPhvlMEIGs7-zs,3984
113
114
  datapipeline/sources/factory.py,sha256=UkcrycyodBBGt7Q5EO8EirH4obnOQH8SqrFedjMEIR0,2410
115
+ datapipeline/sources/foreach.py,sha256=MzA8xDx3IHQLiC67H-Rd9p_jyMG5kcyyHgztMuVpNdA,5863
114
116
  datapipeline/sources/transports.py,sha256=o32uvCRWps-voresZ2gGwhXTiRpmDIWdyM_IE2zY0H8,3308
115
117
  datapipeline/sources/models/__init__.py,sha256=_DVhnet2HMvw-H-UEFQeEXCwro6Qg1ws0iBgMSKbBbM,399
116
118
  datapipeline/sources/models/base.py,sha256=MAUawd11fII-mxxuSPM4f6H1t1tbyZX_QWhoAgeYUcU,238
@@ -142,10 +144,7 @@ datapipeline/templates/plugin_skeleton/example/tasks/serve.val.yaml,sha256=ecV69
142
144
  datapipeline/templates/plugin_skeleton/src/{{PACKAGE_NAME}}/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
145
  datapipeline/templates/plugin_skeleton/your-dataset/dataset.yaml,sha256=cSKk8IyoJebdc9b959Sw7gDfBXl2BT8hktyZ4Z43Nog,471
144
146
  datapipeline/templates/plugin_skeleton/your-dataset/postprocess.yaml,sha256=yUYr5c6YtBeF_rm_ENsOMkn_sOAChzbqhL98WKr0CRw,710
145
- datapipeline/templates/plugin_skeleton/your-dataset/project.yaml,sha256=u9LtgLt6OdLsPd7r4bmrujg87WX8NzQBNIvI3gs3QgQ,827
146
- datapipeline/templates/plugin_skeleton/your-dataset/contracts/time.ticks.hour_sin.yaml,sha256=oHesyqPHQ6KYJeVNxZlB75Pw0BTezr2U9IhsdM6YQ7E,842
147
- datapipeline/templates/plugin_skeleton/your-dataset/contracts/time.ticks.linear.yaml,sha256=jtxL89bgdi84iUp4lcMUCZZGcxXsSmTaFOyfe5rxX-M,1579
148
- datapipeline/templates/plugin_skeleton/your-dataset/sources/synthetic.ticks.yaml,sha256=bouMA0PdRETU67wkh8HTs7vzr0UkKcVXDjAoVChdHAc,210
147
+ datapipeline/templates/plugin_skeleton/your-dataset/project.yaml,sha256=JMBj-jNozPcUvHOWR6d00_ktZw1e2bCJOOSKeYEkems,881
149
148
  datapipeline/templates/plugin_skeleton/your-dataset/tasks/metadata.yaml,sha256=IMeokmMOFwY1jrXauoFtTFV6gtdos9xFob7nCrqfkPA,104
150
149
  datapipeline/templates/plugin_skeleton/your-dataset/tasks/scaler.yaml,sha256=xNl8JmJ4ogHtfq1jpNqMvH4GYWgxFJ0vMqB6XI3aM-g,237
151
150
  datapipeline/templates/plugin_skeleton/your-dataset/tasks/schema.yaml,sha256=Y5X3lOM-0FwKNjFLTeRtts6FZjSj2mLpsO4CS2GBafs,14
@@ -191,9 +190,9 @@ datapipeline/utils/placeholders.py,sha256=epZQ7NifUWI7_7hZKGEkCBDOaMnN9LiqJdI2gv
191
190
  datapipeline/utils/rich_compat.py,sha256=4ZfR82gG1vAVUiILVINqcRReqoUiRPmQOlLLBXz-pC0,1166
192
191
  datapipeline/utils/time.py,sha256=vOqa2arqwEqbDo-JWEhOFPMnI1E4Ib3i1L-Rt-cGH8c,1072
193
192
  datapipeline/utils/window.py,sha256=J5CkEIdY5iZd1QY9wawmHpBXpCp2FzHOHXhjYTCZWl8,2576
194
- jerry_thomas-1.0.2.dist-info/licenses/LICENSE,sha256=pkBMylAJF5yChHAkdxwFhEptLGx13i-XFEKh-Sh6DkM,1073
195
- jerry_thomas-1.0.2.dist-info/METADATA,sha256=LaFPs7mVS4d-9j2SHSkU0RGlPSUMvYD6EJAEaqU_Bp8,33507
196
- jerry_thomas-1.0.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
197
- jerry_thomas-1.0.2.dist-info/entry_points.txt,sha256=jsJFp_2aEEhKkL2I3Yc4yPSODy9ggDZmLeV75KPjb9A,1672
198
- jerry_thomas-1.0.2.dist-info/top_level.txt,sha256=N8aoNPdPyHefODO4YAm7tqTaUcw0e8LDcqycFTf8TbM,13
199
- jerry_thomas-1.0.2.dist-info/RECORD,,
193
+ jerry_thomas-1.0.3.dist-info/licenses/LICENSE,sha256=pkBMylAJF5yChHAkdxwFhEptLGx13i-XFEKh-Sh6DkM,1073
194
+ jerry_thomas-1.0.3.dist-info/METADATA,sha256=cbHTCfpR5hZuLqSwbJo9cG4iJTJlCALDf-5k0V0G36w,34422
195
+ jerry_thomas-1.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
196
+ jerry_thomas-1.0.3.dist-info/entry_points.txt,sha256=UDCB9PoDG4NptlXc-M5gq0IMMwkXlMaoddb84fxUiuk,1730
197
+ jerry_thomas-1.0.3.dist-info/top_level.txt,sha256=N8aoNPdPyHefODO4YAm7tqTaUcw0e8LDcqycFTf8TbM,13
198
+ jerry_thomas-1.0.3.dist-info/RECORD,,
@@ -2,6 +2,7 @@
2
2
  jerry = datapipeline.cli.app:main
3
3
 
4
4
  [datapipeline.loaders]
5
+ core.foreach = datapipeline.sources.foreach:ForeachLoader
5
6
  core.io = datapipeline.sources.factory:build_loader
6
7
  core.synthetic.ticks = datapipeline.sources.synthetic.time.loader:make_time_loader
7
8
 
@@ -1,31 +0,0 @@
1
- kind: ingest
2
- source: synthetic.ticks
3
- id: time.ticks.hour_sin # format: domain.dataset.(variant)
4
-
5
- # Fine-grained cadence for this stream. Defaults to the dataset group_by via project.globals.
6
- cadence: ${group_by}
7
-
8
- mapper:
9
- entrypoint: encode_time
10
- args: { mode: hour_sin }
11
-
12
- # partition_by: field you want to partition
13
-
14
- record:
15
- - filter: { operator: ge, field: time, comparand: "${start_time}" }
16
- - filter: { operator: le, field: time, comparand: "${end_time}" }
17
- - floor_time: { cadence: "${cadence}" }
18
- # - lag: { lag: "${cadence}" }
19
-
20
- stream:
21
- - dedupe: {}
22
- - granularity: { mode: first }
23
- - ensure_cadence: { cadence: "${cadence}" }
24
- # Optional: fill gaps before downstream transforms:
25
- # - fill: { statistic: median, window: 24, min_samples: 4 }
26
-
27
- debug:
28
- - lint: { mode: error, tick: "${cadence}" }
29
-
30
- # sort_batch_size: 100000
31
-
@@ -1,30 +0,0 @@
1
- kind: ingest
2
- source: synthetic.ticks # raw source alias (see example/sources)
3
- id: time.ticks.linear # canonical stream id (format: domain.dataset.(variant))
4
-
5
- # Fine-grained cadence for this stream. Defaults to the dataset group_by via project.globals.
6
- cadence: ${group_by}
7
-
8
- mapper: # normalize/reshape DTO -> TemporalRecord
9
- entrypoint: encode_time
10
- args: { mode: linear }
11
- # partition_by: station_id # optional: add partition suffixes to feature ids
12
-
13
- record: # record-level transforms
14
- - filter: { operator: ge, field: time, comparand: "${start_time}" }
15
- - filter: { operator: le, field: time, comparand: "${end_time}" }
16
- - floor_time: { cadence: "${cadence}" } # snap timestamps to cadence boundaries
17
- # - lag: { lag: "${cadence}" } # optional: shift timestamps backwards
18
-
19
- stream: # per-feature stream transforms (input sorted by id,time)
20
- - dedupe: {} # drop exact-duplicate records per tick
21
- - granularity: { mode: first } # aggregate duplicates within a tick
22
- - ensure_cadence: { cadence: "${cadence}" } # insert missing ticks (value=None)
23
- # Consider adding a fill transform to impute None values before sequence/windowing:
24
- # - fill: { statistic: median, window: 6, min_samples: 1 }
25
-
26
- debug: # optional validation-only transforms
27
- - lint: { mode: error, tick: "${cadence}" } # strict cadence/order; value issues handled by downstream transforms
28
-
29
- # sort_batch_size: 100000 # in-memory chunk size used by internal sorting
30
-
@@ -1,12 +0,0 @@
1
- id: synthetic.ticks
2
-
3
- parser:
4
- entrypoint: "core.synthetic.ticks"
5
- args: {}
6
- loader:
7
- entrypoint: "core.synthetic.ticks"
8
- args:
9
- start: "${start_time}"
10
- end: "${end_time}"
11
- frequency: "${group_by}"
12
-