Skip to content

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 30 Jun 06:45
· 54 commits to main since this release
d40d5d8

What's Changed

  • Expanded tags and packets to accept any Python data type and use Arrow-based datastore by @eywalker in #22
  • Rename orcabridge to orcapod by @eywalker in #25
  • Add working pipeline system implementation by @eywalker in #27
  • Complete refactor of streams and datagram logic and use of protocols throughout by @eywalker in #34
  • Prepare for 0.1.0alpha release by @eywalker in #55
  • Enhance function_pod decorator to attach FunctionPod as callable attribute by @eywalker in #57
  • Add execution engine options to streams and nodes by @eywalker in #60
  • Fix bug to pass resource parameters to ray task options() by @brian-arnold in #62
  • Enhance pipeline functionality and access to pods by @eywalker in #63
  • feat(core): add packet function executor system and async channel execution by @eywalker in #67
  • Integrate TODO audit findings into DESIGN_ISSUES.md with priorities by @eywalker in #68
  • Add concrete asynchronous orchestrator by @eywalker in #71
  • Add native async streaming overrides for core operators by @eywalker in #70
  • Add async function support and fix concurrent packet execution by @eywalker in #72
  • Add comprehensive specification-derived test suite by @eywalker in #73
  • Fix hash_file return type and wire file_hasher through converters by @eywalker in #74
  • Claude/fix utc tzdata timestamp [ENG-225] by @brian-arnold in #75
  • Added GenericAliasHandler class [ENG-226] by @brian-arnold in #76
  • Integrate Ray execution engine and enable passing of options [ENG-231] by @brian-arnold in #77
  • Refactor source caching out of pipeline and add support for general caching for all sources by @eywalker in #80
  • feat: pipeline serialization and node simplification by @eywalker in #81
  • feat: add documentation site and clean up public API namespace by @eywalker in #82
  • refactor: major cleanup and simplification of protocols by @eywalker in #83
  • refactor(executors): improve function execution chain by @eywalker in #84
  • feat: add sync pipeline orchestrator with per-packet observability by @eywalker in #85
  • refactor: slim node protocols, observer injection, async orchestrator alignment (PLT-922) by @eywalker in #86
  • feat: add PacketFunctionProxy for read-only pipeline loading (PLT-931) by @eywalker in #87
  • Add infrastructure to capture and store logs: stdout, stderr, python logs, and tracebacks [ENG-264] by @brian-arnold in #89
  • feat(hashing): integrate starfix-python for Arrow schema and data hashing by @kurodo3[bot] in #90
  • feat: DBConnectorProtocol + ConnectorArrowDatabase + DBTableSource (PLT-1078) by @kurodo3[bot] in #91
  • feat(status): add StatusOberver [ENG-288] by @brian-arnold in #92
  • feat(observability): thread pipeline_path and pipeline_snapshot_hash through on_run_start by @kurodo3[bot] in #93
  • Add Upath support [ENG-235] by @brian-arnold in #94
  • Union type by @brian-arnold in #95
  • fix(ray): pass runtime_env to ray.init() instead of ray.remote() [ENG-294] by @brian-arnold in #97
  • feat(databases): implement SQLiteConnector — DBConnectorProtocol for SQLite (PLT-1076) by @kurodo3[bot] in #98
  • fix(function_node): restore within-node concurrent packet execution by @brian-arnold in #99
  • docs(logging_observer): fix and strengthen create_packet_logger Warning by @kurodo3[bot] in #102
  • feat(join): unify async_execute into N-way streaming MJoin [ENG-301] by @brian-arnold in #101
  • Update test docs for join operator by @brian-arnold in #103
  • fix(PLT-1156): add CACHE_ONLY mode to FunctionNode for unavailable upstream sources by @kurodo3[bot] in #104
  • fix(PLT-1158): uncached operator with UNAVAILABLE parents resolves to UNAVAILABLE by @kurodo3[bot] in #105
  • docs(spiraldb): add pyspiral optional dep and SpiralDB exploration findings by @kurodo3[bot] in #106
  • feat(spiraldb): implement SpiralDBConnector (PLT-1074) by @kurodo3[bot] in #109
  • feat(sources): implement SQLiteTableSource with ROWID fallback (PLT-1077) by @kurodo3[bot] in #110
  • feat(sources): SpiralDBTableSource with PK as default tag columns by @kurodo3[bot] in #111
  • feat(sources): PostgreSQLTableSource + executor/channel fixes (PLT-1072) by @kurodo3[bot] in #113
  • Restore Pipeline.show_graph, fix graph rendering, add tests by @eywalker in #114
  • fix(operator_node): enforce non-active node semantics (PLT-1182) by @kurodo3[bot] in #115
  • fix(types): Schema.repr shows clean type names instead of <class '...'> wrappers by @kurodo3[bot] in #116
  • fix: narrow Stream.flow() return type from Collection to Sequence/list by @kurodo3[bot] in #118
  • fix(ray): restore ray client functionality [ENG-339] by @brian-arnold in #119
  • perf: reduce import orcapod startup time from >1200ms to ~150ms (PLT-1178) by @kurodo3[bot] in #117
  • Observability reader [ENG-347] by @brian-arnold in #121
  • feat(ENG-258): add MinIO/S3 and UPath support for DeltaTableDatabase by @kurodo3[bot] in #122
  • feat(pipeline): normalized save format with DB deduplication and save levels (ENG-256/ENG-320/ENG-342) by @kurodo3[bot] in #120
  • feat(databases): add at() and base_path for sub-scoped database views (ENG-341) by @kurodo3[bot] in #123
  • feat(pipeline): add auto_save_path parameter to Pipeline for automatic pipeline saving by @brian-arnold in #124
  • refactor: decouple pipeline_path from nodes + observer contextualization (ENG-340 / ENG-349) by @kurodo3[bot] in #125
  • PLT-923: Schema ↔ Arrow nullability correspondence + logical equality tests by @kurodo3[bot] in #126
  • fix(ray): propagate original function name to Ray metrics instead of generic _capture [ENG-358] by @brian-arnold in #128
  • feat(ENG-373): add configurable table_scope to FunctionNode and OperatorNode by @kurodo3[bot] in #129
  • fix: restore Arrow nullable flags lost in Polars round-trips (ENG-375) by @kurodo3[bot] in #130
  • refactor(ENG-379): make iter_packets() read-only, consolidate DB join sites by @kurodo3[bot] in #131
  • feat(ENG-374): schema-driven execution context with datagram-based storage by @eywalker in #132
  • ci(PLT-1250): tag-triggered PyPI release pipeline by @kurodo3[bot] in #133
  • chore: merge dev → main with repo cleanup (PLT-1253) by @kurodo3[bot] in #134
  • Rename packet -> data by @eywalker in #137
  • feat(pipeline): refactor Pipeline into source-agnostic DAG; introduce PipelineJob and SourceSpec by @eywalker in #138
  • feat(sources): protocol-based polling source for async pipelines (PLT-1430) by @kurodo3[bot] in #139
  • refactor(pipeline): Pipeline pure-descriptor refactor — ENG-493 by @kurodo3[bot] in #141
  • spike(pipeline): ENG-492 OrcaDAG prototype and networkx replacement design by @kurodo3[bot] in #140
  • refactor(config): rename Config → OrcapodConfig by @kurodo3[bot] in #142
  • refactor(pipeline): unify recording/compile via InvocationGraph, dedupe Pipeline/PipelineJob by @kurodo3[bot] in #143
  • feat(pipeline): DAG public API — dag property, OrcaDAG[NodeT], PipelineProtocol (+ copy-on-run cleanup) by @kurodo3[bot] in #146
  • refactor(pipeline): address eywalker review comments (OrcaDAG[NodeT], remove JIT imports) by @kurodo3[bot] in #147
  • refactor(function_node): extract _fetch_joined_records to eliminate join duplication by @kurodo3[bot] in #148
  • feat(pipeline): migrate all skipped pipeline tests to PipelineJob API (ENG-491) by @kurodo3[bot] in #149
  • feat(dataclass): add dataclass ↔ Arrow struct encoding with __type sentinel (ENG-555) by @kurodo3[bot] in #150
  • fix(source_node): forward column_config/all_info in keys() and output_schema() by @kurodo3[bot] in #152
  • fix(function_node): fix empty as_table() schema + cleanup (ENG-572) by @kurodo3[bot] in #151
  • docs: remove ReST cross-reference markup from docstrings by @kurodo3[bot] in #153
  • refactor(eng-376): rename CachedFunctionPod._result_database to result_database by @kurodo3[bot] in #154
  • fix(type-inference): map Any to pa.null() for empty container handling (ENG-389) by @kurodo3[bot] in #155
  • feat(sources): normalize tag_columns bare strings in all user-facing sources (ENG-571) by @kurodo3[bot] in #157
  • feat(config): add persistent OrcaPod configuration system (PLT-964) by @kurodo3[bot] in #156
  • feat(pipeline): add source_pods, function_pods, operator_pods properties by @kurodo3[bot] in #158
  • refactor(function_pod): delegate _FunctionPodBase.uri to data_function.uri by @kurodo3[bot] in #159
  • fix(databases): normalize string_view columns to avoid PyArrow kernel crash [ENG-601] by @brian-arnold in #160
  • feat(types): UUID Arrow type migration — pa.binary(16) for all UUID storage (PLT-1162) by @kurodo3[bot] in #161
  • feat(semantic-types): add native datetime ↔ Arrow timestamp support by @kurodo3[bot] in #163
  • fix(hashing): remove all hash truncations from orcapod-python by @kurodo3[bot] in #164
  • feat(extension_types): add ExtensionTypeConverter protocol (PLT-1652) by @kurodo3[bot] in #166
  • feat(hashing): schema-metadata cleaner + starfix v0.3.0 adoption by @kurodo3[bot] in #179
  • fix(spiraldb): upgrade pyspiral 0.11.7 → 0.14.9 to fix CI header-signing failure (PLT-1773) by @kurodo3[bot] in #180
  • feat(extension-types): Arrow/Polars extension type semantic type system (PLT-1663) by @kurodo3[bot] in #183
  • fix(hashing): pydantic/dataclass columns as pipeline columns (ITL-432) by @kurodo3[bot] in #185
  • feat(operators): add Pick and Index structural projection operators (ITL-140) by @kurodo3[bot] in #186
  • feat(types): add datetime.date and datetime.datetime support for Tag values (ITL-45) by @kurodo3[bot] in #188
  • fix(types): support typing.Literal fields in pydantic pipeline columns (ITL-442) by @kurodo3[bot] in #189
  • ci: set up Linear release system for v0.1 release cut (ITL-448) by @kurodo3[bot] in #191
  • fix(types): accept union-typed function inputs (ITL-452) by @kurodo3[bot] in #192
  • ci: add workflow_dispatch release workflow (ITL-449) by @kurodo3[bot] in #194
  • feat(types): add orcapod.File content-identified type, refactor Path/UPath to pure-path hashing by @kurodo3[bot] in #193
  • fix(hashing): make union-typed signature hash order-independent (ITL-453) by @kurodo3[bot] in #195
  • feat(types): add orcapod.Directory with Merkle tree hashing + LogicalFile JSON migration (ITL-451) by @kurodo3[bot] in #196

New Contributors

Full Changelog: v0.0.2...v0.1.1