diff --git a/python/CHANGELOG.md b/python/CHANGELOG.md deleted file mode 100644 index 58d073d9b..000000000 --- a/python/CHANGELOG.md +++ /dev/null @@ -1,4870 +0,0 @@ -# CHANGELOG - - - -## v0.6.0-a.1 (2023-08-21) - -### Ci - -* ci: fix conditions (#679) ([`beb5dda`](https://github.com/kaskada-ai/kaskada/commit/beb5dda39fb6a0f5b576bc643a214c74087bf19a)) - -* ci: fix conditions ([`56394a5`](https://github.com/kaskada-ai/kaskada/commit/56394a582551f3e924605d83772429cf75d813e4)) - -* ci: Stub out CI for new python package (#661) - -Initial stubs were generated by `maturin`. - -Updated (I think) to reflect the location in `python`. ([`1d7ea51`](https://github.com/kaskada-ai/kaskada/commit/1d7ea511052fcae26e1f778c193c11ff8736bf43)) - -### Documentation - -* docs: Remove home page from menu (can click logo) (#680) ([`4046a05`](https://github.com/kaskada-ai/kaskada/commit/4046a0531230d0c4b92bcaae4aff3dfa80324ea5)) - -* docs: Stub more doc content (#668) - -Pulling in stuff from existing docs and past drafts. ([`1fb920f`](https://github.com/kaskada-ai/kaskada/commit/1fb920f282151c95e57c467dc7021b73fcaafa4d)) - -* docs: Update existing docs (#655) - -Tweak wording on a few pages. -Make sure all the methods are documented. - -Use poetry groups for dependencies in noxfile. ([`880936c`](https://github.com/kaskada-ai/kaskada/commit/880936c7528e44ab6620d6a57d1a3a1f3dc787ad)) - -* docs: some polishing / landing page work (#618) ([`6bd484c`](https://github.com/kaskada-ai/kaskada/commit/6bd484c19ef9a524e3aee1ae052ba5edfb6fc195)) - -* docs: Some doc tweaks (#610) - -Get the type alias to render, along with links. Rename the type alias to -`Literal` and use it just for the literals. ([`a1e1ca8`](https://github.com/kaskada-ai/kaskada/commit/a1e1ca86c4b456942dbcdf7859e43acdf0b0a45e)) - -### Feature - -* feat: add udf sparrow trait (#674) - -Adds the sparrow trait for user defined functions. This will allow us to -both keep python dependencies in `python` crates and implement -evaluators from other `crates`. ([`c87108a`](https://github.com/kaskada-ai/kaskada/commit/c87108a17980691c34c17cf031fbfec998151d75)) - -* feat: Support plotting of Timestream objects (#673) ([`ac98795`](https://github.com/kaskada-ai/kaskada/commit/ac98795e8bdf4fd06fc357d7c8d7876725867e2c)) - -* feat: add other aggregations (#669) - -Adds the following aggregations: count_if, max, mean, min, stddev, and -variance ([`c755d60`](https://github.com/kaskada-ai/kaskada/commit/c755d601cbf3c88775bb7c996e4fce69baedd1ac)) - -* feat: Warn when using `==` or `!=` on timestreams (#676) ([`d51dbce`](https://github.com/kaskada-ai/kaskada/commit/d51dbce2b0ebdeaedf846d15dc55c9b07b3161b4)) - -* feat: add else call (#671) - -Adds an else call. ([`d07e8c4`](https://github.com/kaskada-ai/kaskada/commit/d07e8c47181913b341bc6dbafdb4a656f7e24c92)) - -* feat: Support floating point time columns (#664) - -Also allow specifying the time unit for int and float. ([`26464ac`](https://github.com/kaskada-ai/kaskada/commit/26464acc1016d5ceaa8ce275f510f3ccaaf46241)) - -* feat: add count aggregation (#660) - -Adds the count aggregation to the new python implementation. Adds -`count` in #662 . ([`fffc1ac`](https://github.com/kaskada-ai/kaskada/commit/fffc1ac4efc4a29922ac821d1a4296c16ec165e9)) - -* feat: add seconds_since timestamp_ns (#652) ([`d3dba5d`](https://github.com/kaskada-ai/kaskada/commit/d3dba5d985a601bb131573521fee92947cd8d54b)) - -* feat: hack collect trailing with shift by (#658) - -Attempts to fix the behavior of trailing windows in collect by forcing a -merge with a shifted message to the next `duration`, which clears out -the window of the previous event. ([`0de6eab`](https://github.com/kaskada-ai/kaskada/commit/0de6eab8bdbf7473d7786917415c81b68b051852)) - -* feat: rename sparrow-py to kaskada (#659) - -- Initial version 0.6.0 is the next minor version since the most recent -kaskada release. -- Move `/sparrow-py` to `/python` -- Change standard import from `import kaskada as kt` to `import kaskada -as kd` ([`9a9b793`](https://github.com/kaskada-ai/kaskada/commit/9a9b793f07ab7dee387b14cfbcfcbb74eb5404ec)) - -* feat: Lambdas for building records/extending (#653) ([`88957e7`](https://github.com/kaskada-ai/kaskada/commit/88957e7c9eb72cb7619845db645b77a640f0426f)) - -* feat: support trailing windows in all primitive collect evaluators (#649) - -I decided to just implement the trailing windows in the primitive types, -as it was easy. ([`5132817`](https://github.com/kaskada-ai/kaskada/commit/51328179c66c52ece2eaa38d5376650cf9b65e16)) - -* feat: use collect for lag in python builder (#635) ([`45deed2`](https://github.com/kaskada-ai/kaskada/commit/45deed2cae85abd065a159a36b994d95b7e3c9d1)) - -* feat: trailing windows in collect for `DataType::Struct` (#641) - -Only adds trailing windows for `DataType::Struct` in `collect()` -function. ([`15c0d14`](https://github.com/kaskada-ai/kaskada/commit/15c0d14ca6b6c785f42f4fe975bf429122d3fc2d)) - -* feat: make collect continuous by setting interpolation (#647) ([`98c3be3`](https://github.com/kaskada-ai/kaskada/commit/98c3be3979d09de1e3ee1b32fa7bb56a7c49edc1)) - -* feat: Run simplifications in sparrow-py (#645) - -I'm not sure why, but this seems to fix the issue applying `last` to -`with_key`. ([`55d8cf7`](https://github.com/kaskada-ai/kaskada/commit/55d8cf74dda6abe1d81dd6cfcb14305b490b177e)) - -* feat: Add union operation (#642) ([`2e1cf23`](https://github.com/kaskada-ai/kaskada/commit/2e1cf23f77afac5f0aa82108fb5f2b1047ca8ec2)) - -* feat: Cleanup and extend sources (#643) - -This drops the `Source` from the name, since we use them as -`kt.sources.CsvString`. - -This introduces `JsonlString` (for line-delimited JSON strings), -`Pandas` for pandas dataframes, `Parquet` for Parquet data, and `Pylist` -for lists of Python dicts. - -The schema can be specified in the constructor. This allows creating two -sources using the same schema, by creating one and using it's schema -when creating the other. Additional data added to the source is -requested to conform to the original schema. ([`f936b40`](https://github.com/kaskada-ai/kaskada/commit/f936b409c6e097c01788ca92aacf4bc7f26167f0)) - -* feat: latched spread fallback (#640) ([`65d0fa0`](https://github.com/kaskada-ai/kaskada/commit/65d0fa0232f368c5fb31f27dd834b044fd63e39f)) - -* feat: Update key hash inverses as new data arrives (#639) - -Previously, we froze the key hash inverse based on the data that was -available when a query started (by computing it from the merged data). -Now, we compute it as data is added and maintain it. - -Note: This does mean that if a `with_key` runs with the same grouping as -an existing table, any keys it adds will be added to the in-memory key -hash inverse. ([`ae98c60`](https://github.com/kaskada-ai/kaskada/commit/ae98c608fd6dccfc988f4479fbc37de4c68e89e3)) - -* feat: add since window for structs (#638) - -Also makes `collect` continuous. ([`720524b`](https://github.com/kaskada-ai/kaskada/commit/720524bd9b2c62cb2e171ba306e43def200ab705)) - -* feat: Unlatched spread for all the things (#637) ([`a547f9c`](https://github.com/kaskada-ai/kaskada/commit/a547f9c6a1974fa6ef32b1003e6a28de19d972f1)) - -* feat: Add the trailing window (#636) - -This also does the package reworking so that `kt.windows.Since` is the -since window (rather than `kt.SinceWindow`). ([`bb7c5be`](https://github.com/kaskada-ai/kaskada/commit/bb7c5be99d323b2020c96ab0b0d933cdb7ff9697)) - -* feat: Support boolean literals (#634) ([`6279fe3`](https://github.com/kaskada-ai/kaskada/commit/6279fe3c0e97ac80d98c46b84cd278391421018e)) - -* feat: hack collect lists by wrapping in struct (#633) - -Hacks `collect(list<t>) -> list<list<t>>` support by wrapping it in a -struct then field reffing. Only works from pyton builder. ([`bd43166`](https://github.com/kaskada-ai/kaskada/commit/bd43166fd97d98c7be7ca3b18e600d7211ef2fa6)) - -* feat: shift sparrow functions (#620) - -Adds shift-to and shift-until and shift-by sparrow functions - -Lints by -`nox -s fix-lint` ([`e2f6b97`](https://github.com/kaskada-ai/kaskada/commit/e2f6b97cd9670b6345e2c25bdf3cb3c0b3d6e91f)) - -* feat: Support field-ref on lists of structs (#630) - -A similar strategy should work for maps, but I didn't implement it yet. - ---------- - -Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com> ([`be88967`](https://github.com/kaskada-ai/kaskada/commit/be8896734768c1d399348f84c1475c796eb2cf04)) - -* feat: Add a flatten operation (#627) - -I haven't been able to test this yet since we don't have an easy way to -generate a list of lists. - -This also adds type inference for nested collections and tests that. - ---------- - -Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com> ([`49aa050`](https://github.com/kaskada-ai/kaskada/commit/49aa0500dd1867c956fb1a1a3183c92d8571c148)) - -* feat: Support arithmetic chains (#628) ([`037b7be`](https://github.com/kaskada-ai/kaskada/commit/037b7be5a4049cdfe4dbb7b1c2e95eed6340aa6b)) - -* feat: implement lag with collect (#625) - -This also changes the behavior of lag to `IGNORE NULLS` (likely similar -to the options in this lag: -https://learn.microsoft.com/en-us/sql/t-sql/functions/lag-transact-sql?view=sql-server-ver16). ([`3578b20`](https://github.com/kaskada-ai/kaskada/commit/3578b20ec5a79072d1d68c175e82a0271ef04066)) - -* feat: Introduce `col` method for field access (#624) ([`e64959e`](https://github.com/kaskada-ai/kaskada/commit/e64959e39e6a26fc2d42f032d94c37dc939b15d4)) - -* feat: Asynchronous materializations (#617) ([`14eed90`](https://github.com/kaskada-ai/kaskada/commit/14eed904d2d673c9bc20d6ceca0a6d12d9d81c99)) - -* feat: Support casting timestreams (#623) - -To make things more uniform, it was helpful to have an explicit class -method for creating a literal timestream. ([`7c33a43`](https://github.com/kaskada-ai/kaskada/commit/7c33a43b9d3d0540d4f75807f6372e7bc9b22f2e)) - -* feat: ignore null values in collect (#616) - -Ignoring null values in `collect` is more consistent with the existing -aggregations. It also allows us to implement lag with collect. - -It also retains the capability to include nulls (albeit a hacky manner), -by doing the following (since the record is never null) -``` -{ v: value } | collect() -``` ([`d6c69e0`](https://github.com/kaskada-ai/kaskada/commit/d6c69e0d525854af157580b54d56deccd3e9d951)) - -* feat: Add basic time arithmetic (#615) ([`4b627e9`](https://github.com/kaskada-ai/kaskada/commit/4b627e9f64e78046ed2d2973bcb425870326101d)) - -* feat: Introduce InMemoryBatches for managing data (#611) - -This supports the existing "add a batch to a table", but also allows -subscribing to a stream of additions. - -As part of this moved the existing (old) merge code to a separate crate, -so it could be used by the compiler (which is currently responsible for -the data contextt). ([`25725b4`](https://github.com/kaskada-ai/kaskada/commit/25725b4468f623a7f6c23594a07d4d6256efad99)) - -* feat: more basic function in sparrow py (#612) - -adds: - -`filter` (when) -`time_of` -`lag` -`with_key` -`lookup` -`if_` and `null_if` -`len_` or `length` ([`eff5666`](https://github.com/kaskada-ai/kaskada/commit/eff56664f5bfa4eee9984d7dc44551fc040cc22d)) - -* feat: Async iteration through Rust (#606) ([`53b6905`](https://github.com/kaskada-ai/kaskada/commit/53b69059a250aef5fd6330365d3f806745f2938d)) - -* feat: add min parameter to collect (#607) - -Adds the `min` parameter to collect, which allows a user to specify a -minimum list length before a non-null value is produced from -`collect()`. also reorders parameters to make the python builder arg -pattern a little cleaner. - -Unfortunately, we still aren't able to use `collect` as a replacement -for `lag`, given the current behavior. `Lag` does not count `null` as a -valid value, while `collect` does. See the ignored unit test for an -example of differences. ([`08f5e9c`](https://github.com/kaskada-ai/kaskada/commit/08f5e9c69da488e2127943df7d1b51e970c2f334)) - -* feat: add list_len function (#609) - -This is the same implementation for all types, so we can move to a -generic `length` evaluator when we move to `sparrow-expressions` -package. ([`8e2b748`](https://github.com/kaskada-ai/kaskada/commit/8e2b7484a325b6718b0c4e5a4f2ea1f3b04fb416)) - -* feat: First pass at doc site for Python (#605) - -This uses Sphinx and the - -[sphinx-book-theme](https://sphinx-book-theme.readthedocs.io/en/stable/) -to create organized documentation of the available methods for creating -and executing timestreams. - -Sphinx makes it easy to include syntax-highlighted examples from the -documentation, as well as embedding the **rendered** notebook output of -cells (embedding them in documentation we write) and even including -notebooks as part of the documentation. - -With a few tweaks, we can make every notebook cell executable as well. -See for instance -https://jupyterbook.org/en/stable/interactive/thebe.html. ([`d31cb43`](https://github.com/kaskada-ai/kaskada/commit/d31cb437dfdd0b0941747e3ba70ad8911bbc4d2e)) - -* feat: Allow running non-record columns (#604) ([`98dec21`](https://github.com/kaskada-ai/kaskada/commit/98dec2112a8436b6a78a4b1a46c1a82e8d90f497)) - -* feat: support `DataType::Struct` in collect function (#602) - -Supports `DataType::Struct` in the collect function. ([`f427918`](https://github.com/kaskada-ai/kaskada/commit/f427918be316f95d9a92fc1960e3675b504bc2b6)) - -* feat: Rename `Expr` to `Timestream`; stub docs (#603) - -Main change is renaming `Expr` to `Timestream`. - -Other changes include: -- Adding methods (and tests) for basic math and comparison operators. -- Getting `nox -s docs` working for some rudimentary documentation -(WIP). -- Fleshing out docs for existing methods. ([`2bb67c1`](https://github.com/kaskada-ai/kaskada/commit/2bb67c17c15e823a6b6aac633dbf99e1a4fdaf08)) - -* feat: Introduce the Result class (#601) - -This allows multiple ways of interacting with the results of a query. - -Also change the `show` method (which printed to stdout) to `preview` -which returns a DataFrame "preview" of the results. This should play -more nicely with testing as well as printing / visualizing as the user -wishes. ([`962c15d`](https://github.com/kaskada-ai/kaskada/commit/962c15d1639a8bd6ae4528cd3df0778a2f35b02a)) - -* feat: More work on Python API (#598) - -- Introduce options for limits, and the method `show()` for displaying -the results of a query. Will use `ipython.display()` if available, or -print the Pandas dataframe to stdout otherwise. -- Added pydoc for collect -- Fixed some issues in the pytest for adding data (specifically around -how the `_time` column round-tripped through the JSON in the golden -test). -- Updated some of the modules to allow `import sparrow_py as kt` and -using `kt.sources.CsvSource`. The trick was to make sure the root module -(`sparrow_py` currently) re-exports the submodule (`sources`). ([`d6bf2b2`](https://github.com/kaskada-ai/kaskada/commit/d6bf2b210a2cd7da7db82dbbbcf5cd1f0e47d227)) - -* feat: sparrow py collect function (#595) - -support `collect` function in sparrow-py - ---------- - -Co-authored-by: Ben Chambers <35960+bjchambers@users.noreply.github.com> ([`ed026ae`](https://github.com/kaskada-ai/kaskada/commit/ed026ae1098f2fe5a04ed8769458eac42eb074aa)) - -* feat: Expose execution control from Rust to Python (#596) - -This is a building block for allowing Python code to expose batches as -generators, async generators, etc. ([`5be52a0`](https://github.com/kaskada-ai/kaskada/commit/5be52a00358c95cec9cf3bb76d5a29635edd25ea)) - -* feat: add first/last list non-windowed aggregation support (#592) ([`2984bb0`](https://github.com/kaskada-ai/kaskada/commit/2984bb003cb4e5c9f0c6feca387410807ab49b36)) - -* feat: Allow adding more data to a table (#593) - -This allows calling `add` on the ArrowSource. We could expose similar -functionality for CSV. ([`894adbb`](https://github.com/kaskada-ai/kaskada/commit/894adbbd42a5ee6f19d5727b47c2f0d75b2ed51f)) - -* feat: Support aggregation functions in Python (#586) - -Introduces Python classes for representing windows and flattens them -into arguments for the corresponding aggregation functions. - -This also changes the AST to DFG logic so that it only tries to flatten -if the original AST is available. This does mean that ticks won't be -recreated, meaning they won't have the proper domain. - -Both of these likely need to be extended to cover other aggregations. ([`1d3724c`](https://github.com/kaskada-ai/kaskada/commit/1d3724c009a66bb05d04c4b5135681828f3f1734)) - -* feat: support since windows in collect aggregations (#583) - -Also fixes bug where since windows were...never used. The since window -impl is likely more efficient than the more complex two-stacks, so it's -likely better to swap. ([`f1f079a`](https://github.com/kaskada-ai/kaskada/commit/f1f079afd17c8767ddfefe5d15f6f9086d892b5a)) - -* feat: Add record field manipulation (#582) - -Select fields, remove fields (inverted selected), extend and record -creation. ([`71e8345`](https://github.com/kaskada-ai/kaskada/commit/71e834561df80795d7446b14867bb527ab35c130)) - -* feat: OpenAI Example Notebook (#573) - -# OpenAI Example Notebook - -Adds an OpenAI Example Notebook - -## Next Steps -* Reactions? ([`53bb096`](https://github.com/kaskada-ai/kaskada/commit/53bb09647caf454baff804ba230554023ff34973)) - -* feat: Execute Python queries (#575) - -This removes the ability to inspect the prepared data from the Python -FFI. Instead, the Python FFI now has an `execute` method allowing you to -inspect the results of an expression, including the bare table. - -This changes the execute methods a bit to have a simpler API to -interface with. - -This relies on pushing "in-memory" data into the `DataContext`, which is -very brittle and hacky. For example, it currently only supports adding -data once, and requires that the schemas line up. ([`a81973e`](https://github.com/kaskada-ai/kaskada/commit/a81973e5881346e8e917a77eeec17c50fb43a5b0)) - -* feat: Allow writing to a channel (#572) - -This introduces a `Destination` enum and converts the existing protobuf -to that before execution. This allows providing an output channel for -direct output (eg., to Python via PyArrow). - -This also removes the deprecated Redis output. ([`62143e7`](https://github.com/kaskada-ai/kaskada/commit/62143e757955f5f4acf0c82b782a96ad706832e6)) - -* feat: collect to list (non-windowed) (primitive/strings/booleans) (#569) - -Adds the `collect` function for non-windowed, primitive/string/boolean -types. - -This doesn't support `LargeUtf8` because the other string aggregations -that use the `create_typed_evaluator` macro don't support generic offset -size, so that will come in a follow up. - ---------- - -Co-authored-by: Kevin J Nguyen <kevin.nguyen@datastax.com> ([`0f33802`](https://github.com/kaskada-ai/kaskada/commit/0f33802e4a04da216ff791ae7b784d9943204f67)) - -* feat: Prepare data in rust (#568) - -This breaks some of the Rust code into a new `sparrow-session` crate -providing a place for implementing things that aren't specific to the -Python FFI. - -This also introdoces some pieces for error conversions, with the hope -that we can grow to a point where we log errors on the rust side but -surface relevant details to the Python side. ([`f58306e`](https://github.com/kaskada-ai/kaskada/commit/f58306ef93914712265e9a47014f053ee6b4056e)) - -* feat: Add a Table class on the Rust side (#566) - -This moves data management into the Rust codebase. It only counts the -number of record batches that have been added. - -Next steps after this PR: - -1. Preparing (and possibly concatenating) the record batches in-memory. -2. Executing queries over the in-memory batches. ([`3b236da`](https://github.com/kaskada-ai/kaskada/commit/3b236da47135abd3f49dbdd17da4b31cd9c94fa5)) - -* feat: sparrow_py initial table management (#565) - -# Sparrow_py Initial Table Management - -## Changes -* Adds an `add` method to `Table`. -* Adds a `get_data` method to `Table`. -* Adds schema assertion requirements to load data -* Adds naive schema validation at table creation time ([`43d5daa`](https://github.com/kaskada-ai/kaskada/commit/43d5daa7524a005b0e425e3b029e15c4218aeda3)) - -* feat: Connect Python builder to Rust (#561) - -This creates DFG nodes and checks their types. - -Some extra features: - -- Uses the pyarrow types of the expression to limit some overloads. - In the case of `__getattr__` this prevents mistakes leading easily to - infinite recursion. In the case of `expr[expr]` this lets us use the - correct methods. -- Allows using python literals (`str`, `int` and `float`) as arguments - to expressions. -- Renames `ffi` module to `_ffi` to indicate it is private. -- Add some tests fro error cases ([`4483e13`](https://github.com/kaskada-ai/kaskada/commit/4483e13126ccdf4296e4d7b4c8d7567ef6c4dbd4)) - -* feat: `index` for DataType::List (#562) - -Adds type inference support for lists and adds just the `index` -function. - -Further additions: https://github.com/kaskada-ai/kaskada/issues/494 ([`82adac4`](https://github.com/kaskada-ai/kaskada/commit/82adac4a4f452def5efdbfcf53a2b4e676b7e5e9)) - -* feat: Prototype calling Python UDFs from rust (#559) ([`44ef3f9`](https://github.com/kaskada-ai/kaskada/commit/44ef3f947f0949c678e487d11c39ae242aa0637f)) - -* feat: add prototype python query builder (#553) - -This adds a new top-level crate `sparrow-py`. It is intentionally -outside of `crates` since it needs to be in a separate workspace to -properly compile the Python code. - -This supports basic builders, implements most of the math operators -directly on expressions, and supports a `pipe` function similar to -Pandas. - -In Python 3.11 the exceptions are printed with locations highlighted and -type information of each argument is printed. ([`39f85f3`](https://github.com/kaskada-ai/kaskada/commit/39f85f3f22e2323713cc92dc35bd6d93a4a94fff)) - -### Fix - -* fix: .gitignore and add svg (#675) ([`bf2ef0d`](https://github.com/kaskada-ai/kaskada/commit/bf2ef0d87759895bdc8b4488bfd8f9fc09e4b4eb)) - -* fix: mypy again (#657) ([`50a8196`](https://github.com/kaskada-ai/kaskada/commit/50a81966a083d61e432a0be1a17a0cc93d947d9c)) - -* fix: allow null strings in CSVs (#646) ([`ae9ebaf`](https://github.com/kaskada-ai/kaskada/commit/ae9ebaffeb4a1e361e645a65afff3640f30b0481)) - -* fix: docs-build in noxfile (#613) ([`32540ed`](https://github.com/kaskada-ai/kaskada/commit/32540edb70fccf81fe9eb6f02101079fcc1e8250)) - -* fix: Aggregations in sparrow-py (#590) - -Specifically, the previous fix straightened out some signatures, but -didn't actually use the internal (DFG) signatures for the builder. ([`57c28f1`](https://github.com/kaskada-ai/kaskada/commit/57c28f12b3070e3b900ea2f5e7953ab5cf147a8c)) - -### Test - -* test: Verify pylist sources drop unneeded columns (#650) ([`67e5a58`](https://github.com/kaskada-ai/kaskada/commit/67e5a589917448e24988f15cfa627e7a1a6745dc)) - -* test: Introduce a golden test helper for Python (#589) ([`add60b9`](https://github.com/kaskada-ai/kaskada/commit/add60b9586f6c936b2a216406c619f7cc5d7172a)) - -### Unknown - -* bug: add test for else with records (#677) - -Debugging else with records does appear to work. Added a test for future -regression verification. ([`b84cf12`](https://github.com/kaskada-ai/kaskada/commit/b84cf127dcd86da783f72e358830f55a9f014ac9)) - -* fix lint (#667) ([`27d7cd8`](https://github.com/kaskada-ai/kaskada/commit/27d7cd836502bacd6787f5e0df2b293e8972f34c)) - -* ref: remove signature modes (#670) - -Signature modes are not necessary. They used to be necessary because we -had a handful of varying signatures for aggregations to flatten window -arguments, but that was since removed. ([`76149b0`](https://github.com/kaskada-ai/kaskada/commit/76149b0fc0f175fbceb13f88086b2e5e417eb5c8)) - -* ref: move sparrow_plan into sparrow_instructions (#666) - -This moves sparrow_plan into sparrow_instructions. - -This will allow us to avoid a cyclic dependency when creating the trait -for user defined functions. ([`f6f597a`](https://github.com/kaskada-ai/kaskada/commit/f6f597abaef52c7cbbfc1fc6de6cf6dcd49afc19)) - -* bug: fix is_null to use not_ instead of neg (#663) ([`c58b1dd`](https://github.com/kaskada-ai/kaskada/commit/c58b1dde49f1b0004f339d8b80442a8c74893959)) - -* lint: Fix lint, mypy, etc. (#654) ([`30e2dd4`](https://github.com/kaskada-ai/kaskada/commit/30e2dd4c6240121d30d67245d37894611e0d9ecf)) - -* updated slackbot script (#631) - -* minor updates to notebook version, left the `le = -preprocessing.LabelEncoder()` in there. -* lots of updates to the script version, including: -* swapping the labelEncoder for a json map lookup, which converts user -numbers in the model training set to Kaskada.AI slack userIds -* lots of `print()` debug statements that will be helpful to get this -going. we can remove them pre-demo. - * getting tokens/api-keys from the env - -also added the json data for the output lookup. - -changes are based off this script: -[examples/slackbot/run.py](https://github.com/kaskada-ai/kaskada/compare/main...esp/try_script#diff-2067ff038f2b64f5ce70205cd7274f93552230391a57fc6ea05cc2ff05ffe8f5) -which was working successfully yesterday, when sending single messages -from slack to completion. ([`568465f`](https://github.com/kaskada-ai/kaskada/commit/568465ff3f8d70ae709877c3598d1de0a527cc4c)) - -* Break the bot out into a script, fix a couple bits (#626) ([`90d3d9b`](https://github.com/kaskada-ai/kaskada/commit/90d3d9bc783b92407a30cf2135b34a98fc4e6c91)) - -* Update notebook per Eric's prep steps (#614) - -Co-authored-by: Eric Pinzur <2641606+epinzur@users.noreply.github.com> ([`50a27eb`](https://github.com/kaskada-ai/kaskada/commit/50a27eb0c9580c2d7c5068fea4fd5beb2a72f6c3)) - -* docs update code sample around creating/using session (#550) ([`6624cfa`](https://github.com/kaskada-ai/kaskada/commit/6624cfa97f10aef8f7d65b41069cdd2cb4dc36f9)) - -* ref: Introduce a class for golden tests (#608) - -This makes things a lot clearer than using the argument to determine how -the golden file should be produced. - -Change `json` to `jsonl` to reflect that it is line-delimited. ([`4ba4936`](https://github.com/kaskada-ai/kaskada/commit/4ba4936a549f34b97d648b70631a3d03580b0438)) - -* Update notebook to reflect what's currently possible (#591) - -This includes commented-out "desired state" lines - what's shown -*should* work with sparrow_py currently. ([`6db60f0`](https://github.com/kaskada-ai/kaskada/commit/6db60f04f159097bc49a97367cc9c39022b8b3e4)) - -* ref: Use a dataclass for execution options (#600) - -This reduces some duplication, in that we don't need to have the FFI -define a Python-compatible copy of the Rust execution options. Instead -we have it read straight from the documented dataclass. ([`39b07f9`](https://github.com/kaskada-ai/kaskada/commit/39b07f9ffadb702f7bdb0d5b417625508be14086)) - -* lint: Fix misc lint problems (#599) ([`3266ee4`](https://github.com/kaskada-ai/kaskada/commit/3266ee4acecf0cf505c131f8f8a031a7c3d977ef)) - -* added timestreams placeholder project (#597) - -project has been created on pipy already: -https://pypi.org/project/timestreams/ ([`b64122e`](https://github.com/kaskada-ai/kaskada/commit/b64122e35150f2a0324a3b6604310533999bc9a6)) - -* bug: correctly type-check user facing aggregation signatures (#587) - -and removes unnecessary split in `inst.rs` signatures. ([`0dcb5e5`](https://github.com/kaskada-ai/kaskada/commit/0dcb5e581b5a9002bfa8972062e1e43cc35a8a23)) - -* release: update python and sparrow version (#585) - -Based on current draft release: -https://github.com/kaskada-ai/kaskada/releases ([`1c4d568`](https://github.com/kaskada-ai/kaskada/commit/1c4d5689c65a5f61d3483ece43bea3be0fa64fb1)) - -* ref: Cleanup sources in Python (#581) - -Separate the different kinds of sources, so we have an `ArrowSource` for -PyArrow and Pandas based data. Default to taking an initial batch in the -constructor, so the schema can be inferred. ([`b54d20a`](https://github.com/kaskada-ai/kaskada/commit/b54d20abbb5b11342fcc2b423c89f20811c24499)) - -* ref: Switch to a global session (#579) ([`09fff6b`](https://github.com/kaskada-ai/kaskada/commit/09fff6ba1a061427586da13163e7056ad22c7906)) - -* removed redis destination (#542) - -we haven't supported this for a long time, lets remove it from the -codebase ([`786d566`](https://github.com/kaskada-ai/kaskada/commit/786d566a1fb61ef08339e861619fdb5e56637ed8)) - -* bug: fix default schema in inference for map/list (#577) - -Fixes the default schema for the `map` and `list` types in inference. -This isn't a good solution, as there's no guarantee that Arrow doesn't -change this behavior in the future. Ideally, we can figure out how to -plumb the user map type information through inference. But, it's -difficult because functions that produce `map` or `list` types need an -arbitrary naming/nullability that we define. - -Closes #576 ([`d5960e7`](https://github.com/kaskada-ai/kaskada/commit/d5960e753dcfb58d4bd78639c91ca1eb843b61b4)) - -* fix wren panic on failed complication (#571) - -Added test reproducing the issue described in #551. Found that PR #448 -probably introduced the bug that causes this issue. Updated the code to -fix the problem. ([`f16e0c6`](https://github.com/kaskada-ai/kaskada/commit/f16e0c68eb88fbe2b44b6466e1beef78f7825862)) - -* Convert raw data to Parquet, implement as much as possible with existing tooling. (#567) ([`887c4ee`](https://github.com/kaskada-ai/kaskada/commit/887c4ee5cb716c89f7d41c022a15d2723e7530b7)) - -* bug: fix non-generic conversions in string spread (#563) - -Fixes spots in string spread that weren't generic ([`2f45a40`](https://github.com/kaskada-ai/kaskada/commit/2f45a401ea51d549a52f294d9a9160b9b799cea3)) - -* python client download specific engine release (#564) ([`ab5a4dd`](https://github.com/kaskada-ai/kaskada/commit/ab5a4dde5c72a11820068431b93cc163175b8445)) - -* Stub out notebook for Slackbot demo (#560) - -Co-authored-by: Eric Pinzur <epinzur@gmail.com> ([`cd66b84`](https://github.com/kaskada-ai/kaskada/commit/cd66b84023d69110f09bca7e083eefbcd89af316)) - -* ref: Expose a QueryBuilder (#558) - -This is pretty ugly -- it has to do create a lot of fake locations and -create enums (like `ExprOp`) just to call into the existing AST -> DFG -compilation. We should definitely clean this up if we continue down the -path of using builders. ([`01b0d6c`](https://github.com/kaskada-ai/kaskada/commit/01b0d6c5084f978cadb78353a7bce1749c08cc38)) - - -## v0.5.1 (2023-07-26) - -### Build - -* build: More version upgrades (#557) - -The change to Lalrpop is supposed to provide faster builds. It also -seems to produce slightly better error messages. - -The chanegs to the toml files seem to be a formatting issue (how it -orders the fields). ([`4ebb48a`](https://github.com/kaskada-ai/kaskada/commit/4ebb48adce3182905dbbf417da37500230983873)) - -* build: update tonic versions (#555) ([`3c73199`](https://github.com/kaskada-ai/kaskada/commit/3c731994cadece3544a4478585dfc938b3acf9b9)) - -* build: use statically linked libssl (#546) - -We build our binaries on ubuntu:20 which uses libssl1.1 (through our -direct dependency of `reqwest`). Libssl is dynamically linked and with -systems moving to ubuntu:22 that has libssl3.0 our binary breaks. An -example is Google's Collab. - -We also build multiplatform linux docker image using `cross-rs`. -`cross-rs` currently builds for ubuntu:20 on their `master` branch and -there is currently an open PR -(https://github.com/cross-rs/cross/pull/973) to move to ubuntu:22. - -The proposed solution with this PR is to enable the feature on `reqwest` -that builds the libssl crate (and the libssl library) statically in the -sparrow binaries rather than relying on dynamic linking to pick the -system's libssl library. - -We are *not* moving our CI to use ubuntu:22 until there we have a -solution for building multiarch images on ubuntu:22 (through `cross-rs` -or otherwise). Otherwise, if we move to ubuntu:22 today with out any -other changes our docker image will break on linux on arm (anyone on a -Mac with an M chip running a docker container). - - - - -1. sparrow depends on `reqwest` which brings in libssl. -2. added an `if` condition on the release CI that we missed - - -I verified that the binaries - -Before: -``` -❯ ldd sparrow-main - linux-vdso.so.1 (0x00007fff56643000) - libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f3387ee8000) - libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f3383e00000) - libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3383a00000) - libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3387ec8000) - libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3384321000) - libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3383c1f000) - /lib64/ld-linux-x86-64.so.2 (0x00007f3387fa4000) - -``` - - -After - -``` -❯ ldd sparrow-main - linux-vdso.so.1 (0x00007ffc7d3f2000) - libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3989800000) - libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f398d9aa000) - libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3989b21000) - libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f398961f000) - /lib64/ld-linux-x86-64.so.2 (0x00007f398d9dd000) -``` - - -The final `release` binary size increases by 2MB - -Before: - -``` -❯ ls -lh sparrow-main --rwxr-xr-x 2 therapon therapon 85M Jul 24 13:09 sparrow-main - -``` - -After - -``` -❯ ls -lh sparrow-main --rwxr-xr-x 2 therapon therapon 87M Jul 24 13:06 sparrow-main - -``` ([`fafdf58`](https://github.com/kaskada-ai/kaskada/commit/fafdf581c6e9fe210f9e0c969df5b3ac99467cba)) - -* build: Upgrade Arrow, Parquet and Object Store (#491) ([`0591468`](https://github.com/kaskada-ai/kaskada/commit/0591468c415a1dbe96b52970ad9d0b7468512416)) - -* build: Upgrade Arrow, Parquet and Object Store ([`a27b61e`](https://github.com/kaskada-ai/kaskada/commit/a27b61e83412e99a7408daf3472e4ff11d87de00)) - -* build: Update to arrow 40 (#419) - -Recent versions of Arrow make it much easier to create custom -operations -- things like `array.unary(...)` and working with -buffers more easily. - -This upgraed was a bit painful since we were going through so -many versions. The biggest changes were the low level -operations to work with bits -- we can just iterate directly -now and no longer need our helper. - -Fields also got wrapped in an `Arc` to avoid inefficient deep -copies. Filed #417 and #418 to take advantage of some of these -new capabilities. ([`2258aa2`](https://github.com/kaskada-ai/kaskada/commit/2258aa21db1cc81acadb94120919beb82c3057dc)) - -* build: Update to arrow 40 - -Recent versions of Arrow make it much easier to create custom -operations -- things like `array.unary(...)` and working with -buffers more easily. - -This upgraed was a bit painful since we were going through so -many versions. The biggest changes were the low level -operations to work with bits -- we can just iterate directly -now and no longer need our helper. - -Fields also got wrapped in an `Arc` to avoid inefficient deep -copies. Filed #417 and #418 to take advantage of some of these -new capabilities. ([`271a488`](https://github.com/kaskada-ai/kaskada/commit/271a488b35e82df83c8aee859b4772f5b0714355)) - -* build: Don't ignore `main` (#399) - -This is a dangerous name to ignore -- basically any Java/Scala code will -be in a directory like `src/main` which will be entirely ignored by this -pattern. - -We should either ignore `/main` (if we really want to ignore it only at -the root level) or better yet change the configuration of `wren` to not -compile to `main`. ([`83c30a1`](https://github.com/kaskada-ai/kaskada/commit/83c30a1017a748b22af4595b0f3b67743b1b192c)) - -* build: Don't ignore `main` - -This is a dangerous name to ignore -- basically any Java/Scala code will -be in a directory like `src/main` which will be entirely ignored by this -pattern. - -We should either ignore `/main` (if we really want to ignore it only at -the root level) or better yet change the configuration of `wren` to not -compile to `main`. ([`f2310e5`](https://github.com/kaskada-ai/kaskada/commit/f2310e5ccd6a21b10e1fd396fabce1a37fe35456)) - -* build: update dependencies ([`193b8aa`](https://github.com/kaskada-ai/kaskada/commit/193b8aa014e7447691fbcc117fc0239024cd7992)) - -* build: try fixing the github action syntax ([`fe9ea38`](https://github.com/kaskada-ai/kaskada/commit/fe9ea380673fbadb9e7dad9aaa48941bd39bc1a2)) - -* build: add permissions to push to ghcr.io ([`bc50f04`](https://github.com/kaskada-ai/kaskada/commit/bc50f04a4cf268231a84c561d13ffbb81b9a5644)) - -* build: add package permissions to release ([`b17ddf9`](https://github.com/kaskada-ai/kaskada/commit/b17ddf989790cc19f4c8019b8985c702483e153d)) - -* build: leave the assets where they are ([`339d361`](https://github.com/kaskada-ai/kaskada/commit/339d361ea93869e278927cb84a4a62b791433cd8)) - -* build: fix dockerflie ([`2940cdf`](https://github.com/kaskada-ai/kaskada/commit/2940cdfe30f920e41273218af5d587c96132ae3a)) - -* build: variable references ([`19ed6d2`](https://github.com/kaskada-ai/kaskada/commit/19ed6d2e42fac3505b9279c0aaeb27bae253c12d)) - -* build: work on release drafter ([`76ade93`](https://github.com/kaskada-ai/kaskada/commit/76ade9362e933e8c4ed9b769fa7cfe01dac02abf)) - -* build: fix tag computation ([`3fac672`](https://github.com/kaskada-ai/kaskada/commit/3fac672add3d01f84c4bb8fb51c8d58473950530)) - -* build: set commitish to the sha ([`748ce18`](https://github.com/kaskada-ai/kaskada/commit/748ce188381827504907aaaf9f46e099262a794a)) - -* build: specify the tag correctly ([`c2a29c5`](https://github.com/kaskada-ai/kaskada/commit/c2a29c53bf28a89747a0bf33228ccc0bfe08afbc)) - -* build: determine current date ([`9a3e1e1`](https://github.com/kaskada-ai/kaskada/commit/9a3e1e1b58f5d159d6862cc8cccaef1c6a0e074c)) - -* build: attempt to fix docker build ([`8f23b05`](https://github.com/kaskada-ai/kaskada/commit/8f23b05af261b3e67345daa10fb6e5c804dec3d8)) - -* build: fix relative paths ([`8f0e85e`](https://github.com/kaskada-ai/kaskada/commit/8f0e85ef325b50449bfd2a5734ff627d5853840a)) - -* build: change cache-dependency-path ([`1db250a`](https://github.com/kaskada-ai/kaskada/commit/1db250a70c4bb50da33687f9c523168ed9fca335)) - -* build: remove invalid value ([`e6d1e64`](https://github.com/kaskada-ai/kaskada/commit/e6d1e6425befadf4c6b22031ae3dce9eaf81098f)) - -* build: Fix release drafter ([`1c30e04`](https://github.com/kaskada-ai/kaskada/commit/1c30e04c31de430bec37fb768a9670e76cb0b765)) - -### Ci - -* ci: kaskada only logs for s3 tests (#510) ([`e0287a6`](https://github.com/kaskada-ai/kaskada/commit/e0287a6c4a196f5d04cd21809fb045c8f6efb5ff)) - -* ci: Only retrieve kaskada logs (#480) - -The other service (Pulsar) is spammy and makes using the logs harder. ([`6deb30d`](https://github.com/kaskada-ai/kaskada/commit/6deb30d7bf9173477fcaa5c99d687d1203192358)) - -* ci: Only retrieve kaskada logs - -The other service (Pulsar) is spammy and makes using the logs harder. ([`f3f05e9`](https://github.com/kaskada-ai/kaskada/commit/f3f05e9a841ee6afc3fac5c80b6ec3b0dabb9270)) - -* ci(docs): run antora in this repo (#414) - -Closes: #397 - -Implements the steps as described in #397 ([`9d7aebf`](https://github.com/kaskada-ai/kaskada/commit/9d7aebf6c0da2a57d2bb53cd11e033849ad30e98)) - -* ci(docs): run antora in this repo ([`9d4c35c`](https://github.com/kaskada-ai/kaskada/commit/9d4c35ce6334d642ebcf5522597c659b6a14caad)) - -* ci(cla check): workaround for making cla check required (#401) - -Cla bot hangs when using it's action as required *and* have merge queue -enabled (https://github.com/finos/cla-bot/issues/210) - -As a workaround, adding a workflow to check for the `cla-signed` label -that is added by the bot once the CLA requirement is met. - -This workflow does *nothing* (skips) in the merge queue since there are -not labels or the ability to alter the merge queue PR being created -behind the scenes. - -This approach does have "back doors" so we may want to revisit -automating the CLA checks with another solution. - -As far as I can tell, we cannot wrap the cla-bot action itself since it -is programmatically generated by the app. ([`17aeaa2`](https://github.com/kaskada-ai/kaskada/commit/17aeaa269ea19272858e7471ee370f7911ed1d3b)) - -* ci(integration tests): testing condition for integration tests (#400) - -The skip condition for integration tests was using `true` instead of -`true` casing integration tests to always run - -NOTE: this PR *will* build and run integration tests due to the changes -being in the workflow file. ([`ad684cc`](https://github.com/kaskada-ai/kaskada/commit/ad684cc06acb1edf13fad06911c1368860c0b63c)) - -* ci(release): login and push release images to DockerHub (#398) - -Adds steps in CI to - -* login to dockerhub using out sustem account and token -* tag images with the appropriate registry `kaskadaio/engine` and -`kaskadaio/jupyter` with `latest` and release version -* pushes to dockerhub - -NOTE: I have manually pushed the current latest release for both engine -and jupyter images - -* https://hub.docker.com/r/kaskadaio/jupyter/tags -* https://hub.docker.com/r/kaskadaio/engine/tags ([`bbeda20`](https://github.com/kaskada-ai/kaskada/commit/bbeda20d47c0e20854719360fe30684f844da3f0)) - -* ci(cla check): workaround for making cla check required ([`a7ec058`](https://github.com/kaskada-ai/kaskada/commit/a7ec0580373669ba35779e5c6e89db7e8fefb0e9)) - -* ci(integtests): fix skip condition ([`373f2c1`](https://github.com/kaskada-ai/kaskada/commit/373f2c1e1dc3fd9450e422affae29964e74e5856)) - -* ci: debugging docker run ([`349aff2`](https://github.com/kaskada-ai/kaskada/commit/349aff296fb005acc566d21deace02f78caf8f1a)) - -* ci: debugging docker run ([`b0fa49f`](https://github.com/kaskada-ai/kaskada/commit/b0fa49fb20390063df47f52149e72079a90c93c1)) - -* ci: debugging docker run ([`28a8510`](https://github.com/kaskada-ai/kaskada/commit/28a85101893dae44e013bd23fede6904906a9c5e)) - -* ci: debugging docker run ([`fd65080`](https://github.com/kaskada-ai/kaskada/commit/fd65080ebd604b21e3288fc566f6f167e4955973)) - -* ci: debugging docker run ([`46eaa47`](https://github.com/kaskada-ai/kaskada/commit/46eaa471bc8697613b2127b6c54b83c725a5df6a)) - -* ci: debugging docker run ([`5a41afa`](https://github.com/kaskada-ai/kaskada/commit/5a41afa7d4ccc66fd0c05304a8dbde2c68b0aa3d)) - -* ci: debugging docker run ([`e4b8ef6`](https://github.com/kaskada-ai/kaskada/commit/e4b8ef662f716e8d6baba1e099708e7fd0d78973)) - -* ci: debugging docker run ([`04f3c7a`](https://github.com/kaskada-ai/kaskada/commit/04f3c7acd41e5406c9e34607dfe71c799d7944d7)) - -* ci: debugging docker run ([`9a8538a`](https://github.com/kaskada-ai/kaskada/commit/9a8538af9f69f79b53239e82031ed3edfe5ca1a3)) - -* ci: set executable permission on api.test ([`6ef52e0`](https://github.com/kaskada-ai/kaskada/commit/6ef52e079da4bf5e477456e02b84a608895f831d)) - -* ci: add characters at start and end of docker tag ([`02da680`](https://github.com/kaskada-ai/kaskada/commit/02da6808c9a91639e0a5fa0c6a89f7d310a046d1)) - -* ci: add permissions to werite to docker registry ([`3d9cc2d`](https://github.com/kaskada-ai/kaskada/commit/3d9cc2dff33fec14e0f1c91897fed2af31eba8b7)) - -* ci: print ci-bin folder contents ([`eca4ea6`](https://github.com/kaskada-ai/kaskada/commit/eca4ea6c4d834182503c78a1dd118d35cd9d5f2f)) - -* ci: print ci-bin folder contents ([`00ca6b9`](https://github.com/kaskada-ai/kaskada/commit/00ca6b9d6ba7186e772f5da9fd0e5b66359b4015)) - -* ci: move Dockerfile ([`e118d10`](https://github.com/kaskada-ai/kaskada/commit/e118d10e0094b685c653ad2b78c25b7c3406b0bf)) - -* ci: use ubuntu 20.04 for engine builds and release ([`ff64ca0`](https://github.com/kaskada-ai/kaskada/commit/ff64ca00ad69bcf4d1aa1c6338a63dc2ce7148fb)) - -* ci: add sources to docker build for docker file access ([`c7d8e6a`](https://github.com/kaskada-ai/kaskada/commit/c7d8e6a4a0ac1cc60eb7f222508e96316caca41f)) - -* ci: adds integration docker file ([`69f5bc0`](https://github.com/kaskada-ai/kaskada/commit/69f5bc0df97d2c7ff01f70d93fa422b681e78bda)) - -* ci: fix docker tag ([`18294cb`](https://github.com/kaskada-ai/kaskada/commit/18294cba36e5522c0ace752d1745699e8ed995b7)) - -* ci: fix docker tag ([`f8fb193`](https://github.com/kaskada-ai/kaskada/commit/f8fb19346edd22fd42e4ad0c7645c1c64c0702a2)) - -* ci: fix docker tag ([`50aeb9a`](https://github.com/kaskada-ai/kaskada/commit/50aeb9a005b0069561ec52c05b4de537f0e8bc02)) - -* ci: fix docker tag ([`75ffb8e`](https://github.com/kaskada-ai/kaskada/commit/75ffb8e7050d1467742701e9eb1a2dc5b4d23da3)) - -* ci: adds integration test CI workflow ([`953fe8a`](https://github.com/kaskada-ai/kaskada/commit/953fe8ab5d02786c1f273d79c6c36f18897988f1)) - -### Documentation - -* docs: Update Slice Filters Documentation (#519) - -Updates the documentation for the usage of the slice filtering. ([`0ca8805`](https://github.com/kaskada-ai/kaskada/commit/0ca88054e37fe7f072ad58dcb5a5fdf885982bc7)) - -* docs(beta): instructions for beta releases (#517) ([`fd03f39`](https://github.com/kaskada-ai/kaskada/commit/fd03f39ef7d3dd6a3d4860b90911c25ab98e084f)) - -* docs(getting-started): update queries (#425) - -* moves code in `examples` -* creates partial pages for fenl code that is reused for cli and -notebook -* we need to wrap the fenl code in order to add `%%fenl` for notebooks -(files prefixed with `nb`) and without `%%fenl` for cli (files prefixed -with `cli`) -* updated the more complex query to -1. Remove the queries dependency on `PageViews` table since we do not -provide data for that table (see #411) -2. Deal with a bug (will file separate issue) when binding `hourly()` to -a name `cadence` ([`921194c`](https://github.com/kaskada-ai/kaskada/commit/921194ca2797c6bbe82d91118ea165f447070817)) - -* docs(getting-started): update queries ([`00335b3`](https://github.com/kaskada-ai/kaskada/commit/00335b34a09c0c0cf669388fd04128da00d7179e)) - -* docs(installation): note on permissions and pip (#406) - -Closes: #233 - -Adds information on `pip install kaskada` on hosted platforms that my -give permission errors. ([`834fd01`](https://github.com/kaskada-ai/kaskada/commit/834fd01653592bea1a1a30b6deaa70243f3d67e6)) - -* docs(installation): note on permissions and pip ([`c031791`](https://github.com/kaskada-ai/kaskada/commit/c0317916cb3a422ba1f7f7f1ce5d8cfb060e74d8)) - -* docs: Update timelines notebook (#288) - -- Use smaller time range so the graphs are easier to read -- Include commands to save to HTML and SVG -- Generate separate images for introducing timelines ([`0ace5ce`](https://github.com/kaskada-ai/kaskada/commit/0ace5ce1cbe023d57bfa3f11411f241f2520eb03)) - -* docs: update to include readthedocs for clients (#356) - -Closes #266. ([`b5ddb9e`](https://github.com/kaskada-ai/kaskada/commit/b5ddb9e6a3740ebaa16ad85a1201d12a664a6532)) - -* docs: Add GCP Configuration to Loading Data (#354) - -Adds loading data to the docs. ([`b9a4057`](https://github.com/kaskada-ai/kaskada/commit/b9a4057311d5f4d04861201faf8504f48e1f4825)) - -* docs: Initial input/output page (#339) - -Create an initial list of supported sources and sinks. - -We should probably include the object store destination here, but this -is meant as a starting place so that we have a convenient place to link -when saying things like "Kaskada supports a variety of sources and -sinks". ([`9a38563`](https://github.com/kaskada-ai/kaskada/commit/9a38563aa1af6597e096a28ca8c0a9880bba0514)) - -* docs: Initial input/output page ([`0620082`](https://github.com/kaskada-ai/kaskada/commit/06200820beb875659cd3d91193d74d6261f9044d)) - -* docs: update Kaskada CLI docs with results (#337) - -Updates the Kaskada CLI hello world with the results of running the -sample queries. ([`4887f86`](https://github.com/kaskada-ai/kaskada/commit/4887f86ee37141c63cdfdcac7669ec6bc52714cb)) - -* docs: execute command cli (#334) - -Updates the cli docs to run the local `./` to match the other usages of -the cli. ([`0018048`](https://github.com/kaskada-ai/kaskada/commit/0018048592cf07991beec7111773aefee36956ea)) - -* docs: Kaskada CLI optional PATH (#333) - -Updates the docs to make setting the CLI Path to optional. ([`a6e5115`](https://github.com/kaskada-ai/kaskada/commit/a6e511582d93af37ee8dfa613debfc6d340bef52)) - -* docs: extra ` in CLI onboarding (#332) - -Update docs to remove an extra `. ([`6a61292`](https://github.com/kaskada-ai/kaskada/commit/6a61292126eb7717bd988169509e317444cd6d5d)) - -* docs: cli echo path fix (#331) - -Updates the hello world cli to use the correct echo path command. ([`e91a0c7`](https://github.com/kaskada-ai/kaskada/commit/e91a0c7a11970c728625405be718f8ecf15945be)) - -* docs: update Kaskada CLI docs with results ([`5a0dce2`](https://github.com/kaskada-ai/kaskada/commit/5a0dce2c84b613d59bf14885e302a91f4e2cc3b2)) - -* docs: execute command cli ([`d412929`](https://github.com/kaskada-ai/kaskada/commit/d412929e8d77ccd0c5654c510b992daaaf97c258)) - -* docs: extra ` in CLI onboarding ([`7d758f8`](https://github.com/kaskada-ai/kaskada/commit/7d758f82607b554e796ccd078ca7a759ef18a852)) - -* docs: cli echo path fix ([`419d99e`](https://github.com/kaskada-ai/kaskada/commit/419d99eea89c2fdd8e0f84bbe7c54183e17617e5)) - -* docs: Update timelines notebook - -- Use smaller time range so the graphs are easier to read -- Include commands to save to HTML and SVG -- Generate separate images for introducing timelines ([`c5730b6`](https://github.com/kaskada-ai/kaskada/commit/c5730b66b041d01ec6a15860658ac66a34772906)) - -* docs: Further refine the timelines notebook - -- [x] Allow per-timeline data -- [x] Handle categorical data (and fix image) -- [x] Render continuous arrow to the right - -Next steps -- [ ] Use per-timeline data to generate remaining images -- [ ] Attempt to use different colors/marks for different entity types - -Deferred - -- (Not currently possible) Show vertical cursor across plots (highlight - continuous value at the same time) -- (Not currently possible) Show all points on a vertical line for - continuous timelines. ([`e721300`](https://github.com/kaskada-ai/kaskada/commit/e72130023b09f326eca9ccbffe658a38b98e200d)) - -* docs: Add example based on timeline presentation - -This currently has a partial implementation of timeline visualization -(with some rough edges identified in the notebook) to be worked on. - -Once complete this notebook can be used to generate the SVGs (and an -embeddable version) of the timeline examples. ([`766dd4d`](https://github.com/kaskada-ai/kaskada/commit/766dd4d03e39cc1477cf1321c0692f4bb1ca7685)) - -* docs: add a getting started page ([`924e7df`](https://github.com/kaskada-ai/kaskada/commit/924e7df51bddd377982599b43dcbb5e1d9e5d198)) - -* docs: update readme ([`cbf1851`](https://github.com/kaskada-ai/kaskada/commit/cbf18516c95b17f83880e30d1321d79da12b30b9)) - -* docs: change source code language to fenl ([`d1f4ada`](https://github.com/kaskada-ai/kaskada/commit/d1f4adacbbe43b37f689b4400a9015b131e9640a)) - -* docs: fixes titles and updates quick start ([`5c334ab`](https://github.com/kaskada-ai/kaskada/commit/5c334ab2973551968679bf2758d4c289bde42bc9)) - -* docs: comment out non-working collab tutorials ([`bbbc935`](https://github.com/kaskada-ai/kaskada/commit/bbbc935bcdf4d9d0c61e67ac71217bceb50cb17d)) - -* docs: kaskada in jupyter quick setup ([`49d5af8`](https://github.com/kaskada-ai/kaskada/commit/49d5af8edec33f20c85ee7ef9f9038222a323917)) - -### Feature - -* feat: Use new hashing (#545) - -This uses the new Hasher based implementation, that should be faster -(avoids re-allocating the buffer) and supports structs. - -This closes #211. -This closes #462. -This closes #525. - ---------- - -Co-authored-by: Eric Pinzur <epinzur@gmail.com> -Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com> ([`dd2136d`](https://github.com/kaskada-ai/kaskada/commit/dd2136dd9affc40cbf03243dc25f118b385df4f6)) - -* feat: Initial partitioned execution (#528) - -This introduces the key components of partitioned execution. - -- `sparrow-scheduler` provides functionality for managing the separate -pipelines within the query plan and morsel-driven parallelism. It -managing a thread-pool of workers pinned to specific CPUs pulling tasks -from local queues. -- `sparrow-transforms` will provide implementations of the "transforms" -(project, select, etc.) and a pipeline for executing the transforms. -- `sparrow-execution` will pull everything together to provide -partitioned execution. - -This is part of #409. ([`71bfc2c`](https://github.com/kaskada-ai/kaskada/commit/71bfc2ca4ae554436ec42dd3a3f478d307a21eea)) - -* feat: add unlatched map spread and largeutf8 spreads (#529) - -Adds unlatched map spread to the merge operation, which allows us to -have non-stateful `DataType::Map` types in `merge`. - -Snuck in support for `LargeUtf8`. ([`74ed812`](https://github.com/kaskada-ai/kaskada/commit/74ed812ad667e050e72c77f93c63b0c63702c31a)) - -* feat: support first and last non-windowed aggregations over DataType::Map (#540) - -Support non-windowed aggregations `first` and `last` over map types. ([`a57eb1b`](https://github.com/kaskada-ai/kaskada/commit/a57eb1b4f84eb661c039e4917b981f2f378bbb4a)) - -* feat: Change catalog to produce asciidoc (#537) ([`968dbc6`](https://github.com/kaskada-ai/kaskada/commit/968dbc6be50e2ca6b40e3630e4dafba09bfee1b6)) - -* feat: Add serde support for arrays (#543) - -Also adds tests for `ArrayRef` and `MapArray` serialization. ([`58c7351`](https://github.com/kaskada-ai/kaskada/commit/58c735179fb414d084e9ae108efbf8a87ac208fb)) - -* feat: support more types for get evaluator for maps (#532) - -Uses get index kernels to simplify evaluator types. Supports -`Boolean/String/Primitive` types for `get` on maps. - -Part of https://github.com/kaskada-ai/kaskada/issues/494 ([`1037a91`](https://github.com/kaskada-ai/kaskada/commit/1037a9100e0dd32c1683135ee863b8ec8ec8f418)) - -* feat: add `get` function for maps (for string -> primitive) (#500) - -Adds the `get` function for maps for string and large_string to -primitive types. - -Further additions can support more types. See -https://github.com/kaskada-ai/kaskada/issues/494 for task list - -Testing: -* verified that the sample map data (with a largeutf8) produces results -as expected. ([`c700afe`](https://github.com/kaskada-ai/kaskada/commit/c700afe114b6bac4d2bd92659a9438f395f36223)) - -* feat: Use object store for rocksdb and debugging (#503) - -This uses `object_store` for uploading/downloading snapshots and the -query plan and flight record (debugging) information. - -This removes the `s3` module, the `S3Helper` and the direct dependencies -on AWS. - -This is part of #465. - ---------- - -Co-authored-by: Eric Pinzur <epinzur@gmail.com> -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`5728ab8`](https://github.com/kaskada-ai/kaskada/commit/5728ab88f8e4ce31eca2011241f8027a2e32f386)) - -* feat: Use object_store to write files (#492) - -Also introduces paged file output. - -This does a hacky CSV write by buffering a batch at a time. - -This is related to #486. -This is part of #465. -This is part of #466. ([`b0c86bf`](https://github.com/kaskada-ai/kaskada/commit/b0c86bfa243ea825241614a210d22eefa37abf73)) - -* feat: Use object_store to read prepare inputs (#495) - -For CSV, this uses object store to copy the file to local disk, since we -need to infer the schema from the entire file, and the CSV inference -doesn't support a streaming mode. - -For Parquet, this uses streaming, async reads. - -This is part of #465. - -This also introduced `ObjectMetaExt` to make it possible to get a hash -of the etag. ([`e614bea`](https://github.com/kaskada-ai/kaskada/commit/e614bea8e15e47abe62cf272cd6b6f9e2bbe86f6)) - -* feat: support type inference for map<k,v> (#482) - -Adds type inference for map types. Does not yet implement any functions -for maps. ([`9c70288`](https://github.com/kaskada-ai/kaskada/commit/9c7028841c8fe7fb7d93ce9053092d11fb89fb8c)) - -* feat: add map type inference - -this adds support for map<k,v> type parsing in the grammar and -inference ([`95ed8e5`](https://github.com/kaskada-ai/kaskada/commit/95ed8e5f4dfb469235eb873e282bd2431081cec8)) - -* feat: Use object_store to read prepare inputs - -For CSV, this uses object store to copy the file to -local disk, since we need to infer the schema from the -entire file, and the CSV inference doesn't support a -streaming mode. - -For Parquet, this uses streaming, async reads. - -This is part of #465. - -This also introduced `ObjectMetaExt` to make it possible to get a -hash of the etag. ([`079cc5c`](https://github.com/kaskada-ai/kaskada/commit/079cc5cd5aadd01dab70f1aa9b7e4dc3c7fb5510)) - -* feat: Use object_store to write files - -Also introduces paged file output. - -This does a hacky CSV write by buffering a batch at a time. - -This is related to #486. -This is part of #465. -This is part of #466. ([`7b81dc4`](https://github.com/kaskada-ai/kaskada/commit/7b81dc477f93154fafb0abf30c2e17ffb2831c5a)) - -* feat: Kafka Backed Sources API Proposal (#458) - -# API Proposal - -Adds Kafka backed sources to the API. Most of the configurations are -based on the Rust -[client](https://docs.rs/kafka/latest/kafka/consumer/struct.Builder.html). ([`02144bd`](https://github.com/kaskada-ai/kaskada/commit/02144bd2c7b6dc0d43ece474302a3f68581f80cc)) - -* feat: Use metadata for retrieving the schema (#479) - -This is part of #465. - -This also simplifies the `ObjectStore` API to hide the `ObjectStoreKey`. ([`250ab5b`](https://github.com/kaskada-ai/kaskada/commit/250ab5bafce7e00033e310190cffa53a353b2d7a)) - -* feat: expression evaluation for new plans (#463) - -This introduces the basic evaluator mechanisms for the new physical -plans. As part of this, some aspects of the physical expression -representation changed. Specifically, allowing a function call to have -zero or more literal arguments allowed every expression to be "simple". - -This also copied most of the existing evaluators into the new API. This -was done by copying to avoid overhead involved in refactoring. The plan -is to get the new runtime path based on these working (and passing the -same tests) and then delete the old path. - -This doesn't copy over some of the scalar functions (comparisons) or all -of the time functions. Those can be ported over in the future once the -runtime is in place. - -This also doesn't copy over any stateful operations (aggregations) yet -since aggregation may need to use a different approach to interface with -the physical plans. ([`70b4fc9`](https://github.com/kaskada-ai/kaskada/commit/70b4fc90eb5401d9225f1826d5db1b987226f951)) - -* feat: Use metadata for retrieving the schema - -This is part of #465. - -This also simplifies the `ObjectStore` API to hide the `ObjectStoreKey`. ([`7c2bec5`](https://github.com/kaskada-ai/kaskada/commit/7c2bec573ec0626a4ac435e9cb18fade8e4b2f0d)) - -* feat: Prepare directly to object stores (#475) - -This is part of #465 and serves as the first example of using -`object_store` and the async Parquet writer to write directly to object -stores. ([`8dbc359`](https://github.com/kaskada-ai/kaskada/commit/8dbc35934faee4ea746bb9f6581495981e089033)) - -* feat: Use object_store for metadata (#476) - -This is part of #465. - -This uses `object_store` to retrieve the metadata files. Additionally, -it uses a `select_all` so that all metadata files are read concurrently. ([`74e6299`](https://github.com/kaskada-ai/kaskada/commit/74e629970449b38dc46a152eb7879279c122c44f)) - -* feat: Use object_store for metadata - -This is part of #465. - -This uses `object_store` to retrieve the metadata files. Additionally, -it uses a `select_all` so that all metadata files are read concurrently. ([`9220e7d`](https://github.com/kaskada-ai/kaskada/commit/9220e7dec994f0f190c7a19928440c007fa939ad)) - -* feat: Prepare directly to object stores - -This is part of #465 and serves as the first example of using -`object_store` and the async Parquet writer to write directly to -object stores. ([`0665136`](https://github.com/kaskada-ai/kaskada/commit/0665136ca963a1db54dfe10820524081ce5c7d2f)) - -* feat: Read directly during compute (#471) - -This is part of #465 -- specifically, reading directly using -`object_store` during compute. ([`7858a62`](https://github.com/kaskada-ai/kaskada/commit/7858a62bc26c4ffd2451336d6d4dee82bd393fab)) - -* feat: Read directly during compute - -This is part of #465 -- specifically, reading directly using -`object_store` during compute. ([`604226d`](https://github.com/kaskada-ai/kaskada/commit/604226d25530db90a2f81c8324443c0f08a95d26)) - -* feat: use explicit type variable in signatures (#457) - -Step 1 of many to support generic types for collections. - -Adds type variable struct to signatures. - -Next step supports nested generics, like `Map<K,V>` ([`8e86e21`](https://github.com/kaskada-ai/kaskada/commit/8e86e21043ce9af7cfb2e7cbba74314d2d440539)) - -* feat: expression evaluation for new plans - -This introduces the basic evaluator mechanisms for the new physical -plans. As part of this, some aspects of the physical expression -representation changed. Specifically, allowing a function call to -have zero or more literal arguments allowed every expression to be -"simple". - -This also copied most of the existing evaluators into the new API. -This was done by copying to avoid overhead involved in refactoring. -The plan is to get the new runtime path based on these working (and -passing the same tests) and then delete the old path. - -This doesn't copy over some of the scalar functions (comparisons) or -all of the time functions. Those can be ported over in the future once -the runtime is in place. - -This also doesn't copy over any stateful operations (aggregations) yet -since aggregation may need to use a different approach to interface with -the physical plans. ([`7128668`](https://github.com/kaskada-ai/kaskada/commit/712866859d0f19bb7e5f7fa2233f3b7d6e51f0fd)) - -* feat: Introduce a Batch wrapper - -Currently, we use a few different batches in different places during -execution. This doesn't yet replace any of those, however it introduces -a single batch representation that supports the multiple uses. This is -based on the batch used in a prototype that plumbs a single kind of -batch everywhere in execution. - -Future PRs will update existing code and/or pull in prototype code using -the Batch, with the goal of replacing the different batch -representations. ([`5387ea8`](https://github.com/kaskada-ai/kaskada/commit/5387ea8ad0634831094c485c09eddefc9b5d5ebc)) - -* feat: materialization API sparrow impl (#388) - -Implements the `Start, Get, and Stop` API for materializations. - -This will allow users to interact with materializations through Wren -(and subsequently through python in jupyter notebooks). ([`0061770`](https://github.com/kaskada-ai/kaskada/commit/0061770915668f56b5a40be44fd1ca412ce6e59f)) - -* feat: introduce pipeline scheduler (#413) - -This is part of #409. - -Introduces `Pipeline` information to the physical plan. This indicates -which steps are part of a linear sequence, and should (ideally) be -executed together. - -Also implements a pipeline "scheduler" to determine the pipeline for -each step, in a new `sparrow-backend` crate. As the physical plan is -built-up, the code should go in this "compiler backend" package, which -can own optimization and conversion of logical plans to physical plans. ([`6f88d31`](https://github.com/kaskada-ai/kaskada/commit/6f88d318ca26b4c93e7822983a628788a28b676b)) - -* feat: introduce pipeline scheduler - -This is part of #409. - -Introduces `Pipeline` information to the physical plan. This indicates -which steps are part of a linear sequence, and should (ideally) be -executed together. - -Also implements a pipeline "scheduler" to determine the pipeline for -each step, in a new `sparrow-backend` crate. As the physical plan is -built-up, the code should go in this "compiler backend" package, which -can own optimization and conversion of logical plans to physical plans. ([`07f69e0`](https://github.com/kaskada-ai/kaskada/commit/07f69e06b33d89b605c1a7c4a94800196942b8d4)) - -* feat: introducing physical plans (#410) - -This is part of #409. ([`165a426`](https://github.com/kaskada-ai/kaskada/commit/165a4261b50357db38d9c3af1815dfca63349c0e)) - -* feat: introducing physical plans - -This is part of #409. ([`de8721f`](https://github.com/kaskada-ai/kaskada/commit/de8721f96a7e21b35463df5d30b4724df49736ad)) - -* feat: Remote Session Improvements (python) (#395) - -# Remote Session Improvements - -Updates the python client to support a remote session and adds the docs -to configure it. ([`a76693c`](https://github.com/kaskada-ai/kaskada/commit/a76693cad49a27b5cf5affaad050fbc40f2ce63e)) - -* feat: real-time streaming poc from cli (#366) - -This adds a materialize command that allows creating a long-lived -process from the cli. - -This is not stateful yet - control-c will close the stream and won't -start back up where you stopped. Since we currently `ack` all messages -on read, any new materializations will only read new data. ([`78c10f2`](https://github.com/kaskada-ai/kaskada/commit/78c10f2ed654c04be9bae97082c12d58129d42f9)) - -* feat: Kaskada Health Checks + Auto Recovery for Python (#254 / #267) (#373) - -# Description - -Adds health checks to the Python client and improves overall code -syntax. - -## Changes - -* Adds `grpcio-health-checking` to the Python `pyproject.tml`. -* Updates the pylint max line to 200 (easier to read) -* Replaces `api_utils.run_subprocess` with a `KaskadaLocalService` and a -`SubprocessFactory`. -* Replaces `api_utils.check_socket` with an actual health check. -* Updated subprocess runs to synchronously terminate with the `stop()` -method. -* Add a keep alive watcher to automatically recover from failure. -* Update the connection retry logic from the session to the client. -* Create a `LocalSession` object to wrap around the Kaskada services to -enable restarting. -* Updates client docs and organization -* Adds a `HealthCheckClient`. -* Adds a `HealthCheckServicer`. -* Adds a `HealthCheckWatcher`. ([`a91566e`](https://github.com/kaskada-ai/kaskada/commit/a91566e2622d18cad99b8506e633c462b61c6e28)) - -* feat: Kaskada Health Checks + Auto Recovery for Python (#254 / #267) ([`0b146c6`](https://github.com/kaskada-ai/kaskada/commit/0b146c6b4a91303195c48060669eab60c5697205)) - -* feat: add fenlmagic extension loaded message (#305) (#340) - -Closes #305. - -<img width="464" alt="Screenshot 2023-05-08 at 5 45 43 PM" -src="https://user-images.githubusercontent.com/15032894/236953606-48c02e42-c773-4bf9-8e50-d4960d7850eb.png"> ([`91b0f15`](https://github.com/kaskada-ai/kaskada/commit/91b0f152ac3e017b154a7ee70a3cda82e4f4830f)) - -* feat: Re-enable the QFR tool ([`fd92859`](https://github.com/kaskada-ai/kaskada/commit/fd928593cac35b4c919815cf9fa1618a8109bb6b)) - -* feat: Re-introduce generalized Flight Recorder - -Remaining work: -- [ ] Fix or remove broken sparrow code -- [ ] Update chrome tracing to use new protobufs -- [ ] Support for "top-level" metrics (not associated with an activity) -- [ ] Add a few more tests ([`98b6c53`](https://github.com/kaskada-ai/kaskada/commit/98b6c533a4c0150b78863df9774496e4c358d95e)) - -### Fix - -* fix: clippy warnings in collection_tests (#496) ([`119c15b`](https://github.com/kaskada-ai/kaskada/commit/119c15b1deb7eec7d1f4e18eb96790e470ce9366)) - -* fix: clippy warnings in collection_tests ([`b94e3ae`](https://github.com/kaskada-ai/kaskada/commit/b94e3ae2399f9281a96db3713bdfe1fb33109874)) - -* fix: feature flags in main (#452) ([`8241504`](https://github.com/kaskada-ai/kaskada/commit/824150422db6c16f4914f28eae23b156af35eded)) - -* fix: feature flags in main ([`d8efb0d`](https://github.com/kaskada-ai/kaskada/commit/d8efb0d8154a2bd6ec09ee8244c5805df377caee)) - -* fix: typo in error status ([`681e558`](https://github.com/kaskada-ai/kaskada/commit/681e55895693a877d106c26f4bb81b5844a29f1a)) - -### Test - -* test: add ignored duplicate row test (#456) - -https://github.com/kaskada-ai/kaskada/issues/524 ([`085c3a0`](https://github.com/kaskada-ai/kaskada/commit/085c3a0dc36fd9a2e3c4d092931d4591f259a8a1)) - -* test: Use gproto matchers for schemas (#460) - -This uses a `gproto.Equal` matcher for the primitive schemas rather than -just relying on them being equal. - -It turns out, that protocol buffers have some "hidden" fields and won't -always be actually equal (according to gomega's `Equal` matcher). - -For instance -- printing a message before the assertion definitely -causes it to fail. It seems like other cases may also cause it to fail -(flakiness we were seeing after some other changes). - -We should probably switch to using this anywhere we were matching -protobufs. ([`cce761c`](https://github.com/kaskada-ai/kaskada/commit/cce761cceb3300ea6acfb66181ab31fbb0eab736)) - -* test: Use gproto matchers for schemas ([`978f38d`](https://github.com/kaskada-ai/kaskada/commit/978f38d857a720cd87a9302898dbeb5873e0d79c)) - -* test: adds missing method impls for test materialization clients ([`0aa0874`](https://github.com/kaskada-ai/kaskada/commit/0aa0874c591f1bdfaca6e23d85fe21b780f83362)) - -### Unknown - -* engine release 0.10.0 (#554) ([`c186ae9`](https://github.com/kaskada-ai/kaskada/commit/c186ae924d22268247571bdf33e143c66e7579a7)) - -* added docs for installing via helm (#530) - -moves `installing` to its own sub-menu. ([`8c9a02b`](https://github.com/kaskada-ai/kaskada/commit/8c9a02b05410eb505925d8e16c2a89f888df15a9)) - -* moved helm chart to new repo (#539) - -did this to use the standard helm-chart releasing tools. - -you can now do: -``` -helm repo add kaskada https://kaskada.io/helm-charts/ -helm repo update -helm search repo kaskada -``` - -and get back: -``` -NAME CHART VERSION APP VERSION DESCRIPTION -kaskada/kaskada-canary 0.0.2 Kaskada is a query engine for event-based (time... -``` - -Amazing! ([`2cc43e3`](https://github.com/kaskada-ai/kaskada/commit/2cc43e3ea0707f727e530cbaefa9b6c8b7846096)) - -* return actual error instead of 'internal error' (#541) ([`74c050b`](https://github.com/kaskada-ai/kaskada/commit/74c050b0b1621f305da18a847e4df308bde657cc)) - -* Python 0.5.1 Version Bump (#531) - -Bump minor version for the Python release. ([`a387993`](https://github.com/kaskada-ai/kaskada/commit/a387993938915a94409a2f549833667c8abd5763)) - -* Entity Key Filter Integration Test (#520) (#521) - -Adds a test for the entity key filter ([`da9eac9`](https://github.com/kaskada-ai/kaskada/commit/da9eac982063cdf05a8924110ea4f43c13b3dd7a)) - -* draft: various helm chart improvements (#464) - -* fix running without object storage (confirmed via test in EKS) -* add access-key/secret-id support for AWS S3 access (confirmed via test -in EKS) -* progress on AWS IRSA s3 access -* we need to make a code change to wren (and maybe sparrow) before I can -confirm that IRSA access is working. See #527 - -fixes: #427 ([`48cef56`](https://github.com/kaskada-ai/kaskada/commit/48cef565292019ce275e3087b7964943c7ab33b3)) - -* updated versions for release (#523) ([`1421def`](https://github.com/kaskada-ai/kaskada/commit/1421def1cab6c563480550a65d8f23332c7b8613)) - -* engine beta release fixes (#516) - -* create [beta release on -GitHub](https://github.com/kaskada-ai/kaskada/releases/tag/engine%40v0.9.0-beta.1) -* pushed docker images for engine and jupyter for both GitHub and -DockerHub -* https://github.com/kaskada-ai/kaskada/pkgs/container/kaskada%2Fengine -* https://github.com/kaskada-ai/kaskada/pkgs/container/kaskada%2Fjupyter -* -https://hub.docker.com/layers/kaskadaio/engine/v0.9.0-beta.1/images/sha256-b5496497e718f557eade6a15e24435005cc56066a22146c8767179b2719809c6?context=explore -* -https://hub.docker.com/layers/kaskadaio/jupyter/v0.9.0-beta.1/images/sha256-8ccca38221d1b0e3a6dadac7ec785c7a5db0f0aa82a00c7b0bf29d71a776a43f?context=explore - -Will follow up with a small PR on documentation. ([`9fa69fc`](https://github.com/kaskada-ai/kaskada/commit/9fa69fc896bf6fced2ce56d7d170572f60c8d89e)) - -* Python client beta release (#515) - -[Resulting -release](https://github.com/kaskada-ai/kaskada/releases/tag/python%40v0.5.0-beta.1) ([`59a2096`](https://github.com/kaskada-ai/kaskada/commit/59a2096a217741ffb537549c78e860e9ec9d498c)) - -* skips pypi for beta release flow (#511) ([`810c255`](https://github.com/kaskada-ai/kaskada/commit/810c255b9dec618813ebcb75b5dbf81458f43169)) - -* adds beta release ci flow (#509) - -Adds a beta GitHub release flow. - -The beta release does not have any comments on the release page for now. ([`ffa05be`](https://github.com/kaskada-ai/kaskada/commit/ffa05bedc28aae5c08c53b13f302d7b7dd8b523b)) - -* fixed gcs file loading and query (#507) - -resolves #504 ([`b4649a8`](https://github.com/kaskada-ai/kaskada/commit/b4649a8f2d759d28da5f60ac2a759f5ac5dfd88e)) - -* Merge branch 'main' into fix_gcp ([`31dea43`](https://github.com/kaskada-ai/kaskada/commit/31dea43faf87d67b30b7fd25a1c1938e2f44d994)) - -* adds beta release ci flow ([`3955f43`](https://github.com/kaskada-ai/kaskada/commit/3955f43bf3bfe4873ad3679c653149b3fd162e27)) - -* lint: Run `clippy --fix` (#506) - -This fixes warnings appearing in the new version of Rust. ([`b8317af`](https://github.com/kaskada-ai/kaskada/commit/b8317afde25412691823fec1c2bae01e9de6b267)) - -* fixed gcs file loading and query ([`2ef5dac`](https://github.com/kaskada-ai/kaskada/commit/2ef5dacaa4240f04413c2c9dc5efa4aec4faf15d)) - -* lint: Run `clippy --fix` - -This fixes warnings appearing in the new version of Rust. ([`95f823e`](https://github.com/kaskada-ai/kaskada/commit/95f823e2269534e80a5b044a3f531cdf74a7f169)) - -* ref: Cleanup object_store code a bit (#501) - -Move `upload` and `download` to the root `ObjectStoreRegistry`. - -Move `object_store_key` to a separate file and make that an -implementation detail. - -This is part of cleanup after most of #465. ([`b05855f`](https://github.com/kaskada-ai/kaskada/commit/b05855ff63a643d506fef1d80aa233db3234283d)) - -* ref: Cleanup object_store code a bit - -Move `upload` and `download` to the root `ObjectStoreRegistry`. - -Move `object_store_key` to a separate file and make that an -implementation detail. ([`6fe96c9`](https://github.com/kaskada-ai/kaskada/commit/6fe96c93a1de473042af3aed6477719e1544ad86)) - -* docs(install) updates instructions for installation (#498) - -* moves the commands into `install/install.sh` file -* updates installation instructions in our docs ([`f9fec6d`](https://github.com/kaskada-ai/kaskada/commit/f9fec6db236119040124990529e61402a42e1d36)) - -* docs(install) updates instructions for installation ([`a2b3548`](https://github.com/kaskada-ai/kaskada/commit/a2b3548d1daee2a63c297db768bc2d627d483206)) - -* Merge branch 'main' into object_store_compute_write ([`c719314`](https://github.com/kaskada-ai/kaskada/commit/c7193142ef9a4e3737de75b10e5ffeedda155556)) - -* ensure wren always sends paths with trailing slash ([`6bab1e5`](https://github.com/kaskada-ai/kaskada/commit/6bab1e5f4554d52c8c69b9cf8d2622126abe9a57)) - -* Merge branch 'main' into object_store_compute_write ([`88de931`](https://github.com/kaskada-ai/kaskada/commit/88de931e2df5b0d073baf3326dde1f86dcb609f4)) - -* Merge branch 'main' into object_store_compute_write ([`39b4bd9`](https://github.com/kaskada-ai/kaskada/commit/39b4bd9ff036ae127d986524b9121e1fbe268b8d)) - -* comments ([`12c93dc`](https://github.com/kaskada-ai/kaskada/commit/12c93dc4edf3febcc00b997304162cf7281c6595)) - -* Merge branch 'main' into object_store_during_prepare ([`ad9f769`](https://github.com/kaskada-ai/kaskada/commit/ad9f7697ee247ad766e0d0f9d5f301b65a21f507)) - -* typo ([`c455879`](https://github.com/kaskada-ai/kaskada/commit/c4558792bbfe914abd6db0f4af2bdc3fc51141b9)) - -* comments ([`2b2eae0`](https://github.com/kaskada-ai/kaskada/commit/2b2eae00164119d1eacd99a0b1860b835ff3cfa5)) - -* comments ([`1e3ae85`](https://github.com/kaskada-ai/kaskada/commit/1e3ae8535db5b4a3e8d67a4a2e87518992f5122e)) - -* review comments ([`7aa169e`](https://github.com/kaskada-ai/kaskada/commit/7aa169ede4b41186a53300c63047bacfda8ca91b)) - -* fmt ([`f294af8`](https://github.com/kaskada-ai/kaskada/commit/f294af8c75fa2ace0241ef6170344be2ff78af56)) - -* Update fenl type naming ([`8827f00`](https://github.com/kaskada-ai/kaskada/commit/8827f0048ec81dbae9a23dc44f26c8beef7e9203)) - -* Merge branch 'main' into object_store_compute_write ([`82a1e92`](https://github.com/kaskada-ai/kaskada/commit/82a1e9271b1b1503001410ee90aab9b769888468)) - -* #484 - Python Client Object Store Configs (#489) - -# Python Client Object Store Configs - -Adds the ability to configure the object store for the manager by -updating the local session object. - -## Example Usage (Local) -```python -from kaskada.api.local_session.object_store import ObjectStoreType -from kaskada.api.local_session.object_store import ObjectStoreConfig - -my_store_type = ObjectStoreType.LOCAL -my_config = ObjectStoreConfig(my_store_type, "/Users/kevin.nguyen/Github/kaskada/examples2") - -from kaskada.api.session import LocalBuilder -session = LocalBuilder()\ - .object_store(my_config)\ - .build() -``` - -## Example Usage (S3) -```python -my_store_type = ObjectStoreType.S3 -my_config = ObjectStoreConfig(\ - my_store_type, \ - "/my-prefix-path", \ - bucket = "example-bucket") -``` ([`ad103fe`](https://github.com/kaskada-ai/kaskada/commit/ad103fe90a95878529b70df9b64336a7dc91471f)) - -* improved reliability of integration tests (#490) - -resolves #474 - -progress on #473, #459 ([`f626c90`](https://github.com/kaskada-ai/kaskada/commit/f626c906f9eae5336d4364cc35845d655b36d102)) - -* formatting ([`f650285`](https://github.com/kaskada-ai/kaskada/commit/f650285a9f790df69bfa186ddb02706c94cdd978)) - -* Merge branch 'main' into integration/flakiness ([`8fe82b5`](https://github.com/kaskada-ai/kaskada/commit/8fe82b5974103249063e6d88c20f0b0c35c04fa5)) - -* code review comments ([`b05b76b`](https://github.com/kaskada-ai/kaskada/commit/b05b76bb269d2a9aa36c2d0a0aa9ab512c85b668)) - -* Merge branch 'main' into feature/484-python-object-store ([`ddff6c2`](https://github.com/kaskada-ai/kaskada/commit/ddff6c28084a16a0cb8fabf3cb202faefb356a0f)) - -* improved reliability of integration tests ([`4acddbe`](https://github.com/kaskada-ai/kaskada/commit/4acddbe04e2bddb4ea577927fc69586e35cd9c5f)) - -* Merge branch 'main' into feature/484-python-object-store ([`8a35563`](https://github.com/kaskada-ai/kaskada/commit/8a35563eeef5498657e41de5b5d9647fa6062973)) - -* code review comments ([`c433a7b`](https://github.com/kaskada-ai/kaskada/commit/c433a7b5bc4b9b62c8e72cf93c696d9046d4b80d)) - -* fixes wren unit test flakiness (#488) - -resolves #477 - -Ran `go run github.com/onsi/ginkgo/v2/ginkgo --until-it-fails ./...` -until over 500 test results in a row worked without failure ([`4e513e0`](https://github.com/kaskada-ai/kaskada/commit/4e513e0d01c8338b478e4fa663e2ad550ab7858c)) - -* update api tests ([`6f99f94`](https://github.com/kaskada-ai/kaskada/commit/6f99f940ef6596d754842d649d9d8d1416119271)) - -* update test matcher ([`75c599f`](https://github.com/kaskada-ai/kaskada/commit/75c599f1ec774d1b30d573887557359ac3db5ffa)) - -* added changes ([`0346d20`](https://github.com/kaskada-ai/kaskada/commit/0346d207938c39d5c3105e98da5afbe201d9381b)) - -* clippy ([`7872dc1`](https://github.com/kaskada-ai/kaskada/commit/7872dc13f00c5c1caa7e3857e5b4d8e7c5c19561)) - -* fixed wren unit test flakiness ([`19fb355`](https://github.com/kaskada-ai/kaskada/commit/19fb355a27bf5e572b038b0147db85dda1f6368f)) - -* changed default behavior of file-load to leave files in-place (#472) - -New option `copy_to_filesystem` added to revert to the old behavior. -@kevinjnguyen we will need to add this option to the python client too. ([`ad3c5ec`](https://github.com/kaskada-ai/kaskada/commit/ad3c5ecca76c418612838e2e85bd05be9c0a39a2)) - -* fixed checking status on object store item not owned by kaskada ([`73d27b6`](https://github.com/kaskada-ai/kaskada/commit/73d27b603f3c9ee186c4af7781afe8945ceb92d8)) - -* fixed errors when files change or are removed ([`f5c4cad`](https://github.com/kaskada-ai/kaskada/commit/f5c4cad1b9c803cf6aa043fe064ad7fd851af686)) - -* minor: cleanup comment in expressions (#487) ([`1fe19cc`](https://github.com/kaskada-ai/kaskada/commit/1fe19cc929990664a4bbba272c7f82ef9f9bc942)) - -* add todo ([`377c074`](https://github.com/kaskada-ai/kaskada/commit/377c074059733febacb5324981658de71cda335d)) - -* minor: cleanup comment in expressions ([`49dd6b0`](https://github.com/kaskada-ai/kaskada/commit/49dd6b07ecd6ac6e8fedb4505dcd055ffa19e485)) - -* Merge branch 'main' into feature/kafka-api-proposal ([`92ef1a7`](https://github.com/kaskada-ai/kaskada/commit/92ef1a7e646ba862a91823c4eb812b3dca123dce)) - -* #466 feat: Python Client Supports Multiple File Output (#478) - -Updates the Python client to support multiple file on output. Writing -the tests for this proved difficult so I went with manually testing: a -single result ✅ and multiple results ✅ ([`741bfe2`](https://github.com/kaskada-ai/kaskada/commit/741bfe283d3dea7aa1f47167bd598ea03bc4cd41)) - -* Merge branch 'main' into feature/kafka-api-proposal ([`92de61d`](https://github.com/kaskada-ai/kaskada/commit/92de61d310fb9994bc5bd12c19ad451b9b6bed2a)) - -* Merge branch 'main' into feature/466-multiple-file-python-support-concat ([`41f7555`](https://github.com/kaskada-ai/kaskada/commit/41f7555e303f3bed5bc16234d8aef5260b4fe2f6)) - -* poetry format ([`f893e73`](https://github.com/kaskada-ai/kaskada/commit/f893e735bcde6e225a7152a93377c33283c807cb)) - -* simplified docker-compose for ci, upgraded pulsar in ci (#483) - -I'm hoping upgrading to pulsar 3.0.0 in CI resolves some of our pulsar -integration test flakiness. I've been using 3.0.0 locally for tests for -a few weeks, and have not seen any flakiness in tests there. ([`8e80987`](https://github.com/kaskada-ai/kaskada/commit/8e809870a8fc8172e9a3ef937e5e8c8e1281b8ab)) - -* simplified docker-compose for ci, upgraded pulsar in ci ([`69a87f4`](https://github.com/kaskada-ai/kaskada/commit/69a87f427cc13dce5665410aea465ab74ba93880)) - -* Update ci_engine.yml (#469) ([`17126fa`](https://github.com/kaskada-ai/kaskada/commit/17126fa2dafc25684e02d3f0b15a09985f0e1dc7)) - -* comments ([`304c33b`](https://github.com/kaskada-ai/kaskada/commit/304c33b7234130e65d04603bd8890d19d63831bb)) - -* expose key ([`43832a9`](https://github.com/kaskada-ai/kaskada/commit/43832a958b1310cd9d9a47b5282de9fcb9988ac8)) - -* attempt to fix with lazy ([`6ace354`](https://github.com/kaskada-ai/kaskada/commit/6ace3545c325f79fc1464a032f5001cb6cc0a615)) - -* update inventory ([`53b0098`](https://github.com/kaskada-ai/kaskada/commit/53b0098f5ee4089ace0fd4a2cc8be778a417e6ea)) - -* Merge branch 'main' into ben/introduce-expressions ([`d2adee6`](https://github.com/kaskada-ai/kaskada/commit/d2adee698fc7abe656f33dbc0242914dc270f82b)) - -* fix path ([`327bb30`](https://github.com/kaskada-ai/kaskada/commit/327bb30a488f5c45ff0af00560a75129f71d33fd)) - -* Merge branch 'main' into feature/kafka-api-proposal ([`c6c2289`](https://github.com/kaskada-ai/kaskada/commit/c6c2289edef8e698ee3cd6538a5419554ca679c1)) - -* code review comments ([`b2df549`](https://github.com/kaskada-ai/kaskada/commit/b2df54997799a25c0a1bd2282498e801c3555750)) - -* added changes ([`cdbea22`](https://github.com/kaskada-ai/kaskada/commit/cdbea22fd3870892215bcf196479fbed5eb60b41)) - -* wip ([`0bac9ef`](https://github.com/kaskada-ai/kaskada/commit/0bac9ef7988642ce7adce732751adb883eb186bc)) - -* Merge branch 'main' into object_store_prepare_upload ([`f74afc5`](https://github.com/kaskada-ai/kaskada/commit/f74afc55b613d7ffb907cd7f6d807dc9b57599b2)) - -* reversed new test logic ([`307e556`](https://github.com/kaskada-ai/kaskada/commit/307e556871e87ef34ba011fbbcb7bf1db492644b)) - -* fixed issues running againsts object stores ([`0a3e68a`](https://github.com/kaskada-ai/kaskada/commit/0a3e68a6d98f02b930c6e4c60f3b880721f3b4da)) - -* proto fmt ([`4964e65`](https://github.com/kaskada-ai/kaskada/commit/4964e6551687e197b5f18a462814cc8a40006470)) - -* fix ([`c66c91e`](https://github.com/kaskada-ai/kaskada/commit/c66c91e92dd0ae22f31bf3c18dad835beb5d2602)) - -* wip: debugging, removing dead code ([`ba22a28`](https://github.com/kaskada-ai/kaskada/commit/ba22a2839f547c7eb179088380e53b7fba5d6dab)) - -* changed behavior to use files in-place by default ([`7dae536`](https://github.com/kaskada-ai/kaskada/commit/7dae536e68d4af54a811630cd0128c779c1315dd)) - -* upload buffer size ([`5861225`](https://github.com/kaskada-ai/kaskada/commit/58612254820038a6b0f552d7a7aeaa649872f042)) - -* comment: first/last ([`ffceddf`](https://github.com/kaskada-ai/kaskada/commit/ffceddfe6ff13fee6cb84294db3ccf2f59be0562)) - -* code review comments ([`1bdb03e`](https://github.com/kaskada-ai/kaskada/commit/1bdb03ee782d6b0add142a8675f69ba6b2cf99ff)) - -* add flake attempts to pulsar-to-pulsar ([`343606c`](https://github.com/kaskada-ai/kaskada/commit/343606ca05dfac1653501bab55aaa6e0eb8d5c90)) - -* include file prefix in data paths ([`8bbee62`](https://github.com/kaskada-ai/kaskada/commit/8bbee62e689a57a803ee790ce7503ff5eda22c62)) - -* added option to not copy files locally on load ([`2fd2925`](https://github.com/kaskada-ai/kaskada/commit/2fd2925719c6c1caa16f15ac0b1dd8b67be7123d)) - -* comments ([`0a43b3f`](https://github.com/kaskada-ai/kaskada/commit/0a43b3ff77a7ea9204fec1560176c57b0b2946e7)) - -* unused imports proto ([`7e0e7af`](https://github.com/kaskada-ai/kaskada/commit/7e0e7af4b1d21015a261b6730aa07f973505518c)) - -* formatting ([`026bd31`](https://github.com/kaskada-ai/kaskada/commit/026bd317d10340453bf3d0fce27656b3d9bbb8eb)) - -* Merge branch 'main' into feature/kafka-api-proposal ([`b665bd3`](https://github.com/kaskada-ai/kaskada/commit/b665bd3b0e33b7fd3ea3219b795dec136448a2e7)) - -* refactoring ([`bb3db03`](https://github.com/kaskada-ai/kaskada/commit/bb3db03b01d0feb5f5a4f899219aec88daf43f69)) - -* Add type variables to signatures ([`305bd36`](https://github.com/kaskada-ai/kaskada/commit/305bd36c7042e9f1f71b6468f2087bef03912ad0)) - -* rectified <a> tag for Development text in CONTRIBUTING.md file (#468) - -Close #467 ([`35ea1f9`](https://github.com/kaskada-ai/kaskada/commit/35ea1f9e6badf8eba672631a7487da2e4f288764)) - -* Update ci_engine.yml ([`bb2088b`](https://github.com/kaskada-ai/kaskada/commit/bb2088b5fbebfb37c16b9917c666b49f8402445d)) - -* rectified <a> tag for Development text in CONTRIBUTING.md file ([`f5cd294`](https://github.com/kaskada-ai/kaskada/commit/f5cd29411b8b068a6be5e22f8a335712a7d959bd)) - -* comments ([`3796009`](https://github.com/kaskada-ai/kaskada/commit/3796009b248c48c54ceec9d91f64696cf67d75f7)) - -* comments ([`9f25f43`](https://github.com/kaskada-ai/kaskada/commit/9f25f438b89d32749546f868d844542708699b2c)) - -* updated wren changes ([`35ec2bc`](https://github.com/kaskada-ai/kaskada/commit/35ec2bcec661de9ceda1b8b7e66d22b9d6d9b91a)) - -* code review comments ([`f126659`](https://github.com/kaskada-ai/kaskada/commit/f12665917db319306cf5131b1bdf0f192e92d70c)) - -* ref: Move hashing to sparrow-arrow (#454) - -Also add a `Hasher` that hashes into a re-usable buffer. This tends to -speed up the hash operation. The `Hasher` supports hashing of structs -and other types that we didn't previously support. ([`6460d09`](https://github.com/kaskada-ai/kaskada/commit/6460d09ceb5993917e3fa8195893603bec395836)) - -* fix struct hashing ([`495b8a7`](https://github.com/kaskada-ai/kaskada/commit/495b8a7d1c3bad4dec48b2f9efe6337d629f2848)) - -* ref: Move hashing to sparrow-arrow - -Also add a `Hasher` that hashes into a re-usable buffer. This tends to -speed up the hash operation. The `Hasher` supports hashing of structs -and other types that we didn't previously support. ([`35a95e8`](https://github.com/kaskada-ai/kaskada/commit/35a95e8a4e7e97b791ea61b3cab2669b2b104f62)) - -* deps: Upgrade to Arrow 42 (#455) - -It looks like they improved some of the time parsing/printing for CSV -and/or arithmetic to better respect timezones. This caused the results -for a variety of tests to change in terms of precision of output in the -CSV. ([`420b6f8`](https://github.com/kaskada-ai/kaskada/commit/420b6f82497e639cf92de79d3dec58300f755886)) - -* set run id ([`1104c33`](https://github.com/kaskada-ai/kaskada/commit/1104c3311e54e187b975d590d0a1a634046a7b7e)) - -* Fix query csv integ test ([`5187936`](https://github.com/kaskada-ai/kaskada/commit/5187936aae085f4950aee7e223d05ba10b7fd8ae)) - -* deps: Upgrade to Arrow 42 - -It looks like they improved some of the time parsing/printing for CSV -and/or arithmetic to better respect timezones. This caused the results -for a variety of tests to change in terms of precision of output in the -CSV. ([`de327da`](https://github.com/kaskada-ai/kaskada/commit/de327da6fa334a0a5344ce16f1546e9df22d23cf)) - -* bug: manager make directory for sqlite (#461) - -Fixes one issue in #459. Updates the dbpath logic to merge the provided -db path with the current path to produce an absolute path using the -`abs` ([docs](https://pkg.go.dev/path/filepath#Abs)). - -Previously, we were only checking for the home directory and not -necessarily worrying about any other use cases. The logic proposed here -should merge the two flows. ([`dc5d791`](https://github.com/kaskada-ai/kaskada/commit/dc5d7915a8b83a94616f70776b2e6229d9713964)) - -* Merge branch 'main' into bug/459-mkdir-tests ([`531a0a8`](https://github.com/kaskada-ai/kaskada/commit/531a0a898f431aab35026294b1901d6c91a8981b)) - -* use abs directory and mkdirall ([`83eeff5`](https://github.com/kaskada-ai/kaskada/commit/83eeff5d8cd0623641473831bf10a79553b0eb53)) - -* code review comments ([`a164186`](https://github.com/kaskada-ai/kaskada/commit/a164186500765dbd0aaa7e3e0b478b812e2d36ec)) - -* buf format ([`011a92a`](https://github.com/kaskada-ai/kaskada/commit/011a92a8b4e5e8565801f977036965a03d6e6171)) - -* kafka streaming api proposal ([`d12f500`](https://github.com/kaskada-ai/kaskada/commit/d12f500444a86738af20d16afbd8b11928d0a698)) - -* enable pulsar tests and remove some old tests (#453) ([`a09a39f`](https://github.com/kaskada-ai/kaskada/commit/a09a39f9a4bedb09dfe68713752e7ca71670fdbc)) - -* enable pulsar tests and remove some old tests ([`c76c60e`](https://github.com/kaskada-ai/kaskada/commit/c76c60e13bf505626760a09f378a18b5b3c7672c)) - -* bug: fix materialization stop signal (#451) - -Fixes the stop signal bug by using a stream in scan operation that takes -until the signal is received. - -Still keeps the pulsar to pulsar tests ignored, since I have this log -line I haven't figured out yet: -``` -2023-06-26T14:20:32.562464Z ERROR Error sending end event to channel - send failed because receiver is gone - -``` ([`22f7b6d`](https://github.com/kaskada-ai/kaskada/commit/22f7b6dffd0aaefc3951b918d709b9ac4e273d43)) - -* docs ([`1d7bd67`](https://github.com/kaskada-ai/kaskada/commit/1d7bd6701a34afd8ba1d73394a7b6db62205c366)) - -* fix query dropping stop signal channel ([`91f843e`](https://github.com/kaskada-ai/kaskada/commit/91f843e4f83bfd54c5072cbaf3e1d032e70da612)) - -* Merge branch 'main' into fix-materialize-stop-signal ([`b55bd99`](https://github.com/kaskada-ai/kaskada/commit/b55bd99ab244d78952cf58d1346680c5302fb1a0)) - -* comment ([`8f7639f`](https://github.com/kaskada-ai/kaskada/commit/8f7639f5f2b5dfa7079a83637ac7525df3db8f26)) - -* Use take until for stopsignal ([`ddb90f0`](https://github.com/kaskada-ai/kaskada/commit/ddb90f06335422e1bb88ba780110ffefe43a9b63)) - -* Update Pulsar Output Per Batch (#450) - -Updates the pulsar output module to have the producer send the internal -batch after processing every batch. See: -https://docs.google.com/document/d/1gU8NV65ATliGd2-eG2G-mCX2mu8S3jY9m9x1wOVqsaw/edit?usp=sharing -(June 22, 2023) for more info. ([`269acb8`](https://github.com/kaskada-ai/kaskada/commit/269acb8e3d9df0386418c02acf6bc2565e8f280c)) - -* Merge branch 'main' into feature/fix-pulsar-to-pulsar-tests ([`215d6a6`](https://github.com/kaskada-ai/kaskada/commit/215d6a6e8817d4588128e1691ef446feef290cd3)) - -* benchmark: Initial scripts for some benchmarking (#449) - -- Data generator script to create Parquet files consistent with the -examples in timeline posts -- SQL file containing DuckDB versions of the queries from the posts -- Notebook containing Kaskada versions of the queries from the posts ([`2bd1a7c`](https://github.com/kaskada-ai/kaskada/commit/2bd1a7c46c7437f0b316d4081a9747499d783aac)) - -* back to pending test ([`815c6a2`](https://github.com/kaskada-ai/kaskada/commit/815c6a25a6c679df52d661e2de5e96a364f9b1cf)) - -* cargo fmt ([`a884d8b`](https://github.com/kaskada-ai/kaskada/commit/a884d8b15acfba8e1e23ca50ab630d6971767960)) - -* fixed some tests ([`84255cd`](https://github.com/kaskada-ai/kaskada/commit/84255cd62e8311c7bb7b840508c59eb1704c0e4b)) - -* Merge branch 'main' into ben/sql-benchmarking ([`d11f147`](https://github.com/kaskada-ai/kaskada/commit/d11f147c640e058b1119a195eafcc369ffc07a57)) - -* scripts used for benchmarking ([`3ba318d`](https://github.com/kaskada-ai/kaskada/commit/3ba318dd285a0b5abf79914a91c4d0b3efb7d77f)) - -* added materialization integration tests with pulsar sources & destinations (#448) - -currently the `mat_pulsar_to_pulsar_test` isn't passing, but I think we -should merge this as is due to several bug fixes contained inside, and -then continue working on the remaining test in another PR. ([`1691a71`](https://github.com/kaskada-ai/kaskada/commit/1691a7122950d683fbe1dc549d261959d90f20d0)) - -* updated ssl ([`22c4f79`](https://github.com/kaskada-ai/kaskada/commit/22c4f79c2126b3a43ddcd64a73bb60966a5b2476)) - -* removed test ([`4c67a67`](https://github.com/kaskada-ai/kaskada/commit/4c67a67b1051121442863d26bcfebde03d2f971e)) - -* table to pulsar test now passing ([`af1eb7d`](https://github.com/kaskada-ai/kaskada/commit/af1eb7d720465760937204fd999ac1c6e0e0ef1b)) - -* fixed reconcile bug ([`0e3a826`](https://github.com/kaskada-ai/kaskada/commit/0e3a826f2ca733558399aeacdd92b6b43bee5395)) - -* more tweaks ([`e6327d3`](https://github.com/kaskada-ai/kaskada/commit/e6327d334153535019347b3bf9bf7f0836e8aba1)) - -* minor tweaks ([`73066f6`](https://github.com/kaskada-ai/kaskada/commit/73066f69609d93ed4a6dad5414870dc007e88268)) - -* added check to query for stream backed tables ([`c00329c`](https://github.com/kaskada-ai/kaskada/commit/c00329c8665a93f1ba9f941058722d73bc436225)) - -* updated tests ([`0b053aa`](https://github.com/kaskada-ai/kaskada/commit/0b053aaaa24bb9f9fdfeeae5db602a61194900d0)) - -* more test progress ([`fd76c14`](https://github.com/kaskada-ai/kaskada/commit/fd76c14a8e1f4b7237fbe7e7178050de5cf83068)) - -* debug ([`7e55d4d`](https://github.com/kaskada-ai/kaskada/commit/7e55d4d6e5c4dce1af9af798dea477fc2dca80b2)) - -* updated tests to run locally ([`a5c40e4`](https://github.com/kaskada-ai/kaskada/commit/a5c40e48db64b84c436858c83415443ebeb9ec72)) - -* added initial pulsar to pulsar test ([`ef8545e`](https://github.com/kaskada-ai/kaskada/commit/ef8545ec4058cfbce3e77be31f6945b7c74b445b)) - -* initial add of pulsar to obj_store test ([`d1f54f5`](https://github.com/kaskada-ai/kaskada/commit/d1f54f5712180726fa0f45bc9e7bdb44b745a321)) - -* add data generator and queries for duckdb ([`bd744ac`](https://github.com/kaskada-ai/kaskada/commit/bd744ac1ff2c0ea0fd63c6b6c95d9fe4f4af00ec)) - -* fix juypter dockerfile and bump versions (#446) ([`70a7b39`](https://github.com/kaskada-ai/kaskada/commit/70a7b3904c84974873ab4344ee2b1ba2ee4146bd)) - -* bump version to 0.8.2 (#444) ([`778e883`](https://github.com/kaskada-ai/kaskada/commit/778e883b163b5335ad2fa0555d4caacc7d150665)) - -* fixed Jupyter docker build (#443) ([`5ab7884`](https://github.com/kaskada-ai/kaskada/commit/5ab7884be446290f03137e30190ad7b8ac994d28)) - -* use mmap instead of direct i/o (#439) - -Flipping to mmap from direct I/O for rocksdb makes sparrow test run on -arch. I verified it still works on Ubuntu and OSX. ([`ea44d03`](https://github.com/kaskada-ai/kaskada/commit/ea44d03faaf1ca849cd643c4708516ddb0aa1706)) - -* fixed Jupyter docker build ([`47eb093`](https://github.com/kaskada-ai/kaskada/commit/47eb0935d1f546cf8cff71312b618f6f3bf77144)) - -* Merge branch 'main' into tsk-mmap-for-rocksdb ([`9e8380f`](https://github.com/kaskada-ai/kaskada/commit/9e8380f32dcfbd9398d98dc34748e66e00b3b167)) - -* bumped version to 8.0.1 (#441) ([`659fd39`](https://github.com/kaskada-ai/kaskada/commit/659fd390c36334acc13557efe6673a4cca88fb4d)) - -* Merge branch 'main' into tsk-mmap-for-rocksdb ([`7485da1`](https://github.com/kaskada-ai/kaskada/commit/7485da1d43c3986fd7e5753b107871cf3ebc5481)) - -* Kaskada Release 0.7.1 and Python 0.4.1 (#438) ([`c43c5f1`](https://github.com/kaskada-ai/kaskada/commit/c43c5f175541202bf88d5cf341e83e0765075b74)) - -* bumped versions ([`cd5c610`](https://github.com/kaskada-ai/kaskada/commit/cd5c61004098980e2df5e762211ea9cf274ef5a0)) - -* Update Streaming Avro Record Output (#433) - -PR with the progress made towards debugging the streaming -implementation. - -Changes: -* Reverted the revert for Publish Time. The implementation was correct, -just missing one more step. -* Added the missing step for publish time. When reading the stream, a -flag is passed to consider adding the publish time. - * In the execution phase, no publish time (false). - * In the preparation phase, publish time (true). ([`cb631e4`](https://github.com/kaskada-ai/kaskada/commit/cb631e4a080230788b83936a822ad7a7df125a72)) - -* fixed ReconcileMaterializations panic (#437) - -also fixes wren hanging after ctrl+c. ([`1911554`](https://github.com/kaskada-ai/kaskada/commit/1911554f7b7f69d273301c9faf41a1a082a13e52)) - -* use mmap instead of direct i/o ([`4ec74be`](https://github.com/kaskada-ai/kaskada/commit/4ec74bef518a84f3f9ef38b63f09c53a28668bdb)) - -* fixed ReconcileMaterializations panic ([`2d180dc`](https://github.com/kaskada-ai/kaskada/commit/2d180dcc893572b5538e95b42d141c9a51d39341)) - -* added changes ([`e81d5b7`](https://github.com/kaskada-ai/kaskada/commit/e81d5b7da6e399af3587211ef7d96a4e39b94d98)) - -* force all-results when using stream-based materializations (#435) ([`ed224e8`](https://github.com/kaskada-ai/kaskada/commit/ed224e8d16bfb98af7f222fb6f8e82e1b6414c7d)) - -* fixed test ([`eb7ce79`](https://github.com/kaskada-ai/kaskada/commit/eb7ce7930294fe77756a504365f9a3e8d3843208)) - -* force all-results when using stream-based materializations ([`c0e1469`](https://github.com/kaskada-ai/kaskada/commit/c0e14697758cf36a056d598828fb8a095f46e530)) - -* Revert "Remove Publish Time from non-prepare Pulsar Paths" (#431) - -Reverts kaskada-ai/kaskada#426 ([`53dd9b9`](https://github.com/kaskada-ai/kaskada/commit/53dd9b970d5e36838c780608d067de63f4c6a5af)) - -* Revert "Remove Publish Time from non-prepare Pulsar Paths" ([`08cce0e`](https://github.com/kaskada-ai/kaskada/commit/08cce0e2716c9ada758faa48bcab7fd7dd52c0e9)) - -* Update exporting-for-training.adoc (#428) - -From the context I think these lines should look like this. ([`88ae9ad`](https://github.com/kaskada-ai/kaskada/commit/88ae9ad7cf962fae476428a9ac26507717f02cc3)) - -* Merge branch 'main' into patch-3 ([`a568803`](https://github.com/kaskada-ai/kaskada/commit/a568803f466e556dbda159a302216be0da9b7fd3)) - -* Remove Publish Time from non-prepare Pulsar Paths (#426) ([`a8826e4`](https://github.com/kaskada-ai/kaskada/commit/a8826e44f2a02e35f628e354ddadfd7172de8680)) - -* Delete wren binary (#429) ([`e16e646`](https://github.com/kaskada-ai/kaskada/commit/e16e6460f9db4bf13115ca64e91e68678494e672)) - -* Update exporting-for-training.adoc - -From the context I think these lines should look like this. ([`834e3c1`](https://github.com/kaskada-ai/kaskada/commit/834e3c178d7916d5d74d7a59050717d242c226b7)) - -* Update aggregation-and-windowing.adoc (#421) - -I noticed that the table was rendered differently than you should -intend. I found that the description method of the cell was slightly -different from other tables. So, I added the missing symbol. ([`d7308f6`](https://github.com/kaskada-ai/kaskada/commit/d7308f6c0a5696dfe82708974cb1910b043ddd96)) - -* Merge branch 'main' into feature/file-service-pulsar ([`8bb3853`](https://github.com/kaskada-ai/kaskada/commit/8bb385371faecd71f632ff8e9a16e7a8edae51b9)) - -* publish time only on prepare ([`bca1a7c`](https://github.com/kaskada-ai/kaskada/commit/bca1a7c84b3f2312bebf6ac301cff06225f869b0)) - -* rectified a spelling mistake in README file (#423) - -Close #422 ([`00c79d3`](https://github.com/kaskada-ai/kaskada/commit/00c79d329b425fbe192bf966bd7ca807347d432d)) - -* Merge branch 'main' into upgrade-arrow ([`54f9810`](https://github.com/kaskada-ai/kaskada/commit/54f981057c97ff7f282fca58c9f6509281db0eea)) - -* fix tests ([`5b75acd`](https://github.com/kaskada-ai/kaskada/commit/5b75acded70d057133241a8d260e94e5646aae95)) - -* Merge branch 'main' into readme_branch ([`f41b708`](https://github.com/kaskada-ai/kaskada/commit/f41b708b5ab4c405196e9df60941759069bfd8e0)) - -* rectified a spelling mistake in README file ([`cc43f8d`](https://github.com/kaskada-ai/kaskada/commit/cc43f8d95f41df15560b6f0b93a5a4d3a41cb24e)) - -* fix some problems ([`c06707a`](https://github.com/kaskada-ai/kaskada/commit/c06707a73c5c962f2d3f614518772478f7dee9c7)) - -* Merge branch 'main' into patch-2 ([`e4baea8`](https://github.com/kaskada-ai/kaskada/commit/e4baea8cc7915dc7369e4c92b39f6d862283aa6d)) - -* Update aggregation-and-windowing.adoc - -I noticed that the table was rendered differently than you should intend. I found that the description method of the cell was slightly different from other tables. So, I added the missing symbol. ([`ed68994`](https://github.com/kaskada-ai/kaskada/commit/ed689942162d85c2baf83621f1a4187512a8e7ed)) - -* Add Admin Service URL to Pulsar Backed Table (#408) - -Adds the `admin_service_url` to the python client to fix support for -Pulsar tables. ([`15e3504`](https://github.com/kaskada-ai/kaskada/commit/15e350497eca89e6ec9a6c926ea615a3e53c3039)) - -* Fix wren status running ([`cf3c88c`](https://github.com/kaskada-ai/kaskada/commit/cf3c88c66a315af74cdb2957d58d4d0c465bacf7)) - -* clippy ([`35ccbdd`](https://github.com/kaskada-ai/kaskada/commit/35ccbdda12c70171d923a5d1872603f487e872b6)) - -* remove id from control ([`9730da4`](https://github.com/kaskada-ai/kaskada/commit/9730da4e791b834078ac369c185c49fa78e29ac8)) - -* Implement materialization api ([`991240d`](https://github.com/kaskada-ai/kaskada/commit/991240d50d92c29484935673d8a79c55a7f4cb44)) - -* clippy ([`dccc1cf`](https://github.com/kaskada-ai/kaskada/commit/dccc1cf6caaf9892468685bb809aeab8be94913c)) - -* comments ([`253b15b`](https://github.com/kaskada-ai/kaskada/commit/253b15bc8bd577dd4fc259bbc77c4129d8ce3927)) - -* use indexed vec; split out conditions for breaking pipeline ([`b01aa65`](https://github.com/kaskada-ai/kaskada/commit/b01aa657d496ccfff3480bfa30273db95112c6b7)) - -* add comments ([`b2e1bfd`](https://github.com/kaskada-ai/kaskada/commit/b2e1bfd2193274e47232015a95248ab4a33ebb14)) - -* Merge branch 'main' into physical-plan ([`cafd206`](https://github.com/kaskada-ai/kaskada/commit/cafd206479685d588822875b847226c1dce54951)) - -* ref: create an Exprs (#412) ([`0cd8f18`](https://github.com/kaskada-ai/kaskada/commit/0cd8f1866b617b33e8ef7237cdf180440cf3b2cf)) - -* ref: create an Exprs ([`f3257f5`](https://github.com/kaskada-ai/kaskada/commit/f3257f5b5ccf981dd1dba1c17cc411a24049cce6)) - -* comments ([`7f85b9c`](https://github.com/kaskada-ai/kaskada/commit/7f85b9c0586a961d621633cda6fa0f1ebc591b98)) - -* review comments ([`3fbe779`](https://github.com/kaskada-ai/kaskada/commit/3fbe779960f47bf923429da5d0fd037b3ad21f4b)) - -* updated tests ([`d64bc6b`](https://github.com/kaskada-ai/kaskada/commit/d64bc6bd84c9053212599dd6d4ec88f827b40bb4)) - -* ref: Move ScalarValue & downcast to sparrow-arrow (#407) - -There is more cleanup to be done here -- using error_stack, getting rid -of the (generally undesired) string parsing, etc., but splitting here in -the interest of smaller / easier to review changes. ([`afecac7`](https://github.com/kaskada-ai/kaskada/commit/afecac7929459559927fc3c510f7ade68d2f9548)) - -* Merge branch 'main' into feature/file-service-pulsar ([`2e855b2`](https://github.com/kaskada-ai/kaskada/commit/2e855b2046df903f9c457c3c57534b8423b572a4)) - -* updated python model ([`4a2604d`](https://github.com/kaskada-ai/kaskada/commit/4a2604d5352215a16c4a169dad8c761af9a4d982)) - -* remove unused deps on core ([`4df565d`](https://github.com/kaskada-ai/kaskada/commit/4df565d2ae11d734517649b72641c39a24a0196f)) - -* ref: Move ScalarValue & downcast to sparrow-arrow - -There is more cleanup to be done here -- using error_stack, getting -rid of the (generally undesired) string parsing, etc., but splitting -here in the interest of smaller / easier to review changes. ([`2dbbc8d`](https://github.com/kaskada-ai/kaskada/commit/2dbbc8dada851e5d5d8e1d2445979ce173247159)) - -* Merge branch 'main' into tsk-docs-note-on-install ([`4eb58a7`](https://github.com/kaskada-ai/kaskada/commit/4eb58a74755054935ff9e4abad9ab72a8611350f)) - -* use -o in Makefile ([`3d05cc7`](https://github.com/kaskada-ai/kaskada/commit/3d05cc7f34e2ee3c6e497255c8996867e5902ace)) - -* Update .gitignore - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`f842fe1`](https://github.com/kaskada-ai/kaskada/commit/f842fe186ae5b3cd49a2d57a458fa67412309035)) - -* Merge branch 'main' into tsk-docs-note-on-install ([`b652ebf`](https://github.com/kaskada-ai/kaskada/commit/b652ebfe80dd1bc2fc73ead6661518a1f9405e3d)) - -* Use a relative path for the file, include a step allowing this to run… (#405) - -… locally ([`e752de3`](https://github.com/kaskada-ai/kaskada/commit/e752de3ab233b255851641d3e4c4a6d44459fd32)) - -* Update README.md to use new docker container (#404) ([`1f6bd82`](https://github.com/kaskada-ai/kaskada/commit/1f6bd82e61c36dba7e3fb4b5d31c683c2ff2cc82)) - -* Use a relative path for the file, include a step allowing this to run locally ([`f727939`](https://github.com/kaskada-ai/kaskada/commit/f7279393e7c5182320f3f9b24a9868d9a423b139)) - -* Merge branch 'main' into tsk-cla-check-workaround ([`1c9cc26`](https://github.com/kaskada-ai/kaskada/commit/1c9cc26f4f9045d716af570fc3802388e3190eae)) - -* Merge branch 'main' into tsk-ci-fix-integtest-skipping ([`fa922d3`](https://github.com/kaskada-ai/kaskada/commit/fa922d34056c650fab0bc4530c10df76c5ee2c59)) - -* Update README.md to use new docker container ([`518892f`](https://github.com/kaskada-ai/kaskada/commit/518892f47f822a31a324ca122a3cdf47bb3894a8)) - -* bump versions for release (#402) ([`e87a902`](https://github.com/kaskada-ai/kaskada/commit/e87a9024b54dc265811de194dee03a85202cdfd0)) - -* Merge branch 'main' into tsk-push-to-dockerhub ([`b6f1c14`](https://github.com/kaskada-ai/kaskada/commit/b6f1c145d036660ecb3101a91dc541b4b6ce8139)) - -* Merge branch 'tsk-push-to-dockerhub' of github.com:kaskada-ai/kaskada into tsk-push-to-dockerhub ([`5439220`](https://github.com/kaskada-ai/kaskada/commit/54392208eb1ffb6fb6458210caf4044a586d657d)) - -* fix typo ([`d282fde`](https://github.com/kaskada-ai/kaskada/commit/d282fde2f58fcfcf8117be8c85ad7beeda3df1a2)) - -* Merge branch 'main' into tsk-push-to-dockerhub ([`d1a866c`](https://github.com/kaskada-ai/kaskada/commit/d1a866c8710fac7e91425c5620afa7a7a498255c)) - -* (ci) login and push release images to DockerHub ([`09cc214`](https://github.com/kaskada-ai/kaskada/commit/09cc214a76766b491ecf3cc368ccceeacd84c011)) - -* doc: fix mac OSX xattr kaskada cli (#396) - -Updates the setup instructions for the Kaskada cli to use `-w` since -`-dr` are not valid flags in the latest OSX. Also updates to explicitly -state the 3 binaries. ([`4802dfe`](https://github.com/kaskada-ai/kaskada/commit/4802dfe294e34b8d1d4582ca64fba6030203be8f)) - -* Update working-with-records.adoc (#393) - -This must be a typo - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`0bacc37`](https://github.com/kaskada-ai/kaskada/commit/0bacc37b57a1c321b31e1af17e3b6a8e5f9fea53)) - -* Merge branch 'main' into kevinjnguyen-patch-1 ([`5b83b9d`](https://github.com/kaskada-ai/kaskada/commit/5b83b9d9e45d9ca8e08ebc5d1d7d8f45f4e6d159)) - -* Fenl Diagnostic HTML Rendering with Protos (#280) (#376) (#385) - -# Fenl Diagnostic HTML Rendering with Protos - -A second pass at implementing rendering of Fenl Diagnostics from the -Engine upward. The UX is the same but now the source of truth is the -Engine. - -## Changes - -* Removes the custom python client approach -* Updates fenl diagnostic to have a `web_link` as another field -* Updates python client rendering to use the `web_link` field ([`d348ee9`](https://github.com/kaskada-ai/kaskada/commit/d348ee981ca97fac019ed87d9f55e91f7afb5f22)) - -* doc: fix mac OSX xattr kaskada cli ([`6a82dfb`](https://github.com/kaskada-ai/kaskada/commit/6a82dfb77db53dbb7ab99bc889f4ab96bcca4e99)) - -* example: Add SVG to PNG conversion script (#389) ([`150f718`](https://github.com/kaskada-ai/kaskada/commit/150f7187d9b307e6813412de7a7abbe0f72d2180)) - -* added nav link ([`be3b8e5`](https://github.com/kaskada-ai/kaskada/commit/be3b8e5f8f6ab63ad8c2f290f99bcf0165a4c4b1)) - -* added links ([`37b62ef`](https://github.com/kaskada-ai/kaskada/commit/37b62ef53fc341c5143f4ab28cae0f0c84c743f8)) - -* added adoc ([`5d7b838`](https://github.com/kaskada-ai/kaskada/commit/5d7b838cd85920cde39f5de72b8a04a5b06070d5)) - -* remote session ([`c3a4540`](https://github.com/kaskada-ai/kaskada/commit/c3a45400f76e4fd054f0050c3d3d85565f971dc1)) - -* example: Add SVG to PNG conversion script ([`76e57b2`](https://github.com/kaskada-ai/kaskada/commit/76e57b2f7f51caa4b14c3d80e45165ddf5be4813)) - -* added long-running materialization support to wren (#387) - -@jordanrfrazier this is a new branch than the previous PR: -https://github.com/kaskada-ai/kaskada/pull/374 which I'm going to close. ([`a1b240d`](https://github.com/kaskada-ai/kaskada/commit/a1b240d234dccc6d4391fe4d53505eeda774e6bd)) - -* made suggested updates ([`29b4a97`](https://github.com/kaskada-ai/kaskada/commit/29b4a97848c89dba1aca587f8787217c9f6ed4d8)) - -* added long-running materialization support to wren ([`0610266`](https://github.com/kaskada-ai/kaskada/commit/0610266a600b4b19ec4f3c014d782ab0e87d9c35)) - -* refactored the compute package into several interfaces (#386) - -now have: -* CompileManager -* ComputeManager -* FileManager -* PrepareManager -* MaterializationManager ([`e0525e9`](https://github.com/kaskada-ai/kaskada/commit/e0525e9310f494f89582eed150ec97b3a150657e)) - -* added initial compile unit test ([`7092c0e`](https://github.com/kaskada-ai/kaskada/commit/7092c0e189d83fe67a931f16b0bd97632d505304)) - -* refactored the compute package into several interfaces ([`50b1c63`](https://github.com/kaskada-ai/kaskada/commit/50b1c63447b1127173d1a38316fd18d39e48bd72)) - -* (ci): fix typo in expression for skipping integ tests (#382) ([`e00a8b0`](https://github.com/kaskada-ai/kaskada/commit/e00a8b086397c1ad557897b643d33e1a4743e003)) - -* (ci): fix typo in expression for skipping integ tests ([`20472c9`](https://github.com/kaskada-ai/kaskada/commit/20472c9f6e2f9cfdf2b11fc66e83662abfed2639)) - -* (test) fix pip package test to avoid infinite restart (#381) - -Added feature to restart manager and engine causes original script to go -in an infinite restart loop. Testing the pip package now calls -`session.stop()` to terminate the session - -*NOTE*: there is an error from grpc and _channel.py that we ignore, our -processes seem to be terminated correctly ([`01b32e7`](https://github.com/kaskada-ai/kaskada/commit/01b32e725178da4ed109d6da870b2e7a78de225e)) - -* Merge branch 'main' into python0.3.0 ([`e22ddce`](https://github.com/kaskada-ai/kaskada/commit/e22ddce1d9ae58b1c258f73ddde0bf730b067a6b)) - -* update notebook ([`70520f9`](https://github.com/kaskada-ai/kaskada/commit/70520f923292eefbab3701db21e84773045310b2)) - -* (test) fix pip package test to avoid infinite restart ([`6fd2d31`](https://github.com/kaskada-ai/kaskada/commit/6fd2d31411b5867aab4e798ccec2ec65909a7f92)) - -* Fenl Diagnostic HTML Rendering (#280) (#376) - -# Fenl Diagnostic HTML Rendering - -Updates the rendering of the Fenl Diagnostic to render HTML A tags for -known and documented error. Also lays out the ground work for easy error -documentation. - -The new implementation will scan through a Fenl Diagnostic for an error -code using the regex `error\[(,?.*)\]`, then check to see if that code -is documented as part of the `error_codes.py: FENL_DIAGNOSTIC_ERRORS`. -If there is a documented error, the code converts the error code to an -HTML <a> link. - -**Example of a pre-defined error:** (Note the hyperlink E0013) -<img width="542" alt="Screenshot 2023-05-23 at 9 34 48 PM" -src="https://github.com/kaskada-ai/kaskada/assets/15032894/052516fb-fa6f-4efd-b81c-857fa11a40de"> - -**Example of the default undocumented case:** -<img width="727" alt="Screenshot 2023-05-23 at 9 35 20 PM" -src="https://github.com/kaskada-ai/kaskada/assets/15032894/ec3996da-8919-467a-b4d7-b2a76440a31d"> ([`14b132d`](https://github.com/kaskada-ai/kaskada/commit/14b132d84794efaf1912a5b98854dbeba5d9cc45)) - -* Python Release 0.3.0 (#375) - -Updates the Python version to 0.3.0 and updates the docs for no auto -recovery. ([`7764a8a`](https://github.com/kaskada-ai/kaskada/commit/7764a8a5a535b4fe5ce783d489ae19b3a8ee9b56)) - -* #280 improved error messaging ([`238dd8a`](https://github.com/kaskada-ai/kaskada/commit/238dd8af3f182e36c29d0b09c47e8422f54702bb)) - -* Add compile result debug ([`73d0aa0`](https://github.com/kaskada-ai/kaskada/commit/73d0aa0e86e5116f3eab734384a5f7d0f9ce0be6)) - -* Fix source on table ([`5ba599e`](https://github.com/kaskada-ai/kaskada/commit/5ba599eac98ecc0d89ed469843f7c4d61b4dbe09)) - -* Add source to tables in wren ([`8c3b66e`](https://github.com/kaskada-ai/kaskada/commit/8c3b66e16af87b7bf40a2afb1297f717363fce5b)) - -* clippy fixes ([`d54416d`](https://github.com/kaskada-ai/kaskada/commit/d54416da46d375a664a5ff0764e4711b6bccc199)) - -* Add bounded lateness option in script ([`8702095`](https://github.com/kaskada-ai/kaskada/commit/87020955d64d68cc6acd24af2a0957015651750b)) - -* add examples ([`47b18e0`](https://github.com/kaskada-ai/kaskada/commit/47b18e0cc1b7a6e587a7b68c02ccd9feb2a8bfd4)) - -* Oops, actually add readme ([`edef40e`](https://github.com/kaskada-ai/kaskada/commit/edef40e538a5cec4736fc72a809d5338515e3ab3)) - -* Update readme formatting ([`68f76f0`](https://github.com/kaskada-ai/kaskada/commit/68f76f09a2400852bcf111d9101893e0fdd01fe5)) - -* Add draft readme ([`0ad2b25`](https://github.com/kaskada-ai/kaskada/commit/0ad2b25d537679746d346d1fdea136b53fb66996)) - -* Fix projected schema ([`d99ec86`](https://github.com/kaskada-ai/kaskada/commit/d99ec86de8eafae43ab2661d95e276fd78bc6162)) - -* Add unit test for single row batch ([`efa9890`](https://github.com/kaskada-ai/kaskada/commit/efa9890cef81f55a838dafcd429d03c9bd1585d6)) - -* remove duplicate script ([`fb49dc1`](https://github.com/kaskada-ai/kaskada/commit/fb49dc1f09950e0379b19dd8295b8e36521374b7)) - -* logs/comments ([`32e4410`](https://github.com/kaskada-ai/kaskada/commit/32e441096499505ef4ff926ea5b42073f64cb4e3)) - -* Allow optional auth for pulsar, and some end stream fixes ([`f451814`](https://github.com/kaskada-ai/kaskada/commit/f4518144f32c36dca5580ec1ed37ecc5c7a05439)) - -* Fixes some loop breaks and the initial watermark ([`e591dc0`](https://github.com/kaskada-ai/kaskada/commit/e591dc058c08ba1ae3a2114570df73f68d1df025)) - -* materialize script ([`adcfa82`](https://github.com/kaskada-ai/kaskada/commit/adcfa829fa0f26a6955ac7ebf6d37dffdc9f67f8)) - -* Add stream reader framework ([`2893129`](https://github.com/kaskada-ai/kaskada/commit/289312987b572bef211a10b067949670b9597741)) - -* update labels to use plain text ([`5661d31`](https://github.com/kaskada-ai/kaskada/commit/5661d318cf1ec7be4079d81fdbb4390c703daacf)) - -* updated with docs ([`5ac51c0`](https://github.com/kaskada-ai/kaskada/commit/5ac51c0deefa95cbfb343273ac0a41b632f0405a)) - -* added mock generation to wren (#370) - -Also updated existing tests to use the new mocks, so that we don't need -to manually update the mocks in tests when interfaces change. - -this is mostly prep for upcoming changes related to materializations ([`30d5b49`](https://github.com/kaskada-ai/kaskada/commit/30d5b494f67a62c2363e2bb53a9a523434f137bc)) - -* generate mocks in CI ([`c516e3d`](https://github.com/kaskada-ai/kaskada/commit/c516e3d44aeca933410bc22be6b1768aae7179bd)) - -* removed generated code ([`3de4152`](https://github.com/kaskada-ai/kaskada/commit/3de4152415d4db9684da5de07265544d72f837d7)) - -* added interface for computeManger (#368) - -this should facilitate easier unit testing of wren. - -also relocated a `getDataToken` method from Compute to QueryV1, since it -is only used there. ([`b43daf8`](https://github.com/kaskada-ai/kaskada/commit/b43daf89976075470765c14b5a53f91cc9d2235e)) - -* added mock generation to wren and updated existing tests ([`e43fb14`](https://github.com/kaskada-ai/kaskada/commit/e43fb149928bd73fb12235582e4e40138b781342)) - -* added interface for computeManger ([`6ca516c`](https://github.com/kaskada-ai/kaskada/commit/6ca516c085eaf953361306be89a7c888880bcdfe)) - -* fix some queries ([`53edb6e`](https://github.com/kaskada-ai/kaskada/commit/53edb6e590d465c60ba75fa7e8cc97c90f1d2922)) - -* bumped versions to 0.6.4 (#363) ([`3152014`](https://github.com/kaskada-ai/kaskada/commit/3152014b6dd84802aef2b02aac2297a06f7aff2c)) - -* fixed the build of the jupyter image (#362) ([`67febad`](https://github.com/kaskada-ai/kaskada/commit/67febadf0d643857a9f55a27553047081eb2ac56)) - -* bump versions for release (#360) ([`f609c1b`](https://github.com/kaskada-ai/kaskada/commit/f609c1b2413aae8ce034e84f43d6f9df70f517d2)) - -* fix engine log startup (#359) ([`cf1a450`](https://github.com/kaskada-ai/kaskada/commit/cf1a4501adb2f91c4337ed12e0efe11326cae5b9)) - -* updated logging formats of both processes to be more similar (#358) - -Added flags and `NO_COLOR` environment variable support to both wren & -sparrow to disable ANSI color args in log output when set. - -see: https://no-color.org/ - -Also -* Disabled wren logging database calls by default in debug mode. Added -new flag to re-enable when desired. -* Updated python client to disable color log output for services ([`c714767`](https://github.com/kaskada-ai/kaskada/commit/c7147673b840c7e04003d15eb5957176ab06f89a)) - -* Add execution stream for pulsar (#320) - -Updates the iterators to streams and creates an execution input stream -that implements input buffer logic with watermarks. - -Next PR will hook this up to the `Scan` operation using pulsar-backed -tables. ([`697b7f5`](https://github.com/kaskada-ai/kaskada/commit/697b7f58e21db6b0f4305e313380c6982ccb883f)) - -* fixed tests ([`6c482b7`](https://github.com/kaskada-ai/kaskada/commit/6c482b7b1a8d01d30dab7200e1471f5b8fc8dfed)) - -* move key hash updates outside of column behavior loop ([`a3d77fd`](https://github.com/kaskada-ai/kaskada/commit/a3d77fd9acc1325a794c78fdc71837d5ecfe9459)) - -* explicitly add table config? ([`06adb93`](https://github.com/kaskada-ai/kaskada/commit/06adb939cdd71a8a5fb5d52cb6eea55648bc9667)) - -* remove unused import ([`f4aa3b9`](https://github.com/kaskada-ai/kaskada/commit/f4aa3b9c71d92df7652959d548dc343afad5bdd7)) - -* update var name ([`9c35a7c`](https://github.com/kaskada-ai/kaskada/commit/9c35a7c35c2c16f01944d6da23d6d1ed3cbeeaca)) - -* Remove extra column behavior ([`7731a49`](https://github.com/kaskada-ai/kaskada/commit/7731a49049ac53aa3a53b5bd1c42b3291ad39c12)) - -* Refactor prepare iter to return a stream ([`42cbc4b`](https://github.com/kaskada-ai/kaskada/commit/42cbc4b5187c6737b6d4919ab2efe6bf1cc0a8ce)) - -* Add pulsar stream path ([`58739dd`](https://github.com/kaskada-ai/kaskada/commit/58739ddec6ee9aa883416fb57c0c5c479b1c8837)) - -* move avro_arrow to arrow crate ([`a530249`](https://github.com/kaskada-ai/kaskada/commit/a53024978e08c50cf9a54545787e18d0e7292acc)) - -* Fix compile errors ([`4949d54`](https://github.com/kaskada-ai/kaskada/commit/4949d5429ab3c70b96f8fd90c9a0d9b103d1a107)) - -* fix stream ([`0609ee4`](https://github.com/kaskada-ai/kaskada/commit/0609ee44685eca5c6cd6b19df64a4f6f106df01f)) - -* trying to make iters async ([`61cdef6`](https://github.com/kaskada-ai/kaskada/commit/61cdef62af6a3e3bcd8299dcbd1864bfbc682ada)) - -* comments ([`588f230`](https://github.com/kaskada-ai/kaskada/commit/588f2306c5a02fe5b774b13429172cab6a3e24e9)) - -* Clippy fixes ([`7ed355c`](https://github.com/kaskada-ai/kaskada/commit/7ed355c260f1fb85e65443fa3bee4c3cc9ee9e78)) - -* Add unit test ([`46efea9`](https://github.com/kaskada-ai/kaskada/commit/46efea9272c61ce88bbbb9b1f2246935917d55d0)) - -* use block on for calling the async function ([`e67642d`](https://github.com/kaskada-ai/kaskada/commit/e67642d01ec485938acd36bdf1bedf00e46338da)) - -* update commets ([`15741ad`](https://github.com/kaskada-ai/kaskada/commit/15741ad57be1dc9d712e704c78e47dd7a74e7118)) - -* Add execution iterator for pulsar streams ([`5139c88`](https://github.com/kaskada-ai/kaskada/commit/5139c88a1d0e652ee8482e767bb42a43fb4f39dc)) - -* fmt ([`f4a0e4d`](https://github.com/kaskada-ai/kaskada/commit/f4a0e4d2cf8477d7f290cb22603c0969bd7a999f)) - -* cleaned up dockerfiles and added jupyter build (#357) - -removed unused `Dockerfile.notebook` - -trying to see if we can use `Dockerfile.release` in place of -`Dockerfile.integration` since they are so similar. - -Added new `Dockerfile.jupyter` to create a mult-arch release of our -system based off a Jupyter notebook environment with pre-installed -kaskada services and clients. ([`c25fd85`](https://github.com/kaskada-ai/kaskada/commit/c25fd85f5547a7a43c7355962d81145d59c75d49)) - -* updated logging formats of both processes to be more similiar ([`6862285`](https://github.com/kaskada-ai/kaskada/commit/68622850f6bbfaa365f8e6a39436732a6e06d392)) - -* Merge branch 'main' into docker/jupyter ([`32b0744`](https://github.com/kaskada-ai/kaskada/commit/32b07442331460ca68bf392927d9446c18384fd2)) - -* Update .github/workflows/release_engine.yml - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`1ccf90d`](https://github.com/kaskada-ai/kaskada/commit/1ccf90df5b5ba3336a43d655b97c3a5673947ff4)) - -* (ci) updates rust builds for PRs only to use bigger machines (#300) - -[Build sparrow (rust) / Rust -Checks](https://github.com/kaskada-ai/kaskada/actions/runs/4857535060/jobs/8658115221#logs) -succeeded now in 24m 39s - -on 8 core machine ([`8e71e5f`](https://github.com/kaskada-ai/kaskada/commit/8e71e5f822c68e484b1d27c52dfb04a8bca12470)) - -* move back to ubuntu 20.04 ([`99ee60b`](https://github.com/kaskada-ai/kaskada/commit/99ee60bc75f5e631e474d2020abbc4c2bcfba557)) - -* Update Default Data Location to User Directory Cache (#253) (#355) - -Closes #253. ([`903ab8d`](https://github.com/kaskada-ai/kaskada/commit/903ab8db4392d398be5fd1275db9be481eaed29e)) - -* Merge branch 'main' into tsk-libc-test ([`f4b70be`](https://github.com/kaskada-ai/kaskada/commit/f4b70becd494181a218f7c23e783c25899255438)) - -* another attempt ([`855dc0b`](https://github.com/kaskada-ai/kaskada/commit/855dc0b09be0a427c1e70bf70966de3a1c22380f)) - -* cleaned up dockerfiles and added jupyter build ([`042bfb2`](https://github.com/kaskada-ai/kaskada/commit/042bfb2568dfc5ec5ce1b14f1dc2a28e4873a889)) - -* added a jupyter dockerfile ([`d296797`](https://github.com/kaskada-ai/kaskada/commit/d296797e4f389bbadf41bb113e5834c703829aa2)) - -* nil check ([`3e8fef4`](https://github.com/kaskada-ai/kaskada/commit/3e8fef40b5c155dc872620d5740a7e2db2d93b02)) - -* Merge branch 'main' into feature/253-default-data-location ([`e2b1f13`](https://github.com/kaskada-ai/kaskada/commit/e2b1f13ba15ac61ef80c51a6555eded97b9dfc23)) - -* updated the wren database default ([`a3cce42`](https://github.com/kaskada-ai/kaskada/commit/a3cce428a57fda545cba9b1bb2ef569e314d6ce9)) - -* api changes for long-lived materializations in sparrow (#298) ([`a272bad`](https://github.com/kaskada-ai/kaskada/commit/a272badd0278a471025e7e50dc3b00f1f99babc9)) - -* Merge branch 'main' into prod/stream_protos ([`07d8c78`](https://github.com/kaskada-ai/kaskada/commit/07d8c789840f3e4266191e95093743219b6608f1)) - -* Update docs-src/modules/ROOT/pages/installing.adoc - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`caf6aef`](https://github.com/kaskada-ai/kaskada/commit/caf6aeffe713eee9f460cacadba1427803227b00)) - -* Update docs-src/modules/ROOT/pages/installing.adoc - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`6bc5cf6`](https://github.com/kaskada-ai/kaskada/commit/6bc5cf628596d3544113e638265c885a1232c1e4)) - -* updated references to include readthedocs ([`f3f9ebf`](https://github.com/kaskada-ai/kaskada/commit/f3f9ebf2a74707fe0d320f9686d1b9b0a6742247)) - -* update default data location to user directory cache (closes #253) ([`0407f43`](https://github.com/kaskada-ai/kaskada/commit/0407f4391a2916232c71eb69ebe45a0988fbb65f)) - -* added gcp config ([`35df487`](https://github.com/kaskada-ai/kaskada/commit/35df4875b3eb3ade8bbd810f915af45934a64564)) - -* (ci) use callable workflows for docs actions (#351) - -Closes: #349 - -Moved from using the `gh` command to relying on -[convictional/trigger-workflow-and-wait@v1.6.5](https://github.com/convictional/trigger-workflow-and-wait/tree/v1.6.5/) - -* Could not figure out a way to start a workflow and wait on its result -using `gh` -* Had to alter kaskada-ai/docs-site workflows to be callable -* also had to make the kaskada-ai/docs-site workflow responsible for PRs -to take in an inout argument--the branch name for the PR in this repo. - -Relevant changes in -[kaskada-ai/docs-site](https://github.com/kaskada-ai/docs-site/commit/40c0dc8b61dcbdc80dacd5290ec189395379a065) - * I accidentally pushed to `main` on that one sorry ([`cc11cec`](https://github.com/kaskada-ai/kaskada/commit/cc11cece95c0a786e101f05b3c7994c359a0f1c9)) - -* Fix test imports ([`12c5936`](https://github.com/kaskada-ai/kaskada/commit/12c593643bd1b92108b86f4f39fc6491fac6c6d6)) - -* ignore no dataToken error (#350) - -updates the query path to not set the dataToken to the response if it -doesn't exist. It will only not exist on a brand new system, where no -data has been loaded into Kaskada. - -After skipping setting the dataToken field, the code correctly returns -the failed compilation instead, including helpful fenl diagnostics. - -Old Behavior: -``` -> ./kaskada_cli table list -(empty set) -> ./kaskada_cli query run Purchase -9:01PM FTL error="rpc error: code = NotFound desc = data_token not found" -``` - -New Behavior: -``` -> ./kaskada_cli query run Purchase - -state: STATE_FAILURE -config: {} -analysis: {} -fenlDiagnostics: - fenlDiagnostics: - - severity: SEVERITY_ERROR - code: E0006 - message: Unbound reference - formatted: |+ - error[E0006]: Unbound reference - --> Query:1:1 - | - 1 | Purchase - | ^^^^^^^^ No reference named 'Purchase' - | - = No formulas, tables, or let-bound names available - - numErrors: "1" -metrics: {} -requestDetails: - requestId: aaafdf41a2604f771e38207568455cce -``` ([`3f2648b`](https://github.com/kaskada-ai/kaskada/commit/3f2648b6eb704f9e159e67cc2ad27dcb56b5ea7e)) - -* (ci) call apt-get update before installing qemu packages (#346) - -Closes #344 - -Fixes -https://github.com/kaskada-ai/kaskada/actions/runs/4916858931/jobs/8786161907 ([`ac43dd0`](https://github.com/kaskada-ai/kaskada/commit/ac43dd043bb946063d4024fdbec75dd0af0914f4)) - -* Merge branch 'main' into therapon-patch-1 ([`5ebc57e`](https://github.com/kaskada-ai/kaskada/commit/5ebc57ef1cea75d61e97cf5b050403972c0a57e9)) - -* draft: Fail Unsupported Columns (#318) (#323) - -# Fail Unsupported Columns (#318) - -Updates the `FileService` and `PrepareService` to fail for unsupported -columns (Decimal) rather than silently drop the columns. ([`00c2c6b`](https://github.com/kaskada-ai/kaskada/commit/00c2c6b69abd71988a830a16894de3416156b8c1)) - -* ignore no dataToken error ([`511b909`](https://github.com/kaskada-ai/kaskada/commit/511b90953200af63534ab58898310982a0b64034)) - -* fail on unsupported columns (#318) ([`99fa46d`](https://github.com/kaskada-ai/kaskada/commit/99fa46d052868b3a78793a155e5eea5f035ad5fc)) - -* Update sparrow with proto changes ([`45b4a3b`](https://github.com/kaskada-ai/kaskada/commit/45b4a3b5a661803154e3b73c6aeb361a4950e101)) - -* update issue templates (#348) ([`7433cbb`](https://github.com/kaskada-ai/kaskada/commit/7433cbb23e145746fa83a0cc90080531869c0c3e)) - -* update issue templates ([`2113db0`](https://github.com/kaskada-ai/kaskada/commit/2113db0f9e20858968edf06345b5b86ea3cc9a3f)) - -* (docs) fix integrations menu (#345) - -* make `integrations` menu item a link to the index page -* fix unclosed example block ([`8c44afa`](https://github.com/kaskada-ai/kaskada/commit/8c44afa92000454e5576bd597760fd3b9b329e87)) - -* (ci) cal apt-get update before installing qemu packages ([`d9ad6be`](https://github.com/kaskada-ai/kaskada/commit/d9ad6be65383e009a02341f5dc230a33f75a3fca)) - -* (docs) fix integrations menu ([`53b1bfa`](https://github.com/kaskada-ai/kaskada/commit/53b1bfaf6288763107e81407423fe2b3b65fb75b)) - -* Add fenlmagic load ack (#305) ([`a50384b`](https://github.com/kaskada-ai/kaskada/commit/a50384bd3aaa92e48d11db750771d97c1364dad1)) - -* formatted protos ([`7cede87`](https://github.com/kaskada-ai/kaskada/commit/7cede872ac603581d04a291f483c3cb0f2c7ecb6)) - -* made wren changes ([`84e8ae5`](https://github.com/kaskada-ai/kaskada/commit/84e8ae5ca5c3f202aaaf63cffdc27be047400d24)) - -* made suggested changes ([`3b574d8`](https://github.com/kaskada-ai/kaskada/commit/3b574d81a7cef199a805b8323dd5833e08ac533d)) - -* draft: api changes for long-lived materializations in sparrow ([`5235f54`](https://github.com/kaskada-ai/kaskada/commit/5235f5480459fd7bb819d5e64b4b186005c52a58)) - -* updated cli getting started docs (#328) - -also updated load-data docs ([`0af8955`](https://github.com/kaskada-ai/kaskada/commit/0af895534db62a57b26469d3fde9045a77f66390)) - -* made suggested changes ([`57c79ee`](https://github.com/kaskada-ai/kaskada/commit/57c79eefc9b08c96fd07e24f0caea77492e41c76)) - -* Optional PATH docs cli ([`8400a26`](https://github.com/kaskada-ai/kaskada/commit/8400a26b6b5cef8e5b72660ff15c61e9a42ce535)) - -* create release v0.6.2 (#329) ([`1ee0d3c`](https://github.com/kaskada-ai/kaskada/commit/1ee0d3cc34a4b1ce6acb98dcd908d723cdd236ff)) - -* also update loading data ([`b3984b5`](https://github.com/kaskada-ai/kaskada/commit/b3984b5a6a52936297c7aa9a193a3f44fa91c705)) - -* updated cli getting started docs ([`e869e48`](https://github.com/kaskada-ai/kaskada/commit/e869e489dc3bb175191c0d324861052612949695)) - -* updated docs for new CLI resources (#322) - -* also moved `sync` command stuff to its own file. - ---------- - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> -Co-authored-by: Kevin J Nguyen <kevinjnguyen2@gmail.com> ([`b876c73`](https://github.com/kaskada-ai/kaskada/commit/b876c732017a23a6881bcefb90b0a705a6542fb4)) - -* fixed sync export (#321) ([`71e80ca`](https://github.com/kaskada-ai/kaskada/commit/71e80ca9463f6cc6d8082944d00587154610420f)) - -* Change README to point at Slack rather than GH Discussions. (#325) - -Also, reword to be more encouraging. ([`2c84805`](https://github.com/kaskada-ai/kaskada/commit/2c84805c8de80d7dcada2145c84a3eb3a37820dd)) - -* Change README to point at Slack rather than GH Discussions. - -Also, reword to be more encouraging. ([`c08a00c`](https://github.com/kaskada-ai/kaskada/commit/c08a00c18d0d7640815511776bf7981938441dd3)) - -* Align the two getting started docs (#311) - -This uses the same flow and code examples for both Jupyter and the CLI. ([`bcfa69e`](https://github.com/kaskada-ai/kaskada/commit/bcfa69e0ebc9c8752a4faeb4750596e6b0ac0654)) - -* reverted logging level changes ([`415fc65`](https://github.com/kaskada-ai/kaskada/commit/415fc654bf13ebef510bde1b522ed13926a2dcd8)) - -* fixed sync export ([`f3a2568`](https://github.com/kaskada-ai/kaskada/commit/f3a2568177ae0b800ee6bcc0bd7dfb0557d8d592)) - -* Added create/list/get/delete endpoints for tables/views/materializations (#319) - -Also made a ton of other improvements - -I'd like to get this merged and published ASAP without waiting for the -doc changes, so that a few of us can work on the doc updates more easily -together. - -Should help #202, #278 ([`b290960`](https://github.com/kaskada-ai/kaskada/commit/b2909608625044380768c0af375606dd0cb589d4)) - -* fix bug ([`14e5da8`](https://github.com/kaskada-ai/kaskada/commit/14e5da8edca0f26ab2ea27d99ee109221405d9be)) - -* Add link to catalog ([`80b2696`](https://github.com/kaskada-ai/kaskada/commit/80b2696c24add253d7b3029db7ee2f512536ff4a)) - -* Apply suggestions from code review - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`e2e537e`](https://github.com/kaskada-ai/kaskada/commit/e2e537eea783c2260d5544d72040eb075f97f587)) - -* fixed tests ([`8549437`](https://github.com/kaskada-ai/kaskada/commit/854943781128655f0164d1b1997802d84b6c813a)) - -* wip ([`fbbef2e`](https://github.com/kaskada-ai/kaskada/commit/fbbef2ec5d8a298f1fd7d6d08d4254598bc8bf98)) - -* added basic list cmd to each resource ([`349bb71`](https://github.com/kaskada-ai/kaskada/commit/349bb71e3622840e0eb4f969b60c7abfac4a7ec1)) - -* made a slew of updates ([`493832f`](https://github.com/kaskada-ai/kaskada/commit/493832f8027820d14510e127f8158d8dd298a891)) - -* Update Log Output Files Documentation (#274) (#313) - -# Description - -Documentation updates for #304. ([`6845dad`](https://github.com/kaskada-ai/kaskada/commit/6845dadcd9259c035bff6669fc2e9caa4c1e4493)) - -* (ci) adds S3 integration tests (#315) - -Takes care of the first task in #232 ([`bfd7420`](https://github.com/kaskada-ai/kaskada/commit/bfd742007d870fdf8295f22c82aa0a65709df862)) - -* adds S3 integration tests ([`1b8942a`](https://github.com/kaskada-ai/kaskada/commit/1b8942a041539483a61684383c94988e492ec0dd)) - -* stopped removing output fields for non-sync ([`3bb9ef2`](https://github.com/kaskada-ai/kaskada/commit/3bb9ef2bf6d2bfa49890cfd9c96378223b2bf5d5)) - -* added create & get support to table, view, materialization ([`4d028a5`](https://github.com/kaskada-ai/kaskada/commit/4d028a50e198df918543897e0ce28a26b42484c9)) - -* Update Log Output Files (#274) (#304) - -# Description - -Updates the logging for the Manager and the Engine to output to: -~~`~/.cache/kaskada/logs/<service_name>/<service_name>-<stderr/std-out>-<timestamp>.log`~~ - -`~/.cache/kaskada/logs/<timestamp>-<service_name>-<std-err/std-out>.log`. - -Example: -* `~/.cache/kaskada/logs/2023-05-02T18-11-25-engine-stderr.log` -* `~/.cache/kaskada/logs/2023-05-02T18-11-25-engine-stdout.log` ([`6d6491d`](https://github.com/kaskada-ai/kaskada/commit/6d6491d6c1d65dccbd8adbb780720b830780c711)) - -* Update Log Output Files (Closes #274) ([`80d05de`](https://github.com/kaskada-ai/kaskada/commit/80d05de082db2138fb6e6d79192138a867247241)) - -* Update Log Output Files Documentation (#274) ([`0ae223d`](https://github.com/kaskada-ai/kaskada/commit/0ae223dc8003877c79fcfc7b5d424b47f2f4f3af)) - -* (ci) fix typo: should-skip => should_skip (#310) - -CI integration jobs were not being skipped for PRs that did not alter -any code relevant to sparrow or wren due to a typo in YAML. ([`c4b8a2c`](https://github.com/kaskada-ai/kaskada/commit/c4b8a2c78f0fa0a5c8bc57ad5113ea962f9378bb)) - -* (docs) updated release instructions (#309) - -* updates the python drafter to mark python releases using -`python@vX.Y.Z`, it was missing the `v` -* Updates release docs to -1. Edit the draft release created by drafter rather than create a new -release. Has all the info and is easier - 2. Remove command line instructions that created a fresh release. ([`961400b`](https://github.com/kaskada-ai/kaskada/commit/961400b44d2ffe2de854f07da91a144ecb7daa8c)) - -* Align the two getting started docs - -This uses the same flow and code examples for both Jupyter and the CLI. ([`b82f365`](https://github.com/kaskada-ai/kaskada/commit/b82f365048b39815359ffc962a2ab4f32c83a466)) - -* (docs) updated release instructions ([`7dba211`](https://github.com/kaskada-ai/kaskada/commit/7dba21106fb983bc3ed3835b80e0b440525c1ff5)) - -* Add an example using Docker and a notebook to get started quickly wit… (#306) - -…h some synthetic data ([`98e2a72`](https://github.com/kaskada-ai/kaskada/commit/98e2a7294b032467aa582ce56db37cfd14cd1671)) - -* Merge branch 'main' into rm/trial ([`d32cd07`](https://github.com/kaskada-ai/kaskada/commit/d32cd07e396296db20b111a3c7ccc580fd4106b5)) - -* Add an example using Docker and a notebook to get started quickly with some synthetic data ([`e9cbc1e`](https://github.com/kaskada-ai/kaskada/commit/e9cbc1ea1d7a820861f65e105528073b489debd7)) - -* Update pyproject.toml to 0.1.7 (#307) ([`14c650b`](https://github.com/kaskada-ai/kaskada/commit/14c650b12ddbaa0463db8a05dd6fece92805f544)) - -* Updates Python Client to use file URI Prefix (#240) - -# Description -Closes #239 - -## Changes -* Updates the python client to accept the file:// prefix for file paths -and removes the logic for converting to a URI ([`f5ba06c`](https://github.com/kaskada-ai/kaskada/commit/f5ba06caf7b5f5d2527c806f72b5e330524ccd87)) - -* use different runs-on targets for custom runners ([`174f1f9`](https://github.com/kaskada-ai/kaskada/commit/174f1f9e1a5559772164790493f4a4301e6206d6)) - -* Merge pull request #296 from kaskada-ai/rm/docs-jupyter - -Revise Jupyter hello-world to align to the new getting-started and ju… ([`c9f3ac2`](https://github.com/kaskada-ai/kaskada/commit/c9f3ac2044cc2f2828b78e17668d3d86b0c67ae1)) - -* Merge branch 'main' into rm/docs-jupyter ([`553925b`](https://github.com/kaskada-ai/kaskada/commit/553925b8dd94dc809785f6d859eb62ff54c85a2e)) - -* Update docs-src/modules/getting-started/pages/hello-world-jupyter.adoc - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`b043766`](https://github.com/kaskada-ai/kaskada/commit/b043766fc15c682eec5c40579e305a7ea2dad42c)) - -* Merge pull request #291 from kaskada-ai/rm/docs-flow - -Rewrite the "getting started" page ([`75f5179`](https://github.com/kaskada-ai/kaskada/commit/75f5179071aa123dbdee356ff86b9340d185cdc8)) - -* Merge pull request #301 from kaskada-ai/wren/load_errors - -added file existence and accessibility checks on load ([`e947b34`](https://github.com/kaskada-ai/kaskada/commit/e947b34e9e8bd611bcce507563c2f8af1e946883)) - -* added tests of missing and unaccessible files ([`c9fed4b`](https://github.com/kaskada-ai/kaskada/commit/c9fed4b72739ac8f41d8ff4baea179f26e969b65)) - -* added checks on load file ([`21f818f`](https://github.com/kaskada-ai/kaskada/commit/21f818f7b3b7b92c1d2652afafdd8c4013fd8b48)) - -* Merge branch 'main' into 239-python-client-file-prefix ([`27ba579`](https://github.com/kaskada-ai/kaskada/commit/27ba5793e04e62ca4402805ef30594ca189fb5f6)) - -* poetry types ([`fda2b59`](https://github.com/kaskada-ai/kaskada/commit/fda2b598f80972c1ea4c03ae2abca9c8dd562b66)) - -* code review comments/add support for file:// ([`3813188`](https://github.com/kaskada-ai/kaskada/commit/381318836d2eecef25b028c7a78a3011bb45a11d)) - -* Revert "closes #239" - -This reverts commit a96ab14fb3bf9fcdfa401751385a9a1fc476476e. ([`f723867`](https://github.com/kaskada-ai/kaskada/commit/f723867dbb5eb4a5d824a091532debaa6ea90485)) - -* Revert "update docs" - -This reverts commit c61171c431ca0c4c99a201c3a37d4b21c58ca0a7. ([`a1fc427`](https://github.com/kaskada-ai/kaskada/commit/a1fc4276f3fe5bfeb6dae521ae9f54083ec1b115)) - -* Merge branch 'main' into 239-python-client-file-prefix ([`74996b2`](https://github.com/kaskada-ai/kaskada/commit/74996b2781917401b5ec54fe005e5ce3555c4c8a)) - -* Merge pull request #231 from kaskada-ai/feature/use-object-store - -Object Store for FileService and PrepareService ([`deafc8c`](https://github.com/kaskada-ai/kaskada/commit/deafc8c96ee583893a29d20f18b69eaa5826ffe8)) - -* Merge pull request #293 from kaskada-ai/bug-add-ignored-test-when-non-null-behavior - -bug: add ignored test for unexpected non-null when behavior ([`ffd5537`](https://github.com/kaskada-ai/kaskada/commit/ffd5537e9a7f4c585dc498a11f33e9ca04b19c84)) - -* clippy ([`03c6259`](https://github.com/kaskada-ai/kaskada/commit/03c6259ee56033bb6cae5cca09f5132a1267a9f7)) - -* reverted wren changes, cleaned up env vars, fixed sparrow ([`6529ec3`](https://github.com/kaskada-ai/kaskada/commit/6529ec35f3ceefc6c6f7fbaaad128f8bd3010171)) - -* Clean up variable naming and fix output prefix bug ([`f89a9e5`](https://github.com/kaskada-ai/kaskada/commit/f89a9e573efa16f52daf07471fc58f8372823244)) - -* made suggested edits ([`af9fb6e`](https://github.com/kaskada-ai/kaskada/commit/af9fb6e8fb4491d0eb8501e6ab134545aa121dd4)) - -* more unwrap handling ([`70b4deb`](https://github.com/kaskada-ai/kaskada/commit/70b4deb2bcff391a531bdc66d4f571b0cf3f55c7)) - -* Add error stack and clean up a bit ([`d2847f0`](https://github.com/kaskada-ai/kaskada/commit/d2847f0125cd3f314bb09e16de73f2089648ed2e)) - -* updated tests ([`9d00ea3`](https://github.com/kaskada-ai/kaskada/commit/9d00ea3fb0b35146dcf558a3a8216bc351b95b6f)) - -* cargo clippy ([`9cf32b2`](https://github.com/kaskada-ai/kaskada/commit/9cf32b2c71fb953b46c70ecd26e0295e3ebe2fa1)) - -* added example notebook ([`62d2f6f`](https://github.com/kaskada-ai/kaskada/commit/62d2f6fe04d1cf56c9855441e27977dd3f3fb021)) - -* updated wren ([`5b0f5e2`](https://github.com/kaskada-ai/kaskada/commit/5b0f5e24a09abab2983c2ca084e15e5719a21082)) - -* prepare changes ([`8ce2dad`](https://github.com/kaskada-ai/kaskada/commit/8ce2dade6046d516f37479df2081268feb805337)) - -* removed s3 helper ([`cc84355`](https://github.com/kaskada-ai/kaskada/commit/cc8435502a4b5b93c6e3d1ebf9ab13e8532dd950)) - -* added upload ([`a0e7a31`](https://github.com/kaskada-ai/kaskada/commit/a0e7a3136c93e57546c75ef838881046102018d7)) - -* updated wren ([`cbd1e17`](https://github.com/kaskada-ai/kaskada/commit/cbd1e17b4c5d826a82120bd32583671c3dd6050e)) - -* updated preparation ([`4234f9f`](https://github.com/kaskada-ai/kaskada/commit/4234f9f21231eeefaaffd0f7b1ef92d21d72ac4d)) - -* revise ignore message ([`e000336`](https://github.com/kaskada-ai/kaskada/commit/e000336198e431477571da5b031f60d9c527099c)) - -* Add ignored test for unexpected non-null when behavior ([`acb3a13`](https://github.com/kaskada-ai/kaskada/commit/acb3a132a554914aed0fffbe2dfd5ab5ab7df0df)) - -* Comments ([`4d7f6c9`](https://github.com/kaskada-ai/kaskada/commit/4d7f6c96c459a1feee088d3dfc5fe2f8006cb41f)) - -* Comments ([`623a3cb`](https://github.com/kaskada-ai/kaskada/commit/623a3cbd5e978e68f13b4efbbe13441bc85f2d69)) - -* Revise Jupyter hello-world to align to the new getting-started and just be cleaner. ([`7c5d352`](https://github.com/kaskada-ai/kaskada/commit/7c5d352055812153bc6d3ef9e6c8110a38ce2ae3)) - -* Updates per comments, and some additional intro encouraging people to actually read this stuff ([`32702de`](https://github.com/kaskada-ai/kaskada/commit/32702de30cdcec3e3ffa28dd15730c6ef9997863)) - -* Rewrite the "getting started" page - -The goal here is to quickly introduce the concepts needed to understand -Kaskada, and provide links to deeper reading as appropriate. ([`fa834f3`](https://github.com/kaskada-ai/kaskada/commit/fa834f3dae22aa97c040646d39d21d0127279b42)) - -* Merge pull request #290 from kaskada-ai/local_tests - -upgraded integration tests to be runnable locally ([`0d959d8`](https://github.com/kaskada-ai/kaskada/commit/0d959d80ab9b33e0ff4fe5ac22183508bfed13bc)) - -* Merge pull request #285 from kaskada-ai/rm/docs-cli-query - -Add a section to querying documenting the CLI, link to PB and Python … ([`a8fbeef`](https://github.com/kaskada-ai/kaskada/commit/a8fbeef92b68dc9a65fbfbda9bae9bc6f93a8195)) - -* upgraded integration tests to be runnable locally ([`8f36fd3`](https://github.com/kaskada-ai/kaskada/commit/8f36fd3ea4161e1d0c6394402fc168a6e34fc956)) - -* Merge branch 'main' into rm/docs-cli-query ([`b24584f`](https://github.com/kaskada-ai/kaskada/commit/b24584f54601bc46c6191fa1a17e422abd357dc4)) - -* fix timeline ([`55b3b2b`](https://github.com/kaskada-ai/kaskada/commit/55b3b2bc2413b7df5d556c37412b2a741f69bdd9)) - -* Merge pull request #286 from kaskada-ai/tsk-release-docs - -(docs) adds steps on releasing engine and python components ([`69bf4ad`](https://github.com/kaskada-ai/kaskada/commit/69bf4ad600982bb75401412c7d16107c3bd43a18)) - -* Merge pull request #287 from kaskada-ai/rm/docs-tabs - -Use tabs to separate different implementations of the same logic. ([`7ebc8ff`](https://github.com/kaskada-ai/kaskada/commit/7ebc8ffa4436523a248c6285aeb21bc75bc48daf)) - -* Merge pull request #284 from kaskada-ai/rm/docs-fenlplugin - -Use plugin for visualizations ([`095c7e0`](https://github.com/kaskada-ai/kaskada/commit/095c7e06fc8a64fb707ff7baca92a0e2b2a28767)) - -* Use '.fenl' for query files ([`e588ae2`](https://github.com/kaskada-ai/kaskada/commit/e588ae26127b8839519b2d76670f9c692f90d3c0)) - -* Apply suggestions from code review - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`567d524`](https://github.com/kaskada-ai/kaskada/commit/567d52414db3d36e8e63a8a65d0177c3e067e01b)) - -* (docs) adds steps on releasing python engine on command line ([`8fd56bf`](https://github.com/kaskada-ai/kaskada/commit/8fd56bffbd1c08416e2cf82149a0131b35703dea)) - -* Apply suggestions from code review - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`4706f1d`](https://github.com/kaskada-ai/kaskada/commit/4706f1d8e7d3f5d0455e8e6beeedb81a33b3da3d)) - -* Delete unused images ([`e580bc0`](https://github.com/kaskada-ai/kaskada/commit/e580bc06220214f462a071755e6e4b8639d205c4)) - -* Use tabs to separate different implementations of the same logic. ([`d02b1eb`](https://github.com/kaskada-ai/kaskada/commit/d02b1eb9c2913b26fb8d495ed9466a052032fcff)) - -* (docs) adds steps on releasing engine and python components ([`c9d7540`](https://github.com/kaskada-ai/kaskada/commit/c9d75408e2b7e6cbb3d3cacef967edde0f8b71cc)) - -* Add a section to querying documenting the CLI, link to PB and Python docs ([`2431c69`](https://github.com/kaskada-ai/kaskada/commit/2431c69a6be8a8a5b3c4772f5c5b85cfa4f2bd0a)) - -* Merge pull request #281 from kaskada-ai/rm/docs-misc - -Simple docs improvements ([`4e2fc5b`](https://github.com/kaskada-ai/kaskada/commit/4e2fc5b40b2476bffd2f9eeb9f1380fa72989c1c)) - -* bumping versions for release (#282) ([`4f5aff1`](https://github.com/kaskada-ai/kaskada/commit/4f5aff172ef99909d96a1b9b209f87681a296d13)) - -* Use plugin for visualizations ([`b684e99`](https://github.com/kaskada-ai/kaskada/commit/b684e99e28376b8a8fc2b746c026e5829f2ffb8d)) - -* Remove dollars ([`3e9f5b0`](https://github.com/kaskada-ai/kaskada/commit/3e9f5b0764796219b3f34bc1a264035b74c75730)) - -* Apply suggestions from code review - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`c2f8fc2`](https://github.com/kaskada-ai/kaskada/commit/c2f8fc2bb9a54eaf9c735b7ae227fd9f972405b3)) - -* Simple docs improvements - -* Show running a query from a file in CLI examples, rather than heredoc -* Make it easier to find “windowing” in the doc nav -* Call out requirements in the “installing” section for Python -* Use the same install script in quickstart and installing section -* Add binaries to PATH -* Show the “you need to create a table first” warning before every place we load data -* Document how to connect to arbitrary endpoints as an alternative to a the local session -* Link to “create a table” when we suggest people should do so. -* Add curly-braces note the first time records are used in each page of the docs. ([`132c988`](https://github.com/kaskada-ai/kaskada/commit/132c9881b11aad749f75568e2f6d6ff23e1b21dd)) - -* Merge pull request #276 from kaskada-ai/improve-timeine-notebook - -docs: Further refine the timelines notebook ([`30fc35f`](https://github.com/kaskada-ai/kaskada/commit/30fc35fd24d88698a5809c25b681a7012af2da4d)) - -* updated buf and plugins (#270) - -resolves #242 - ---------- - -Co-authored-by: Therapon Skoteiniotis <therapon@gmail.com> -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`975700a`](https://github.com/kaskada-ai/kaskada/commit/975700af4f9c6906cf61868a35e84a8df79bb3d7)) - -* Merge pull request #275 from kaskada-ai/tsk-docs-troubleshooting-guide - -(docs) adds troubleshooting section and an entry for logs ([`e20c267`](https://github.com/kaskada-ai/kaskada/commit/e20c267c40d31cf2d45505dfd6f6bf24fe83d6e8)) - -* Merge pull request #271 from kaskada-ai/rm/trial-3 - -Update docs to improve clarity and usability ([`ad17147`](https://github.com/kaskada-ai/kaskada/commit/ad1714742c273bd6abc3d0fb6fcb4a4127551316)) - -* (ci) include a build of the docs on each PR but do not publish (#265) ([`e19185b`](https://github.com/kaskada-ai/kaskada/commit/e19185bef9e06a3ca63910c0411077ae6aa0e201)) - -* (docs) adds troubleshooting section and an etry for logs ([`656ff78`](https://github.com/kaskada-ai/kaskada/commit/656ff78f5bb5f28768b118997ae3730bf7c85139)) - -* Merge pull request #269 from kaskada-ai/timeline-example-notebook - -docs: Add example based on timeline presentation ([`2d19b48`](https://github.com/kaskada-ai/kaskada/commit/2d19b48146c22fab8126b79a5dc0adf4b349c696)) - -* move notebooks ([`c24a7a4`](https://github.com/kaskada-ai/kaskada/commit/c24a7a43fc4b6bc114e7738844a5e75c54359f41)) - -* Fix wording ([`baa22fd`](https://github.com/kaskada-ai/kaskada/commit/baa22fd96bed63570e2ae221cd8d576bffc082a4)) - -* Apply suggestions from code review - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`a1ed8fe`](https://github.com/kaskada-ai/kaskada/commit/a1ed8fe1a9472a7b6ac210f910cf1a8a788fe426)) - -* Update docs to improve clarity and usability - -* Explain what data tokens are for everywhere they’re mentioned -* Fix “--result_behavior” in docs -* Start query examples with a table list (ie “Purchase”) -* Show “when” inside brackets and out early on -* Cross-link to function catalog anywhere we’re introducing syntax ([`e499760`](https://github.com/kaskada-ai/kaskada/commit/e49976076c9d0729b12a22446b9735e67a874e89)) - -* (docs) updates link to deleting a table (#264) ([`43d8e98`](https://github.com/kaskada-ai/kaskada/commit/43d8e984066dfea99cc7531be7954f31ae6bd5a5)) - -* (docs) fixes link in docs -- deleting tables with cli (#263) ([`cf0b290`](https://github.com/kaskada-ai/kaskada/commit/cf0b29039f3a9ad028cdcfc8de6a4015b97c9091)) - -* Merge pull request #262 from kaskada-ai/cli/delete - -added resource delete to the cli ([`c02d851`](https://github.com/kaskada-ai/kaskada/commit/c02d85153553d094b686c4550d7659a5af13938c)) - -* updated docs ([`c86e7d2`](https://github.com/kaskada-ai/kaskada/commit/c86e7d2c4649dc9b4d6182123622a9daa5f99802)) - -* updated docs ([`ad03d6e`](https://github.com/kaskada-ai/kaskada/commit/ad03d6e2367f1d6077e594e4e7574a6073c6a771)) - -* added resource delete to the cli ([`b3cf5f5`](https://github.com/kaskada-ai/kaskada/commit/b3cf5f5f7c3f87beeb7fc82076f0cc165d4a696d)) - -* Merge pull request #261 from kaskada-ai/tsk-python-client-docs - -(docs) RTD configuration ([`1d82745`](https://github.com/kaskada-ai/kaskada/commit/1d82745a0d2c6b4385e30b1adac195fedb5eabca)) - -* rust advisory ([`2b61796`](https://github.com/kaskada-ai/kaskada/commit/2b617967c92fcbb7f990abd9c87b2df0d831602f)) - -* moving .readthedocs.yaml file ([`5990758`](https://github.com/kaskada-ai/kaskada/commit/59907585ca4d2418be6d7762fb16770301ae497f)) - -* fixes paths and adds typing info in generated html ([`23e7a12`](https://github.com/kaskada-ai/kaskada/commit/23e7a1297b769ef6123424405614f25c1957f01a)) - -* Merge pull request #213 from kaskada-ai/pulsar/last_publish_time - -changed last_publish_time to i64 ([`d4ec77c`](https://github.com/kaskada-ai/kaskada/commit/d4ec77c881fc8a267367cc460c7bcf74fbaa1ad0)) - -* ensure that _publish_time never goes backwards ([`91c82fd`](https://github.com/kaskada-ai/kaskada/commit/91c82fdaafb3b4e662a411cd80b4b2ce570e61ea)) - -* update sparrow for data type change ([`ed19933`](https://github.com/kaskada-ai/kaskada/commit/ed199333ba3dd31a4652c9b71bbb56fd4323a7de)) - -* changed last_publish_time to i64 ([`71cd666`](https://github.com/kaskada-ai/kaskada/commit/71cd666b23e3eea19d8ed0a8b5825993fb580992)) - -* Merge pull request #235 from kaskada-ai/rm/docs-trial2b - -Improve query section of docs ([`18974d8`](https://github.com/kaskada-ai/kaskada/commit/18974d8e436dd9440079887ceff3effb2cb49e5c)) - -* Merge pull request #245 from kaskada-ai/tsk-read-the-docs-config - -(docs) adds extension to automatically call docs generate ([`4025dba`](https://github.com/kaskada-ai/kaskada/commit/4025dba9ed4351a29c8fd77b87d2581aa805bdca)) - -* Merge pull request #246 from kaskada-ai/tsk-ci-matrix-fix - -(ci) workaround to allow python client workflow to be required ([`14a6636`](https://github.com/kaskada-ai/kaskada/commit/14a663604d2d120ef8e5e65b3cb2c6476fef02a2)) - -* Merge branch 'main' into tsk-read-the-docs-config ([`d69eb97`](https://github.com/kaskada-ai/kaskada/commit/d69eb97402f93399f83c3b9eb26991c059bd2e7c)) - -* Merge branch 'main' into tsk-ci-matrix-fix ([`f093267`](https://github.com/kaskada-ai/kaskada/commit/f093267d5fad45ca941eceb6819d27ccd3a67dfe)) - -* Fix goof ([`2c655a4`](https://github.com/kaskada-ai/kaskada/commit/2c655a4a0dc304132066e158b51ffc6ac8fe2347)) - -* Fix string interpolations ([`ab7fa97`](https://github.com/kaskada-ai/kaskada/commit/ab7fa9731ab775d6e37f83fb76d087160f820372)) - -* Comments ([`0a141ad`](https://github.com/kaskada-ai/kaskada/commit/0a141ad0a20cdfdfcd843adf039a55c7f727d97b)) - -* Typo ([`a5c7a5f`](https://github.com/kaskada-ai/kaskada/commit/a5c7a5fc7bc42d34c9c13a72076250e63a9735f0)) - -* Improve query section of docs - -This was sort of a grab bag, hopefully it's more useful now. ([`af9d6e2`](https://github.com/kaskada-ai/kaskada/commit/af9d6e2823fb72c0ea4777748fa29114f2d154e6)) - -* updated version to 0.1.5 (#247) ([`4c5cea6`](https://github.com/kaskada-ai/kaskada/commit/4c5cea62395929ada1037ffed49e5870af32b941)) - -* (ci) workaround to allow python client workflow to be required ([`8eb91fa`](https://github.com/kaskada-ai/kaskada/commit/8eb91fafbe811fddab347de4bdbacdadd312af81)) - -* remove old workaround target ([`5e36845`](https://github.com/kaskada-ai/kaskada/commit/5e36845edac1a3393d1ba8f3de09f5d6167a6088)) - -* Merge branch 'tsk-read-the-docs-config' of github.com:kaskada-ai/kaskada into tsk-read-the-docs-config ([`f94b7b8`](https://github.com/kaskada-ai/kaskada/commit/f94b7b87ae4606509746894f41d855b594a064da)) - -* better solution using extension ([`09256f7`](https://github.com/kaskada-ai/kaskada/commit/09256f7d6119e40f61f1dda3aa3f2589e02073de)) - -* Merge branch 'main' into tsk-read-the-docs-config ([`5e2c257`](https://github.com/kaskada-ai/kaskada/commit/5e2c2578d6f2fe37dd553e570557f716d703de7d)) - -* (docs) inject call to sphinc-apidoc so that RTD works correctly ([`c12818a`](https://github.com/kaskada-ai/kaskada/commit/c12818adb1018b870c891146bb4feb41d9928c1d)) - -* Merge pull request #244 from kaskada-ai/tsk-read-the-docs-config - -adds more required deps for docs ([`1e92692`](https://github.com/kaskada-ai/kaskada/commit/1e926925bf210205d53e4d95521523ac3502465c)) - -* Merge pull request #241 from kaskada-ai/python/no_download - -added environment variable to disable client downloads ([`fb3d584`](https://github.com/kaskada-ai/kaskada/commit/fb3d584e3e420abc395d0178dc11e7112197f91d)) - -* Merge branch 'main' into tsk-read-the-docs-config ([`9be0e19`](https://github.com/kaskada-ai/kaskada/commit/9be0e1984a7609ffbacde529efd77703be9f651f)) - -* adds more required deps for docs ([`497e754`](https://github.com/kaskada-ai/kaskada/commit/497e754b8d4a5358cbac5821d389c3c9dd2e9592)) - -* Merge pull request #243 from kaskada-ai/tsk-read-the-docs-config - -removes quotes from version number in requirements.txt ([`57e6658`](https://github.com/kaskada-ai/kaskada/commit/57e6658103dc0a1eb7f7dba4f3d19805d67138d9)) - -* added environment variable to disable client downloads ([`551d3b7`](https://github.com/kaskada-ai/kaskada/commit/551d3b7d195823bdaf45d7ce7395110ccc01bdc8)) - -* Merge branch 'main' into tsk-read-the-docs-config ([`1a29ac6`](https://github.com/kaskada-ai/kaskada/commit/1a29ac6c1578589a4e0baad64544d9555057ac26)) - -* removes quotes from version number in requirements.txt ([`b85f0ff`](https://github.com/kaskada-ai/kaskada/commit/b85f0fff4352f3b66d0a293674cc7ac331d17e93)) - -* Merge pull request #237 from kaskada-ai/tsk-read-the-docs-config - -(docs): config for readthedocs + deps for building docs ([`f5a44c5`](https://github.com/kaskada-ai/kaskada/commit/f5a44c5817db9466fcbcd19e6b480d6883b31ddc)) - -* update docs ([`c61171c`](https://github.com/kaskada-ai/kaskada/commit/c61171c431ca0c4c99a201c3a37d4b21c58ca0a7)) - -* closes #239 ([`a96ab14`](https://github.com/kaskada-ai/kaskada/commit/a96ab14fb3bf9fcdfa401751385a9a1fc476476e)) - -* Merge branch 'tsk-read-the-docs-config' of github.com:kaskada-ai/kaskada into tsk-read-the-docs-config ([`f0736aa`](https://github.com/kaskada-ai/kaskada/commit/f0736aa19b181e70d7d77bae21b2c01e0e89eebd)) - -* fix typo ([`1d88f3d`](https://github.com/kaskada-ai/kaskada/commit/1d88f3dc7b3f2543c95ddeea43947269a466e126)) - -* Merge branch 'main' into tsk-read-the-docs-config ([`2cd5675`](https://github.com/kaskada-ai/kaskada/commit/2cd5675e77e9b15da9269b689bd0053c3ac25c35)) - -* format ([`81897bf`](https://github.com/kaskada-ai/kaskada/commit/81897bf64c5d57d8628609eea47e8ecde9f08851)) - -* Merge pull request #238 from kaskada-ai/rm/docs-trial2c - -Use the correct path syntax and highlight with bash ([`1c4a4e6`](https://github.com/kaskada-ai/kaskada/commit/1c4a4e6d596f7f8abcd44b255c0cdbbb8199e051)) - -* make mypy happy ([`792f7c2`](https://github.com/kaskada-ai/kaskada/commit/792f7c23246f34b5f83eeafc907eb3b083b40aea)) - -* make mypy happy ([`8db2a75`](https://github.com/kaskada-ai/kaskada/commit/8db2a75515c65dfb56e731b513a863faaeb8c822)) - -* Formatting ([`12cefd0`](https://github.com/kaskada-ai/kaskada/commit/12cefd03dd66ac25714d653e8eeca470f0403c73)) - -* Use the correct path syntax and highlight with bash - -Bash has prettier formatting than shell. ([`2a27a9f`](https://github.com/kaskada-ai/kaskada/commit/2a27a9f21244a384f27769d3c4981c1043a39373)) - -* formatting ([`f958aa8`](https://github.com/kaskada-ai/kaskada/commit/f958aa82fcdaff0c411cd96ca9f531eaf137cc74)) - -* (docs): config for readthedocs + deps for building docs ([`a0d21d4`](https://github.com/kaskada-ai/kaskada/commit/a0d21d48bfd884aea484150dbf114721559f7fcc)) - -* Merge pull request #234 from kaskada-ai/rm/docs-trial2 - -Updates from second trial ([`21a3384`](https://github.com/kaskada-ai/kaskada/commit/21a338426eda4e620dd9673d89a734a687224a90)) - -* Updates from second trial - -* Explain how to know if you need pip or pip3 in the “tip” -* Remove redundant title in table loading warning. -* Change titles involved with loading to make it clear that you’re loading into a table -* Output the log location when starting a subprocess in Python -* Fix method names “load_file -> load” -* Improve “client must be provided” error to suggest creating a session -* Add comments to arguments in all examples clarifying the argument’s meaning -* Reduce use of Pandas where possible -* Remove use of “search” parameter in table list call (or move to a subsection related to searching) ([`bc298bb`](https://github.com/kaskada-ai/kaskada/commit/bc298bbcb3b2d03ec76043f8c3429bcfbd1c7461)) - -* Merge pull request #221 from kaskada-ai/tsk-python-client-docs - -(docs): adds python client generated docs ([`9e9ef1d`](https://github.com/kaskada-ai/kaskada/commit/9e9ef1d1144c0572b317378c6c829c72dfbe9586)) - -* Merge branch 'tsk-python-client-docs' of github.com:kaskada-ai/kaskada into tsk-python-client-docs ([`be9fe83`](https://github.com/kaskada-ai/kaskada/commit/be9fe830b04c4e64a5808f70a0635dc78d980be4)) - -* populates project metadata for Sphinx from pyproject.toml ([`1d83957`](https://github.com/kaskada-ai/kaskada/commit/1d83957f575ecb07e5047f2433b8b0992af12550)) - -* remove commented out statements in conf.py ([`f949952`](https://github.com/kaskada-ai/kaskada/commit/f949952051a3e565049cd8fb687517ebfcd878c4)) - -* Merge branch 'main' into tsk-python-client-docs ([`04dbbbd`](https://github.com/kaskada-ai/kaskada/commit/04dbbbdb88701bd3e0b8530c5a43cc5053ccad2a)) - -* Merge pull request #230 from kaskada-ai/rm/docs-trial1 - -Improvements from the first trial results ([`c7981b1`](https://github.com/kaskada-ai/kaskada/commit/c7981b1cd2d8ccfa8d7b0e02a0d789bc9c67e5f6)) - -* Merge branch 'main' into rm/docs-trial1 ([`f804f81`](https://github.com/kaskada-ai/kaskada/commit/f804f818ea766f95c1813f09895001bdc3f389d5)) - -* Improvements from the first trial results - -* Document the file types we accept in the data loading section -* Add a “tip” clarifying that Python and CLI are separate interfaces, and installing from pip doesn’t give you the CLI -* See if we can make it clearer that you have to create a table before you load data into it. -* Use “kaskada-cli” consistently throughout docs -* For CLI quickstart run the processes before starting the CLI so it’s clear you have to do that first. -* Add a help tip if CLI can’t connect to endpoint - “do you need to start the kaskada services?” -* Add a tip that you may need to “allow services” the first time you run services. -* Document what each field is for in the example YAML file -* “Expected file format” and “entity” links are broken in CLI quickstart -* Call out that subsort is optional -* Make hello world queries more incremental, document all the command flags being used. -* Explain “pipelineing” earlier on -* Document “final” more prominently ([`f991368`](https://github.com/kaskada-ai/kaskada/commit/f9913681577233c59348d28e9c08318092d09014)) - -* Merge branch 'main' into tsk-python-client-docs ([`b14e779`](https://github.com/kaskada-ai/kaskada/commit/b14e779bd1c4f0cbb6d2d9f9526b14a360f968e4)) - -* Merge pull request #226 from qzg/qzg-docs-patch1 - -Update labels to match visualization and sample code ([`9ed9050`](https://github.com/kaskada-ai/kaskada/commit/9ed9050bde5086760aadb05f815d5a875c2dfc83)) - -* Merge branch 'main' into tsk-python-client-docs ([`b2e4433`](https://github.com/kaskada-ai/kaskada/commit/b2e44333107623d9a0170cdc404a7a4856af052e)) - -* Merge pull request #224 from kaskada-ai/tsk-python-client-release - -(ci): adds python client release and publish to pypi via github workflow ([`397ebb4`](https://github.com/kaskada-ai/kaskada/commit/397ebb411909367087311f613419518fa6df94bc)) - -* Merge branch 'main' into tsk-python-client-docs ([`c5c7e54`](https://github.com/kaskada-ai/kaskada/commit/c5c7e549d0a142c99c42504727b2ca1d6db66920)) - -* Merge branch 'main' into tsk-python-client-release ([`980fc6c`](https://github.com/kaskada-ai/kaskada/commit/980fc6c0246e640842f7c7bf30a5480edf703df1)) - -* update tableSource to source in example yamls ([`a1f9c86`](https://github.com/kaskada-ai/kaskada/commit/a1f9c86c8690926db4147648f81cb0f153a6c9d6)) - -* update tableSource to source in example yaml ([`cdd9227`](https://github.com/kaskada-ai/kaskada/commit/cdd922714b47fe225950dbde7ffe2fe3db5f550b)) - -* Fix small typo ([`a5ac3a6`](https://github.com/kaskada-ai/kaskada/commit/a5ac3a67e0a47dc8b0ccac2b48eef32b26bd4fbc)) - -* Update labels to match visualization and sample code ([`4731b73`](https://github.com/kaskada-ai/kaskada/commit/4731b7386e2b4ef05a1956e47fd5ce1bdc838039)) - -* Merge pull request #225 from kaskada-ai/therapon-patch-1 - -Fix typo in faq.adoc ([`8ac449c`](https://github.com/kaskada-ai/kaskada/commit/8ac449c0cb0eef0757ac58391b59fd03ba6fbe8c)) - -* Fix typo in faq.adoc ([`90eaa6e`](https://github.com/kaskada-ai/kaskada/commit/90eaa6e44841c1458f7bc5c756864046ed0c351a)) - -* Merge branch 'main' into tsk-python-client-docs ([`27ad401`](https://github.com/kaskada-ai/kaskada/commit/27ad4013a2b4009724255f83626ff5246d1ba2da)) - -* Merge remote-tracking branch 'origin/main' into tsk-python-client-release ([`d7f5762`](https://github.com/kaskada-ai/kaskada/commit/d7f57629b804dbed0d66ea684d39918aecf86823)) - -* typo in release docs ([`6251c46`](https://github.com/kaskada-ai/kaskada/commit/6251c468d9167373b064a6f12ff2a4fe41cc3d14)) - -* remove extra command ([`7da2614`](https://github.com/kaskada-ai/kaskada/commit/7da2614e95f4d5a5f31cb965287e15cbb497538d)) - -* updated GitHub release with artifacts ([`964914b`](https://github.com/kaskada-ai/kaskada/commit/964914b016c3959770789f8175505f638351dca4)) - -* specify custom distribution directory ([`2578ed8`](https://github.com/kaskada-ai/kaskada/commit/2578ed8a90867c87635aca4be8115fd84ca24218)) - -* force python version to be 3.7 ([`a264b13`](https://github.com/kaskada-ai/kaskada/commit/a264b133fac13b0d23dff868de191f485fc11d98)) - -* fix paths during verify ([`6623e0e`](https://github.com/kaskada-ai/kaskada/commit/6623e0ed4228cbe1be098c37cfd2bfcd91127a5b)) - -* uses github action to publish to PyPi ([`06b637d`](https://github.com/kaskada-ai/kaskada/commit/06b637d0e0586394fd8b6ed11290e86c79fd2761)) - -* uses github action to publish to PyPi ([`8611404`](https://github.com/kaskada-ai/kaskada/commit/8611404f0bd18409edb3b4f3adb32f4c478ac46b)) - -* moves validation to a separate job ([`f60382b`](https://github.com/kaskada-ai/kaskada/commit/f60382bbbe767b38955de3e362d2a81f0992e568)) - -* fix removal of requirements.txt ([`a04314e`](https://github.com/kaskada-ai/kaskada/commit/a04314ec62e16ec2cddfe8c5c3dbde1c215e303b)) - -* fix error in script ([`50f5008`](https://github.com/kaskada-ai/kaskada/commit/50f50089b04dd56cdecf17652dd2afe44174cdd1)) - -* (ci): adds proto generation to python release flow ([`3bdb6dd`](https://github.com/kaskada-ai/kaskada/commit/3bdb6dd7a501381103db3b26bf5de59b7413b746)) - -* (ci): adds empty workflow for python client to allow testing on branch ([`8367e40`](https://github.com/kaskada-ai/kaskada/commit/8367e40274d430f908945ce9905243cf2e2896a4)) - -* (ci): adds workflow and validation test ([`8e3d35b`](https://github.com/kaskada-ai/kaskada/commit/8e3d35bcc7b152068563cde273f57b48cad5d303)) - -* Python client release 0.1.4 ([`c7ae535`](https://github.com/kaskada-ai/kaskada/commit/c7ae5352543d6320a399a9b5106d0004827d82f5)) - -* Merge pull request #222 from kaskada-ai/tsk-release-0.6.0-1.3 - -release engine 0.6.0, python client 1.3 ([`d986243`](https://github.com/kaskada-ai/kaskada/commit/d986243c20960608a19cd57b28c63ee7f0e0f119)) - -* update cargo.lock ([`3579c26`](https://github.com/kaskada-ai/kaskada/commit/3579c262d1b3726093febddbf7330cb7c5b0cb8d)) - -* release engine 0.6.0, python client 1.3 ([`16ef1c2`](https://github.com/kaskada-ai/kaskada/commit/16ef1c223c9b2fd5b2fa68fef8394fad061f6110)) - -* make mypy happy ([`25f8537`](https://github.com/kaskada-ai/kaskada/commit/25f8537a2f2bf13b4829840649e8a817c35ea744)) - -* (docs): adds pythond documentation generation ([`d483b08`](https://github.com/kaskada-ai/kaskada/commit/d483b08c7bc7148f998a80ef7401cb63da939cdd)) - -* (docs): initial setup for sphinx ([`dfead41`](https://github.com/kaskada-ai/kaskada/commit/dfead41d36723381e10e939876f2f46ce9bcee1a)) - -* Update docs link ([`1781392`](https://github.com/kaskada-ai/kaskada/commit/1781392f976839c1f403ce44dc3cb4ed12dd82f5)) - -* Merge pull request #216 from kaskada-ai/tsk-pr-cleanup - -(tests): cleanup from PR #214 ([`e85d05c`](https://github.com/kaskada-ai/kaskada/commit/e85d05c2b857d7205dc78b19865d3ac013523611)) - -* (tests): cleanup from PR #214 ([`ab725a4`](https://github.com/kaskada-ai/kaskada/commit/ab725a4bb2cc58b132d1819bee078b8564d1aa46)) - -* Merge pull request #214 from kaskada-ai/tsk-pulsar - -(tests): Enables integration tests including Pulsar ([`c89ef7f`](https://github.com/kaskada-ai/kaskada/commit/c89ef7fad6659aa05590537c492e432f3e71e7ee)) - -* Merge remote-tracking branch 'origin/main' into tsk-pulsar ([`7bc6518`](https://github.com/kaskada-ai/kaskada/commit/7bc651845306a566760550f6458cdf45fa8c48ea)) - -* Merge pull request #212 from kaskada-ai/therapon-docs-patch-1 - -(docs): Update hello-world-cli.adoc ([`f773467`](https://github.com/kaskada-ai/kaskada/commit/f773467a0344673749c9aebc423132b84f27edb3)) - -* (docs): Update hello-world-cli.adoc - -We need 2 slashes for path argument. -Though more than 2 still work (Unix systems behave the same no matter the number of leading slashes on a full path) 2 is the requirement for our implementation of CLI (Wren) ([`8088a4e`](https://github.com/kaskada-ai/kaskada/commit/8088a4e2b40e8397196fac9a0f6bebdee5b5a507)) - -* Merge pull request #209 from kaskada-ai/cli/logging - -changed client-id log line to debug-level ([`c3bd5e3`](https://github.com/kaskada-ai/kaskada/commit/c3bd5e37e2a3c49aa4dc9333858277abc0fa00ec)) - -* Merge branch 'main' into cli/logging ([`fa3a097`](https://github.com/kaskada-ai/kaskada/commit/fa3a097b2f417f9be64478de3e8fa0d76979591d)) - -* typo in Makefile ([`ba6c09f`](https://github.com/kaskada-ai/kaskada/commit/ba6c09f5815ef4c13d7d58b3977d89c827529d94)) - -* Merge pull request #207 from kaskada-ai/therapon-docs-cli-full-path-to-file - -(docs): Update hello-world-cli.adoc ([`e30133d`](https://github.com/kaskada-ai/kaskada/commit/e30133d9da5982d13da40f52341179881b1dc7a2)) - -* clean up ([`1ce34fb`](https://github.com/kaskada-ai/kaskada/commit/1ce34fb5ea8ae5e923b905cd2e206f74348003ab)) - -* changed client-id log line to debug-level ([`684d334`](https://github.com/kaskada-ai/kaskada/commit/684d334e8deea267ea39178b21ae79fe07de5d9b)) - -* remove copy of integ test binary ([`f2c2d23`](https://github.com/kaskada-ai/kaskada/commit/f2c2d2302f32d8e3197c3ab3b3c094165cd2850b)) - -* Merge pull request #144 from kaskada-ai/feature/object-store - -feat: Add Object Store Crate to Engine ([`087aa16`](https://github.com/kaskada-ai/kaskada/commit/087aa16a29c6cbad8703ef574fd87dbeebef4e3f)) - -* clippy ([`7287b18`](https://github.com/kaskada-ai/kaskada/commit/7287b18c47420ebba3c70312b3f6d55feabcf229)) - -* cargo fmt ([`de7f7db`](https://github.com/kaskada-ai/kaskada/commit/de7f7db265d68de1c5fb5d4a20f84637112f6965)) - -* added back convert uri ([`644f031`](https://github.com/kaskada-ai/kaskada/commit/644f031a2c1f5c4ae7a90bf6d5d2a900a68d680e)) - -* Merge branch 'main' into feature/object-store ([`591fdec`](https://github.com/kaskada-ai/kaskada/commit/591fdec96176bfb8c4cb087f0dd2ebfef1e56d3d)) - -* add ci_engine.yml to do not skip list ([`97a26c6`](https://github.com/kaskada-ai/kaskada/commit/97a26c67c818dbf50b32ba5c9fb9fd43f56f06eb)) - -* final flow testing ([`e7927c1`](https://github.com/kaskada-ai/kaskada/commit/e7927c1d0a67b2cfdb5dc86f8d3b4ed9e509b9fb)) - -* fix args to chown command ([`1a274c2`](https://github.com/kaskada-ai/kaskada/commit/1a274c2ac8a6369310d474b73c974e2074d7e4de)) - -* set the ownership and permissions for db file ([`d3d23c1`](https://github.com/kaskada-ai/kaskada/commit/d3d23c167a85b8370d8059fb8b87d046d2b7522d)) - -* update permissions to data from within docker ([`3d69e1a`](https://github.com/kaskada-ai/kaskada/commit/3d69e1af11facc56e7fe4516affe4e6c34ba1204)) - -* update permissions to data from within docker ([`2d1888f`](https://github.com/kaskada-ai/kaskada/commit/2d1888fb4bd7793975df15583e9d9829decd2a19)) - -* fix yaml error ([`d81eb79`](https://github.com/kaskada-ai/kaskada/commit/d81eb79542d9e93a10cda2fcfe44f48c7cea17e0)) - -* fix yaml error ([`a55e04f`](https://github.com/kaskada-ai/kaskada/commit/a55e04f1f9989321ec45bfbb3da1a5fe9157fb17)) - -* add debugging info on data directory ([`faadd58`](https://github.com/kaskada-ai/kaskada/commit/faadd588c28e4d20637b6d53f239cd1b70379a13)) - -* wait up to 4 minutes for docker compose containers to be healthy ([`6b8c808`](https://github.com/kaskada-ai/kaskada/commit/6b8c808c4d07c52a27ea81bc122cf077459d2b6f)) - -* CI breaks if /data is not rw ([`2adbdcf`](https://github.com/kaskada-ai/kaskada/commit/2adbdcf6d551fc0ac8965a8400cf2ecacf3b683c)) - -* increase wait time ([`6f2f4ff`](https://github.com/kaskada-ai/kaskada/commit/6f2f4ff243748eb41c0e63e747affc4372ceb076)) - -* increase wait time ([`0002a45`](https://github.com/kaskada-ai/kaskada/commit/0002a4586c8f9809166fd939650a19d045ccbdf1)) - -* add name of container to grep ([`163856f`](https://github.com/kaskada-ai/kaskada/commit/163856fde64addb97f2967e7457d1f53066ac98a)) - -* (ci): testing docker compose setup ([`f7d49e8`](https://github.com/kaskada-ai/kaskada/commit/f7d49e81cc91bc2582e313e78cad2d4bd609a761)) - -* (docs): Update hello-world-cli.adoc - -Adds the full path to the downloaded parquet file when calling the cli (#202) ([`9955475`](https://github.com/kaskada-ai/kaskada/commit/9955475a6248f46a74d083749f40fa3884b98caf)) - -* Merge pull request #121 from kaskada-ai/pulsar - -Pulsar ([`79b2d94`](https://github.com/kaskada-ai/kaskada/commit/79b2d94eefdd0337218473a67bd9bd319ad03abe)) - -* Merge branch 'feature/object-store' of github.com:kaskada-ai/kaskada into feature/object-store ([`9b7f94c`](https://github.com/kaskada-ai/kaskada/commit/9b7f94c133a746dd2544eb860caa41c5ad70df71)) - -* fixed test ([`692c0d9`](https://github.com/kaskada-ai/kaskada/commit/692c0d9e5831257cb04db21b5f3897682718efd4)) - -* Fix build/clippy ([`da44646`](https://github.com/kaskada-ai/kaskada/commit/da44646499ec9005afd79e2b8dcd9b76e00c6640)) - -* Merge branch 'main' into feature/object-store ([`143b6e7`](https://github.com/kaskada-ai/kaskada/commit/143b6e7812f19775244ab366d7ce4713572a804a)) - -* clippy ([`ca5bb6e`](https://github.com/kaskada-ai/kaskada/commit/ca5bb6e518180e54eadd65f9c072d0ea48a5bf14)) - -* Merge pull request #203 from kaskada-ai/rm/docs-example-links - -Add an "examples" section to the docs with links to our notebooks ([`e647493`](https://github.com/kaskada-ai/kaskada/commit/e647493cec03d97aac5e6589be0663762434f10b)) - -* Merge pull request #204 from kaskada-ai/rm/docs-split-integrations - -Promote the subsections of "integrating with feature stores" to be top-level ([`161f3ff`](https://github.com/kaskada-ai/kaskada/commit/161f3ffea648666a4ef850eb29f7e9a5de598625)) - -* Promote the subsections of "integrating with feature stores" to be top-level - -This improves discoverability of the different systems we integrate -with. This change also changes some verbage from talking about -"features" to talking about "query results". - -NOTE: This section of the docs needs more work - this PR is just -intended to cover the navigation changes. ([`cd31e33`](https://github.com/kaskada-ai/kaskada/commit/cd31e33a1e186f05cd8c8d74e49672464b68cd1c)) - -* Add an "examples" section to the docs with links to our notebooks - -This also makes some minor fixes to the notebooks to reflect the fact -that the project has been released publicly. ([`d1a451a`](https://github.com/kaskada-ai/kaskada/commit/d1a451a06675602c132359973808ba45b37c9d9a)) - -* skip pulsar integration tests for now ([`ca903a4`](https://github.com/kaskada-ai/kaskada/commit/ca903a467a259b9be35a3f544a708afe1b5d13a2)) - -* context switch -- incomplete code ([`75654a8`](https://github.com/kaskada-ai/kaskada/commit/75654a87b781d796722ede28958e14fd849b2166)) - -* remove csvs ([`bd5c50e`](https://github.com/kaskada-ai/kaskada/commit/bd5c50ee73d8380a0392c7fca9f9db7ae26a0faf)) - -* remove ml example ([`b72ee6d`](https://github.com/kaskada-ai/kaskada/commit/b72ee6db74793ab365303984106f3c8f3d990c05)) - -* Merge branch 'main' into feature/object-store ([`f8ee648`](https://github.com/kaskada-ai/kaskada/commit/f8ee648be6f177df3d4e0039f50a2462d26708fc)) - -* add top level span to compute service calls ([`1084ce0`](https://github.com/kaskada-ai/kaskada/commit/1084ce00c240f9546eb04f362255da123c321dfb)) - -* fix entrypoint command ([`b5e6d64`](https://github.com/kaskada-ai/kaskada/commit/b5e6d6446826edf007bd8ac40524df1dbfc88253)) - -* use docker buildkit ([`ad4dbb0`](https://github.com/kaskada-ai/kaskada/commit/ad4dbb01a876f463b56968cf2860b9c1b688785f)) - -* use docker buildx ([`b5acd8a`](https://github.com/kaskada-ai/kaskada/commit/b5acd8af805507dd6dfbbad66139452e7537e78c)) - -* Use in_current_span over instrument ([`aa6b843`](https://github.com/kaskada-ai/kaskada/commit/aa6b8437b60dabb55b379ed48c3ce8acc8932437)) - -* use correct docker-compose file ([`0f70cca`](https://github.com/kaskada-ai/kaskada/commit/0f70cca83accb0d01860ce73d9d245873fd850fb)) - -* fix paths ([`bffed47`](https://github.com/kaskada-ai/kaskada/commit/bffed47c50e904ea9ab0a1eb6d31a2e4d5525c84)) - -* revert docker image to bullseye-slim ([`a769175`](https://github.com/kaskada-ai/kaskada/commit/a769175669c0443ba00665c1588e0f05d5e79c5d)) - -* (ci): testing docker compose setup ([`1c1bf48`](https://github.com/kaskada-ai/kaskada/commit/1c1bf4818172594ae053fb1398908fc9cb72dcab)) - -* cargo fmt ([`7068048`](https://github.com/kaskada-ai/kaskada/commit/7068048aaaae6e9749f1a078bcf00d2b7ac5d130)) - -* debugging integ test ([`51a41ef`](https://github.com/kaskada-ai/kaskada/commit/51a41efda3bc94c498649108feb6dbaf523d7971)) - -* Merge pull request #200 from kaskada-ai/tsk-docs-cli-fix-links - -(docs): fix install command for downloading binaries on Linux and OSX ([`e5ebfa8`](https://github.com/kaskada-ai/kaskada/commit/e5ebfa86f7ea3a88593559b69b3f7341c8d9b067)) - -* Merge branch 'main' into feature/object-store ([`bee252c`](https://github.com/kaskada-ai/kaskada/commit/bee252c6218b731dc178c0b625c8fc6e38e485dc)) - -* (docs): fix install command for downloading binaries on Linux and OSX ([`a275f7e`](https://github.com/kaskada-ai/kaskada/commit/a275f7e548ee4e5be3a1ee5e2702fa376769e023)) - -* (docs): fix install command for downloading binaries on Linux and OSX ([`13ccd56`](https://github.com/kaskada-ai/kaskada/commit/13ccd5621d798eb4d04d0b8c8084f7ada50baa5a)) - -* remove logging ([`10f30a9`](https://github.com/kaskada-ai/kaskada/commit/10f30a90cf3367acce53ddbc0b8b67cd9b588a12)) - -* Attempt to fix prepare span tracing ([`6a8c4d1`](https://github.com/kaskada-ai/kaskada/commit/6a8c4d192cf6ef1d14b71087dc052aafe7030b88)) - -* Merge pull request #198 from kaskada-ai/tsk-docs-cli-fix-links - -(docs): fix release links ([`9d01b06`](https://github.com/kaskada-ai/kaskada/commit/9d01b06d3acd8a1904b432c88d2375133fba0b0d)) - -* (docs): fix release links ([`8af2832`](https://github.com/kaskada-ai/kaskada/commit/8af2832b8bc2adeb73233719919509e35dc6bae0)) - -* Merge pull request #123 from kaskada-ai/helm/canary - -created initial canary helm chart ([`05e9eac`](https://github.com/kaskada-ai/kaskada/commit/05e9eacb11094ed901bd4341b594ec4f1c3766f8)) - -* update ci ([`05ebfea`](https://github.com/kaskada-ai/kaskada/commit/05ebfeaba6e317c619ed134a085fad3bde95a9ab)) - -* Remove lingering uses of cert chain in python ([`6f962a5`](https://github.com/kaskada-ai/kaskada/commit/6f962a5c65b8bc74534285a2cbd9eeb077018850)) - -* remove allowed security advisories ([`428ae2f`](https://github.com/kaskada-ai/kaskada/commit/428ae2f18097b859955aa9b8e09f7c04e4fe6cc5)) - -* Merge pull request #197 from kaskada-ai/remove-cert-and-auth - -remove cert chain and redact auth from log ([`d17b016`](https://github.com/kaskada-ai/kaskada/commit/d17b0166527ac134961a9f4e663865ced55e427d)) - -* remove cert chain and redact auth from log ([`1ea69cf`](https://github.com/kaskada-ai/kaskada/commit/1ea69cf167ec57bad98d05a9435f41319f0d9bb1)) - -* merge async_stream_reader ([`d6b813b`](https://github.com/kaskada-ai/kaskada/commit/d6b813b4f9e9745b5d34694238ed86fff8293f99)) - -* Merge pull request #196 from kaskada-ai/tsk-fix-install-instructions - -(docs): update cli install instaructions ([`ae4ea92`](https://github.com/kaskada-ai/kaskada/commit/ae4ea92fbc1dc19cab5b815723db364aa5639726)) - -* rewrite prepare_file to use filter_map and unzip instead of manually pushing into arc-mutex-vec ([`8d58743`](https://github.com/kaskada-ai/kaskada/commit/8d58743cdf0d93df959d4c1fa1638c8ca505fa90)) - -* (docs): update cli install instaructions ([`6e25348`](https://github.com/kaskada-ai/kaskada/commit/6e253489fe4fe1f7298d10d5366abcc3e3689c26)) - -* readme updates ([`adc0f80`](https://github.com/kaskada-ai/kaskada/commit/adc0f80184aad953fe4e1ce6af99406ba34f6576)) - -* added first snapshot unittest ([`390a821`](https://github.com/kaskada-ai/kaskada/commit/390a821fed4973bf795642a00b41aa21229c757f)) - -* added linting and validation ([`24e4946`](https://github.com/kaskada-ai/kaskada/commit/24e4946fb9c959e7198f588ae5e1ed6222a78d76)) - -* added storage and secrets ([`cc1879c`](https://github.com/kaskada-ai/kaskada/commit/cc1879cc49b5f01fbe17f5516f9e633768c77bce)) - -* example with try unfold ([`5f9a96b`](https://github.com/kaskada-ai/kaskada/commit/5f9a96b28408e18e3a87171a1ec8799f141aa524)) - -* example: use async stream directly ([`eb4a675`](https://github.com/kaskada-ai/kaskada/commit/eb4a675f1854f86beafb70648809f6ab18676c43)) - -* implement Stream for PulsarReader using async_stream::stream! ([`4790f1c`](https://github.com/kaskada-ai/kaskada/commit/4790f1c3443546190635887f001c2a01236c507b)) - -* Merge pull request #161 from kaskada-ai/docs/notebook-demo-narrative - -Demo notebook with a narrative ([`3061bb1`](https://github.com/kaskada-ai/kaskada/commit/3061bb113cc421efe434d0d10003214ae4542504)) - -* Merge pull request #193 from kaskada-ai/tsk-link-fix - -(docs) fix broken link ([`e75184e`](https://github.com/kaskada-ai/kaskada/commit/e75184ecdf19182ee9c512d61a44e924921a6447)) - -* fix broken link ([`c957809`](https://github.com/kaskada-ai/kaskada/commit/c95780923a1eebeedfefa5d7b886e0d1708115ef)) - -* Merge pull request #191 from kaskada-ai/tsk-hellow-world - -(docs): Updates paragraph around hello world links ([`0169037`](https://github.com/kaskada-ai/kaskada/commit/01690379655589c76fef1de71e5367af585a6c31)) - -* Merge branch 'main' into tsk-hellow-world ([`17adcc1`](https://github.com/kaskada-ai/kaskada/commit/17adcc1d82c0e92795abf3e48c581396f977836d)) - -* adds links to what-is-kaskada page ([`3ec0182`](https://github.com/kaskada-ai/kaskada/commit/3ec0182144c0ebe914978e8334e33a65cf066330)) - -* created initial canary helm chart ([`fcb2b87`](https://github.com/kaskada-ai/kaskada/commit/fcb2b873cf8d91fa00582c059747c65c7ad89bd4)) - -* Merge pull request #192 from kaskada-ai/puslar/sensitive - -marked the pulsar auth_params field as sensitive ([`a5b250e`](https://github.com/kaskada-ai/kaskada/commit/a5b250e261ca33c4914da6133a4b750e0fee6845)) - -* marked the pulsar auth_params field as sensitive ([`ce5be18`](https://github.com/kaskada-ai/kaskada/commit/ce5be1804eaf5c35277c6cef2ae5555d69b47ea5)) - -* clippy ([`1de3e30`](https://github.com/kaskada-ai/kaskada/commit/1de3e30ec25771ac0b737cd1b81f9a36e3889658)) - -* Merge pull request #184 from kaskada-ai/add-labels-to-template - -Update issue templates ([`77302dc`](https://github.com/kaskada-ai/kaskada/commit/77302dc3e7cbe00a8fc2d5afc3288531af8d3720)) - -* Removing cell for private auth, fixing some typos. ([`55b477f`](https://github.com/kaskada-ai/kaskada/commit/55b477fca03f227f3a51503f28fa7cdd3e28eaa1)) - -* code review comments/mpl2.0 ([`c95c74c`](https://github.com/kaskada-ai/kaskada/commit/c95c74c790fa78cd038fab46a7377c37737c24ef)) - -* cargo fmt ([`faad7b0`](https://github.com/kaskada-ai/kaskada/commit/faad7b0d7dc9dc2c6fff2e366b495d5f3d8ddade)) - -* more clippy ([`b231901`](https://github.com/kaskada-ai/kaskada/commit/b2319015a204b03ff36571c2543187cf5ed1ed30)) - -* more todo fixes ([`617f4b6`](https://github.com/kaskada-ai/kaskada/commit/617f4b61a7bdbe365aaa61c4402230dcc20ab7e2)) - -* unwrap fixes ([`422cc42`](https://github.com/kaskada-ai/kaskada/commit/422cc42be759fb96b5e6ad7428d6645854779988)) - -* make proto lint happy ([`3fc7188`](https://github.com/kaskada-ai/kaskada/commit/3fc7188bbd543afccb0b617a364def2aaf4f47c6)) - -* make proto lint happy ([`ebd4ca9`](https://github.com/kaskada-ai/kaskada/commit/ebd4ca9fff89ec7979200c3b1742f211560a0725)) - -* minor tweaks ([`807bdfa`](https://github.com/kaskada-ai/kaskada/commit/807bdfafa011af0a75dd27a9b5cf25acf45cc76b)) - -* minor tweaks ([`f627f34`](https://github.com/kaskada-ai/kaskada/commit/f627f34f3d83b4411a99108fd5c85e6c50d1e8cd)) - -* minor tweaks ([`8c77733`](https://github.com/kaskada-ai/kaskada/commit/8c777332bdb8a450009cef311edbe7a23eae60c3)) - -* updated to use local file ([`05cac0e`](https://github.com/kaskada-ai/kaskada/commit/05cac0e5fdc500733c9cbf0b56278d2868fe5c60)) - -* minor tweaks ([`6254396`](https://github.com/kaskada-ai/kaskada/commit/62543962b8ce8552aa31339e983e943c0432e4a2)) - -* (docs): Updates paragraph around hello world links ([`148d424`](https://github.com/kaskada-ai/kaskada/commit/148d424add0540dbbf4b816071aaf30621fb0b82)) - -* merge from main ([`a4c50b7`](https://github.com/kaskada-ai/kaskada/commit/a4c50b7d93e6e0fcd09628bf611eb771a4d280d0)) - -* Merge branch 'main' into feature/object-store ([`5a1c861`](https://github.com/kaskada-ai/kaskada/commit/5a1c8612a7a7c00997cbada63e62619c8d207222)) - -* clean up Stream impl for PrepareIter ([`ab68f5c`](https://github.com/kaskada-ai/kaskada/commit/ab68f5ca1c1302e3b5a74d3ddfbccc78fef5a298)) - -* simplify PulsarReader::poll_next ([`8c7be5d`](https://github.com/kaskada-ai/kaskada/commit/8c7be5d0abc07e9d313b96212ce13c274b67986b)) - -* fixing artifact name ([`39f8043`](https://github.com/kaskada-ai/kaskada/commit/39f8043ff27983cce5bf824e76102eeb40dc221b)) - -* Merge pull request #189 from kaskada-ai/tsk-revert-ubuntu22 - -fix artifact names ([`156a8e6`](https://github.com/kaskada-ai/kaskada/commit/156a8e6bef11f8a3b5cfccd8e0192e142bbb17ed)) - -* fix artifact names ([`a4bbd7f`](https://github.com/kaskada-ai/kaskada/commit/a4bbd7f2b4b5df89ac6241dcde693d2ba7d74201)) - -* Merge pull request #186 from kaskada-ai/tsk-revert-ubuntu22 - -Reverts builds on ubuntu 22.04 ([`a535f9d`](https://github.com/kaskada-ai/kaskada/commit/a535f9d1fdd38a04036537db3d9d89341aab04b7)) - -* Reverts builds on ubuntu 22.04 ([`138551d`](https://github.com/kaskada-ai/kaskada/commit/138551d1931f12bc1a416a65a199747dc09caf37)) - -* Merge pull request #185 from kaskada-ai/tsk-release-fix - -fix path for cli binary ([`084cc19`](https://github.com/kaskada-ai/kaskada/commit/084cc19c30454a54b732a6f7404d55bc98706f93)) - -* fix path for cli binary ([`c6a903a`](https://github.com/kaskada-ai/kaskada/commit/c6a903a595833efc7c3910c9c2b1dc4cb71758ec)) - -* fix path for cli binary ([`10831cc`](https://github.com/kaskada-ai/kaskada/commit/10831cc30d36411b08c7839b99b5ff9d79ac4d78)) - -* Merge branch 'pulsar' of github.com:kaskada-ai/kaskada into pulsar ([`b278cdd`](https://github.com/kaskada-ai/kaskada/commit/b278cdd6f72d16aed3e9f573c09650a8155309c6)) - -* remove block_on from pulsar client, making PrepareIter implement Stream instead of Iter ([`46f3691`](https://github.com/kaskada-ai/kaskada/commit/46f3691517d38b3314261b621915ead8d01fb62d)) - -* code review comments/clippy ([`5185630`](https://github.com/kaskada-ai/kaskada/commit/5185630f2b4e67fc5f7058e9accf7cb192000045)) - -* code review comments/context ([`3325acb`](https://github.com/kaskada-ai/kaskada/commit/3325acbdb6ea44a75b957049caa43932e222eb3b)) - -* code review comments/attach printable lazy ([`78f5d9f`](https://github.com/kaskada-ai/kaskada/commit/78f5d9f627ce6e2337b7a1eab700853d7550112b)) - -* code review comments/update cargo workspace ([`9a0836d`](https://github.com/kaskada-ai/kaskada/commit/9a0836d1998c5745da56b7b83ea72fc19a900d97)) - -* Merge pull request #182 from kaskada-ai/pulsar-fix-temp-file-deletion - -fix: fix temp file deletion ([`0f6e0bd`](https://github.com/kaskada-ai/kaskada/commit/0f6e0bd366e9ee09396d77435706139d6a57e36a)) - -* Merge branch 'main' into feature/object-store ([`ef2eea2`](https://github.com/kaskada-ai/kaskada/commit/ef2eea2a150c3dc95a3b425db241e6cb4962c524)) - -* added implementation more ([`ed54c47`](https://github.com/kaskada-ai/kaskada/commit/ed54c476b3eb9238d3e1c1838deb56cbcf10fece)) - -* Update feature-report.md ([`3c4de7d`](https://github.com/kaskada-ai/kaskada/commit/3c4de7d062021ac0141e075c5498cd236a536d1d)) - -* Update bug_report.md ([`ce56447`](https://github.com/kaskada-ai/kaskada/commit/ce5644716c90e402e65e3ed3d37dc731e87e38fe)) - -* Merge pull request #183 from kaskada-ai/tsk-ci-release-libssl3 - -(ci): adds ubuntu-22.04 to the release matrix ([`376165b`](https://github.com/kaskada-ai/kaskada/commit/376165b9f5d818dee433690501538c6161a2eb26)) - -* (ci): adds ubuntu-22.04 to the release matrix ([`d598a91`](https://github.com/kaskada-ai/kaskada/commit/d598a91616700c6e8ca2b1cf9896387224994490)) - -* Explicitly close the temp file ([`474e50a`](https://github.com/kaskada-ai/kaskada/commit/474e50abcde9a69a2b8295b6f84f3ec550170454)) - -* Merge pull request #179 from kaskada-ai/updates - -build: update dependencies ([`d796242`](https://github.com/kaskada-ai/kaskada/commit/d796242771cfeed31e094b501cf8944d8aa63c76)) - -* Merge pull request #177 from kaskada-ai/more-readme-changes - -add docs to readme ([`c475727`](https://github.com/kaskada-ai/kaskada/commit/c4757277480d1af7d834c4cca7d6b750ca812f7d)) - -* add docs to readme ([`dd9fc45`](https://github.com/kaskada-ai/kaskada/commit/dd9fc4521be11386fa0e8722fc6e72838e3a5aed)) - -* Merge pull request #176 from kaskada-ai/pyton/astra-streaming - -updated python client for new pulsar protos ([`3507566`](https://github.com/kaskada-ai/kaskada/commit/35075663888b5bf14eb8ea1cc4bd95a041b125cb)) - -* ran format ([`28717d9`](https://github.com/kaskada-ai/kaskada/commit/28717d94aaf321eba113419a5ae11ba88daf5bab)) - -* updated python client for new pulsar protos ([`490b465`](https://github.com/kaskada-ai/kaskada/commit/490b46544680a3cd8a59394470acb504ff11d64b)) - -* Merge pull request #171 from kaskada-ai/tsk-release-cli - -(ci): build and release kaskada CLI ([`1ceb674`](https://github.com/kaskada-ai/kaskada/commit/1ceb674df77a507b1bd9d78da98a16e39de5aae2)) - -* Merge pull request #175 from kaskada-ai/feature/release-pypi-0.1.2 - -PyPi Release 0.1.2 ([`9053e5a`](https://github.com/kaskada-ai/kaskada/commit/9053e5a69672b98b0201ab4d39ecba6890d3f72e)) - -* 0.1.2 with email ([`09f7899`](https://github.com/kaskada-ai/kaskada/commit/09f7899f02d1f82525f62922cbc028bc4fa9d4e4)) - -* Merge branch 'main' into tsk-release-cli ([`6edd69c`](https://github.com/kaskada-ai/kaskada/commit/6edd69c0d251a755261dbcd267774aef674a1938)) - -* Merge pull request #170 from kaskada-ai/tsk-ci-fixes - -(ci): fixes name path and git safe directory ([`a5da7fe`](https://github.com/kaskada-ai/kaskada/commit/a5da7fe7611841029906a7a44c513c79f42e85e4)) - -* Merge branch 'main' into tsk-release-cli ([`d7ed44c`](https://github.com/kaskada-ai/kaskada/commit/d7ed44c29b52718cc37f33d2af54162baa995190)) - -* Merge branch 'main' into tsk-ci-fixes ([`2874d6c`](https://github.com/kaskada-ai/kaskada/commit/2874d6cf5ccf7413a43c274ad61fc56eed876dfb)) - -* Merge pull request #174 from kaskada-ai/getting-started-docs - -fix nav for getting started ([`94af2d5`](https://github.com/kaskada-ai/kaskada/commit/94af2d50ea128a222a9225b0741999446a3a1a06)) - -* fix nav for getting started ([`0b27eb9`](https://github.com/kaskada-ai/kaskada/commit/0b27eb914b2ed66696fc29d1dee3878c1a4c502d)) - -* Merge pull request #173 from kaskada-ai/getting-started-docs - -docs: add a getting started page ([`ec90e0f`](https://github.com/kaskada-ai/kaskada/commit/ec90e0f8deec85dc1d8dc1d70446085d378dbf50)) - -* Merge branch 'main' into getting-started-docs ([`622d50f`](https://github.com/kaskada-ai/kaskada/commit/622d50fef5d4b218f8b7cfc8692d2b23fc0bbe20)) - -* Merge pull request #172 from kaskada-ai/fix-readme - -docs: update readme ([`8516bd1`](https://github.com/kaskada-ai/kaskada/commit/8516bd1a74e97e9cc51e5b4fc7235368b78ac5fe)) - -* add some bolding ([`158d5da`](https://github.com/kaskada-ai/kaskada/commit/158d5da092171546269ecd18f1f709f787e1f75e)) - -* (ci): build and release kaskada CLI ([`2c6f4e6`](https://github.com/kaskada-ai/kaskada/commit/2c6f4e6f532870840cc9d465e117732fa418749a)) - -* Merge branch 'main' into tsk-ci-fixes ([`2dc6292`](https://github.com/kaskada-ai/kaskada/commit/2dc62925e47c983c0420c4ec881b21d9ed0d75ac)) - -* expose get_pulsar_schema as async, which indirectly makes prepare_file and prepared_batches async ([`310354d`](https://github.com/kaskada-ai/kaskada/commit/310354d190a6964bf65bc38c0f25056c8a231734)) - -* (ci) fixes name path and git safe directory ([`14d5948`](https://github.com/kaskada-ai/kaskada/commit/14d5948d0fb655c4484b0c2ec9e7398fb822a9f9)) - -* Merge pull request #166 from kaskada-ai/ben/update-benchmark - -ref: update transaction benchmark instructions; examples ([`2ada1c6`](https://github.com/kaskada-ai/kaskada/commit/2ada1c672eac8d02636a584da328c4b96eb42dbb)) - -* Merge pull request #163 from kaskada-ai/update-jupyter-docker-image - -Update pulsar docker compose with new image ([`b99744c`](https://github.com/kaskada-ai/kaskada/commit/b99744cafd76fdd87cc41616c366b019c867cb32)) - -* Merge pull request #167 from kaskada-ai/tsk-ci-mulitplatform-docker-images - -(ci): adds multiplatform docker image for linux amd64 and arm64 ([`12a4e07`](https://github.com/kaskada-ai/kaskada/commit/12a4e07ba950f8a0e6b2a5118c33bf3b9ab18d1d)) - -* Merge pull request #162 from kaskada-ai/pulsar-materialization-integ-tests - -test: add basic pulsar materialization integration test ([`e5a08ce`](https://github.com/kaskada-ai/kaskada/commit/e5a08ce3adefec9b988a6b141f0de52eade3bde1)) - -* address comments ([`f18176f`](https://github.com/kaskada-ai/kaskada/commit/f18176fdecd56e905acfcfbec82b52157906ffa3)) - -* demo state ([`02e1edd`](https://github.com/kaskada-ai/kaskada/commit/02e1edd3c30b581159e18a5b42a4c8cdf557d1b9)) - -* Merge pull request #168 from kaskada-ai/release/0.5.0 - -Release 0.5.0 ([`7be3ba9`](https://github.com/kaskada-ai/kaskada/commit/7be3ba99b95a2af9216c465a369b83ad53a6f9d6)) - -* Release 0.5.0 ([`4a9ba16`](https://github.com/kaskada-ai/kaskada/commit/4a9ba16491d31f5a64563dc83e0eca2fc3cdcd5a)) - -* cleanup ([`7dd47e5`](https://github.com/kaskada-ai/kaskada/commit/7dd47e50c336ae5135fa674bc2d4caf06f15abd0)) - -* final multiplatform docker image release ([`8523158`](https://github.com/kaskada-ai/kaskada/commit/8523158cb388c698da23a99f878495766e04bd04)) - -* update transaction benchmark instructions; examples ([`4ec6b93`](https://github.com/kaskada-ai/kaskada/commit/4ec6b93c272586956d2a71c8b22335d3e840bf3e)) - -* Pass temp files to method so they stay in scope ([`f24b309`](https://github.com/kaskada-ai/kaskada/commit/f24b309607cea6cbe02162e70b668e04097839fd)) - -* Update pulsar docker compose with new image ([`66356fc`](https://github.com/kaskada-ai/kaskada/commit/66356fce0bca99f3c382ba3d22e00ffb6585812c)) - -* Merge pull request #164 from kaskada-ai/tsk-notebooks-remove-github-token-code - -(examples): removes code for GitHub Authtoken ([`cdc0854`](https://github.com/kaskada-ai/kaskada/commit/cdc08545ccbecfc1d1fab0cd33f3321f8b060ecb)) - -* inline maybe_download_file to avoid the temp file getting deleted prematurely ([`892a904`](https://github.com/kaskada-ai/kaskada/commit/892a9048d6ef3adc5cb45f766e03627fc8f3ff0c)) - -* adds deny entries for ssl brought from pulsar client ([`27c5046`](https://github.com/kaskada-ai/kaskada/commit/27c50461ddf6dd337513ddfd57498cd8c5be678b)) - -* removed todo ([`06fe32a`](https://github.com/kaskada-ai/kaskada/commit/06fe32a2ad18e2a3db94d4468ecf1a01b8b17680)) - -* added more description ([`012d9c8`](https://github.com/kaskada-ai/kaskada/commit/012d9c880f7adb6e27af8b458b015ea9263d5e88)) - -* address comments ([`9ddc78a`](https://github.com/kaskada-ai/kaskada/commit/9ddc78a4a6f08f7f685cba4bada2e3a44fa70d44)) - -* address comments ([`b223f2e`](https://github.com/kaskada-ai/kaskada/commit/b223f2eabdd75af3b62b4a17815a97dfd485b295)) - -* code review comments/removed comment around unwrap ([`5f03736`](https://github.com/kaskada-ai/kaskada/commit/5f037361da0d72efbc7f230cf72b9dd9936e11d7)) - -* remove Untitled.ipynb file ([`91a6d03`](https://github.com/kaskada-ai/kaskada/commit/91a6d03c3e85c290b7fae75ee63a0ba5dce6a53c)) - -* (examples): removes code for GitHub Authtoken ([`0b5b045`](https://github.com/kaskada-ai/kaskada/commit/0b5b045468e2e5cef67cc2925369bdf941b9312f)) - -* context switch -- incomplete code ([`d0533d0`](https://github.com/kaskada-ai/kaskada/commit/d0533d0106a56ae0604fe2c7b3b86ca9c07551ce)) - -* context switch -- incomplete code ([`c97a67e`](https://github.com/kaskada-ai/kaskada/commit/c97a67eaa7781011cbf56b09e6d6f5560d603d5f)) - -* code review comments/registry comment ([`6aa8141`](https://github.com/kaskada-ai/kaskada/commit/6aa8141f5efd5d368fe4f3a2b6d945f59b5cc042)) - -* code review comments/s3a ([`c400fb9`](https://github.com/kaskada-ai/kaskada/commit/c400fb9e36666b3e5c0bad304d76791e189cec50)) - -* Add pulsar materialization integration test ([`e14b745`](https://github.com/kaskada-ai/kaskada/commit/e14b745e8f22c0cf9f2e0761ae4884807b1621c0)) - -* testing workflow ([`65fcb23`](https://github.com/kaskada-ai/kaskada/commit/65fcb23432152e1db6f9c25f3e0dd0784d12ca81)) - -* testing workflow ([`ebc915e`](https://github.com/kaskada-ai/kaskada/commit/ebc915ea9cc520ad5f11847ecd5338f1ddf6994e)) - -* testing workflow ([`706b91f`](https://github.com/kaskada-ai/kaskada/commit/706b91f4048c2c7374e191c6cc3ecf56a2d7e9d5)) - -* testing workflow ([`bd9d81a`](https://github.com/kaskada-ai/kaskada/commit/bd9d81a2a827d3deffd0cbf09ae33cab203cfdd3)) - -* testing workflow ([`bb62e25`](https://github.com/kaskada-ai/kaskada/commit/bb62e25d66a349e2012e232fe131a8b82dac8f65)) - -* Removing some dev details better found elsewhere. ([`e6d8ce7`](https://github.com/kaskada-ai/kaskada/commit/e6d8ce7954aa019bf16b6df9a8ad0714d4ece8c1)) - -* Merge branch 'main' into docs/notebook-demo-narrative ([`b6707e9`](https://github.com/kaskada-ai/kaskada/commit/b6707e902858a91921ee754af985ab3f3d51a16e)) - -* testing install of ubuntu deps for multiplatform docker ([`957f259`](https://github.com/kaskada-ai/kaskada/commit/957f2597464b712607aa97407fe4325b6df2c230)) - -* testing install of ubuntu deps for multiplatform docker ([`487d0d3`](https://github.com/kaskada-ai/kaskada/commit/487d0d3203b4e23f2cd18a35c5ea84e6db98ca01)) - -* comments ([`d1c57e4`](https://github.com/kaskada-ai/kaskada/commit/d1c57e4e8a7669194d135bfcbd4e8393abe8e06a)) - -* cleanup ([`7d844e2`](https://github.com/kaskada-ai/kaskada/commit/7d844e27da77e77fe3477ffc3537776789fc6b35)) - -* move _publish_time into raw_metadata; switch back to using raw_metadata in PrepareIter. this is more correct, since as the decimal_ tests illustrate, the raw metadata corresponds to what is actually in the source we're reading from. - -this means we also need to preserve the raw user_schema for use by the Pulsar consumer. ([`9425cfd`](https://github.com/kaskada-ai/kaskada/commit/9425cfd6e3dc127e250050b3b60a2251bdb25662)) - -* Revert "update the decimal_fixed_len test files to be well-behaved sparrow inputs. (no timezone on the timestamp, and no decimal columns)" - -This reverts commit afd7f55ee6980c7b12d508c5a1e796b0a0679bd1. ([`fb7b712`](https://github.com/kaskada-ai/kaskada/commit/fb7b712e2efa410769ff35d18bccadddd43e4178)) - -* rewrite comment explaining the consumer timeout problem ([`8927978`](https://github.com/kaskada-ai/kaskada/commit/8927978555ca47f96512a8e570ba976f787c325b)) - -* Merge branch 'main' into feature/object-store ([`0c52402`](https://github.com/kaskada-ai/kaskada/commit/0c52402ce6b6ba12df5a94feee047852678ce7ae)) - -* code review comments ([`644dfd0`](https://github.com/kaskada-ai/kaskada/commit/644dfd0d8828e74be7dac363449ca0ab422c39bc)) - -* removed s3 helper ([`a27a463`](https://github.com/kaskada-ai/kaskada/commit/a27a4639002ab7d2cae99b3ef60bddd73436ec49)) - -* updated todos ([`2f3a7f9`](https://github.com/kaskada-ai/kaskada/commit/2f3a7f9764f4a6042b43972423fefb9950343bdc)) - -* Merge pull request #150 from kaskada-ai/feature/gcp-gcs - -Feature: Add Google Cloud Storage Object Store Support ([`ff7916d`](https://github.com/kaskada-ai/kaskada/commit/ff7916d875813c10965c22df11e8c24909c92e13)) - -* fix unused imports ([`8a45390`](https://github.com/kaskada-ai/kaskada/commit/8a45390928d181be4b1e5b559c35bae9e2ecbdc4)) - -* pub mod is unnecessary since we are exposing with pub use ([`e452ffd`](https://github.com/kaskada-ai/kaskada/commit/e452ffdbd81c0b4afe5f4571f53ba79153704468)) - -* merge ([`df440ca`](https://github.com/kaskada-ai/kaskada/commit/df440ca58cab955b85ea3b6eefdd18d542c0927d)) - -* remove topic_url proto field ([`13d501b`](https://github.com/kaskada-ai/kaskada/commit/13d501bb451321eb1fbd5e97be37cdad3df929f7)) - -* fix hashing to not use topic_url ([`5a7b514`](https://github.com/kaskada-ai/kaskada/commit/5a7b5145b5c89d5602ac09cce3e52e8dc71d534f)) - -* Merge pull request #148 from kaskada-ai/puslar/clients - -updated clients for proto changes ([`e6c8463`](https://github.com/kaskada-ai/kaskada/commit/e6c84634c09d199f739d5d75981d1f9b48137924)) - -* Merge pull request #154 from kaskada-ai/pulsar-fix-clippy-from-proto-changes - -fix clippy from proto changes ([`19ac837`](https://github.com/kaskada-ai/kaskada/commit/19ac8376785b89a051f67d18878cd2da2da3c4d5)) - -* Merge pull request #153 from kaskada-ai/pulsar-allow-openssl-with-sec-vuln - -allow openssl with sec vuln ([`2c6c1d8`](https://github.com/kaskada-ai/kaskada/commit/2c6c1d803956e49bbde9ff7345927c7f82a5ed3a)) - -* Merge pull request #149 from kaskada-ai/tsk-cross-compile-tmp - -(ci) adds linux/aarch64 binaries to release workflow ([`25e4888`](https://github.com/kaskada-ai/kaskada/commit/25e488815a0fe397b4a2e368e006e681198c1534)) - -* Merge branch 'main' into feature/object-store ([`aba7cd8`](https://github.com/kaskada-ai/kaskada/commit/aba7cd8e9eba52a536cf8d71693eb5ed74c08bd6)) - -* allow dead code ([`3b003c9`](https://github.com/kaskada-ai/kaskada/commit/3b003c98bd2c2db018ff21d2efe4985ca6dd5724)) - -* Fix clippy warrnings ([`e410368`](https://github.com/kaskada-ai/kaskada/commit/e4103680d5cd13d3e58cefe939b52af875e17de9)) - -* avoid putting pulsar auth info in the logs ([`adeead4`](https://github.com/kaskada-ai/kaskada/commit/adeead479bb2d78de65fbe4fa84cc4e1f6276fb9)) - -* include subscription and last_publish_time in get_prepare_hash ([`f756e9a`](https://github.com/kaskada-ai/kaskada/commit/f756e9a35ae02f1d471260f7ff7c078b21f85995)) - -* Allow openssl for rustsec-2023-0024 ([`a09809f`](https://github.com/kaskada-ai/kaskada/commit/a09809fdbf70759e35a984cae1164a4ebab1b0e5)) - -* Merge pull request #152 from kaskada-ai/puslar/fix_int_tests - -fixed integration tests ([`fb31afe`](https://github.com/kaskada-ai/kaskada/commit/fb31afe3fb9309bd33bae48a3f0c3b5a09ab2e86)) - -* fixed integration tests ([`92d7224`](https://github.com/kaskada-ai/kaskada/commit/92d7224f7f65f65c5e322ef09bcad728546c023f)) - -* Merge pull request #151 from kaskada-ai/pulsar-fix-proto-imports-from-pulsar-message-updates - -fix proto imports from pulsar message updates ([`de29f3b`](https://github.com/kaskada-ai/kaskada/commit/de29f3ba8556c2f13151973f12904c50aadb45dd)) - -* test fixes ([`8ff055c`](https://github.com/kaskada-ai/kaskada/commit/8ff055cf24fd2e1afd83385329aeb06695805a1d)) - -* fix imports ([`463a8bd`](https://github.com/kaskada-ai/kaskada/commit/463a8bdc846aed8a673f2f702d4f1bee95744bd6)) - -* todos ([`ff3cd2b`](https://github.com/kaskada-ai/kaskada/commit/ff3cd2b6653d39a93d3b612b4e1cefbe93de416b)) - -* updated unwraps() ([`cbfce08`](https://github.com/kaskada-ai/kaskada/commit/cbfce0836fb1e611d445913bdf51caa9c5fc08f8)) - -* added object store builder gcp ([`5abf28f`](https://github.com/kaskada-ai/kaskada/commit/5abf28fa4d47ab8ef1eae64462cae2fa69c52e0d)) - -* added gcp gcs url support ([`478537c`](https://github.com/kaskada-ai/kaskada/commit/478537cc0c9d90518025080c210b92f3c84fa1e3)) - -* clippy ([`5ee5596`](https://github.com/kaskada-ai/kaskada/commit/5ee55965ce04139a8eff92b00cd298067e3a027f)) - -* Merge remote-tracking branch 'origin/main' into tsk-cross-compile-tmp ([`2a67e63`](https://github.com/kaskada-ai/kaskada/commit/2a67e63a4c201faf5a8a84588fcfc60ccbcd45d0)) - -* adds cross compile workflow to release workflow ([`c4a810d`](https://github.com/kaskada-ai/kaskada/commit/c4a810d142a097f586ccd0ba8ba40af6975aa63a)) - -* updated clients for proto changes ([`73ec723`](https://github.com/kaskada-ai/kaskada/commit/73ec723a3b4517ddc83bce38dc64ce4ee77f663d)) - -* use alternative GitHub action for protoc install ([`ad1b801`](https://github.com/kaskada-ai/kaskada/commit/ad1b8013685ba0983ad9f6022b7b9540ee2bcb4c)) - -* use alternative GitHub action for protoc install ([`85b0e6c`](https://github.com/kaskada-ai/kaskada/commit/85b0e6c16e3046c1735393c2a9f6f906801b34c4)) - -* use alternative GitHub action for protoc install ([`e9b1240`](https://github.com/kaskada-ai/kaskada/commit/e9b124019a7bc6378741291e8af1afab5f601b01)) - -* Merge pull request #147 from kaskada-ai/esp/wren_updates - -made proto updates for wren ([`1984a78`](https://github.com/kaskada-ai/kaskada/commit/1984a7830f651f24fee921b3bb5ecf2f0eaceffc)) - -* made proto updates for wren ([`a97a5d4`](https://github.com/kaskada-ai/kaskada/commit/a97a5d41e6c8811bb24a282a4aee8a071bcbf578)) - -* rename back since Github won't let me run this on a branch with a new name that is not in main as well ([`e582d03`](https://github.com/kaskada-ai/kaskada/commit/e582d037160aa88d1f53fccad40fdea97c3687d8)) - -* adds release upload actions ([`2194800`](https://github.com/kaskada-ai/kaskada/commit/2194800049a79d1c648d512c30f10efbde81f3b3)) - -* add pulsar.proto to build.rs ([`1a1f475`](https://github.com/kaskada-ai/kaskada/commit/1a1f47579a18abf3af2b84552060ae9e2681c97e)) - -* Merge pull request #146 from kaskada-ai/esp/proto_and_wren - -commonized some protos ([`ff6afce`](https://github.com/kaskada-ai/kaskada/commit/ff6afcee648ade9ee93e9de4abd60560a6b76ad4)) - -* rename ([`9f149f0`](https://github.com/kaskada-ai/kaskada/commit/9f149f0abf7164c7e0a17baad074c51530e971d9)) - -* moved pulsar stuff to its own file ([`ae6dee7`](https://github.com/kaskada-ai/kaskada/commit/ae6dee772ce584caa6bf52f9995f252295054ac8)) - -* added last_publish_time ([`9113928`](https://github.com/kaskada-ai/kaskada/commit/9113928df7dea1d98ef8ef22029ca1c2534ef274)) - -* fmt ([`8b35f46`](https://github.com/kaskada-ai/kaskada/commit/8b35f46c929326c9daf6ea068f026ebc6419e4c5)) - -* commonized some protos ([`b1e7dff`](https://github.com/kaskada-ai/kaskada/commit/b1e7dfff098c38d68c97df65c92b0149565ac7a2)) - -* "easy" code review fixes ([`179556a`](https://github.com/kaskada-ai/kaskada/commit/179556a158f5e4aedbb7f7ebda27616ae0d141a4)) - -* testing again ([`625fc76`](https://github.com/kaskada-ai/kaskada/commit/625fc76ed3f103fd64e0a0ee40a382bf2bbe7b16)) - -* testing ([`4e086b9`](https://github.com/kaskada-ai/kaskada/commit/4e086b9f6686389b563dfaea26d0252206c3711b)) - -* Merge branch 'feature/object-store' of github.com:kaskada-ai/kaskada into feature/object-store ([`87b1ce3`](https://github.com/kaskada-ai/kaskada/commit/87b1ce39df038b68bb977fa3d70335a31f8fc1b0)) - -* clippy ([`8c72dcd`](https://github.com/kaskada-ai/kaskada/commit/8c72dcdf004f740c35489f93ac6c3b7f4ddcfb1d)) - -* Update README Badges for Combined Engine Workflow ([`3ea60fa`](https://github.com/kaskada-ai/kaskada/commit/3ea60fab42c8c5863b6366f4eb8cb79ebe624591)) - -* add docstring and test for avro_to_arrow ([`11f883e`](https://github.com/kaskada-ai/kaskada/commit/11f883e0fd502eb66f9997dd240940905a9ff1a0)) - -* mv pulsar-source demo to examples/pulsar-prepare; mv examples/pulsar to examples/pulsar-materialize ([`9072031`](https://github.com/kaskada-ai/kaskada/commit/9072031b2e963e04601137e336213e39780a387e)) - -* once more unto the breach ([`99476bb`](https://github.com/kaskada-ai/kaskada/commit/99476bb8c08017c145db26c147793a9349d41f8f)) - -* once more unto the breach ([`af4e585`](https://github.com/kaskada-ai/kaskada/commit/af4e585db07c73a7458dbd1d9a4fb169bdf1aeef)) - -* once more unto the breach ([`f0b789a`](https://github.com/kaskada-ai/kaskada/commit/f0b789a5d7ad53e63ad6f972e9ce833c2e23d390)) - -* once more unto the breach ([`3a2b221`](https://github.com/kaskada-ai/kaskada/commit/3a2b221f96955adb839e269bc870e502bb15f86f)) - -* once more unto the breach ([`8fd8efb`](https://github.com/kaskada-ai/kaskada/commit/8fd8efb79f74569d9780526cb47022ea01c99995)) - -* once more unto the breach ([`3a80e2e`](https://github.com/kaskada-ai/kaskada/commit/3a80e2ed1f2638d1cff8826615f764c4ed891936)) - -* once more unto the breach ([`b364a44`](https://github.com/kaskada-ai/kaskada/commit/b364a4405bb3763166522319ab6cb43987b37f7f)) - -* using go from inside the image ([`9d15b2b`](https://github.com/kaskada-ai/kaskada/commit/9d15b2bafe45072868de40aceaafa143b83c7164)) - -* using go from inside the image ([`fc5b571`](https://github.com/kaskada-ai/kaskada/commit/fc5b571537524040c58243468d6b75f24a3ecb98)) - -* testing ([`0eee2a1`](https://github.com/kaskada-ai/kaskada/commit/0eee2a1fcc8a2a36bb8e690e57931bd0a2ff3890)) - -* testing ([`9e87fe6`](https://github.com/kaskada-ai/kaskada/commit/9e87fe6f2e59fee5b4c5b4bdfb2cfe4821c30655)) - -* testing ([`e5c3adf`](https://github.com/kaskada-ai/kaskada/commit/e5c3adfad6c9a05b615e468aab114a6e6f9300bf)) - -* testing ([`f425b24`](https://github.com/kaskada-ai/kaskada/commit/f425b24f47167529342809cbe2a2a04252e8abef)) - -* testing ([`e6a1a54`](https://github.com/kaskada-ai/kaskada/commit/e6a1a544c3e109460bedcc0da8fe6ba2ec4b0ae6)) - -* docker file cleanup ([`5020268`](https://github.com/kaskada-ai/kaskada/commit/5020268ba90417be174d3783cb905bee44ad8b5f)) - -* testing ([`e32d0b7`](https://github.com/kaskada-ai/kaskada/commit/e32d0b7c63eea185b5315938c0c0f4dde957fe3c)) - -* testing ([`85f4719`](https://github.com/kaskada-ai/kaskada/commit/85f47191dbbe4596d4a722b60e2114fad5ab36ae)) - -* testing ([`77ff0ef`](https://github.com/kaskada-ai/kaskada/commit/77ff0ef18a282cea38c3fafc7014108dec8b366b)) - -* testing ([`a55286f`](https://github.com/kaskada-ai/kaskada/commit/a55286f9afd3bdc1e77bf38f4a5e8ee1fb7536db)) - -* testing ([`719799f`](https://github.com/kaskada-ai/kaskada/commit/719799fd7dc236b0361676cad361eccb7110a1a9)) - -* testing ([`6409398`](https://github.com/kaskada-ai/kaskada/commit/6409398deb401672bd0952dde1e11ff3879bf8f5)) - -* testing ([`8c3c9a2`](https://github.com/kaskada-ai/kaskada/commit/8c3c9a2a5535442e0eea0f53026a68bed8f44d8e)) - -* testing ([`1c69da6`](https://github.com/kaskada-ai/kaskada/commit/1c69da66b454c971a2a902a3b07392839e38a9dd)) - -* testing ([`cb790e3`](https://github.com/kaskada-ai/kaskada/commit/cb790e357016f051d171539997f0cd6a9f34b7a8)) - -* checking docker mount points ([`748ddc4`](https://github.com/kaskada-ai/kaskada/commit/748ddc431b9a0ff883bd341ed0d27cd0dcc646d3)) - -* checking docker mount points ([`c8d2249`](https://github.com/kaskada-ai/kaskada/commit/c8d2249e35e5a13702b99d7310ecf0544be9a7c8)) - -* Merge branch 'main' into feature/object-store ([`33739d2`](https://github.com/kaskada-ai/kaskada/commit/33739d269add244dfefa54265299de2bbb36920b)) - -* removed todo ([`19183f1`](https://github.com/kaskada-ai/kaskada/commit/19183f192021d609a021270bf12269ee7fb8e834)) - -* added tests/initial pass ([`d57c4e2`](https://github.com/kaskada-ai/kaskada/commit/d57c4e24e916090f13ac416fa698eb6da32d98e6)) - -* testing sparrow cross compile from amd64 to arm64 ([`a803ee4`](https://github.com/kaskada-ai/kaskada/commit/a803ee4f39e3a139677b7179b4a27f84c63fec14)) - -* temp Dockerfile to test arm64 ([`f0991a8`](https://github.com/kaskada-ai/kaskada/commit/f0991a8285e2f4c1afa03c790405ee4e07f3de32)) - -* added integration to file service ([`cd982eb`](https://github.com/kaskada-ai/kaskada/commit/cd982ebf05517053f9260204009de20740bc25fe)) - -* added rust sample code ([`7b827cd`](https://github.com/kaskada-ai/kaskada/commit/7b827cdbcf077dee8e7049405207617691ff8471)) - -* remove unused imports, and cargo fmt ([`94153ad`](https://github.com/kaskada-ai/kaskada/commit/94153ad9c875bafd7139e4638c8616b02370413b)) - -* Merge pull request #143 from kaskada-ai/tsk-ci-reusable-outputs - -(ci): propagating should_skip logic to reusable workflows and integ tests ([`5439ef8`](https://github.com/kaskada-ai/kaskada/commit/5439ef8c856d458bfab2dcd6b624998ed112fe44)) - -* Merge pull request #125 from kaskada-ai/rm/docs-faq - -Adding some FAQ's based on customer questions ([`32b4aad`](https://github.com/kaskada-ai/kaskada/commit/32b4aad36003d3cfbf259df82d30b2e8f1e33d70)) - -* update the decimal_fixed_len test files to be well-behaved sparrow inputs. (no timezone on the timestamp, and no decimal columns) ([`afd7f55`](https://github.com/kaskada-ai/kaskada/commit/afd7f55ee6980c7b12d508c5a1e796b0a0679bd1)) - -* add missing cert chain field ([`66004b3`](https://github.com/kaskada-ai/kaskada/commit/66004b3012728a045c580eb7999fc27cde3660ca)) - -* merge from main ([`64f15ca`](https://github.com/kaskada-ai/kaskada/commit/64f15caa0346735c930309bba7ee03cf2d10e43c)) - -* Merge branch 'main' into rm/docs-faq ([`4315781`](https://github.com/kaskada-ai/kaskada/commit/4315781854c587dd5d7967d75cec91ad0ee865fa)) - -* cross compile sparrow works ([`426808e`](https://github.com/kaskada-ai/kaskada/commit/426808e3b54ea1b5174b232dda5c0e4540cb6e15)) - -* Merge branch 'main' into tsk-ci-reusable-outputs ([`07aba69`](https://github.com/kaskada-ai/kaskada/commit/07aba69c3267148685fb68e6c011c0d7e3e8d459)) - -* fix path when downloading integ test binary ([`c3263d9`](https://github.com/kaskada-ai/kaskada/commit/c3263d9c54f10ffb0fbd2f987d1225f2316aaa97)) - -* (ci) propagating should_skip logic to reusable workflows and integ tests ([`b339318`](https://github.com/kaskada-ai/kaskada/commit/b3393184d2d27175882d4cf7d192d65346083ddf)) - -* Merge pull request #140 from kaskada-ai/tsk-ci-fix-skipping - -(ci): skip in reusable workflows for workflow_call events ([`0c76ad1`](https://github.com/kaskada-ai/kaskada/commit/0c76ad173ef16a76e0459b96a2648d1b5bc1d0d0)) - -* Merge pull request #134 from kaskada-ai/pulsar-add-tls-configs - -Add cert chain field to pulsar ([`29fb802`](https://github.com/kaskada-ai/kaskada/commit/29fb8027210d0650cbe8a9bf6665981c3899b559)) - -* (ci): skip test moved to each wren tests not whole job ([`9a43d74`](https://github.com/kaskada-ai/kaskada/commit/9a43d74e377962a0f02efca7239f660ae411e030)) - -* Merge pull request #142 from kaskada-ai/fix/update-temp-file-dir - -Update tempdir path for object store outputs ([`7c03cd8`](https://github.com/kaskada-ai/kaskada/commit/7c03cd8d9894562919eb534a7820d805a1990eab)) - -* Update tempdir path for object store outputs ([`4caa833`](https://github.com/kaskada-ai/kaskada/commit/4caa833ab9746231a5a418036823624c06d062f1)) - -* Uncommenting some install steps. ([`d86cd55`](https://github.com/kaskada-ai/kaskada/commit/d86cd55032dadf1532ec0fb0bb7fe62c968e040a)) - -* added rust object store ([`3b6a486`](https://github.com/kaskada-ai/kaskada/commit/3b6a486055cacbb3376d225f1168c35b5edeabd4)) - -* Merge pull request #141 from kaskada-ai/bjchambers-patch-1 - -Update faq.adoc ([`94e01b3`](https://github.com/kaskada-ai/kaskada/commit/94e01b3ae29cfdcf1427f844d21314c3a8f350f2)) - -* Update faq.adoc ([`70f6c39`](https://github.com/kaskada-ai/kaskada/commit/70f6c3967b9bc2261adffb28073976b04d92e96f)) - -* skip in reusable workflows for workflow_call events ([`2ff47d8`](https://github.com/kaskada-ai/kaskada/commit/2ff47d8962e62f5e8a2bb8ba6ae0a93c7cba879e)) - -* Merge pull request #132 from kaskada-ai/rm/docs-polish - -Some editing work on the docs ([`88d37b8`](https://github.com/kaskada-ai/kaskada/commit/88d37b8dd116e93012351113e67310329a9f5a17)) - -* Merge pull request #139 from kaskada-ai/examples/fix-pulsar-notebook-topic - -Fix topic name in pulsar notebook ([`ce9a383`](https://github.com/kaskada-ai/kaskada/commit/ce9a383679a9092dbb68d29ec46854824d161856)) - -* Adding some FAQ's based on customer questions ([`79589df`](https://github.com/kaskada-ai/kaskada/commit/79589df80ee34074b883b27167c7dded15774a06)) - -* Merge branch 'main' into rm/docs-polish ([`68d9bce`](https://github.com/kaskada-ai/kaskada/commit/68d9bcea28b2199029902924b3176972da5b85b9)) - -* Apply suggestions from code review - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`9fb10fe`](https://github.com/kaskada-ai/kaskada/commit/9fb10fe4a21a697130565844773f3ecab222a952)) - -* Fix topic name in pulsar notebook ([`3836e81`](https://github.com/kaskada-ai/kaskada/commit/3836e81f3efc9fbef77900a1a23afb216f8e71ac)) - -* Merge pull request #137 from kaskada-ai/release/0.4.3 - -Release 0.4.3 ([`c59bed8`](https://github.com/kaskada-ai/kaskada/commit/c59bed82d65b0fefcabb7edce2db06a03b46654f)) - -* Release 0.4.3 ([`c243373`](https://github.com/kaskada-ai/kaskada/commit/c243373752ee85aae50345d30574ca3590e9eb6a)) - -* Merge pull request #135 from kaskada-ai/bug/prepare-s3 - -Updates Preparation Service to use Tempdir on S3 ([`d8ffb1f`](https://github.com/kaskada-ai/kaskada/commit/d8ffb1f508bd20cfb7551522145be77f0e82c308)) - -* use tempdir crate ([`f6d4fca`](https://github.com/kaskada-ai/kaskada/commit/f6d4fcaa4104cca9c4ade85a5780a2b10618a9a6)) - -* fixed s3 prepare and integration tests ([`a5cfa51`](https://github.com/kaskada-ai/kaskada/commit/a5cfa519d2f495b55e0ba4578a3b30636228eac9)) - -* Merge pull request #136 from kaskada-ai/tsk-seed-testing-workflow - -(ci): seeding testing workglow ([`1b6661f`](https://github.com/kaskada-ai/kaskada/commit/1b6661f5f731e277c19e81a325a789b623735afc)) - -* (ci): seeding testing workglow ([`040fce6`](https://github.com/kaskada-ai/kaskada/commit/040fce6b091db1ef41af6ca913db57cdafa8e453)) - -* added quick fix ([`b22a344`](https://github.com/kaskada-ai/kaskada/commit/b22a344cb28bb417f5349e6bafa43b45884a2e69)) - -* update number ([`b4277be`](https://github.com/kaskada-ai/kaskada/commit/b4277be709d0e168c8e78754516f333b2cfbbb50)) - -* Merge pull request #131 from kaskada-ai/tsk-integration-tests-ci - -(ci): Adds integration tests as part of CI ([`38b46e7`](https://github.com/kaskada-ai/kaskada/commit/38b46e703be22b9c67db792c932f2d2bf59e25bc)) - -* Merge pull request #133 from kaskada-ai/python/remote_files - -restored the ability to load files in object stores ([`89497a1`](https://github.com/kaskada-ai/kaskada/commit/89497a1d4b0bbd053515ffe2805a809ac7fa7e7d)) - -* made suggested change ([`14d3a3f`](https://github.com/kaskada-ai/kaskada/commit/14d3a3f305ee4474fb323e98290a5505cf3a58f5)) - -* Add cert chain field to pulsar ([`affc3f1`](https://github.com/kaskada-ai/kaskada/commit/affc3f1798f3417b0208b6719a731aef291565ed)) - -* Merge pull request #129 from kaskada-ai/pulsar-add-auth-to-output - -Add jwt token auth to pulsar output ([`1dd4072`](https://github.com/kaskada-ai/kaskada/commit/1dd4072f37d390171aae0e79c3834294bc11270a)) - -* remove comment ([`101d2d7`](https://github.com/kaskada-ai/kaskada/commit/101d2d71fd425a7c499e982fc893d1fd42ac8032)) - -* fix most tests ([`990d17e`](https://github.com/kaskada-ai/kaskada/commit/990d17e6c22df181bff83def669e56bf7374a578)) - -* restored the ability to load files in object stores ([`8bb758c`](https://github.com/kaskada-ai/kaskada/commit/8bb758c0db58a305844553842d10a0472e54e34b)) - -* Some editing work on the docs - -* Add install section for the CLI (copied from quickstart) -* Added notes in "data loading" about supported input locations -* Removed redundant example queries -* Documented supported materialization destinations, removed Redis - example (since it's currently not working) -* Some minor wording & example visualization improvements -* Reorganized Python & CLI so that Python is consistently first. ([`73d7364`](https://github.com/kaskada-ai/kaskada/commit/73d7364a7e9c6025dd97643889fdc313a174a161)) - -* buld integration api binary on ubuntu 20.04 ([`28d6b8f`](https://github.com/kaskada-ai/kaskada/commit/28d6b8f2b75ce6d857e4d13e772e84b3295f889d)) - -* run integ tests on Ubuntu 20.04 ([`3c5ec81`](https://github.com/kaskada-ai/kaskada/commit/3c5ec8176f705927905d80b3a9570bb7d15f81a5)) - -* use ubuntu:20.04 as base image ([`c872623`](https://github.com/kaskada-ai/kaskada/commit/c8726238bb3a23f05232867e42ff713f26bacfbf)) - -* fmt ([`c4c9a8a`](https://github.com/kaskada-ai/kaskada/commit/c4c9a8a4a985f842d1bf22955326ec96f92e0161)) - -* clippy ([`0bbc3a0`](https://github.com/kaskada-ai/kaskada/commit/0bbc3a0afa71cb1adbfa5603aeb03d0617d2e005)) - -* ignore test--calls a functions that still has todo() ([`db49fea`](https://github.com/kaskada-ai/kaskada/commit/db49fea94f8ce5a16fb9cb6cf3a6e468143a801e)) - -* Cargo.lock update ([`37aef0d`](https://github.com/kaskada-ai/kaskada/commit/37aef0d7fa1face5822e8f5c357bb9be272a325a)) - -* Merge remote-tracking branch 'origin/main' into tsk-integration-tests-ci ([`250424c`](https://github.com/kaskada-ai/kaskada/commit/250424c2707f4c088da172ec5a12a62a3310dfe0)) - -* removing concurrency checks in reusable workflows ([`75b01dc`](https://github.com/kaskada-ai/kaskada/commit/75b01dcc42260e9bfc0aff8ae7667455847116aa)) - -* Merge pull request #63 from kaskada-ai/query-flight-recorder-tool - -feat: Re-enable the QFR tool ([`547e229`](https://github.com/kaskada-ai/kaskada/commit/547e229c919f7fe6bcc4857626ebb2e10aff7b21)) - -* update name to integration tests workflow ([`6b0d80d`](https://github.com/kaskada-ai/kaskada/commit/6b0d80db27972bf5cb4445550a5e10e87a5dea1f)) - -* final changes before CR ([`e3014f7`](https://github.com/kaskada-ai/kaskada/commit/e3014f7cbc9564e0e9d75dd5e3e3708bd2f58045)) - -* Merge remote-tracking branch 'origin/main' into tsk-integration-tests-ci ([`039aac7`](https://github.com/kaskada-ai/kaskada/commit/039aac767efc345b7e3c6ca60fb9f1385a359c74)) - -* Merge branch 'pulsar' of github.com:kaskada-ai/kaskada into pulsar ([`8b04621`](https://github.com/kaskada-ai/kaskada/commit/8b04621cbdd61d8e705c7b3f99d5231a282cc4e1)) - -* plumb pulsar connection proto through prepare, and test that it works with Astra ([`1ec18f8`](https://github.com/kaskada-ai/kaskada/commit/1ec18f867cdae6b3e6d9f85d5de3a264d01f3130)) - -* Add jwt token auth to pulsar output ([`655ac7b`](https://github.com/kaskada-ai/kaskada/commit/655ac7befeea33261863079f87a6984cd9bf3055)) - -* Merge pull request #128 from kaskada-ai/engine-release-0.4.2 - -Update version to release 0.4.2 ([`ad30a88`](https://github.com/kaskada-ai/kaskada/commit/ad30a8822096a45ecb0f49cc49751ee8434f7b82)) - -* Update version to release 0.4.2 ([`dd47a97`](https://github.com/kaskada-ai/kaskada/commit/dd47a97033dee67d2d48c5fbff97ae87d32034a3)) - -* Merge pull request #120 from kaskada-ai/feature/docker-pulsar - -examples: add pulsar docker image and notebook ([`be6793e`](https://github.com/kaskada-ai/kaskada/commit/be6793e055429301240aa3654884fa94125832b8)) - -* Merge pull request #127 from kaskada-ai/pulsar-whitelist-oauth2 - -explicitly allow MPL2.0 ([`1ab4172`](https://github.com/kaskada-ai/kaskada/commit/1ab4172f622cffec8e8b5bf6dce215728bf7e89b)) - -* explicitly allow MPL2.0 ([`ab4247c`](https://github.com/kaskada-ai/kaskada/commit/ab4247c889c5f97a4181eaed5654a2d769427b30)) - -* add new proto files to build.rs ([`b1771e2`](https://github.com/kaskada-ai/kaskada/commit/b1771e2566a917226d698b04013a36588cf92a22)) - -* add to destination as well as source ([`c7b00b3`](https://github.com/kaskada-ai/kaskada/commit/c7b00b300e0b0aa37b0f5b0308e706bf0ab05399)) - -* add admin_service_url, auth_plugin; replace auth_token with auth_params ([`bac5b36`](https://github.com/kaskada-ai/kaskada/commit/bac5b36ee866aa50752dc51e3f790ce6cce0815b)) - -* proposed proto changes to support pulsar sources ([`28f3d3a`](https://github.com/kaskada-ai/kaskada/commit/28f3d3ae76b613b6c01a91f00637786ae0c03e40)) - -* Merge branch 'main' into pulsar ([`c4bb219`](https://github.com/kaskada-ai/kaskada/commit/c4bb2193ff9dd1f1ad7d1898464df20db044288a)) - -* Merge pull request #122 from kaskada-ai/rm/docs-rewrite-getting-started - -Cleanup Getting Started ([`26825a5`](https://github.com/kaskada-ai/kaskada/commit/26825a52ff25350eaf72fbd3b641eaf79bed3f4d)) - -* Comments ([`02ad4c1`](https://github.com/kaskada-ai/kaskada/commit/02ad4c1762ff6f9638dd108e1a5fd5ae52a5f078)) - -* Apply suggestions from code review - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`7d0d415`](https://github.com/kaskada-ai/kaskada/commit/7d0d4153a6ef0ac2bef0e2468cd8bfede0c04d89)) - -* clean notebook ([`ac10460`](https://github.com/kaskada-ai/kaskada/commit/ac1046050d501a422c7f8094062909e9e8f28f45)) - -* Add readme ([`69c503e`](https://github.com/kaskada-ai/kaskada/commit/69c503e0da425d2b8a520bcf8c39f347eff29fd4)) - -* update docker compose ([`89fb0b8`](https://github.com/kaskada-ai/kaskada/commit/89fb0b871fb0963b25126d6bafbb0f3b1ead31d6)) - -* Add example datasets ([`230ca51`](https://github.com/kaskada-ai/kaskada/commit/230ca51fe41c3711c488802ea28ba362c09b2ea5)) - -* Reoganize to sub directory ([`d8f8953`](https://github.com/kaskada-ai/kaskada/commit/d8f89535d9bb9813587e005b7e25ebb2a76b66f9)) - -* update notebook a bit ([`cb45769`](https://github.com/kaskada-ai/kaskada/commit/cb45769ca55441045eda3aa5af0152271ce7e8a0)) - -* update compose name ([`0ea1fe8`](https://github.com/kaskada-ai/kaskada/commit/0ea1fe8aff6a70b0880b46a9bb4df95bfdb21c9b)) - -* fix topic name ([`b4171db`](https://github.com/kaskada-ai/kaskada/commit/b4171dba2526e89a8e6f1290992ad51d8ab1181a)) - -* clean notebook ([`de338ce`](https://github.com/kaskada-ai/kaskada/commit/de338ced3d50aa6eb1e016dea843c6c7163d69fb)) - -* Update docker compose to use public image ([`bb75971`](https://github.com/kaskada-ai/kaskada/commit/bb759715cdf3f604145fdc1457d6f4cf0235651a)) - -* Add docker compose for pulsar demo notebook ([`593d3da`](https://github.com/kaskada-ai/kaskada/commit/593d3da24b33c9a9857e9faf969a0880f28a1f7e)) - -* initial version ([`22fccda`](https://github.com/kaskada-ai/kaskada/commit/22fccda38648a7078abdb94f74ccdd0718a85c9f)) - -* add support for avro long, float, timestampmicros, string ([`c6e62b5`](https://github.com/kaskada-ai/kaskada/commit/c6e62b57c592de6beb3398566f5c77d0fb06fd57)) - -* remove unnecessary box-ing ([`ec130a3`](https://github.com/kaskada-ai/kaskada/commit/ec130a3b780af8833a8b91ad346d7c15a829976f)) - -* add avro_arrow for conversions boilerplate ([`f02ff1f`](https://github.com/kaskada-ai/kaskada/commit/f02ff1fe460f4c51f13ffacd9ad1620056515823)) - -* Cleanup Getting Started - -* New landing page with lots of code examples -* Combine the 3 sections into a single "Hello world Jupyter" page -* Hello world for CLI ([`192abd8`](https://github.com/kaskada-ai/kaskada/commit/192abd81ccf9d2995a33f7341510706d78bfa77e)) - -* Merge pull request #112 from kaskada-ai/rm/docs-cli-tables - -Document tables and loading with the CLI ([`80a3a0a`](https://github.com/kaskada-ai/kaskada/commit/80a3a0aed571442bccc91baa9d219ac8d63bdbb6)) - -* try again ([`69857ad`](https://github.com/kaskada-ai/kaskada/commit/69857ad545fb72003a19ddf733fa74488172f3b4)) - -* try again ([`275702c`](https://github.com/kaskada-ai/kaskada/commit/275702cc6fcc56628eb3cbfbd3047d376db02069)) - -* try again ([`5ab2358`](https://github.com/kaskada-ai/kaskada/commit/5ab2358e4ef9a2df51b3ab748165171f7c44ae8f)) - -* try again ([`70f0191`](https://github.com/kaskada-ai/kaskada/commit/70f019174d5e79b67fa946303b54a5491466ef3d)) - -* try again ([`bd59861`](https://github.com/kaskada-ai/kaskada/commit/bd598619ee499e8d957ed5e524dd7b882ffe7e67)) - -* try again ([`99b9cfa`](https://github.com/kaskada-ai/kaskada/commit/99b9cfab1b33132ea298fbfbf9377f15e43d29ad)) - -* try again ([`abc6670`](https://github.com/kaskada-ai/kaskada/commit/abc667092ee61549a09298fcc82ecf632e0ad2d3)) - -* try again ([`1f27c18`](https://github.com/kaskada-ai/kaskada/commit/1f27c1828bcc3601403f0caed1de28cb641b7629)) - -* this works locally ... testing on CI ([`97e31f0`](https://github.com/kaskada-ai/kaskada/commit/97e31f0d3c2b92ce2532a0ddef3d852fb6ff5dc8)) - -* Merge pull request #119 from kaskada-ai/therapon-patch-1 - -Update Dockerfile.release to use debiab bullseye ([`4b8e5f9`](https://github.com/kaskada-ai/kaskada/commit/4b8e5f9203740d032d3168310746630efa0e82d7)) - -* Update Dockerfile.release to use debiab bullseye - -We build against libc version 2.31 and we need the image we are going to run our binaries to be at least 2.31. For debian that is bullseye (which is the version used to build Ubuntu 20.04) ([`53b9bf9`](https://github.com/kaskada-ai/kaskada/commit/53b9bf93088b5b8ad91cc978fd7dcfadd093f4b3)) - -* Add output from commands ([`d6082c4`](https://github.com/kaskada-ai/kaskada/commit/d6082c42edc4e9600097e627931566509577b6dd)) - -* readme ([`1966bb1`](https://github.com/kaskada-ai/kaskada/commit/1966bb1c946eae71a680ff1f76e3eeaf6182443d)) - -* cargo fix ([`0595694`](https://github.com/kaskada-ai/kaskada/commit/0595694c057d6dfb462c3161059cf45e45380a84)) - -* cargo fmt ([`1adf292`](https://github.com/kaskada-ai/kaskada/commit/1adf292043e5e3ebc4610e5f70e19f3c5aff454f)) - -* batch multiple rows into arrow columns until we read 100k messages or come to the end of the topic, whichever comes first ([`bffa7c7`](https://github.com/kaskada-ai/kaskada/commit/bffa7c7ca5cdb52ee5c1201f2406bb00548738c2)) - -* Merge pull request #114 from kaskada-ai/feature/pulsar-api - -Add Pulsar Table Source ([`5384755`](https://github.com/kaskada-ai/kaskada/commit/53847559440fad64ff604f5cbe1f3a2da1274f05)) - -* Merge pull request #118 from kaskada-ai/esp/wren_port - -move manager to port 3365 for Rest ([`2e6d68b`](https://github.com/kaskada-ai/kaskada/commit/2e6d68b6eacdc6de64e22b5e8289dc768b826037)) - -* move manager to port 3365 for Rest ([`fe03765`](https://github.com/kaskada-ai/kaskada/commit/fe03765252fad0affc2a0b08ca926ca4355447f7)) - -* Merge pull request #117 from kaskada-ai/release/python-0.1.1a8 - -Python Client 0.1.1a8 ([`942a0cf`](https://github.com/kaskada-ai/kaskada/commit/942a0cf5103e30d0f102991ecf56a2eb3cadaeeb)) - -* updated release for python ([`bbee77f`](https://github.com/kaskada-ai/kaskada/commit/bbee77fac2aaa9ddc02137086d3acd44fcc5e4de)) - -* prepares a single row from pulsar at a time ([`cd1f1a3`](https://github.com/kaskada-ai/kaskada/commit/cd1f1a32c8f7d6fb06040311fbcf93088af22127)) - -* Adding first draft of a demo notebook with a narrative for event processing. ([`7c28633`](https://github.com/kaskada-ai/kaskada/commit/7c2863303b7eff814748b4c05994f5028fd4b6f6)) - -* Merge pull request #116 from kaskada-ai/feature/arguments - -Launch Kaskada Binaries with Arguments ([`0314209`](https://github.com/kaskada-ai/kaskada/commit/0314209cd760b333ba7e44108f81bbc6026190d7)) - -* formatting ([`f021bce`](https://github.com/kaskada-ai/kaskada/commit/f021bcef60a4801e9e4f881ad22b7fa0bab4a64e)) - -* types ([`78caf30`](https://github.com/kaskada-ai/kaskada/commit/78caf3078997ab7a5905567dc1a11567b5af16ed)) - -* added notebook example ([`7b08eb2`](https://github.com/kaskada-ai/kaskada/commit/7b08eb2805ca35ef766a458a32b5563890020e27)) - -* added tests ([`7a7ef69`](https://github.com/kaskada-ai/kaskada/commit/7a7ef6989bb3b1190e16faf432645f97280fdf98)) - -* added changes ([`13f6d6a`](https://github.com/kaskada-ai/kaskada/commit/13f6d6a5ddbb04aa9e289426473088c4c7302dfb)) - -* using the stderr/stdour for popen ([`f8265e9`](https://github.com/kaskada-ai/kaskada/commit/f8265e93a90ae43d746c55ccaf84f6a21857312e)) - -* Document tables and loading with the CLI ([`cc34de0`](https://github.com/kaskada-ai/kaskada/commit/cc34de0868999932a744b74219144265b0bcfdbb)) - -* Merge branch 'main' into feature/pulsar-api ([`2a0608f`](https://github.com/kaskada-ai/kaskada/commit/2a0608f6c53ddea45a056fdd69683ccd2d137701)) - -* Merge pull request #113 from kaskada-ai/tsk-engine-release-0.4.1 - -Cutting engine release 0.4.1 ([`acbea54`](https://github.com/kaskada-ai/kaskada/commit/acbea5434f2f32e9de67841877f1b2da4054b713)) - -* clippy fixes ([`7ec7806`](https://github.com/kaskada-ai/kaskada/commit/7ec7806f45a54a9bfe76229bd81662facaa141d3)) - -* Merge branch 'feature/pulsar-api' of github.com:kaskada-ai/kaskada into feature/pulsar-api ([`e660092`](https://github.com/kaskada-ai/kaskada/commit/e660092b278a85a3ef80f8c02d3d25df58006b77)) - -* added notebook example ([`a51cf73`](https://github.com/kaskada-ai/kaskada/commit/a51cf73f996bc2fd65e0c49ef1cf27afa32b952d)) - -* Merge branch 'main' into feature/pulsar-api ([`bbf9063`](https://github.com/kaskada-ai/kaskada/commit/bbf90637dedfa2c62150129996a21ec0e62450c2)) - -* format ([`19aa072`](https://github.com/kaskada-ai/kaskada/commit/19aa072bc1603734be32ccd798e66f566dc6fa63)) - -* added formatter ([`bb9b2ef`](https://github.com/kaskada-ai/kaskada/commit/bb9b2efddd000a87ed9971cc57446291b8ed09e1)) - -* clippy fixes ([`5b5ba21`](https://github.com/kaskada-ai/kaskada/commit/5b5ba21e37e037754b763c4f545be2acbae04427)) - -* clippy fixes ([`b4f0ab6`](https://github.com/kaskada-ai/kaskada/commit/b4f0ab699ee83fa996fa8c33bc197460c8fe2f18)) - -* Cutting engine release 0.4.1 ([`0195e93`](https://github.com/kaskada-ai/kaskada/commit/0195e93874223e1e6a0fbfdd38d9eb63263a861f)) - -* Merge pull request #110 from kaskada-ai/rm/docs-getting-started - -Some (haphazard) changes to docs ([`edaab09`](https://github.com/kaskada-ai/kaskada/commit/edaab09d532d58289ef7f304f647f8eafec65a4e)) - -* added tests ([`6d4bb03`](https://github.com/kaskada-ai/kaskada/commit/6d4bb03c6c2d9c0481f99667469ec77d98a0a25b)) - -* added pulsar table ([`1fc863a`](https://github.com/kaskada-ai/kaskada/commit/1fc863aa503b7047b30c4650799ef898401be697)) - -* proto changes ([`bc036fb`](https://github.com/kaskada-ai/kaskada/commit/bc036fb4b4f53cdb41a5ac360a2bae9453f64326)) - -* Merge pull request #111 from kaskada-ai/tsk-ci-use-ubuntu20 - -ci: use ubuntu 20.04 for engine builds and release ([`855921b`](https://github.com/kaskada-ai/kaskada/commit/855921bbb6fcad9f0e344e38f2b833783998ffbb)) - -* Theo comments ([`7685771`](https://github.com/kaskada-ai/kaskada/commit/7685771a043f4bc55b4b071a7120a7c163a13be4)) - -* Some (haphazard) changes to docs - -* Use getting started as the start page for the docs -* Simplify the getting-started section some, remove duplicated content -* document CLI usage for views -* Make section names more concise & direct -* Fold "example queries" into the "queries" section -* Remove some "you need to install a client" warnings ([`9231c64`](https://github.com/kaskada-ai/kaskada/commit/9231c6414916f30d24c3269da40e829a264d15db)) - -* Merge pull request #108 from kaskada-ai/rm/ml-example - -Add an example running through the ML workflow described in the docs ([`7c0b36f`](https://github.com/kaskada-ai/kaskada/commit/7c0b36f37e3baa652dd069783e81796abcd09cd9)) - -* fmt ([`e247506`](https://github.com/kaskada-ai/kaskada/commit/e247506070e7bda02713c68cee969e3af95a1b4a)) - -* fix clippy ([`12c22dc`](https://github.com/kaskada-ai/kaskada/commit/12c22dc42533647d00e0b6a599cdc396aefe0d52)) - -* Merge pull request #109 from kaskada-ai/rm/docs-refresh2 - -Move things around to align to information architecture ([`db1b719`](https://github.com/kaskada-ai/kaskada/commit/db1b7197e99e395fc69243f968100470d9d85339)) - -* fix yaml ([`1ce5f13`](https://github.com/kaskada-ai/kaskada/commit/1ce5f1328eda723c37822b8df9b205ebd9ce2f6e)) - -* fix references to env variables ([`55ed591`](https://github.com/kaskada-ai/kaskada/commit/55ed59144abad7facdb341e7ba88a1b08e329453)) - -* fix references to env variables ([`bee07e5`](https://github.com/kaskada-ai/kaskada/commit/bee07e5ca13c10aaaaa813d00a80affd96248469)) - -* adds docker image and integ test execution ([`2be8dcd`](https://github.com/kaskada-ai/kaskada/commit/2be8dcd913faaeb3dc47d3b5c1032ea487c621e5)) - -* Drop unneded type conversion and document actual requirements ([`0ac4938`](https://github.com/kaskada-ai/kaskada/commit/0ac49383e34067fcf2101b2aacab5b9538d4a8b8)) - -* Update docs-src/modules/ROOT/pages/loading-data.adoc - -Co-authored-by: Therapon Skoteiniotis <therapon@users.noreply.github.com> ([`7e4e96b`](https://github.com/kaskada-ai/kaskada/commit/7e4e96b1a47ccc28e890e239a610621b0cee5b97)) - -* Merge pull request #107 from kaskada-ai/rm/cli-load - -Document the workflow using CLI ([`5233618`](https://github.com/kaskada-ai/kaskada/commit/5233618f59a46607d5f98605884c793eecb68c5c)) - -* Add mocks for interfaces ([`e49f2aa`](https://github.com/kaskada-ai/kaskada/commit/e49f2aaa2a8c87b4921b4fe010ce5cd7e16d8a8e)) - -* Move things around to align to information architecture -g ([`c8dc91b`](https://github.com/kaskada-ai/kaskada/commit/c8dc91bbe0bd8cbdfbbca15f5dca329786d266a0)) - -* Add an example running through the ML workflow described in the docs ([`7d51e77`](https://github.com/kaskada-ai/kaskada/commit/7d51e77d014d50e6f102d46817ea5069352c1c75)) - -* Document the workflow using CLI - -This invovled added a "load" function to the CLI client and making a -couple fairly small changes to other parts of the CLI. - -* Ability to write query results to STDOUT rather than just dumping the - response as JSON (so you can easily see the results) -* Ability to parse a query fron STDIN instead of requiring it as an - argument (to support multi-line) ([`dea5df2`](https://github.com/kaskada-ai/kaskada/commit/dea5df21df68f7afbf5f659702f9d51ad868697a)) - -* Merge pull request #91 from kaskada-ai/rm/docs-refresh - -Move the overview to the "how-to" section as an ML example ([`3703acd`](https://github.com/kaskada-ai/kaskada/commit/3703acdb7bf7ed9b3d951077f8ebda5801938dbc)) - -* Merge pull request #105 from kaskada-ai/engine/fix-shift-to-bounds - -bug: fix off by one error in shift to ([`77eba8a`](https://github.com/kaskada-ai/kaskada/commit/77eba8aeb90935d3fe06266848fb5acfa3dce3ff)) - -* only upload integ test binary ([`2c644a5`](https://github.com/kaskada-ai/kaskada/commit/2c644a5fd16857daa8d4899cf3f1fa07a7bfc3d1)) - -* Fix off by one error in shift to ([`224d34d`](https://github.com/kaskada-ai/kaskada/commit/224d34d512c3213a100153b103d2f1906e0e4b24)) - -* Merge pull request #104 from kaskada-ai/tsk-integration-tests-ci - -use ginkgo command to build integ test binary ([`a01d00c`](https://github.com/kaskada-ai/kaskada/commit/a01d00c2a85d7fb2e381e01c9857def146f6eead)) - -* use ginkgo command to build integ test binary ([`5793034`](https://github.com/kaskada-ai/kaskada/commit/57930349406ddf643d7ab7aeeb462ba66efb35c8)) - -* Merge pull request #103 from kaskada-ai/tsk-integration-tests-ci - -fix donwload locations for artifacts ([`d71825c`](https://github.com/kaskada-ai/kaskada/commit/d71825c5d72ad5cb402d3123e5bfed452dc1bc8e)) - -* fix donwload locations for artifacts ([`0b2d368`](https://github.com/kaskada-ai/kaskada/commit/0b2d36819a2441b12c944991b789f01c6bcbde45)) - -* Merge pull request #86 from kaskada-ai/output-at-time - -feat: produce output at user-defined time ([`3906b76`](https://github.com/kaskada-ai/kaskada/commit/3906b76757ab85d425e070e60e36f1e61284054d)) - -* Merge pull request #102 from kaskada-ai/tsk-integration-tests-ci - -remove all concurrency for now ([`0f5937e`](https://github.com/kaskada-ai/kaskada/commit/0f5937ebe7b1c8d5029da46c4f6433099bd79dba)) - -* remove all concurrency for now ([`e4a237d`](https://github.com/kaskada-ai/kaskada/commit/e4a237d98a36ea5963d2101d5307a1e4992670dd)) - -* Merge pull request #101 from kaskada-ai/tsk-integration-tests-ci - -fix download of ginkgo ([`5202ae9`](https://github.com/kaskada-ai/kaskada/commit/5202ae99310c88124fac6360227e0e696a897b00)) - -* fix download of ginkgo ([`186e417`](https://github.com/kaskada-ai/kaskada/commit/186e4175f5f27543cc1d8f5edbf99d655301aa07)) - -* Merge pull request #99 from kaskada-ai/tsk-integration-tests-ci - -add workflow file to non skipable paths ([`c35538b`](https://github.com/kaskada-ai/kaskada/commit/c35538bd6280f67193f29fe8764ef46e2fb69ad6)) - -* add workflow file to non skipable paths ([`30bf5b0`](https://github.com/kaskada-ai/kaskada/commit/30bf5b05e7c195a106db55a11895f8f473cd55e7)) - -* Merge pull request #97 from kaskada-ai/tsk-integration-tests-ci - -fix JSON error ([`5713f0e`](https://github.com/kaskada-ai/kaskada/commit/5713f0ec6c613418d8f46570b539eef02b1535e6)) - -* fix JSON error ([`aa77067`](https://github.com/kaskada-ai/kaskada/commit/aa77067a94b2d2231bf2b4846ddb02c1595c53d6)) - -* Merge pull request #96 from kaskada-ai/tsk-integration-tests-ci - -do not skipp on workflow_call ([`60f75fc`](https://github.com/kaskada-ai/kaskada/commit/60f75fc54a66eb41e18f889215cd4ac01d227946)) - -* do not skipp on workflow_call ([`4f7c115`](https://github.com/kaskada-ai/kaskada/commit/4f7c115ca1091209c9814ca3ddc4edad9091b5c4)) - -* Merge pull request #95 from kaskada-ai/tsk-integration-tests-ci - -remove concurrency ([`e84929b`](https://github.com/kaskada-ai/kaskada/commit/e84929b0cf18fcb4f5f6407a45e9d2ea55468513)) - -* remove concurrency ([`4a7e0a3`](https://github.com/kaskada-ai/kaskada/commit/4a7e0a33c98041cc724b15b207f6bb63429b1d09)) - -* Merge pull request #94 from kaskada-ai/tsk-integration-tests-ci - -add needs ([`57cb921`](https://github.com/kaskada-ai/kaskada/commit/57cb92145f27eb1db4a3c916ca3bd74dbb5424d4)) - -* add needs ([`700b198`](https://github.com/kaskada-ai/kaskada/commit/700b19800a77aa54d94da5f82b153b60f93acdef)) - -* Merge pull request #93 from kaskada-ai/tsk-integration-tests-ci - -Tsk integration tests ci ([`88c1b00`](https://github.com/kaskada-ai/kaskada/commit/88c1b00b28e0b576a01ee4d5c2dcb0f67fc4ee76)) - -* moves reusable workflow calls to jobs from steps ([`322109b`](https://github.com/kaskada-ai/kaskada/commit/322109b837f7b3119a4936aaece4320c193957ef)) - -* Merge remote-tracking branch 'origin/main' into tsk-integration-tests-ci ([`1fa4b2b`](https://github.com/kaskada-ai/kaskada/commit/1fa4b2ba46e4cab3543fdd99927f9e7cccf5eebd)) - -* Merge pull request #89 from kaskada-ai/tsk-integration-tests-ci - -ci: adds integration test CI workflow ([`4a4d018`](https://github.com/kaskada-ai/kaskada/commit/4a4d018d9013eb4a6a57926212dc9f49d635e029)) - -* Merge branch 'tsk-integration-tests-ci' of github.com:kaskada-ai/kaskada into tsk-integration-tests-ci ([`aa71172`](https://github.com/kaskada-ai/kaskada/commit/aa7117206f01a55047cef0574c4a92aad48ece6d)) - -* Merge branch 'main' into tsk-integration-tests-ci ([`19a0b00`](https://github.com/kaskada-ai/kaskada/commit/19a0b00ef6064dc527b41ab6bfa05642e43d6413)) - -* Merge pull request #92 from kaskada-ai/feature/release-0.3.0 - -Binary Release 0.3.0 and Python Client 0.1.1a7 ([`cb602c1`](https://github.com/kaskada-ai/kaskada/commit/cb602c10d24fa0a51750f2d5653225344bfbdf78)) - -* Merge branch 'main' into feature/release-0.3.0 ([`1ff0a48`](https://github.com/kaskada-ai/kaskada/commit/1ff0a48a366752e9d6cca72a3708017c725813cf)) - -* 0.3.0 ([`df8bf63`](https://github.com/kaskada-ai/kaskada/commit/df8bf6310744f67984238815a9ecf79338ac2504)) - -* bumped versions ([`cbf37f5`](https://github.com/kaskada-ai/kaskada/commit/cbf37f5b927378050279e4574905e232f294d796)) - -* Merge pull request #52 from kaskada-ai/kerinin-patch-1 - -Remove comment about support ([`27281f7`](https://github.com/kaskada-ai/kaskada/commit/27281f7a1aff43185971ad9faadd42d4a31f38e1)) - -* Move the overview to the "how-to" section as an ML example ([`493fa19`](https://github.com/kaskada-ai/kaskada/commit/493fa1939d4f9a3446d514ba279a098fca9a6152)) - -* Remove comment about support ([`98612fc`](https://github.com/kaskada-ai/kaskada/commit/98612fc4f8cfe715a30050986e99139ede65aa6c)) - -* set shell for run command ([`a8da12e`](https://github.com/kaskada-ai/kaskada/commit/a8da12ea2610d93b60d2c58739d69a3b2b02c55b)) - -* Merge pull request #85 from kaskada-ai/rm/fix-docs - -Minor fixes from a run-through ([`fc9018a`](https://github.com/kaskada-ai/kaskada/commit/fc9018ad968cd21b2d6c40f382b14c66dfa14135)) - -* Merge branch 'main' into tsk-integration-tests-ci ([`b83596f`](https://github.com/kaskada-ai/kaskada/commit/b83596ff169e2cb4d4c86d810487b403d4740f95)) - -* Merge pull request #79 from kaskada-ai/feature/examples-readme - -Update Examples with README and Makefile ([`36ec6e3`](https://github.com/kaskada-ai/kaskada/commit/36ec6e390235a3d274a6ed424c06b18febd3b776)) - -* Merge branch 'main' into feature/examples-readme ([`aa76b39`](https://github.com/kaskada-ai/kaskada/commit/aa76b39cfd6d2fc0d216b818b6f855dd948cec77)) - -* Merge pull request #87 from kaskada-ai/tsk-fix-integ-tests - -tests: updates integ tests for field name change Query => Expression ([`f7a569c`](https://github.com/kaskada-ai/kaskada/commit/f7a569c727ba2a78eee009619d53764c0f3cfa81)) - -* Update code samples, add bare-bones documentation for supported feature store targets. ([`25e2913`](https://github.com/kaskada-ai/kaskada/commit/25e29131097e2c8828d76d85ec4693940c7ed7e2)) - -* Merge branch 'main' into feature/examples-readme ([`1801638`](https://github.com/kaskada-ai/kaskada/commit/18016383d6825d5aba1f4b48c87cde26b74d0792)) - -* Merge branch 'feature/examples-readme' of github.com:kaskada-ai/kaskada into feature/examples-readme ([`ec00895`](https://github.com/kaskada-ai/kaskada/commit/ec00895455e71249ff585efe23e03e89c8db903c)) - -* code review comments ([`83970be`](https://github.com/kaskada-ai/kaskada/commit/83970be21cf8cea528c0bb0129737cdba504530d)) - -* tests: updates integ tests for field name change Query => Expression ([`5883d03`](https://github.com/kaskada-ai/kaskada/commit/5883d030af248c7a1485b19330920526c22f718e)) - -* Merge pull request #76 from kaskada-ai/add-materialization-version - -feat: add incrementing materialization version ([`9ac802f`](https://github.com/kaskada-ai/kaskada/commit/9ac802fd9437b827e33a079360604dcb57f3e856)) - -* fix type issues ([`3e1ded6`](https://github.com/kaskada-ai/kaskada/commit/3e1ded6732aec9eac626264e4d151917d8178dbf)) - -* change field to i64 ([`eea18bd`](https://github.com/kaskada-ai/kaskada/commit/eea18bd7be54da1f5e0fef61861d20f47a9fec2f)) - -* update mat to use expression instead of queyr ([`18138b2`](https://github.com/kaskada-ai/kaskada/commit/18138b2663a1037ef18f5d0a400211fcd9c930e8)) - -* Add incrementing mat version ([`5dbc173`](https://github.com/kaskada-ai/kaskada/commit/5dbc1733d6a5177dda945de2b3615bda9ed238ed)) - -* add upper bound to tablre edaer ([`a0785a1`](https://github.com/kaskada-ai/kaskada/commit/a0785a197417732a1d8ab3df0d6cd580a63d2cb6)) - -* assertions on behaviors ([`08bafb4`](https://github.com/kaskada-ai/kaskada/commit/08bafb4b050e2fad4322e93369ca0b4a2c18e3a4)) - -* Minor fixes from a run-through ([`58087df`](https://github.com/kaskada-ai/kaskada/commit/58087df363dda3f41c21fd81300eb7ba9ee6d9ff)) - -* add at time enum ([`39ca6bb`](https://github.com/kaskada-ai/kaskada/commit/39ca6bb112f94b627dca82717be2040fb5f5a4fa)) - -* Fix final at time with ticks ([`89a08ee`](https://github.com/kaskada-ai/kaskada/commit/89a08ee3b05ed2776eb7b323e7efcff08aefacc4)) - -* Merge branch 'main' into feature/examples-readme ([`691a138`](https://github.com/kaskada-ai/kaskada/commit/691a13823150a10bf974708606270fa6f38114b6)) - -* added readme ([`91268fd`](https://github.com/kaskada-ai/kaskada/commit/91268fddd31f476d59f4ec563e21b7e93c505fb7)) - -* updated readme ([`803acb7`](https://github.com/kaskada-ai/kaskada/commit/803acb717f1b9576c20aee21df28bca386e3d5a3)) - -* Merge pull request #83 from kaskada-ai/esp/fix_wren - -updated manager to set defaults on create query ([`2cac36c`](https://github.com/kaskada-ai/kaskada/commit/2cac36c21e60f2a30bac0eebfef6f6c996cfbbea)) - -* validate dest is set in createmat ([`82470a1`](https://github.com/kaskada-ai/kaskada/commit/82470a11ac8fef10c224cd6ad01ec9067400e14c)) - -* add null check in manager ([`247a1c6`](https://github.com/kaskada-ai/kaskada/commit/247a1c6f758168eab4375c5e7e910e8004684262)) - -* updated manager to set defaults on create query ([`cd164c6`](https://github.com/kaskada-ai/kaskada/commit/cd164c6c5d4214d6322c69664c5f96dc7d3f66cf)) - -* Merge pull request #81 from kaskada-ai/rm/fix-docs - -Some doc fixes ([`e24199b`](https://github.com/kaskada-ai/kaskada/commit/e24199b9e5253e7bcea257ca7735f6fab60109ed)) - -* Merge pull request #71 from kaskada-ai/benchmark-cli - -Resurrect the cli transactions benchmark ([`f50cbb8`](https://github.com/kaskada-ai/kaskada/commit/f50cbb8cef0bf174201e041f9a3bd263a330e214)) - -* Some doc fixes ([`d0b10cf`](https://github.com/kaskada-ai/kaskada/commit/d0b10cf9537f1bf4608310a4f23dd9d47dc8754b)) - -* Merge branch 'main' into benchmark-cli ([`b43c987`](https://github.com/kaskada-ai/kaskada/commit/b43c987c6dbb7765f49d8e904cb1f8602c74d80e)) - -* Merge pull request #75 from kaskada-ai/tempfile - -upgrade to tempfile 3.4 which eliminates security-problem dependency remove_dir_all ([`6de3c26`](https://github.com/kaskada-ai/kaskada/commit/6de3c26b6a0334491e39054fdcb623a02234a08f)) - -* added new examples readme ([`f90c57a`](https://github.com/kaskada-ai/kaskada/commit/f90c57a9429eef167cb50e08f380fec0785211e0)) - -* Merge pull request #74 from kaskada-ai/update-python-version - -update python client ([`efa9d67`](https://github.com/kaskada-ai/kaskada/commit/efa9d67228b66e433e81d561dfdf9958defca668)) - -* Merge pull request #77 from kaskada-ai/esp/fix_render - -fixed fenl magic rendering ([`f7064b2`](https://github.com/kaskada-ai/kaskada/commit/f7064b216e8c01f9bf9dde327f0a45040ed6c561)) - -* fixed fenl magic rendering ([`7a13b35`](https://github.com/kaskada-ai/kaskada/commit/7a13b3545417f34140ef474784ff8391df2081c8)) - -* upgrade to tempfile 3.4 which eliminates security-problem dependency remove_dir_all ([`641bada`](https://github.com/kaskada-ai/kaskada/commit/641bada220d8adda7720c7e8cd8ab77788fb1457)) - -* remove debug logging that is redundant wrt spans, and move some info to debug ([`688f20b`](https://github.com/kaskada-ai/kaskada/commit/688f20b356b33d55a59700382c0f9f02e0879512)) - -* update ObjectStoreDestination to use file_type instead of file_format ([`ba43941`](https://github.com/kaskada-ai/kaskada/commit/ba43941529329ecb8f9bd50df0734e3fccd3eb09)) - -* improve Debug implementations and use finish_non_exhaustive where applicable ([`0ed5b6a`](https://github.com/kaskada-ai/kaskada/commit/0ed5b6aa5dea56d09fe0809e3ca76b96b672b86d)) - -* markdown-ify README ([`3ca654c`](https://github.com/kaskada-ai/kaskada/commit/3ca654ce896bf5e1d6429c6a519dd835bcf13bc2)) - -* add readme ([`fb3bb47`](https://github.com/kaskada-ai/kaskada/commit/fb3bb47dd95b00df2f4b7e5f251701a37f905330)) - -* rename schema and query files ([`0f2a9e6`](https://github.com/kaskada-ai/kaskada/commit/0f2a9e6053bdf543c03aa24dce4452c152f70f43)) - -* update python client ([`64911ed`](https://github.com/kaskada-ai/kaskada/commit/64911ed94e540d0e69d4415cab599bc046fe2d88)) - -* add simple query-mean ([`78e8b37`](https://github.com/kaskada-ai/kaskada/commit/78e8b37bccf76e43eb03aea0781f55ee9f07ecbf)) - -* split schema and script files apart ([`47bb8e8`](https://github.com/kaskada-ai/kaskada/commit/47bb8e8baf033ea6197fed86646c9e8ebfe3c1e3)) - -* use msno as group_column_name so we don't need python preprocessing ([`5dd527b`](https://github.com/kaskada-ai/kaskada/commit/5dd527b3b350bed55dcb13da98b7899e90483b7e)) - -* adding debug timing to writes ([`4558f63`](https://github.com/kaskada-ai/kaskada/commit/4558f6366f1e7e7b471fcdcba96e078c0d300fe9)) - -* add Debug trait to Operation and log timings at debug level ([`dbb9857`](https://github.com/kaskada-ai/kaskada/commit/dbb985779c4e8916e0b05666c8cf1afb0c4794f4)) - -* update query yaml for modern kaskada ([`e595370`](https://github.com/kaskada-ai/kaskada/commit/e5953701a54f483cdf1bc90a12fbda3b748578f2)) - -* check at the beginning for valid output destination instead of doing a bunch of work and then panicing ([`85f40f2`](https://github.com/kaskada-ai/kaskada/commit/85f40f2db8bbf57e65883d22c6a56e53599d8d31)) - -* output metadata as yaml for easy paste into protobuf structures ([`1f255d6`](https://github.com/kaskada-ai/kaskada/commit/1f255d617f6ae67fce1d6b9cb320f93dfc9fe3db)) - -* add unmodified query1 ([`6433a9f`](https://github.com/kaskada-ai/kaskada/commit/6433a9fe474da7a99b85bcb8af14fa8307635e95)) - -* Merge pull request #54 from kaskada-ai/fix-typo-in-error-status - -fix: typo in error status ([`9ad99ff`](https://github.com/kaskada-ai/kaskada/commit/9ad99ff5fe6cbed7017c4dcff5478f1fa31d4049)) - -* Merge pull request #49 from kaskada-ai/prepare-csv - -allow sparrow-main prepare to work against csv ([`be50606`](https://github.com/kaskada-ai/kaskada/commit/be5060685f33af1966be7eacc495e5e9aae9bd2c)) - -* Merge pull request #61 from kaskada-ai/tsk-docs-update - -docs: fixes titles and updates quick start ([`2457deb`](https://github.com/kaskada-ai/kaskada/commit/2457deb807175e943b4b5aeaccb6e419b5cb1296)) - -* Merge pull request #51 from kaskada-ai/python/rename - -various python cleanup ([`d393983`](https://github.com/kaskada-ai/kaskada/commit/d393983f9d4cacc83b53581c1d03fae043426dfc)) - -* Merge pull request #69 from kaskada-ai/release/add-v-to-tag-prefix - -fix: add v prefix to release drafter tag prefix ([`3329338`](https://github.com/kaskada-ai/kaskada/commit/3329338dcf4dd0d0daa6a4180c41c5bcb51ba601)) - -* Add v prefix to tag prefix ([`a39284f`](https://github.com/kaskada-ai/kaskada/commit/a39284fd6609c209b268e7e1f657295936b547e6)) - -* Merge pull request #59 from kaskada-ai/engine/shift-by-function - -feat: add shift by function ([`506dbcf`](https://github.com/kaskada-ai/kaskada/commit/506dbcf0d886846e08efc763ef181ff6fa621b7b)) - -* Merge pull request #66 from kaskada-ai/release/update-github-release-drafter - -fix: add missing v in release drafter ([`c6bbff4`](https://github.com/kaskada-ai/kaskada/commit/c6bbff49f81c21eac131b55a4d55bfb56223e8af)) - -* Add missing v in release drafter ([`34effd8`](https://github.com/kaskada-ai/kaskada/commit/34effd8ac8651a66dac784a8dd8a5ea9599ed165)) - -* simplify signature ([`7558632`](https://github.com/kaskada-ai/kaskada/commit/755863255ab2eeb88be9998a7abf2d2676a87f3c)) - -* Add shift by function ([`04fa529`](https://github.com/kaskada-ai/kaskada/commit/04fa5297902e91654bc292fd956f4ee3d352f395)) - -* Merge pull request #62 from kaskada-ai/release/release-0.2.0 - -release: update versions for 0.2.0 release ([`daacd6a`](https://github.com/kaskada-ai/kaskada/commit/daacd6aa5abd9543bda587046a096aa6533c23e2)) - -* comment ([`de7d09d`](https://github.com/kaskada-ai/kaskada/commit/de7d09d541e50c4a1a528e934738604b5ac34f34)) - -* update version for release ([`2e5dc4e`](https://github.com/kaskada-ai/kaskada/commit/2e5dc4ef310fa212a057d490a3ceee79811b7e44)) - -* fixes after rebase ([`191107c`](https://github.com/kaskada-ai/kaskada/commit/191107cb964b29ca1bbbe73feece72f90ea5c5b7)) - -* Create issue templates ([`4438fd3`](https://github.com/kaskada-ai/kaskada/commit/4438fd3d4a2d4e9f33e15a69e399cfe98fbc7f98)) - -* fixed formatting ([`1c5e926`](https://github.com/kaskada-ai/kaskada/commit/1c5e926f0e574844f0bd35f89b241ad5d28fa6fe)) - -* added back QueryResource ([`9328a8b`](https://github.com/kaskada-ai/kaskada/commit/9328a8b00e3f069fd1f7bad024d14d0b7faa1772)) - -* requested changes ([`4dbdd6c`](https://github.com/kaskada-ai/kaskada/commit/4dbdd6ce82c40666133292aa15e89e32cde30b51)) - -* fix formatting ([`bb7765e`](https://github.com/kaskada-ai/kaskada/commit/bb7765e92209a2b7cbbb37476246cde4cc68e48e)) - -* various python cleanup ([`1804872`](https://github.com/kaskada-ai/kaskada/commit/18048724a03d7c633e1b132c42a0b5764ea204d4)) - -* Merge pull request #58 from kaskada-ai/move-registry-to-header - -ref: Move static info to flight record header ([`026f473`](https://github.com/kaskada-ai/kaskada/commit/026f473507c9ffb8a143bdf13a18033058af4edc)) - -* fix calls ([`2ad99ed`](https://github.com/kaskada-ai/kaskada/commit/2ad99edeafe80d7690c024607a15b498d3cdfc7e)) - -* ref: Move static info to flight record headre ([`055aed9`](https://github.com/kaskada-ai/kaskada/commit/055aed911990a3bc8cd2d2d41e2216206eaa6480)) - -* Merge pull request #53 from kaskada-ai/jbellis-patch-1-2 - -clarify uniqueness and subsort requirements ([`5f94220`](https://github.com/kaskada-ai/kaskada/commit/5f942205266750eacc127cd690a0aeef9d5aff91)) - -* Merge branch 'main' into jbellis-patch-1-2 ([`a0d70c8`](https://github.com/kaskada-ai/kaskada/commit/a0d70c81b6464b36776015af2d33cfae271e4258)) - -* "the" time column ([`953e181`](https://github.com/kaskada-ai/kaskada/commit/953e18152bc4ea7c7a62df3649b1fbb04fce99dc)) - -* Merge pull request #48 from kaskada-ai/query-flight-recorder-generalization - -feat: Re-introduce generalized Flight Recorder ([`5c3c9d5`](https://github.com/kaskada-ai/kaskada/commit/5c3c9d568140d9b2ea82282641b6a7c60207f8ca)) - -* Merge pull request #10 from kaskada-ai/engine/pulsar-materialization-framework - -feat: Add basic pulsar materialization framework ([`a3ed809`](https://github.com/kaskada-ai/kaskada/commit/a3ed8092ccf5ad9259bd2b35f7f2c1564281db08)) - -* Merge branch 'main' into query-flight-recorder-generalization ([`019d34b`](https://github.com/kaskada-ai/kaskada/commit/019d34be630e696f81a2067b56d5dc62abf4bcef)) - -* fix error type ([`ce534b1`](https://github.com/kaskada-ai/kaskada/commit/ce534b1a6a63c65e40878de1fa0ac35154d79d71)) - -* Add pulsar materialization framework ([`519945f`](https://github.com/kaskada-ai/kaskada/commit/519945f2eda28b9fc53c028c27692907846cf050)) - -* Add pulsar materialization framework ([`44dc5a5`](https://github.com/kaskada-ai/kaskada/commit/44dc5a56b33b13b11b472a77562c858b81839763)) - -* Merge pull request #57 from kaskada-ai/ci/use-single-thread-for-cargo-test - - fix: temporarily use single threaded for cargo test in CI #56 ([`1c6059e`](https://github.com/kaskada-ai/kaskada/commit/1c6059e05bf7688ac3c30428872c136cc608ef28)) - -* Add comment ([`2317259`](https://github.com/kaskada-ai/kaskada/commit/2317259d85259ce370587bb7891f96fdfdf4431c)) - -* serial tests ([`50345e5`](https://github.com/kaskada-ai/kaskada/commit/50345e5fce1571cd730b7e3e1fc48c9c4a2226ec)) - -* skip cache step ([`f753078`](https://github.com/kaskada-ai/kaskada/commit/f75307859d394a9e7f186a9715d0ed0dbc10b4ce)) - -* borrow, don't clone ([`e18fb25`](https://github.com/kaskada-ai/kaskada/commit/e18fb2538e47941d7f86cacdd729c14db3569daf)) - -* comments ([`690b601`](https://github.com/kaskada-ai/kaskada/commit/690b6012d75a34f5af6a00261ff22ebf9acdecb9)) - -* clarify uniqueness and subsort requirements ([`32072b9`](https://github.com/kaskada-ai/kaskada/commit/32072b911b64f57bb408c87186a55e1fb071285e)) - -* Merge pull request #50 from kaskada-ai/feature/add-load-options - -Add Load from Dataframe to Python Client ([`ef27615`](https://github.com/kaskada-ai/kaskada/commit/ef2761599eb35205457ca9490d3b14105007f443)) - -* change activity naming ([`fded208`](https://github.com/kaskada-ai/kaskada/commit/fded208d8b601237d700c31bf47abab77cbfca54)) - -* Merge branch 'main' into feature/add-load-options ([`b454658`](https://github.com/kaskada-ai/kaskada/commit/b454658bdc58cd5be2593ff9b5f6f1dcaf707a24)) - -* Merge pull request #29 from kaskada-ai/bug/prepare-metadata - -Prepare Metadata Flush Per Batch ([`162ea33`](https://github.com/kaskada-ai/kaskada/commit/162ea33140118cebbf2325591fb80a9878c88662)) - -* Merge branch 'main' into feature/add-load-options ([`780f218`](https://github.com/kaskada-ai/kaskada/commit/780f21842411f2ba382f710f419e46b1667b75d3)) - -* assertion change ([`c0a8fe8`](https://github.com/kaskada-ai/kaskada/commit/c0a8fe8f96502cb38a5d21562da5276479c7cff6)) - -* use FilePath::try_from_local ([`5f5f5c6`](https://github.com/kaskada-ai/kaskada/commit/5f5f5c63a6ae8a5a038c577988e56ff4d4fe43c9)) - -* allow sparrow-main prepare to work against csv ([`5556089`](https://github.com/kaskada-ai/kaskada/commit/555608904acf858a1bd4e9a450865f521c8ea7b4)) - -* code review comments ([`eb3682a`](https://github.com/kaskada-ai/kaskada/commit/eb3682a93e10fa4e7df833dc53c6c3cfef911bff)) - -* Merge branch 'bug/prepare-metadata' of github.com:kaskada-ai/kaskada into bug/prepare-metadata ([`4cbdbf2`](https://github.com/kaskada-ai/kaskada/commit/4cbdbf2e9ddf6fee6a488d78412f62c4e3a8d096)) - -* code review comments ([`889cb43`](https://github.com/kaskada-ai/kaskada/commit/889cb4389467994e6b75b3dcfc4bbb947f037463)) - -* comments ([`c7c04fc`](https://github.com/kaskada-ai/kaskada/commit/c7c04fce5c60d1505a2c72cefad3a4ba0b9aa682)) - -* adding some comments ([`7a8dd2c`](https://github.com/kaskada-ai/kaskada/commit/7a8dd2c7bb6962216c4978a0a596874dfd1b1c65)) - -* single registration block ([`8cf17ca`](https://github.com/kaskada-ai/kaskada/commit/8cf17cad23c8b887c85c4a2476eeec4d1ceae40e)) - -* Merge branch 'main' into bug/prepare-metadata ([`4b7ac04`](https://github.com/kaskada-ai/kaskada/commit/4b7ac045f9a033b6239a883659a9a7f41f4a618c)) - -* Merge pull request #37 from kaskada-ai/ulimit - -add ulimit instructions to README ([`4aa5b6f`](https://github.com/kaskada-ai/kaskada/commit/4aa5b6f7cd421beb52e504237ce685e4947e021a)) - -* Merge branch 'main' into feature/add-load-options ([`e97498a`](https://github.com/kaskada-ai/kaskada/commit/e97498a6bb87a1a852d1d3936bfcc3ee7cb4cfe2)) - -* added load_dataframe ([`97172a7`](https://github.com/kaskada-ai/kaskada/commit/97172a7803edacf0506624f50e8e3d1f26af718e)) - -* Merge branch 'main' into ulimit ([`c3bd543`](https://github.com/kaskada-ai/kaskada/commit/c3bd543cb8ee69f9637836b88d911373bbb7b2d2)) - -* fix send/sync problems ([`a928374`](https://github.com/kaskada-ai/kaskada/commit/a928374ae719e2d3898f7da72ede07257cff26bc)) - -* Merge branch 'main' into bug/prepare-metadata ([`058380e`](https://github.com/kaskada-ai/kaskada/commit/058380e512658949580c338bdb7612a4cbf3ec7f)) - -* update table reader ([`e3d92d9`](https://github.com/kaskada-ai/kaskada/commit/e3d92d95f91f7b86a9d94d3816eb7a42f3a1e424)) - -* Merge pull request #40 from kaskada-ai/clients/cli - -added the CLI client from the old repo ([`a610d84`](https://github.com/kaskada-ai/kaskada/commit/a610d84357e43536251cd3fa77504a86367dc241)) - -* setup cli ci ([`331795e`](https://github.com/kaskada-ai/kaskada/commit/331795e524d6cd65264fb0870e8e8449d9132227)) - -* fix wren CI ([`684c10d`](https://github.com/kaskada-ai/kaskada/commit/684c10ddba8efd0c1d0f60478ebe1cad1ba338c6)) - -* initial tests and fixes for the cli ([`d98f8e8`](https://github.com/kaskada-ai/kaskada/commit/d98f8e86d2863b43177b0971c33093880a10b93c)) - -* moved test helper code to shared folder ([`f593b87`](https://github.com/kaskada-ai/kaskada/commit/f593b8792d3dae016c1eb43d6e69a6547888716f)) - -* initial copy of code from old repo ([`deab2c2`](https://github.com/kaskada-ai/kaskada/commit/deab2c2d651e3340fc1107c0d0a274fdc421eeaa)) - -* Merge branch 'main' into bug/prepare-metadata ([`46270f8`](https://github.com/kaskada-ai/kaskada/commit/46270f89bc1a869e46ecc5df61d2aefd49f26c84)) - -* Merge pull request #47 from kaskada-ai/rm/docs-examples - -Reduce use of "weird" syntax features in the examples ([`d432fcf`](https://github.com/kaskada-ai/kaskada/commit/d432fcf418a662412af055a780557561a0b93e13)) - -* Merge pull request #46 from kaskada-ai/feature/add-python-readme-instructions - -Update Readme with Python Client Instructions ([`74a90c9`](https://github.com/kaskada-ai/kaskada/commit/74a90c91121cc049714e5775e68a24828aa91040)) - -* Merge branch 'main' into bug/prepare-metadata ([`85a9a33`](https://github.com/kaskada-ai/kaskada/commit/85a9a3361d28765628da54d746160d10d96fe127)) - -* Merge pull request #45 from kaskada-ai/feature/new-kaskada-repo - -Update Python Client to pull from Kaskada AI Repo ([`c988991`](https://github.com/kaskada-ai/kaskada/commit/c988991d8a04bd907e9427dafc3fdefedd6dbcb3)) - -* Reduce use of "weird" syntax features in the examples - -$input is unusual. There's also an easier way to explain the target -value that doesn't rely on time_of, which is also sort of unusual. ([`ee802f5`](https://github.com/kaskada-ai/kaskada/commit/ee802f564f39a6f5efbb04dee86415546a7350ae)) - -* added examples and fixed formatting ([`9689e22`](https://github.com/kaskada-ai/kaskada/commit/9689e225823fcc56c70100d8a6801d51c133c48f)) - -* updated readme ([`976fc81`](https://github.com/kaskada-ai/kaskada/commit/976fc81f6c73e5b53c913766dd91ab9512fd1c6f)) - -* updated examples ([`65b212f`](https://github.com/kaskada-ai/kaskada/commit/65b212f1b0539f92df027e7b9b160aa392af6c68)) - -* Merge branch 'main' into bug/prepare-metadata ([`bcb5fa5`](https://github.com/kaskada-ai/kaskada/commit/bcb5fa55f8e9ec7392e0b0cd0e8855e3a41e9202)) - -* Merge pull request #44 from kaskada-ai/discussion-permission - -add discussion permission ([`8f25e60`](https://github.com/kaskada-ai/kaskada/commit/8f25e608215d32f16aa07a6de1adcce7373cb266)) - -* add discussion permission ([`ad18379`](https://github.com/kaskada-ai/kaskada/commit/ad1837981d277a3ff97986c7ac149f7aeadfe580)) - -* Merge pull request #41 from kaskada-ai/fix-github-action-if-syntax - -build: try fixing the github action syntax ([`6fc9b30`](https://github.com/kaskada-ai/kaskada/commit/6fc9b30f1ea353aadf0fb80ad1871d22e795db13)) - -* Merge pull request #38 from kaskada-ai/rm/docs - -Rm/docs ([`195ae88`](https://github.com/kaskada-ai/kaskada/commit/195ae8861e14e45523ff8fe95e97065bb97b24f9)) - -* Fix table headers ([`2212eb9`](https://github.com/kaskada-ai/kaskada/commit/2212eb9d8c146ed7935fbbe088d724d8a033e8c1)) - -* More comments ([`975228d`](https://github.com/kaskada-ai/kaskada/commit/975228d66032545e7c8713d15b8037c73daaa623)) - -* Edits per PR ([`cbbbc4c`](https://github.com/kaskada-ai/kaskada/commit/cbbbc4c03b56b71f3824bf38a2ebc884c5340466)) - -* Edit the text down some, and add tables showing results ([`ee2d10f`](https://github.com/kaskada-ai/kaskada/commit/ee2d10f1f601503f703e97e7c1f7f7dd91aa7102)) - -* Streamline overview ([`bd3fc55`](https://github.com/kaskada-ai/kaskada/commit/bd3fc55c6c971a6b5574f3cd691c26da113ee453)) - -* Merge pull request #39 from kaskada-ai/docker-permissions - -build: add permissions to push to ghcr.io ([`e8b1fb6`](https://github.com/kaskada-ai/kaskada/commit/e8b1fb68931157e9c5a18808c58291f88567c258)) - -* add ulimit instructions to README ([`b7eddda`](https://github.com/kaskada-ai/kaskada/commit/b7eddda42bc2f3077f89ba014c5c23031a5f55e4)) - -* Merge pull request #36 from kaskada-ai/build-docker-login - -docker login ([`c4767c0`](https://github.com/kaskada-ai/kaskada/commit/c4767c0c6440133d996e5fbe1a54e7736d0c42dc)) - -* docker login ([`63ba502`](https://github.com/kaskada-ai/kaskada/commit/63ba5029542e0f88169221170c707ccd11e02970)) - -* Merge pull request #35 from kaskada-ai/rm/legal - -Minor changes to license file and README updates ([`43295d4`](https://github.com/kaskada-ai/kaskada/commit/43295d494393e862c41d94b72a597471a13b1ed3)) - -* Rename API -> Manager ([`899ec58`](https://github.com/kaskada-ai/kaskada/commit/899ec58182425f52e9b3cff6f4e9c04ee918d0d6)) - -* Minor changes to license file and README updates ([`ac4e185`](https://github.com/kaskada-ai/kaskada/commit/ac4e18525798b35ea09a422286d3ebed6960ea8f)) - -* Merge pull request #34 from kaskada-ai/fix-permissions - -build: add package permissions to release ([`8ef3d9e`](https://github.com/kaskada-ai/kaskada/commit/8ef3d9e743be4d357fdb02005f06bbd56d45c914)) - -* Merge pull request #33 from kaskada-ai/build-dockerfile - -build: leave the assets where they are ([`527708e`](https://github.com/kaskada-ai/kaskada/commit/527708ec885cc5a3077da6a10b8656b53f8ad4ae)) - -* Merge pull request #32 from kaskada-ai/fix-dockerfile - -build: fix dockerflie ([`c6835bf`](https://github.com/kaskada-ai/kaskada/commit/c6835bf8e679042697ff6159ef3a1ffa62ec74dc)) - -* Merge pull request #31 from kaskada-ai/fix-placeholder - -build: variable references ([`1613fcf`](https://github.com/kaskada-ai/kaskada/commit/1613fcf73392832d4b2ce9de3b6b44a3b61d2537)) - -* Merge pull request #30 from kaskada-ai/release-drafter-concurrency - -don't label prs during releases ([`370d135`](https://github.com/kaskada-ai/kaskada/commit/370d135f4d1e3cc6c6d94165f7a22ae222a6c2a6)) - -* don't label prs during releases ([`914d694`](https://github.com/kaskada-ai/kaskada/commit/914d694acd1749a9f7d92b167d9a92e8c202a0f8)) - -* Merge pull request #25 from kaskada-ai/rm/docs - -Update getting started to be closer to the slide talk track. ([`f6a7346`](https://github.com/kaskada-ai/kaskada/commit/f6a734662b60dc86ca9569eca8048922ee2f2eb1)) - -* Merge branch 'main' into bug/prepare-metadata ([`0d77332`](https://github.com/kaskada-ai/kaskada/commit/0d773323271f670ab642863290859586744dfbc5)) - -* added changes ([`dee05a2`](https://github.com/kaskada-ai/kaskada/commit/dee05a2584c3388deb3b3bf9ba2e321907ed900a)) - -* Merge pull request #28 from kaskada-ai/release-drafter-fix - -build: work on release drafter ([`27568b2`](https://github.com/kaskada-ai/kaskada/commit/27568b219df323b58d18425fd4197aebaea6952e)) - -* Merge pull request #27 from kaskada-ai/fix-tag-computation - -build: fix tag computation ([`e6b8c6e`](https://github.com/kaskada-ai/kaskada/commit/e6b8c6effec06725042aa0d2ade2138b96194837)) - -* Merge pull request #26 from kaskada-ai/release-drafter-commitish - -build: set commitish to the sha ([`796af33`](https://github.com/kaskada-ai/kaskada/commit/796af33b5ff2739cad16a55656e3fb8a7d427440)) - -* Update getting started to be closer to the slide talk track. - -This still needs work, but I thought I'd do this incrementally as I have -time. ([`5499bf4`](https://github.com/kaskada-ai/kaskada/commit/5499bf407e319f46ddeb61187d96ccfe89f6110c)) - -* Merge pull request #24 from kaskada-ai/release-draft-tag - -build: specify the tag correctly ([`1c91325`](https://github.com/kaskada-ai/kaskada/commit/1c91325bdc11572490c8f2e9c622ca91e171cea8)) - -* Merge pull request #23 from kaskada-ai/feature/example-updates - -Example Notebook Updates ([`3e8f688`](https://github.com/kaskada-ai/kaskada/commit/3e8f6889f9f1cdb2eaf1cff6e98771305abf44d0)) - -* Merge pull request #22 from kaskada-ai/docker-current-time - -build: determine current date ([`ff606b6`](https://github.com/kaskada-ai/kaskada/commit/ff606b655d4a6b7a7b37461547c131795bca781a)) - -* Merge branch 'main' into feature/example-updates ([`4505220`](https://github.com/kaskada-ai/kaskada/commit/4505220d5330fee5e94a47a2264e8bfe8341a91b)) - -* added new requirements ([`fb84da9`](https://github.com/kaskada-ai/kaskada/commit/fb84da9397547d50486ab46df1bdc1d312634a27)) - -* removed temp changes ([`988249a`](https://github.com/kaskada-ai/kaskada/commit/988249a9f1424dc1814dad4b535dd772939e530a)) - -* updated examples ([`86e98b5`](https://github.com/kaskada-ai/kaskada/commit/86e98b52284171a8d8cc13ac77928ba2cedc672b)) - -* Merge pull request #21 from kaskada-ai/release-docker - -build: attempt to fix docker build ([`33beff1`](https://github.com/kaskada-ai/kaskada/commit/33beff1e4cbd790d1cbee3aa618ba94596abee13)) - -* comments ([`0c0df2f`](https://github.com/kaskada-ai/kaskada/commit/0c0df2f13978931ae7fe643e9de7611d9373866d)) - -* comment ([`aca01d9`](https://github.com/kaskada-ai/kaskada/commit/aca01d905156520add793863c6839ea9e170570c)) - -* Merge pull request #14 from kaskada-ai/feature/more-python-fixes - -Fenlmagic Rendering Fix ([`bab6986`](https://github.com/kaskada-ai/kaskada/commit/bab6986d8fb94110a75f6da084f5788c272b95e9)) - -* Merge pull request #20 from kaskada-ai/fix-engine-release-wren - -build: fix relative paths ([`d2c85be`](https://github.com/kaskada-ai/kaskada/commit/d2c85bedf5ee2fe9eb63988c589051bb559ce761)) - -* Merge pull request #19 from kaskada-ai/engine-release-go-install - -build: change cache-dependency-path ([`d14ef2d`](https://github.com/kaskada-ai/kaskada/commit/d14ef2d1a2977736aba566140c7183f81099676b)) - -* Merge pull request #18 from kaskada-ai/release-drafter-2 - -build: remove invalid value ([`4c15a34`](https://github.com/kaskada-ai/kaskada/commit/4c15a341f0bfea536fbd899ac5818bd8c7436cf1)) - -* Merge pull request #15 from kaskada-ai/release-drafter - -build: Fix release drafter ([`2917a19`](https://github.com/kaskada-ai/kaskada/commit/2917a19b666ac0c7c9d485b7343f905ffba5902e)) - -* Merge branch 'main' into feature/more-python-fixes ([`d394ec2`](https://github.com/kaskada-ai/kaskada/commit/d394ec2a209d9a78e0d110441f49a3eab6372a5f)) - -* Merge branch 'feature/more-python-fixes' of github.com:kaskada-ai/kaskada into feature/more-python-fixes ([`6d2c526`](https://github.com/kaskada-ai/kaskada/commit/6d2c526adb4670973e33cb21191e585ec853423e)) - -* code review comments ([`f045d31`](https://github.com/kaskada-ai/kaskada/commit/f045d3119a9ce6eecf1d1189190cdb3b7c660682)) - -* Merge branch 'main' into feature/more-python-fixes ([`bcbba5c`](https://github.com/kaskada-ai/kaskada/commit/bcbba5cb9f09274e243ea9159fe045fc9c5c5f7a)) - -* Merge pull request #11 from kaskada-ai/cargo-lock - -update Cargo.lock for 0.1.1 release ([`be2b653`](https://github.com/kaskada-ai/kaskada/commit/be2b65358471bad811e54f8b86331d702020c640)) - -* Merge pull request #12 from kaskada-ai/go/workspace - -split golang code into multiple modules ([`3f3a7b9`](https://github.com/kaskada-ai/kaskada/commit/3f3a7b9ac219bf4b480d6742dca9f24398470662)) - -* fixed integration tests ([`552359e`](https://github.com/kaskada-ai/kaskada/commit/552359e0e7f43df26c860f333e62a007edbc28c8)) - -* fix build ([`6fbb3d2`](https://github.com/kaskada-ai/kaskada/commit/6fbb3d26ad9febcd16623f374d260b6d9f92d81f)) - -* fixed module pathing ([`322313a`](https://github.com/kaskada-ai/kaskada/commit/322313aaf452306dbe3e3db7a82ff485da6f65c8)) - -* updated build and test paths ([`76ccb14`](https://github.com/kaskada-ai/kaskada/commit/76ccb14057a75bc3b31860a7ccbf8ec080ec0fa0)) - -* created new golang modules and updated all paths ([`de3f84c`](https://github.com/kaskada-ai/kaskada/commit/de3f84c87998c39f7064c59d5f751b0cf4deb5ee)) - -* update Cargo.lock for 0.1.1 release ([`ce75c26`](https://github.com/kaskada-ai/kaskada/commit/ce75c26081d5c1dd62b09685dbb1cf5157afc8ed)) - -* added new version ([`f1f363f`](https://github.com/kaskada-ai/kaskada/commit/f1f363fb5b5afca50b35da57bc16445d387b5fa1)) - -* updated fenlmagic ([`362f3bb`](https://github.com/kaskada-ai/kaskada/commit/362f3bb8b0a78a447f0706d165af00e0cedfd5f9)) - -* added small fixes ([`b01f688`](https://github.com/kaskada-ai/kaskada/commit/b01f688f13b139569267f12e5959e91a4c2e7513)) - -* Merge pull request #6 from kaskada-ai/kevinjnguyen-patch-1 - -Update the repo link in release process doc ([`831355b`](https://github.com/kaskada-ai/kaskada/commit/831355b5df7228e320eee662f1c475bc59e20a09)) - -* Merge pull request #8 from kaskada-ai/feature/output-csv - -Update Fenlmagic with output parameter ([`aa452e9`](https://github.com/kaskada-ai/kaskada/commit/aa452e92f6bb465e94ae53878a1aec7bd5d2eb14)) - -* Merge pull request #9 from kaskada-ai/tsk-docs-remove-collab - -docs: comment out non-working collab tutorials ([`b4547f5`](https://github.com/kaskada-ai/kaskada/commit/b4547f58ca5afe6efdbe12ae4b7fcda6a06fae69)) - -* Merge pull request #5 from kaskada-ai/tsk-docs-kaskada-setup - -docs: kaskada in jupyter quick setup ([`f8861f3`](https://github.com/kaskada-ai/kaskada/commit/f8861f34ae31428ddef9dd063f0ef7c3a0900b29)) - -* Merge pull request #7 from kaskada-ai/tsk-release-fix - -trying expression in release.yml ([`992794a`](https://github.com/kaskada-ai/kaskada/commit/992794a8792574ace8575e7a8bacc7c5718173b0)) - -* Merge branch 'main' into feature/output-csv ([`8f40569`](https://github.com/kaskada-ai/kaskada/commit/8f4056912aaf979cc01df1360f613fe588cc2f67)) - -* added csv notebook ([`24809c5`](https://github.com/kaskada-ai/kaskada/commit/24809c57415a38fab09835de656db343ba916c4b)) - -* added fenlmagic ([`f70c624`](https://github.com/kaskada-ai/kaskada/commit/f70c624d57bc23d798a0abfacd324f8a1ac6dd44)) - -* trying expression in release.yml ([`9909ce0`](https://github.com/kaskada-ai/kaskada/commit/9909ce029ed7c6768e32d3402700a957047d062f)) - -* Merge pull request #4 from kaskada-ai/release/0.1.1 - -Kaskada Release 0.1.1 ([`3bfb078`](https://github.com/kaskada-ai/kaskada/commit/3bfb078279ec7af70e1724c9e82fc4f5769cdabe)) - -* Update the repo link in release process doc ([`0427ed7`](https://github.com/kaskada-ai/kaskada/commit/0427ed7d7d22b0117a94f913223d15e34adb703b)) - -* address comments ([`a4c3492`](https://github.com/kaskada-ai/kaskada/commit/a4c3492bf23415c17631898fa15f610620c45528)) - -* Merge branch 'main' into release/0.1.1 ([`b842053`](https://github.com/kaskada-ai/kaskada/commit/b842053eea929241e2ad03e02c2d05e1dac4c6b6)) - -* code review comments ([`a9d2ab6`](https://github.com/kaskada-ai/kaskada/commit/a9d2ab63722c6f4d126342b8c1ed83ed3375d1a4)) - -* Merge pull request #3 from kaskada-ai/feature/python-schema-fix - -Schema Rendering Fix for Python Client ([`c64217a`](https://github.com/kaskada-ai/kaskada/commit/c64217a66ee285a0c94b7d67fe3f62114d6fb4b3)) - -* release version bump ([`45219dd`](https://github.com/kaskada-ai/kaskada/commit/45219dd2ed8f68f4d9752d132be58336e0e8ef70)) - -* add schema fix ([`620104f`](https://github.com/kaskada-ai/kaskada/commit/620104f696f123c86e91e4bec86def1ac2ad7dfa)) - -* Merge pull request #1 from kaskada-ai/feature/python-client-logging - -Add Python Debug Logging ([`3dff155`](https://github.com/kaskada-ai/kaskada/commit/3dff155516c0946561045a4c78722a6e3eaace20)) - -* added example notebook ([`4f8a754`](https://github.com/kaskada-ai/kaskada/commit/4f8a75414e2a36ff5a3456afae17a6faf2ac6606)) - -* added logging changes ([`3634d40`](https://github.com/kaskada-ai/kaskada/commit/3634d4014a562d111a7cbb0627772e46004fd51d)) - -* seeding kaskada repo ([`00bad4e`](https://github.com/kaskada-ai/kaskada/commit/00bad4e9bd015252fedff27f6ff4c6538fa2ff23)) diff --git a/python/docs/source/examples/time_centric.ipynb b/python/docs/source/examples/time_centric.ipynb index f8c8d6d6a..c125588de 100644 --- a/python/docs/source/examples/time_centric.ipynb +++ b/python/docs/source/examples/time_centric.ipynb @@ -97,6 +97,7 @@ "outputs": [], "source": [ "import kaskada as kd\n", + "\n", "kd.init_session()" ] }, @@ -126,7 +127,7 @@ "source": [ "# For demo simplicity, instead of a CSV file, we read and then parse data from a\n", "# CSV string. Kaskadaa\n", - "event_data_string = '''\n", + "event_data_string = \"\"\"\n", " event_id,event_at,entity_id,event_name,revenue\n", " ev_00001,2022-01-01 22:01:00,user_001,login,0\n", " ev_00002,2022-01-01 22:05:00,user_001,view_item,0\n", @@ -148,11 +149,11 @@ " ev_00018,2022-01-01 22:17:00,user_002,view_item,0\n", " ev_00019,2022-01-01 22:18:00,user_002,view_item,0\n", " ev_00020,2022-01-01 22:20:00,user_002,view_item,0\n", - "'''\n", + "\"\"\"\n", "\n", - "events = kd.sources.CsvString(event_data_string,\n", - " time_column_name='event_at',\n", - " key_column_name = 'entity_id')\n", + "events = kd.sources.CsvString(\n", + " event_data_string, time_column=\"event_at\", key_column=\"entity_id\"\n", + ")\n", "\n", "# Inspect the event data\n", "events.preview()" @@ -214,14 +215,16 @@ "source": [ "purchases = events.filter(events.col(\"event_name\").eq(\"purchase\"))\n", "\n", - "features = kd.record({\n", - " \"event_count_total\": events.count(),\n", - " #\"event_count_hourly\": events.count(window=Hourly()),\n", - " \"purchases_total_count\": purchases.count(),\n", - " #\"purchases_today\": purchases.count(window=Since(Daily()),\n", - " #\"revenue_today\": events.col(\"revenue\").sum(window=Since(Daily())),\n", - " \"revenue_total\": events.col(\"revenue\").sum(),\n", - "})\n", + "features = kd.record(\n", + " {\n", + " \"event_count_total\": events.count(),\n", + " # \"event_count_hourly\": events.count(window=Hourly()),\n", + " \"purchases_total_count\": purchases.count(),\n", + " # \"purchases_today\": purchases.count(window=Since(Daily()),\n", + " # \"revenue_today\": events.col(\"revenue\").sum(window=Since(Daily())),\n", + " \"revenue_total\": events.col(\"revenue\").sum(),\n", + " }\n", + ")\n", "features.preview()" ] }, @@ -336,4 +339,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file diff --git a/python/docs/source/index.md b/python/docs/source/index.md index 88b186c22..c04b6fb9b 100644 --- a/python/docs/source/index.md +++ b/python/docs/source/index.md @@ -59,8 +59,8 @@ kd.init_session() messages = kd.sources.PyList( rows = pyarrow.parquet.read_table("./messages.parquet") .to_pylist(), - time_column_name = "ts", - key_column_name = "channel", + time_column = "ts", + key_column = "channel", ) # Send each Slack message to Kaskada diff --git a/python/docs/source/quickstart.md b/python/docs/source/quickstart.md index 95e019f51..ab89c6120 100644 --- a/python/docs/source/quickstart.md +++ b/python/docs/source/quickstart.md @@ -28,6 +28,6 @@ content = "\n".join( "1996-12-19T16:40:02,A,,", ] ) -source = kd.sources.CsvString(content, time_column_name="time", key_column_name="key") +source = kd.sources.CsvString(content, time_column="time", key_column="key") source.run().to_pandas() ``` \ No newline at end of file diff --git a/python/docs/source/tour.md b/python/docs/source/tour.md index 50296b82e..042ced35b 100644 --- a/python/docs/source/tour.md +++ b/python/docs/source/tour.md @@ -36,7 +36,7 @@ single_entity = "\n".join( "1996-12-24T16:40:02,A,,", ] ) -single_entity = kd.sources.CsvString(single_entity, time_column_name="time", key_column_name="key") +single_entity = kd.sources.CsvString(single_entity, time_column="time", key_column="key") ``` ## Events and Aggregations diff --git a/python/poetry.lock b/python/poetry.lock index c8ac8fbf6..8d6ac9ebd 100644 --- a/python/poetry.lock +++ b/python/poetry.lock @@ -176,10 +176,12 @@ files = [ [package.dependencies] click = ">=8.0.0" +ipython = {version = ">=7.8.0", optional = true, markers = "extra == \"jupyter\""} mypy-extensions = ">=0.4.3" packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" +tokenize-rt = {version = ">=3.2.0", optional = true, markers = "extra == \"jupyter\""} tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} @@ -559,17 +561,6 @@ files = [ {file = "docutils-0.19.tar.gz", hash = "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6"}, ] -[[package]] -name = "dotty-dict" -version = "1.3.1" -description = "Dictionary wrapper for quick access to deeply nested keys." -optional = false -python-versions = ">=3.5,<4.0" -files = [ - {file = "dotty_dict-1.3.1-py3-none-any.whl", hash = "sha256:5022d234d9922f13aa711b4950372a06a6d64cb6d6db9ba43d0ba133ebfce31f"}, - {file = "dotty_dict-1.3.1.tar.gz", hash = "sha256:4b016e03b8ae265539757a53eba24b9bfda506fb94fbce0bee843c6f05541a15"}, -] - [[package]] name = "dparse" version = "0.6.3" @@ -633,18 +624,21 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.12.2" +version = "3.12.3" description = "A platform independent file lock." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "filelock-3.12.2-py3-none-any.whl", hash = "sha256:cbb791cdea2a72f23da6ac5b5269ab0a0d161e9ef0100e653b69049a7706d1ec"}, - {file = "filelock-3.12.2.tar.gz", hash = "sha256:002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81"}, + {file = "filelock-3.12.3-py3-none-any.whl", hash = "sha256:f067e40ccc40f2b48395a80fcbd4728262fab54e232e090a4063ab804179efeb"}, + {file = "filelock-3.12.3.tar.gz", hash = "sha256:0ecc1dd2ec4672a10c8550a8182f1bd0c0a5088470ecd5a125e45f49472fac3d"}, ] +[package.dependencies] +typing-extensions = {version = ">=4.7.1", markers = "python_version < \"3.11\""} + [package.extras] -docs = ["furo (>=2023.5.20)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"] +docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-timeout (>=2.1)"] [[package]] name = "flake8" @@ -699,34 +693,6 @@ restructuredtext-lint = "*" [package.extras] develop = ["build", "twine"] -[[package]] -name = "gitdb" -version = "4.0.10" -description = "Git Object Database" -optional = false -python-versions = ">=3.7" -files = [ - {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, - {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, -] - -[package.dependencies] -smmap = ">=3.0.1,<6" - -[[package]] -name = "gitpython" -version = "3.1.32" -description = "GitPython is a Python library used to interact with Git repositories" -optional = false -python-versions = ">=3.7" -files = [ - {file = "GitPython-3.1.32-py3-none-any.whl", hash = "sha256:e3d59b1c2c6ebb9dfa7a184daf3b6dd4914237e7488a1730a6d8f6f5d0b4187f"}, - {file = "GitPython-3.1.32.tar.gz", hash = "sha256:8d9b8cb1e80b9735e8717c9362079d3ce4c6e5ddeebedd0361b228c3a67a62f6"}, -] - -[package.dependencies] -gitdb = ">=4.0.1,<5" - [[package]] name = "greenlet" version = "2.0.2" @@ -843,21 +809,21 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs [[package]] name = "importlib-resources" -version = "5.7.0" +version = "6.0.1" description = "Read resources from Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "importlib_resources-5.7.0-py3-none-any.whl", hash = "sha256:9c4c12f9ef4329a00c1f72f30bddb4f10e582766b8705980bb76356b3ba8bc91"}, - {file = "importlib_resources-5.7.0.tar.gz", hash = "sha256:f6a4a9949f36ae289facec8dac1a899a54cbaf6a135cc8552d2c8b69209c06a3"}, + {file = "importlib_resources-6.0.1-py3-none-any.whl", hash = "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf"}, + {file = "importlib_resources-6.0.1.tar.gz", hash = "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [[package]] name = "iniconfig" @@ -1699,7 +1665,7 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co name = "plotly" version = "5.16.1" description = "An open-source, interactive data visualization library for Python" -optional = true +optional = false python-versions = ">=3.6" files = [ {file = "plotly-5.16.1-py2.py3-none-any.whl", hash = "sha256:19cc34f339acd4e624177806c14df22f388f23fb70658b03aad959a0e650a0dc"}, @@ -1712,13 +1678,13 @@ tenacity = ">=6.2.0" [[package]] name = "pluggy" -version = "1.2.0" +version = "1.3.0" description = "plugin and hook calling mechanisms for python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"}, - {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"}, + {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, + {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, ] [package.extras] @@ -1849,58 +1815,6 @@ files = [ {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] -[[package]] -name = "pydantic" -version = "1.10.12" -description = "Data validation and settings management using python type hints" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pydantic-1.10.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a1fcb59f2f355ec350073af41d927bf83a63b50e640f4dbaa01053a28b7a7718"}, - {file = "pydantic-1.10.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7ccf02d7eb340b216ec33e53a3a629856afe1c6e0ef91d84a4e6f2fb2ca70fe"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fb2aa3ab3728d950bcc885a2e9eff6c8fc40bc0b7bb434e555c215491bcf48b"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:771735dc43cf8383959dc9b90aa281f0b6092321ca98677c5fb6125a6f56d58d"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca48477862372ac3770969b9d75f1bf66131d386dba79506c46d75e6b48c1e09"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a5e7add47a5b5a40c49b3036d464e3c7802f8ae0d1e66035ea16aa5b7a3923ed"}, - {file = "pydantic-1.10.12-cp310-cp310-win_amd64.whl", hash = "sha256:e4129b528c6baa99a429f97ce733fff478ec955513630e61b49804b6cf9b224a"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0d191db0f92dfcb1dec210ca244fdae5cbe918c6050b342d619c09d31eea0cc"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:795e34e6cc065f8f498c89b894a3c6da294a936ee71e644e4bd44de048af1405"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69328e15cfda2c392da4e713443c7dbffa1505bc9d566e71e55abe14c97ddc62"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2031de0967c279df0d8a1c72b4ffc411ecd06bac607a212892757db7462fc494"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ba5b2e6fe6ca2b7e013398bc7d7b170e21cce322d266ffcd57cca313e54fb246"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2a7bac939fa326db1ab741c9d7f44c565a1d1e80908b3797f7f81a4f86bc8d33"}, - {file = "pydantic-1.10.12-cp311-cp311-win_amd64.whl", hash = "sha256:87afda5539d5140cb8ba9e8b8c8865cb5b1463924d38490d73d3ccfd80896b3f"}, - {file = "pydantic-1.10.12-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:549a8e3d81df0a85226963611950b12d2d334f214436a19537b2efed61b7639a"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:598da88dfa127b666852bef6d0d796573a8cf5009ffd62104094a4fe39599565"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba5c4a8552bff16c61882db58544116d021d0b31ee7c66958d14cf386a5b5350"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c79e6a11a07da7374f46970410b41d5e266f7f38f6a17a9c4823db80dadf4303"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab26038b8375581dc832a63c948f261ae0aa21f1d34c1293469f135fa92972a5"}, - {file = "pydantic-1.10.12-cp37-cp37m-win_amd64.whl", hash = "sha256:e0a16d274b588767602b7646fa05af2782576a6cf1022f4ba74cbb4db66f6ca8"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6a9dfa722316f4acf4460afdf5d41d5246a80e249c7ff475c43a3a1e9d75cf62"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a73f489aebd0c2121ed974054cb2759af8a9f747de120acd2c3394cf84176ccb"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b30bcb8cbfccfcf02acb8f1a261143fab622831d9c0989707e0e659f77a18e0"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fcfb5296d7877af406ba1547dfde9943b1256d8928732267e2653c26938cd9c"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2f9a6fab5f82ada41d56b0602606a5506aab165ca54e52bc4545028382ef1c5d"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dea7adcc33d5d105896401a1f37d56b47d443a2b2605ff8a969a0ed5543f7e33"}, - {file = "pydantic-1.10.12-cp38-cp38-win_amd64.whl", hash = "sha256:1eb2085c13bce1612da8537b2d90f549c8cbb05c67e8f22854e201bde5d98a47"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ef6c96b2baa2100ec91a4b428f80d8f28a3c9e53568219b6c298c1125572ebc6"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c076be61cd0177a8433c0adcb03475baf4ee91edf5a4e550161ad57fc90f523"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d5a58feb9a39f481eda4d5ca220aa8b9d4f21a41274760b9bc66bfd72595b86"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5f805d2d5d0a41633651a73fa4ecdd0b3d7a49de4ec3fadf062fe16501ddbf1"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1289c180abd4bd4555bb927c42ee42abc3aee02b0fb2d1223fb7c6e5bef87dbe"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d1197e462e0364906cbc19681605cb7c036f2475c899b6f296104ad42b9f5fb"}, - {file = "pydantic-1.10.12-cp39-cp39-win_amd64.whl", hash = "sha256:fdbdd1d630195689f325c9ef1a12900524dceb503b00a987663ff4f58669b93d"}, - {file = "pydantic-1.10.12-py3-none-any.whl", hash = "sha256:b749a43aa51e32839c9d71dc67eb1e4221bb04af1033a32e3923d46f9effa942"}, - {file = "pydantic-1.10.12.tar.gz", hash = "sha256:0fe8a415cea8f340e7a9af9c54fc71a649b43e8ca3cc732986116b3cb135d303"}, -] - -[package.dependencies] -typing-extensions = ">=4.2.0" - -[package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] - [[package]] name = "pydata-sphinx-theme" version = "0.13.3" @@ -2023,55 +1937,6 @@ files = [ [package.dependencies] six = ">=1.5" -[[package]] -name = "python-gitlab" -version = "3.15.0" -description = "Interact with GitLab API" -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "python-gitlab-3.15.0.tar.gz", hash = "sha256:c9e65eb7612a9fbb8abf0339972eca7fd7a73d4da66c9b446ffe528930aff534"}, - {file = "python_gitlab-3.15.0-py3-none-any.whl", hash = "sha256:8f8d1c0d387f642eb1ac7bf5e8e0cd8b3dd49c6f34170cee3c7deb7d384611f3"}, -] - -[package.dependencies] -requests = ">=2.25.0" -requests-toolbelt = ">=0.10.1" - -[package.extras] -autocompletion = ["argcomplete (>=1.10.0,<3)"] -yaml = ["PyYaml (>=5.2)"] - -[[package]] -name = "python-semantic-release" -version = "8.0.7" -description = "Automatic Semantic Versioning for Python projects" -optional = false -python-versions = ">=3.7" -files = [ - {file = "python-semantic-release-8.0.7.tar.gz", hash = "sha256:ba659a99d7f7ff11f7936cb9e5df117466c5161cc9a30d786270538ba0ea3798"}, - {file = "python_semantic_release-8.0.7-py3-none-any.whl", hash = "sha256:e38a1233d04c6568c75dd9802bbd8011d7f7040b042584ed2c1f58e91349fe64"}, -] - -[package.dependencies] -click = ">=8,<9" -dotty-dict = ">=1.3.0,<2" -gitpython = ">=3.0.8,<4" -importlib-resources = "5.7" -jinja2 = ">=3.1.2,<4" -pydantic = ">=1.10.2,<2" -python-gitlab = ">=2,<4" -requests = ">=2.25,<3" -rich = ">=12.5.1" -shellingham = ">=1.5.0.post1" -tomlkit = ">=0.10,<1.0" - -[package.extras] -dev = ["black", "pre-commit", "ruff (>=0.0.282)", "tox"] -docs = ["Sphinx (<=6.0.0)", "furo (>=2023.3.27)", "sphinx-autobuild (==2021.03.14)", "sphinxcontrib-apidoc (==0.3.0)"] -mypy = ["mypy", "types-requests"] -test = ["coverage[toml] (>=6,<8)", "pytest (>=7,<8)", "pytest-cov (>=4,<5)", "pytest-lazy-fixture (>=0.6.3,<0.7.0)", "pytest-mock (>=3,<4)", "pytest-xdist (>=2,<4)", "requests-mock (>=1.10.0,<2)", "responses (==0.23.3)", "types-pytest-lazy-fixture (>=0.6.3.3)"] - [[package]] name = "pytz" version = "2023.3" @@ -2310,20 +2175,6 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] -[[package]] -name = "requests-toolbelt" -version = "1.0.0" -description = "A utility belt for advanced users of python-requests" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, - {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, -] - -[package.dependencies] -requests = ">=2.0.1,<3.0.0" - [[package]] name = "restructuredtext-lint" version = "1.4.0" @@ -2337,129 +2188,110 @@ files = [ [package.dependencies] docutils = ">=0.11,<1.0" -[[package]] -name = "rich" -version = "13.5.2" -description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "rich-13.5.2-py3-none-any.whl", hash = "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808"}, - {file = "rich-13.5.2.tar.gz", hash = "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"}, -] - -[package.dependencies] -markdown-it-py = ">=2.2.0" -pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} - -[package.extras] -jupyter = ["ipywidgets (>=7.5.1,<9)"] - [[package]] name = "rpds-py" -version = "0.9.2" +version = "0.10.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"}, - {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"}, - {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"}, - {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"}, - {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"}, - {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"}, - {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"}, - {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"}, - {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"}, - {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"}, - {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"}, - {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"}, - {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"}, - {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"}, - {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"}, - {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"}, - {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"}, - {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"}, - {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"}, + {file = "rpds_py-0.10.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:c1e0e9916301e3b3d970814b1439ca59487f0616d30f36a44cead66ee1748c31"}, + {file = "rpds_py-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ce8caa29ebbdcde67e5fd652c811d34bc01f249dbc0d61e5cc4db05ae79a83b"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad277f74b1c164f7248afa968700e410651eb858d7c160d109fb451dc45a2f09"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e1c68303ccf7fceb50fbab79064a2636119fd9aca121f28453709283dbca727"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:780fcb855be29153901c67fc9c5633d48aebef21b90aa72812fa181d731c6b00"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bbd7b24d108509a1b9b6679fcc1166a7dd031dbef1f3c2c73788f42e3ebb3beb"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0700c2133ba203c4068aaecd6a59bda22e06a5e46255c9da23cbf68c6942215d"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:576da63eae7809f375932bfcbca2cf20620a1915bf2fedce4b9cc8491eceefe3"}, + {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23750a9b8a329844ba1fe267ca456bb3184984da2880ed17ae641c5af8de3fef"}, + {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d08395595c42bcd82c3608762ce734504c6d025eef1c06f42326a6023a584186"}, + {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1d7b7b71bcb82d8713c7c2e9c5f061415598af5938666beded20d81fa23e7640"}, + {file = "rpds_py-0.10.0-cp310-none-win32.whl", hash = "sha256:97f5811df21703446b42303475b8b855ee07d6ab6cdf8565eff115540624f25d"}, + {file = "rpds_py-0.10.0-cp310-none-win_amd64.whl", hash = "sha256:cdbed8f21204398f47de39b0a9b180d7e571f02dfb18bf5f1b618e238454b685"}, + {file = "rpds_py-0.10.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:7a3a3d3e4f1e3cd2a67b93a0b6ed0f2499e33f47cc568e3a0023e405abdc0ff1"}, + {file = "rpds_py-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fc72ae476732cdb7b2c1acb5af23b478b8a0d4b6fcf19b90dd150291e0d5b26b"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0583f69522732bdd79dca4cd3873e63a29acf4a299769c7541f2ca1e4dd4bc6"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f8b9a7cd381970e64849070aca7c32d53ab7d96c66db6c2ef7aa23c6e803f514"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d292cabd7c8335bdd3237ded442480a249dbcdb4ddfac5218799364a01a0f5c"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6903cdca64f1e301af9be424798328c1fe3b4b14aede35f04510989fc72f012"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bed57543c99249ab3a4586ddc8786529fbc33309e5e8a1351802a06ca2baf4c2"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15932ec5f224b0e35764dc156514533a4fca52dcfda0dfbe462a1a22b37efd59"}, + {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eb2d59bc196e6d3b1827c7db06c1a898bfa0787c0574af398e65ccf2e97c0fbe"}, + {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f99d74ddf9d3b6126b509e81865f89bd1283e3fc1b568b68cd7bd9dfa15583d7"}, + {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f70bec8a14a692be6dbe7ce8aab303e88df891cbd4a39af091f90b6702e28055"}, + {file = "rpds_py-0.10.0-cp311-none-win32.whl", hash = "sha256:5f7487be65b9c2c510819e744e375bd41b929a97e5915c4852a82fbb085df62c"}, + {file = "rpds_py-0.10.0-cp311-none-win_amd64.whl", hash = "sha256:748e472345c3a82cfb462d0dff998a7bf43e621eed73374cb19f307e97e08a83"}, + {file = "rpds_py-0.10.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:d4639111e73997567343df6551da9dd90d66aece1b9fc26c786d328439488103"}, + {file = "rpds_py-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f4760e1b02173f4155203054f77a5dc0b4078de7645c922b208d28e7eb99f3e2"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a6420a36975e0073acaeee44ead260c1f6ea56812cfc6c31ec00c1c48197173"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:58fc4d66ee349a23dbf08c7e964120dc9027059566e29cf0ce6205d590ed7eca"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:063411228b852fb2ed7485cf91f8e7d30893e69b0acb207ec349db04cccc8225"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65af12f70355de29e1092f319f85a3467f4005e959ab65129cb697169ce94b86"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298e8b5d8087e0330aac211c85428c8761230ef46a1f2c516d6a2f67fb8803c5"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5b9bf77008f2c55dabbd099fd3ac87009471d223a1c7ebea36873d39511b780a"}, + {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c7853f27195598e550fe089f78f0732c66ee1d1f0eaae8ad081589a5a2f5d4af"}, + {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:75dbfd41a61bc1fb0536bf7b1abf272dc115c53d4d77db770cd65d46d4520882"}, + {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b25136212a3d064a8f0b9ebbb6c57094c5229e0de76d15c79b76feff26aeb7b8"}, + {file = "rpds_py-0.10.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:9affee8cb1ec453382c27eb9043378ab32f49cd4bc24a24275f5c39bf186c279"}, + {file = "rpds_py-0.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4d55528ef13af4b4e074d067977b1f61408602f53ae4537dccf42ba665c2c7bd"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7865df1fb564092bcf46dac61b5def25342faf6352e4bc0e61a286e3fa26a3d"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3f5cc8c7bc99d2bbcd704cef165ca7d155cd6464c86cbda8339026a42d219397"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cbae50d352e4717ffc22c566afc2d0da744380e87ed44a144508e3fb9114a3f4"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fccbf0cd3411719e4c9426755df90bf3449d9fc5a89f077f4a7f1abd4f70c910"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d10c431073dc6ebceed35ab22948a016cc2b5120963c13a41e38bdde4a7212"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1b401e8b9aece651512e62c431181e6e83048a651698a727ea0eb0699e9f9b74"}, + {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7618a082c55cf038eede4a918c1001cc8a4411dfe508dc762659bcd48d8f4c6e"}, + {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:b3226b246facae14909b465061ddcfa2dfeadb6a64f407f24300d42d69bcb1a1"}, + {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a8edd467551c1102dc0f5754ab55cd0703431cd3044edf8c8e7d9208d63fa453"}, + {file = "rpds_py-0.10.0-cp38-none-win32.whl", hash = "sha256:71333c22f7cf5f0480b59a0aef21f652cf9bbaa9679ad261b405b65a57511d1e"}, + {file = "rpds_py-0.10.0-cp38-none-win_amd64.whl", hash = "sha256:a8ab1adf04ae2d6d65835995218fd3f3eb644fe20655ca8ee233e2c7270ff53b"}, + {file = "rpds_py-0.10.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:87c93b25d538c433fb053da6228c6290117ba53ff6a537c133b0f2087948a582"}, + {file = "rpds_py-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7996aed3f65667c6dcc8302a69368435a87c2364079a066750a2eac75ea01e"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8856aa76839dc234d3469f1e270918ce6bec1d6a601eba928f45d68a15f04fc3"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00215f6a9058fbf84f9d47536902558eb61f180a6b2a0fa35338d06ceb9a2e5a"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23a059143c1393015c68936370cce11690f7294731904bdae47cc3e16d0b2474"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e5c26905aa651cc8c0ddc45e0e5dea2a1296f70bdc96af17aee9d0493280a17"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c651847545422c8131660704c58606d841e228ed576c8f1666d98b3d318f89da"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:80992eb20755701753e30a6952a96aa58f353d12a65ad3c9d48a8da5ec4690cf"}, + {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ffcf18ad3edf1c170e27e88b10282a2c449aa0358659592462448d71b2000cfc"}, + {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08e08ccf5b10badb7d0a5c84829b914c6e1e1f3a716fdb2bf294e2bd01562775"}, + {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7150b83b3e3ddaac81a8bb6a9b5f93117674a0e7a2b5a5b32ab31fdfea6df27f"}, + {file = "rpds_py-0.10.0-cp39-none-win32.whl", hash = "sha256:3455ecc46ea443b5f7d9c2f946ce4017745e017b0d0f8b99c92564eff97e97f5"}, + {file = "rpds_py-0.10.0-cp39-none-win_amd64.whl", hash = "sha256:afe6b5a04b2ab1aa89bad32ca47bf71358e7302a06fdfdad857389dca8fb5f04"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:b1cb078f54af0abd835ca76f93a3152565b73be0f056264da45117d0adf5e99c"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8e7e2b3577e97fa43c2c2b12a16139b2cedbd0770235d5179c0412b4794efd9b"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae46a50d235f1631d9ec4670503f7b30405103034830bc13df29fd947207f795"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f869e34d2326e417baee430ae998e91412cc8e7fdd83d979277a90a0e79a5b47"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d544a614055b131111bed6edfa1cb0fb082a7265761bcb03321f2dd7b5c6c48"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ee9c2f6ca9774c2c24bbf7b23086264e6b5fa178201450535ec0859739e6f78d"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2da4a8c6d465fde36cea7d54bf47b5cf089073452f0e47c8632ecb9dec23c07"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac00c41dd315d147b129976204839ca9de699d83519ff1272afbe4fb9d362d12"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:0155c33af0676fc38e1107679be882077680ad1abb6303956b97259c3177e85e"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:db6585b600b2e76e98131e0ac0e5195759082b51687ad0c94505970c90718f4a"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:7b6975d3763d0952c111700c0634968419268e6bbc0b55fe71138987fa66f309"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:6388e4e95a26717b94a05ced084e19da4d92aca883f392dffcf8e48c8e221a24"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:18f87baa20e02e9277ad8960cd89b63c79c05caf106f4c959a9595c43f2a34a5"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f05fc7d832e970047662b3440b190d24ea04f8d3c760e33e7163b67308c878"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:291c9ce3929a75b45ce8ddde2aa7694fc8449f2bc8f5bd93adf021efaae2d10b"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:861d25ae0985a1dd5297fee35f476b60c6029e2e6e19847d5b4d0a43a390b696"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:668d2b45d62c68c7a370ac3dce108ffda482b0a0f50abd8b4c604a813a59e08f"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:344b89384c250ba6a4ce1786e04d01500e4dac0f4137ceebcaad12973c0ac0b3"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:885e023e73ce09b11b89ab91fc60f35d80878d2c19d6213a32b42ff36543c291"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:841128a22e6ac04070a0f84776d07e9c38c4dcce8e28792a95e45fc621605517"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:899b5e7e2d5a8bc92aa533c2d4e55e5ebba095c485568a5e4bedbc163421259a"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e7947d9a6264c727a556541b1630296bbd5d0a05068d21c38dde8e7a1c703ef0"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4992266817169997854f81df7f6db7bdcda1609972d8ffd6919252f09ec3c0f6"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:26d9fd624649a10e4610fab2bc820e215a184d193e47d0be7fe53c1c8f67f370"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0028eb0967942d0d2891eae700ae1a27b7fd18604cfcb16a1ef486a790fee99e"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9e7e493ded7042712a374471203dd43ae3fff5b81e3de1a0513fa241af9fd41"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d68a8e8a3a816629283faf82358d8c93fe5bd974dd2704152394a3de4cec22a"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6d5f061f6a2aa55790b9e64a23dfd87b6664ab56e24cd06c78eb43986cb260b"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c7c4266c1b61eb429e8aeb7d8ed6a3bfe6c890a1788b18dbec090c35c6b93fa"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:80772e3bda6787510d9620bc0c7572be404a922f8ccdfd436bf6c3778119464c"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:b98e75b21fc2ba5285aef8efaf34131d16af1c38df36bdca2f50634bea2d3060"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:d63787f289944cc4bde518ad2b5e70a4f0d6e2ce76324635359c74c113fd188f"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:872f3dcaa8bf2245944861d7311179d2c0c9b2aaa7d3b464d99a7c2e401f01fa"}, + {file = "rpds_py-0.10.0.tar.gz", hash = "sha256:e36d7369363d2707d5f68950a64c4e025991eb0177db01ccb6aa6facae48b69f"}, ] [[package]] @@ -2565,17 +2397,6 @@ docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] -[[package]] -name = "shellingham" -version = "1.5.3" -description = "Tool to Detect Surrounding Shell" -optional = false -python-versions = ">=3.7" -files = [ - {file = "shellingham-1.5.3-py2.py3-none-any.whl", hash = "sha256:419c6a164770c9c7cfcaeddfacb3d31ac7a8db0b0f3e9c1287679359734107e9"}, - {file = "shellingham-1.5.3.tar.gz", hash = "sha256:cb4a6fec583535bc6da17b647dd2330cf7ef30239e05d547d99ae3705fd0f7f8"}, -] - [[package]] name = "six" version = "1.16.0" @@ -2587,17 +2408,6 @@ files = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] -[[package]] -name = "smmap" -version = "5.0.0" -description = "A pure Python implementation of a sliding window memory map manager" -optional = false -python-versions = ">=3.6" -files = [ - {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, - {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, -] - [[package]] name = "snowballstemmer" version = "2.2.0" @@ -2939,7 +2749,7 @@ widechars = ["wcwidth"] name = "tenacity" version = "8.2.3" description = "Retry code until it succeeds" -optional = true +optional = false python-versions = ">=3.7" files = [ {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, @@ -3019,13 +2829,13 @@ test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"] [[package]] name = "typeguard" -version = "4.1.2" +version = "4.1.3" description = "Run-time type checker for Python" optional = false -python-versions = ">=3.7.4" +python-versions = ">=3.8" files = [ - {file = "typeguard-4.1.2-py3-none-any.whl", hash = "sha256:e00775920d4c91e93a0db0ed473ecda9cfaca578aed3ce0ed3ba7f3cc38eab9c"}, - {file = "typeguard-4.1.2.tar.gz", hash = "sha256:3be187945f9ef5a9f6d7a926dfe54babb7dfd807085ce05f9a5e8735f2487990"}, + {file = "typeguard-4.1.3-py3-none-any.whl", hash = "sha256:5b7453b1e3b35fcfe2d62fa4ec500d05e6f2f2eb46f4126ae964677fcc384fff"}, + {file = "typeguard-4.1.3.tar.gz", hash = "sha256:7d4264cd631ac1157c5bb5ec992281b4f1e2ba7a35db91bc15f442235e244803"}, ] [package.dependencies] @@ -3033,8 +2843,8 @@ importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} typing-extensions = {version = ">=4.7.0", markers = "python_version < \"3.12\""} [package.extras] -doc = ["Sphinx (<7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["mypy (>=1.2.0)", "pytest (>=7)"] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)"] +test = ["coverage[toml] (>=7)", "mypy (>=1.2.0)", "pytest (>=7)"] [[package]] name = "types-pytz" @@ -3167,4 +2977,4 @@ plot = ["plotly"] [metadata] lock-version = "2.0" python-versions = ">=3.8.1,<4.0" -content-hash = "ea3a81f3ec5a9e34cfa001d87d8adb3d2a5f180b3ba68f785ace5dd1f700393a" +content-hash = "855debf781d9b061faaf6481cce7e377bcf9416bfeecd9411c104a119d2e66b7" diff --git a/python/pyproject.toml b/python/pyproject.toml index 58d7635b5..7e2625579 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -48,7 +48,7 @@ nox = "2023.4.22" optional = true [tool.poetry.group.lint.dependencies] -black = ">=21.10b0" +black = { version = ">=21.10b0", extras = ["jupyter"] } darglint = ">=1.8.1" flake8 = ">=4.0.1" flake8-bugbear = ">=21.9.2" diff --git a/python/pysrc/kaskada/_ffi.pyi b/python/pysrc/kaskada/_ffi.pyi index e05f87856..892b0cc2b 100644 --- a/python/pysrc/kaskada/_ffi.pyi +++ b/python/pysrc/kaskada/_ffi.pyi @@ -46,10 +46,10 @@ class Table(Expr): self, session: Session, name: str, - time_column_name: str, - key_column_name: str, + time_column: str, + key_column: str, schema: pa.Schema, - subsort_column_name: Optional[str], + subsort_column: Optional[str], grouping_name: Optional[str], time_unit: Optional[str], ) -> None: ... diff --git a/python/pysrc/kaskada/sources/arrow.py b/python/pysrc/kaskada/sources/arrow.py index b238b40af..48ddb11dd 100644 --- a/python/pysrc/kaskada/sources/arrow.py +++ b/python/pysrc/kaskada/sources/arrow.py @@ -11,13 +11,22 @@ import pyarrow.parquet from .source import Source +from .source import TimeUnit class Pandas(Source): """Source reading data from Pandas dataframe.""" def __init__( - self, dataframe: pd.DataFrame, *, schema: Optional[pa.Schema] = None, **kwargs + self, + dataframe: pd.DataFrame, + *, + time_column: str, + key_column: str, + subsort_column: Optional[str] = None, + schema: Optional[pa.Schema] = None, + grouping_name: Optional[str] = None, + time_unit: Optional[TimeUnit] = None, ) -> None: """ Create a source reading Pandas DataFrames. @@ -26,20 +35,35 @@ def __init__( ---------- dataframe : pd.DataFrame The DataFrame to start from. + time_column : str + The name of the column containing the time. + key_column : str + The name of the column containing the key. + subsort_column : str, optional + The name of the column containing the subsort. + If not provided, the subsort will be assigned by the system. schema : pa.Schema, optional The schema to use. If not specified, it will be inferred from the `dataframe`. - **kwargs : dict, optional - Additional keyword arguments to pass to the super class. - Should include the required column names. - - See Also - -------- - Source.__init__ : For required keyword arguments. + grouping_name : str, optional + The name of the groups associated with each key. + This is used to ensure implicit joins are only performed between + sources with compatible groupings. + time_unit : str, optional + The unit of the time column. + One of `ns`, `us`, `ms`, or `s`. + If not specified (and not specified in the `dataframe`), nanosecond will be assumed. """ if schema is None: schema = pa.Schema.from_pandas(dataframe) - super().__init__(schema, **kwargs) + super().__init__( + schema=schema, + time_column=time_column, + key_column=key_column, + subsort_column=subsort_column, + grouping_name=grouping_name, + time_unit=time_unit, + ) self.add_data(dataframe) def add_data(self, data: pd.DataFrame) -> None: @@ -53,7 +77,15 @@ class PyList(Source): """Source reading data from lists of dicts.""" def __init__( - self, rows: dict | list[dict], *, schema: Optional[pa.Schema] = None, **kwargs + self, + rows: dict | list[dict], + *, + time_column: str, + key_column: str, + subsort_column: Optional[str] = None, + schema: Optional[pa.Schema] = None, + grouping_name: Optional[str] = None, + time_unit: Optional[TimeUnit] = None, ) -> None: """ Create a source reading from rows represented as dicts. @@ -62,20 +94,35 @@ def __init__( ---------- rows : dict | list[dict] One or more represented as dicts. + time_column : str + The name of the column containing the time. + key_column : str + The name of the column containing the key. + subsort_column : str, optional + The name of the column containing the subsort. + If not provided, the subsort will be assigned by the system. schema : pa.Schema, optional The schema to use. - If not provided, the schema will be inferred from the `csv_string`. - **kwargs : dict, optional - Additional keyword arguments to pass to the super class. - Should include the required column names. - - See Also - -------- - Source.__init__ : For required keyword arguments. + If not specified, it will be inferred from the `rows`. + grouping_name : str, optional + The name of the groups associated with each key. + This is used to ensure implicit joins are only performed between + sources with compatible groupings. + time_unit : str, optional + The unit of the time column. + One of `ns`, `us`, `ms`, or `s`. + If not specified nanosecond will be assumed. """ if schema is None: schema = pa.Table.from_pylist(rows).schema - super().__init__(schema, **kwargs) + super().__init__( + schema=schema, + time_column=time_column, + key_column=key_column, + subsort_column=subsort_column, + grouping_name=grouping_name, + time_unit=time_unit, + ) self._convert_options = pyarrow.csv.ConvertOptions(column_types=schema) self.add_rows(rows) @@ -95,7 +142,15 @@ class CsvString(Source): """Source reading data from CSV strings using Pandas.""" def __init__( - self, csv_string: str | BytesIO, *, schema: Optional[pa.Schema] = None, **kwargs + self, + csv_string: str | BytesIO, + *, + time_column: str, + key_column: str, + subsort_column: Optional[str] = None, + schema: Optional[pa.Schema] = None, + grouping_name: Optional[str] = None, + time_unit: Optional[TimeUnit] = None, ) -> None: """ Create a CSV String Source. @@ -104,23 +159,38 @@ def __init__( ---------- csv_string : str The CSV string to start from. + time_column : str + The name of the column containing the time. + key_column : str + The name of the column containing the key. + subsort_column : str, optional + The name of the column containing the subsort. + If not provided, the subsort will be assigned by the system. schema : pa.Schema, optional The schema to use. - If not provided, the schema will be inferred from the `csv_string`. - **kwargs : dict, optional - Additional keyword arguments to pass to the super class. - Should include the required column names. - - See Also - -------- - Source.__init__ : For required keyword arguments. + If not specified, it will be inferred from the `csv_string`. + grouping_name : str, optional + The name of the groups associated with each key. + This is used to ensure implicit joins are only performed between + sources with compatible groupings. + time_unit : str, optional + The unit of the time column. + One of `ns`, `us`, `ms`, or `s`. + If not specified nanosecond will be assumed. """ if isinstance(csv_string, str): csv_string = BytesIO(csv_string.encode("utf-8")) if schema is None: schema = pa.csv.read_csv(csv_string).schema csv_string.seek(0) - super().__init__(schema, **kwargs) + super().__init__( + schema=schema, + time_column=time_column, + key_column=key_column, + subsort_column=subsort_column, + grouping_name=grouping_name, + time_unit=time_unit, + ) self._convert_options = pyarrow.csv.ConvertOptions( column_types=schema, @@ -144,8 +214,12 @@ def __init__( self, json_string: str | BytesIO, *, + time_column: str, + key_column: str, + subsort_column: Optional[str] = None, schema: Optional[pa.Schema] = None, - **kwargs, + grouping_name: Optional[str] = None, + time_unit: Optional[TimeUnit] = None, ) -> None: """ Create a JSON String Source. @@ -154,23 +228,38 @@ def __init__( ---------- json_string : str The line-delimited JSON string to start from. + time_column : str + The name of the column containing the time. + key_column : str + The name of the column containing the key. + subsort_column : str, optional + The name of the column containing the subsort. + If not provided, the subsort will be assigned by the system. schema : pa.Schema, optional The schema to use. - If not provided, the schema will be inferred from the `csv_string`. - **kwargs : dict, optional - Additional keyword arguments to pass to the super class. - Should include the required column names. - - See Also - -------- - Source.__init__ : For required keyword arguments. + If not specified, it will be inferred from the JSON records. + grouping_name : str, optional + The name of the groups associated with each key. + This is used to ensure implicit joins are only performed between + sources with compatible groupings. + time_unit : str, optional + The unit of the time column. + One of `ns`, `us`, `ms`, or `s`. + If not specified nanosecond will be assumed. """ if isinstance(json_string, str): json_string = BytesIO(json_string.encode("utf-8")) if schema is None: schema = pa.json.read_json(json_string).schema json_string.seek(0) - super().__init__(schema, **kwargs) + super().__init__( + schema=schema, + time_column=time_column, + key_column=key_column, + subsort_column=subsort_column, + grouping_name=grouping_name, + time_unit=time_unit, + ) self._parse_options = pyarrow.json.ParseOptions(explicit_schema=schema) self.add_string(json_string) @@ -188,7 +277,15 @@ class Parquet(Source): """Source reading data from Parquet files.""" def __init__( - self, path: str, *, schema: Optional[pa.Schema] = None, **kwargs + self, + path: str, + *, + time_column: str, + key_column: str, + subsort_column: Optional[str] = None, + schema: Optional[pa.Schema] = None, + grouping_name: Optional[str] = None, + time_unit: Optional[TimeUnit] = None, ) -> None: """ Create a Parquet source. @@ -197,20 +294,35 @@ def __init__( ---------- path : str The path to the Parquet file to add. + time_column : str + The name of the column containing the time. + key_column : str + The name of the column containing the key. + subsort_column : str, optional + The name of the column containing the subsort. + If not provided, the subsort will be assigned by the system. schema : pa.Schema, optional The schema to use. - If not provided, the schema will be inferred from the `csv_string`. - **kwargs : dict, optional - Additional keyword arguments to pass to the super class. - Should include the required column names. - - See Also - -------- - Source.__init__ : For required keyword arguments. + If not specified, it will be inferred from the Parquet file. + grouping_name : str, optional + The name of the groups associated with each key. + This is used to ensure implicit joins are only performed between + sources with compatible groupings. + time_unit : str, optional + The unit of the time column. + One of `ns`, `us`, `ms`, or `s`. + If not specified nanosecond will be assumed. """ if schema is None: schema = pa.parquet.read_schema(path) - super().__init__(schema, **kwargs) + super().__init__( + schema=schema, + time_column=time_column, + key_column=key_column, + subsort_column=subsort_column, + grouping_name=grouping_name, + time_unit=time_unit, + ) self.add_file(path) diff --git a/python/pysrc/kaskada/sources/source.py b/python/pysrc/kaskada/sources/source.py index e7849b019..76a764109 100644 --- a/python/pysrc/kaskada/sources/source.py +++ b/python/pysrc/kaskada/sources/source.py @@ -1,8 +1,10 @@ """Provide the base-class for Kaskada sources.""" +from typing import Literal from typing import Optional import kaskada._ffi as _ffi import pyarrow as pa +from typing_extensions import TypeAlias from .._session import _get_session from .._timestream import Timestream @@ -10,6 +12,8 @@ _TABLE_NUM: int = 0 +TimeUnit: TypeAlias = Literal["ns", "us", "ms", "s"] + class Source(Timestream): """A source (input) Timestream.""" @@ -20,11 +24,11 @@ class Source(Timestream): def __init__( self, schema: pa.Schema, - time_column_name: str, - key_column_name: str, - subsort_column_name: Optional[str] = None, + time_column: str, + key_column: str, + subsort_column: Optional[str] = None, grouping_name: Optional[str] = None, - time_unit: Optional[str] = None, + time_unit: Optional[TimeUnit] = None, ): """Create a new source.""" assert isinstance(schema, pa.Schema) @@ -32,9 +36,9 @@ def __init__( # Fix the schema. The fields should be non-nullable. def fix_field(field: pa.Field) -> pa.Field: if field.name in [ - time_column_name, - key_column_name, - subsort_column_name, + time_column, + key_column, + subsort_column, ]: field = field.with_nullable(False) if isinstance(field.type, pa.TimestampType): @@ -44,9 +48,9 @@ def fix_field(field: pa.Field) -> pa.Field: fields = [fix_field(f) for f in schema] schema = pa.schema(fields) - Source._validate_column(time_column_name, schema) - Source._validate_column(key_column_name, schema) - Source._validate_column(subsort_column_name, schema) + Source._validate_column(time_column, schema) + Source._validate_column(key_column, schema) + Source._validate_column(subsort_column, schema) # Hack -- Sparrow currently requires tables be named. global _TABLE_NUM @@ -56,10 +60,10 @@ def fix_field(field: pa.Field) -> pa.Field: ffi_table = _ffi.Table( _get_session(), name, - time_column_name, - key_column_name, + time_column, + key_column, schema, - subsort_column_name, + subsort_column, grouping_name, time_unit, ) diff --git a/python/pytests/aggregation/count_if_test.py b/python/pytests/aggregation/count_if_test.py index 1c38ddfb8..f3ef0a7dc 100644 --- a/python/pytests/aggregation/count_if_test.py +++ b/python/pytests/aggregation/count_if_test.py @@ -17,7 +17,7 @@ def count_if_source() -> kd.sources.CsvString: "1996-12-19T16:40:04,B,30,1,true", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_count_if_unwindowed(count_if_source, golden) -> None: diff --git a/python/pytests/aggregation/count_test.py b/python/pytests/aggregation/count_test.py index 7131a5ca0..4962f9253 100644 --- a/python/pytests/aggregation/count_test.py +++ b/python/pytests/aggregation/count_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_count_unwindowed(source, golden) -> None: diff --git a/python/pytests/aggregation/max_test.py b/python/pytests/aggregation/max_test.py index bcf668757..cb12824af 100644 --- a/python/pytests/aggregation/max_test.py +++ b/python/pytests/aggregation/max_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_max_unwindowed(source, golden) -> None: diff --git a/python/pytests/aggregation/mean_test.py b/python/pytests/aggregation/mean_test.py index 688c35963..87e267743 100644 --- a/python/pytests/aggregation/mean_test.py +++ b/python/pytests/aggregation/mean_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_mean_unwindowed(source, golden) -> None: diff --git a/python/pytests/aggregation/min_test.py b/python/pytests/aggregation/min_test.py index 57be7dbe0..812860c3d 100644 --- a/python/pytests/aggregation/min_test.py +++ b/python/pytests/aggregation/min_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_min_unwindowed(source, golden) -> None: diff --git a/python/pytests/aggregation/stddev_test.py b/python/pytests/aggregation/stddev_test.py index eb473000c..973d165c8 100644 --- a/python/pytests/aggregation/stddev_test.py +++ b/python/pytests/aggregation/stddev_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_stddev_unwindowed(source, golden) -> None: diff --git a/python/pytests/aggregation/sum_test.py b/python/pytests/aggregation/sum_test.py index e47ae0c51..3ec09000a 100644 --- a/python/pytests/aggregation/sum_test.py +++ b/python/pytests/aggregation/sum_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") @pytest.fixture(scope="module") @@ -30,8 +30,8 @@ def source_spread_across_days() -> kd.sources.PyList: {"time": "2021-01-01T05:40:05", "key": "A", "m": 11, "n": 12}, {"time": "2021-01-01T05:45:06", "key": "A", "m": 13, "n": 14}, ], - time_column_name="time", - key_column_name="key", + time_column="time", + key_column="key", ) diff --git a/python/pytests/aggregation/variance_test.py b/python/pytests/aggregation/variance_test.py index 3fa28e66f..9d9193d57 100644 --- a/python/pytests/aggregation/variance_test.py +++ b/python/pytests/aggregation/variance_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_variance_unwindowed(source, golden) -> None: diff --git a/python/pytests/ceil_test.py b/python/pytests/ceil_test.py index f57c2b11a..5c1ae7469 100644 --- a/python/pytests/ceil_test.py +++ b/python/pytests/ceil_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,1.01", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_ceil(source, golden) -> None: diff --git a/python/pytests/clamp_test.py b/python/pytests/clamp_test.py index e211c1e0b..09f615e0e 100644 --- a/python/pytests/clamp_test.py +++ b/python/pytests/clamp_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,1.01", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_clamp_min_max(source, golden) -> None: @@ -46,7 +46,7 @@ def banking_source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,10.00,11.00,11.01", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_clamp_banking_min_max(banking_source, golden) -> None: diff --git a/python/pytests/coalesce_test.py b/python/pytests/coalesce_test.py index b259be2f9..748170aaa 100644 --- a/python/pytests/coalesce_test.py +++ b/python/pytests/coalesce_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,,15", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_coalesce(source, golden) -> None: diff --git a/python/pytests/collect_test.py b/python/pytests/collect_test.py index 1a6c85bf8..c10a98769 100644 --- a/python/pytests/collect_test.py +++ b/python/pytests/collect_test.py @@ -18,7 +18,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:04,A,,,f,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_collect_basic(source, golden) -> None: diff --git a/python/pytests/csv_string_source_test.py b/python/pytests/csv_string_source_test.py index 777ae1f31..72677e38c 100644 --- a/python/pytests/csv_string_source_test.py +++ b/python/pytests/csv_string_source_test.py @@ -26,8 +26,8 @@ def test_read_csv(golden) -> None: ) source = kd.sources.CsvString( content1, - time_column_name="time", - key_column_name="key", + time_column="time", + key_column="key", ) golden.jsonl(source) diff --git a/python/pytests/else_test.py b/python/pytests/else_test.py index 04b1388b4..ab31dc09e 100644 --- a/python/pytests/else_test.py +++ b/python/pytests/else_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,,-1", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_else_(source, golden) -> None: @@ -46,9 +46,7 @@ def record_source() -> kd.sources.JsonlString: """{"time":"1996-12-19T16:39:58","key":"A","default_record":{"test":"default"}}""", ] ) - return kd.sources.JsonlString( - content, time_column_name="time", key_column_name="key" - ) + return kd.sources.JsonlString(content, time_column="time", key_column="key") def test_else_debug(record_source, golden) -> None: diff --git a/python/pytests/exp_test.py b/python/pytests/exp_test.py index 08a974152..0d8b82604 100644 --- a/python/pytests/exp_test.py +++ b/python/pytests/exp_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,5", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_exp(source, golden) -> None: diff --git a/python/pytests/filter_test.py b/python/pytests/filter_test.py index 30144c779..f56754b74 100644 --- a/python/pytests/filter_test.py +++ b/python/pytests/filter_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_filter(source, golden) -> None: diff --git a/python/pytests/flatten_test.py b/python/pytests/flatten_test.py index bdf5cc7dd..eb50d3c3a 100644 --- a/python/pytests/flatten_test.py +++ b/python/pytests/flatten_test.py @@ -10,8 +10,8 @@ def test_flatten(golden) -> None: {"time": "1996-12-19T19:39:57", "user": "A", "m": [[6], [7]]}, {"time": "1996-12-19T19:39:57", "user": "A", "m": [[7, 8], [9, 10]]}, ], - time_column_name="time", - key_column_name="user", + time_column="time", + key_column="user", ) golden.jsonl(source.col("m").flatten()) diff --git a/python/pytests/floor_test.py b/python/pytests/floor_test.py index 2c691c716..41542ec46 100644 --- a/python/pytests/floor_test.py +++ b/python/pytests/floor_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,1.01", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_floor(source, golden) -> None: diff --git a/python/pytests/if_test.py b/python/pytests/if_test.py index d30e90eab..0e50f8dd4 100644 --- a/python/pytests/if_test.py +++ b/python/pytests/if_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_if_(source, golden) -> None: diff --git a/python/pytests/jsonl_string_source_test.py b/python/pytests/jsonl_string_source_test.py index b7191a48a..ec636c5fa 100644 --- a/python/pytests/jsonl_string_source_test.py +++ b/python/pytests/jsonl_string_source_test.py @@ -4,8 +4,8 @@ def test_read_jsonl(golden) -> None: source = kd.sources.JsonlString( '{"time": "1996-12-19T16:39:57", "user": "A", "m": 5, "n": 10}', - time_column_name="time", - key_column_name="user", + time_column="time", + key_column="user", ) golden.jsonl(source) @@ -22,8 +22,8 @@ def test_read_jsonl(golden) -> None: def test_read_jsonl_lists(golden) -> None: source = kd.sources.JsonlString( '{"time": "1996-12-19T16:39:57", "user": "A", "m": [5, 10], "n": 10}', - time_column_name="time", - key_column_name="user", + time_column="time", + key_column="user", ) golden.jsonl(source) diff --git a/python/pytests/lag_test.py b/python/pytests/lag_test.py index 5fe59c88d..026dcd984 100644 --- a/python/pytests/lag_test.py +++ b/python/pytests/lag_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_lag(source, golden) -> None: diff --git a/python/pytests/length_test.py b/python/pytests/length_test.py index eeac4d92c..15abf0c13 100644 --- a/python/pytests/length_test.py +++ b/python/pytests/length_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: '1996-12-19T16:40:02,A,,,"fig"', ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_length(source, golden) -> None: diff --git a/python/pytests/lookup_test.py b/python/pytests/lookup_test.py index c94b62002..3aed90cc4 100644 --- a/python/pytests/lookup_test.py +++ b/python/pytests/lookup_test.py @@ -15,7 +15,7 @@ def key_source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,WA", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") @pytest.fixture(scope="module") @@ -31,7 +31,7 @@ def foreign_source() -> kd.sources.CsvString: "1996-12-19T16:40:02,WA,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_lookup(key_source, foreign_source, golden) -> None: diff --git a/python/pytests/math_test.py b/python/pytests/math_test.py index d44c8dee6..abce613f7 100644 --- a/python/pytests/math_test.py +++ b/python/pytests/math_test.py @@ -15,7 +15,7 @@ def source_int64() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_math_int64(golden, source_int64) -> None: diff --git a/python/pytests/null_test.py b/python/pytests/null_test.py index 150601c12..d3f9887df 100644 --- a/python/pytests/null_test.py +++ b/python/pytests/null_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_null_if(source, golden) -> None: diff --git a/python/pytests/pandas_source_test.py b/python/pytests/pandas_source_test.py index 81dd263f0..2e3606d97 100644 --- a/python/pytests/pandas_source_test.py +++ b/python/pytests/pandas_source_test.py @@ -5,9 +5,7 @@ def test_float_seconds(golden) -> None: data = {"time": [1671477472.026119], "user": ["tom"]} df = pd.DataFrame(data) - table = kd.sources.Pandas( - df, time_column_name="time", key_column_name="user", time_unit="s" - ) + table = kd.sources.Pandas(df, time_column="time", key_column="user", time_unit="s") golden.jsonl(table) @@ -15,9 +13,7 @@ def test_float_seconds(golden) -> None: def test_float_milliseconds(golden) -> None: data = {"time": [1671477472026.119], "user": ["tom"]} df = pd.DataFrame(data) - table = kd.sources.Pandas( - df, time_column_name="time", key_column_name="user", time_unit="ms" - ) + table = kd.sources.Pandas(df, time_column="time", key_column="user", time_unit="ms") golden.jsonl(table) @@ -25,7 +21,7 @@ def test_float_milliseconds(golden) -> None: def test_float_nanoseconds(golden) -> None: data = {"time": [1671477472026119000], "user": ["tom"]} df = pd.DataFrame(data) - table = kd.sources.Pandas(df, time_column_name="time", key_column_name="user") + table = kd.sources.Pandas(df, time_column="time", key_column="user") golden.jsonl(table) @@ -38,7 +34,7 @@ def test_add_dataframe(golden) -> None: } ) - table = kd.sources.Pandas(df1, time_column_name="time", key_column_name="key") + table = kd.sources.Pandas(df1, time_column="time", key_column="key") golden.jsonl(table) df2 = pd.DataFrame( diff --git a/python/pytests/parquet_source_test.py b/python/pytests/parquet_source_test.py index 6df717202..479f55da0 100644 --- a/python/pytests/parquet_source_test.py +++ b/python/pytests/parquet_source_test.py @@ -4,8 +4,8 @@ def test_read_parquet(golden) -> None: source = kd.sources.Parquet( "../testdata/purchases/purchases_part1.parquet", - time_column_name="purchase_time", - key_column_name="customer_id", + time_column="purchase_time", + key_column="customer_id", ) golden.jsonl(source) diff --git a/python/pytests/powf_test.py b/python/pytests/powf_test.py index 150f5787d..f50441ff8 100644 --- a/python/pytests/powf_test.py +++ b/python/pytests/powf_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,6", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_powf_unwindowed(source, golden) -> None: diff --git a/python/pytests/pylist_source_test.py b/python/pytests/pylist_source_test.py index 09e6759ce..1b61eafc1 100644 --- a/python/pytests/pylist_source_test.py +++ b/python/pytests/pylist_source_test.py @@ -4,8 +4,8 @@ def test_read_pylist(golden) -> None: source = kd.sources.PyList( [{"time": "1996-12-19T16:39:57", "user": "A", "m": 5, "n": 10}], - time_column_name="time", - key_column_name="user", + time_column="time", + key_column="user", ) golden.jsonl(source) @@ -24,8 +24,8 @@ def test_read_pylist(golden) -> None: def test_read_pylist_lists(golden) -> None: source = kd.sources.PyList( [{"time": "1996-12-19T16:39:57", "user": "A", "m": [5, 10], "n": 10}], - time_column_name="time", - key_column_name="user", + time_column="time", + key_column="user", ) golden.jsonl(source) @@ -42,8 +42,8 @@ def test_read_pylist_ignore_column(golden) -> None: # Schema is determined from first row, and doesn't contain an "m" column. source = kd.sources.PyList( [{"time": "1996-12-19T16:39:57", "user": "A", "n": 10}], - time_column_name="time", - key_column_name="user", + time_column="time", + key_column="user", ) golden.jsonl(source) diff --git a/python/pytests/record_test.py b/python/pytests/record_test.py index c55698517..ef6be85f6 100644 --- a/python/pytests/record_test.py +++ b/python/pytests/record_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_record(source, golden) -> None: diff --git a/python/pytests/result_test.py b/python/pytests/result_test.py index dee608d36..55c325a89 100644 --- a/python/pytests/result_test.py +++ b/python/pytests/result_test.py @@ -15,7 +15,7 @@ def source_int64() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_iter_pandas(golden, source_int64) -> None: diff --git a/python/pytests/seconds_since_previous_test.py b/python/pytests/seconds_since_previous_test.py index 51d804db7..191c3c209 100644 --- a/python/pytests/seconds_since_previous_test.py +++ b/python/pytests/seconds_since_previous_test.py @@ -16,7 +16,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,,1996-12-19T16:43:02", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_seconds_since_previous(golden, source) -> None: diff --git a/python/pytests/seconds_since_test.py b/python/pytests/seconds_since_test.py index 5f6dc0b89..ae5ffd96b 100644 --- a/python/pytests/seconds_since_test.py +++ b/python/pytests/seconds_since_test.py @@ -18,7 +18,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,,1996-12-19T16:43:02", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_seconds_since(golden, source) -> None: diff --git a/python/pytests/shift_by_test.py b/python/pytests/shift_by_test.py index 7d838105d..17630218b 100644 --- a/python/pytests/shift_by_test.py +++ b/python/pytests/shift_by_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1997-01-18T16:40:00,A,,9", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_shift_by_timedelta(source, golden) -> None: diff --git a/python/pytests/shift_to_test.py b/python/pytests/shift_to_test.py index bd14d354e..f00c4b23d 100644 --- a/python/pytests/shift_to_test.py +++ b/python/pytests/shift_to_test.py @@ -16,7 +16,7 @@ def source() -> kd.sources.CsvString: "1997-01-18T16:40:00,A,,9", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") @pytest.mark.skip(reason="shift to literal not supported") diff --git a/python/pytests/shift_until_test.py b/python/pytests/shift_until_test.py index 92f004965..055ba0c7d 100644 --- a/python/pytests/shift_until_test.py +++ b/python/pytests/shift_until_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_shift_until_predicate(source, golden) -> None: diff --git a/python/pytests/source_test.py b/python/pytests/source_test.py index 1d8e8a72e..47243af85 100644 --- a/python/pytests/source_test.py +++ b/python/pytests/source_test.py @@ -11,7 +11,7 @@ def test_table_valid() -> None: ] ) - kd.sources.Source(schema, time_column_name="time", key_column_name="key") + kd.sources.Source(schema, time_column="time", key_column="key") def test_table_invalid_names() -> None: @@ -26,17 +26,13 @@ def test_table_invalid_names() -> None: # Currently, this doesn't propagate the suggestions from # existing column names from Sparrow. # TODO: Do that. - kd.sources.Source( - schema, time_column_name="non_existant_time", key_column_name="key" - ) + kd.sources.Source(schema, time_column="non_existant_time", key_column="key") with pytest.raises(KeyError): # Currently, this doesn't propagate the suggestions from # existing column names from Sparrow. # TODO: Do that. - kd.sources.Source( - schema, time_column_name="time", key_column_name="non_existant_key" - ) + kd.sources.Source(schema, time_column="time", key_column="non_existant_key") with pytest.raises(KeyError): # Currently, this doesn't propagate the suggestions from @@ -44,7 +40,7 @@ def test_table_invalid_names() -> None: # TODO: Do that. kd.sources.Source( schema, - time_column_name="time", - key_column_name="key", - subsort_column_name="non_existant_subsort", + time_column="time", + key_column="key", + subsort_column="non_existant_subsort", ) diff --git a/python/pytests/time_test.py b/python/pytests/time_test.py index 73063acb5..ed1fab347 100644 --- a/python/pytests/time_test.py +++ b/python/pytests/time_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1997-01-18T16:40:00,A,,9", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_time_of_point(source, golden) -> None: diff --git a/python/pytests/timestream_test.py b/python/pytests/timestream_test.py index b482e4c61..bb63811e3 100644 --- a/python/pytests/timestream_test.py +++ b/python/pytests/timestream_test.py @@ -15,7 +15,7 @@ def source1() -> kd.sources.Source: pa.field("y", pa.int32()), ] ) - return kd.sources.Source(schema, time_column_name="time", key_column_name="key") + return kd.sources.Source(schema, time_column="time", key_column="key") def test_field_ref(source1) -> None: @@ -122,9 +122,7 @@ def test_timestream_preview(golden) -> None: "1996-12-19T16:40:02,A,,", ] ) - source = kd.sources.CsvString( - content, time_column_name="time", key_column_name="key" - ) + source = kd.sources.CsvString(content, time_column="time", key_column="key") golden.jsonl(source.preview(limit=4)) @@ -141,9 +139,7 @@ def test_timestream_run_non_record(golden) -> None: "1996-12-19T16:40:02,A,,", ] ) - source = kd.sources.CsvString( - content, time_column_name="time", key_column_name="key" - ) + source = kd.sources.CsvString(content, time_column="time", key_column="key") golden.jsonl(source.col("m")) @@ -159,7 +155,5 @@ def test_timestream_cast(golden) -> None: "1996-12-19T16:40:02,A,,", ] ) - source = kd.sources.CsvString( - content, time_column_name="time", key_column_name="key" - ) + source = kd.sources.CsvString(content, time_column="time", key_column="key") golden.jsonl(source.col("time").cast(pa.timestamp("ns"))) diff --git a/python/pytests/udf_test.py b/python/pytests/udf_test.py index e9bbd788b..8c26509d3 100644 --- a/python/pytests/udf_test.py +++ b/python/pytests/udf_test.py @@ -39,7 +39,7 @@ def source_int64() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_add_udf_direct(golden, source_int64) -> None: diff --git a/python/pytests/union_test.py b/python/pytests/union_test.py index 060f05b1e..9c4f7a787 100644 --- a/python/pytests/union_test.py +++ b/python/pytests/union_test.py @@ -15,8 +15,8 @@ def test_union(golden) -> None: "n": [9, 8, 10], }, ], - time_column_name="time", - key_column_name="user", + time_column="time", + key_column="user", ) golden.jsonl(source.col("m").union(source.col("n"))) diff --git a/python/pytests/with_key_test.py b/python/pytests/with_key_test.py index a51cf41b4..f4296cf95 100644 --- a/python/pytests/with_key_test.py +++ b/python/pytests/with_key_test.py @@ -15,7 +15,7 @@ def source() -> kd.sources.CsvString: "1996-12-19T16:40:02,A,,C", ] ) - return kd.sources.CsvString(content, time_column_name="time", key_column_name="key") + return kd.sources.CsvString(content, time_column="time", key_column="key") def test_with_key_literal(source, golden) -> None: diff --git a/python/src/table.rs b/python/src/table.rs index 0a34de936..370888eb7 100644 --- a/python/src/table.rs +++ b/python/src/table.rs @@ -21,15 +21,15 @@ pub(crate) struct Table { impl Table { /// Create a new table. #[new] - #[pyo3(signature = (session, name, time_column_name, key_column_name, schema, subsort_column_name, grouping_name, time_unit))] + #[pyo3(signature = (session, name, time_column, key_column, schema, subsort_column, grouping_name, time_unit))] #[allow(clippy::too_many_arguments)] fn new( session: Session, name: String, - time_column_name: &str, - key_column_name: &str, + time_column: &str, + key_column: &str, schema: PyArrowType, - subsort_column_name: Option<&str>, + subsort_column: Option<&str>, grouping_name: Option<&str>, time_unit: Option<&str>, ) -> Result<(Self, Expr)> { @@ -38,9 +38,9 @@ impl Table { let rust_table = session.rust_session()?.add_table( &name, raw_schema, - time_column_name, - subsort_column_name, - key_column_name, + time_column, + subsort_column, + key_column, grouping_name, time_unit, )?; diff --git a/python/visualize.ipynb b/python/visualize.ipynb index d79cd316b..665618b36 100644 --- a/python/visualize.ipynb +++ b/python/visualize.ipynb @@ -36,7 +36,7 @@ " \"1997-04-18T16:40:00,A,,9\",\n", " ]\n", " )\n", - "source = kd.sources.CsvString(data, time_column_name=\"time\", key_column_name=\"key\")\n", + "source = kd.sources.CsvString(data, time_column=\"time\", key_column=\"key\")\n", "\n", "kd.plot.render(\n", " kd.plot.Plot(source.col(\"m\"), name=\"m\"),\n",