mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2025-12-30 21:29:44 -06:00
* feat: add events tables * fix: tweak PK * feat: migration * feat: gen models * fix: add external id col + index * fix: uuid pk * fix: types * chore: gen * feat: add index * Feat: Write events into OLAP tables (#1634) * feat: query for event creation * feat: olap impl * feat: wire up the olap event write * feat: goroutine? * feat: start wiring up inserts to triggers * fix: no `RETURNING` * fix: hack * fix: inner join * feat: attempt 2 * fix: return errors * chore: lint * fix: diff * feat: add new partitions * fix: eof * fix: write external ids into table * chore: gen * fix: wiring * fix: event deduping * fix: insert in bulk * fix: bug * refactor: return type of trigger * fix: unnest ids * fix: unnest tenant ids * fix: run ids in bulk insert * feat: two bulk inserts, one tx * fix: cruft * fix: bug * Update pkg/repository/v1/olap.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: rework to avoid n^2 loop * fix: transaction timeout * fix: lint * fix: use error * fix: rm penultimate version * fix: rm penultimate test part ii * Feat: CEL-based filtering of events (#1676) * feat: add optional expression to workflow trigger event ref * feat: proto field for expression * feat: write and parse the expression * feat: wire up through put workflow ver request * feat: query * fix: naming * fix: cleanup * fix: rebase * Update pkg/repository/v1/trigger.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: skip workflow on cel eval failure * fix: zero value * fix: cel evaluator * fix: usage * fix: naming + type * fix: rm event filter from v0 defn * feat: tests + fix typing * fix: usage * fix: construct input * feat: always write events --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: select existing partitions * feat: add prio to push event request * feat: priority from pushed events * fix: missed a spot * fix: write events even if they're not tied to any workflows * fix: revert cel event filtering * fix: couple more * fix: simplify * feat: filters api * feat: table for storing filters * feat: migration * fix: pk ordering * feat: wiring up initial api * feat: impl filter list * feat: wire up inserts of filters * feat: add resource hint to push event * feat: multi-select filters * feat: wire up resource hint on event push * feat: filtering * fix: small bug * fix: rm version id * fix: query * fix: panic * fix: schema * fix: naming * fix: rm python changes * chore: lint * fix: uuid hint Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: use overwrite for listing filters b/c of nullable arg * fix: naming * feat: add events tables * fix: tweak PK * feat: migration * feat: gen models * fix: add external id col + index * fix: uuid pk * fix: types * chore: gen * feat: add index * Feat: Write events into OLAP tables (#1634) * feat: query for event creation * feat: olap impl * feat: wire up the olap event write * feat: goroutine? * feat: start wiring up inserts to triggers * fix: no `RETURNING` * fix: hack * fix: inner join * feat: attempt 2 * fix: return errors * chore: lint * fix: diff * feat: add new partitions * fix: eof * fix: write external ids into table * chore: gen * fix: wiring * fix: event deduping * fix: insert in bulk * fix: bug * refactor: return type of trigger * fix: unnest ids * fix: unnest tenant ids * fix: run ids in bulk insert * feat: two bulk inserts, one tx * fix: cruft * fix: bug * Update pkg/repository/v1/olap.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: rework to avoid n^2 loop * fix: transaction timeout * fix: lint * fix: use error * fix: rm penultimate version * fix: rm penultimate test part ii * Feat: CEL-based filtering of events (#1676) * feat: add optional expression to workflow trigger event ref * feat: proto field for expression * feat: write and parse the expression * feat: wire up through put workflow ver request * feat: query * fix: naming * fix: cleanup * fix: rebase * Update pkg/repository/v1/trigger.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: skip workflow on cel eval failure * fix: zero value * fix: cel evaluator * fix: usage * fix: naming + type * fix: rm event filter from v0 defn * feat: tests + fix typing * fix: usage * fix: construct input * feat: always write events --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: select existing partitions * feat: add prio to push event request * feat: priority from pushed events * fix: missed a spot * fix: write events even if they're not tied to any workflows * fix: revert cel event filtering * fix: couple more * fix: simplify * fix: gen api * fix: merge issues * feat: filter delete endpoint * fix: overwrite * fix: delete filter api wiring * fix: migration patch * chore: gen * fix: merge hell * Revert "Revert "Feat: Events in the OLAP Repo (#1633)" (#1706)" This reverts commitbf29269a27. * Feat: Events Frontend (#1678) * feat: add events tables * fix: tweak PK * feat: migration * feat: gen models * fix: add external id col + index * fix: uuid pk * fix: types * chore: gen * feat: add index * Feat: Write events into OLAP tables (#1634) * feat: query for event creation * feat: olap impl * feat: wire up the olap event write * feat: goroutine? * feat: start wiring up inserts to triggers * fix: no `RETURNING` * fix: hack * fix: inner join * feat: attempt 2 * fix: return errors * chore: lint * fix: diff * feat: add new partitions * fix: eof * fix: write external ids into table * chore: gen * fix: wiring * fix: event deduping * fix: insert in bulk * fix: bug * refactor: return type of trigger * fix: unnest ids * fix: unnest tenant ids * fix: run ids in bulk insert * feat: two bulk inserts, one tx * fix: cruft * fix: bug * Update pkg/repository/v1/olap.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: rework to avoid n^2 loop * fix: transaction timeout * fix: lint * fix: use error * fix: rm penultimate version * fix: rm penultimate test part ii * Feat: CEL-based filtering of events (#1676) * feat: add optional expression to workflow trigger event ref * feat: proto field for expression * feat: write and parse the expression * feat: wire up through put workflow ver request * feat: query * fix: naming * fix: cleanup * fix: rebase * Update pkg/repository/v1/trigger.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: skip workflow on cel eval failure * fix: zero value * fix: cel evaluator * fix: usage * fix: naming + type * fix: rm event filter from v0 defn * feat: tests + fix typing * fix: usage * fix: construct input * feat: always write events --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: select existing partitions * feat: add prio to push event request * feat: priority from pushed events * fix: missed a spot * fix: write events even if they're not tied to any workflows * fix: revert cel event filtering * fix: couple more * fix: simplify * feat: initial API work * chore: gen ts * feat: fe skeleton * feat: wiring up skeleton data * feat: hook * fix: bugs * fix: lint on gen * fix: couple more * feat: wire up counts * feat: initial events cols + styling * feat: layout * feat: styling * fix: cleanup * feat: use external ids on the FE * fix: separate openapi spec for new events route * fix: required param * fix: update queries and api * feat: event detail * fix: page * fix: rebase * tweak: table * feat: add events page to sidebar * feat: modify queries to allow fetching by triggering event * feat: add triggering event id to api * chore: lint * feat: wire up events api * fix: rm log * fix: gen * feat: wire up status counts * fix: rm time series * fix: rm state * fix: lint * fix: eof * chore: lint * feat: wire up filters * fix: lint * chore: api gen * feat: add events tables * fix: tweak PK * feat: migration * feat: gen models * fix: add external id col + index * fix: uuid pk * fix: types * chore: gen * feat: add index * Feat: Write events into OLAP tables (#1634) * feat: query for event creation * feat: olap impl * feat: wire up the olap event write * feat: goroutine? * feat: start wiring up inserts to triggers * fix: no `RETURNING` * fix: hack * fix: inner join * feat: attempt 2 * fix: return errors * chore: lint * fix: diff * feat: add new partitions * fix: eof * fix: write external ids into table * chore: gen * fix: wiring * fix: event deduping * fix: insert in bulk * fix: bug * refactor: return type of trigger * fix: unnest ids * fix: unnest tenant ids * fix: run ids in bulk insert * feat: two bulk inserts, one tx * fix: cruft * fix: bug * Update pkg/repository/v1/olap.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: rework to avoid n^2 loop * fix: transaction timeout * fix: lint * fix: use error * fix: rm penultimate version * fix: rm penultimate test part ii * Feat: CEL-based filtering of events (#1676) * feat: add optional expression to workflow trigger event ref * feat: proto field for expression * feat: write and parse the expression * feat: wire up through put workflow ver request * feat: query * fix: naming * fix: cleanup * fix: rebase * Update pkg/repository/v1/trigger.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: skip workflow on cel eval failure * fix: zero value * fix: cel evaluator * fix: usage * fix: naming + type * fix: rm event filter from v0 defn * feat: tests + fix typing * fix: usage * fix: construct input * feat: always write events --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: select existing partitions * feat: add prio to push event request * feat: priority from pushed events * fix: missed a spot * fix: write events even if they're not tied to any workflows * fix: revert cel event filtering * fix: couple more * fix: simplify * fix: gen api * fix: gen * fix: more merge issues * chore: gen * fix: lockfile * fix: merge issues * chore: gen again * fix: rm unused fields from openapi spec --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: migration ver * fix: insert trigger, event types * fix: bunch o refs * fix: migration * fix: queries * fix: finish wiring up inserts * fix: misc bugs * fix: fe filtering * chore: gen * fix: migration ver * chore: lint * fix: missed a couple * fix: whitespace * fix: formatting, gen * fix: uuid id for filters * feat: rest api for filters * fix: tag * feat: add event id, payload, and metadata to cel env * fix: rename resource hint to scope * chore: gen * fix: same conflict, different day * feat: send filter payload with input * fix: lint * fix: invert filter to "positive" case * fix: naming * feat: send payloads back with trigger data * fix: add case to check if no filters were found * fix: send additional meta back on bulk push * fix: cleanup from self review * fix: more small cleanup * feat: initial pr feedback * feat: validation * fix: populator * Feat: SDK changes for event filtering (#1677) * feat: query for event creation * feat: wire up the olap event write * feat: goroutine? * feat: start wiring up inserts to triggers * fix: no `RETURNING` * fix: hack * fix: inner join * feat: attempt 2 * fix: return errors * fix: diff * feat: add new partitions * fix: write external ids into table * chore: gen * fix: wiring * fix: event deduping * fix: insert in bulk * fix: unnest ids * fix: run ids in bulk insert * feat: two bulk inserts, one tx * fix: rework to avoid n^2 loop * feat: proto field for expression * fix: rm event filter from v0 defn * chore: gen python * Revert "fix: select existing partitions" This reverts commit fefbdd5122b85c5d807c3dce3aed7d974f01a7d8. * fix: rebase hell * feat: prio * chore: docs * feat: gen ts * feat: ts wiring * feat: go * fix: prio test bug * chore: gen * fix: validation bug * feat: extend events client * feat: e2e test * chore: docs * fix: test * fix: unwind event filter * fix: rm should skip * chore: gen * chore: gen * chore: gen * feat: resource hints + more e2e tests * fix: use `cached_property` for id * fix: raises * fix: rm print cruft * feat: wiring + e2e test * chore: gen * feat: wire up python sdk * feat: static payload in test * fix: use test run id in payload * fix: longer sleeps * feat: more tests * feat: intermediate work * feat: add validator for filter payload * fix: rm cruft * fix: event example * fix: event example * fix: e2e tests * fix: finish cleaning up tests * fix: __hash__ method * fix: copilot comments! * fix: apply namespaces to workflow names in a couple of the feature clients * fix: handle case where namespace is falsey * refactor: factor out * fix: all the other refs to namespaced things * fix: put `apply_namespace` on the client config * fix: namespace overrides * fix: implicitly use function name for hatchet task * fix: name * fix: refs * chore: ver * fix: durable tests * feat: add a changelog! * fix: changelog format * feat: start wiring up filters in ts * feat: scopes on event push * feat: wire up triggering event id filter * feat: initial ts e2e test work * fix: run the test * fix: drive-by bug in AI-gen slop * fix: test naming * feat: more test cleanup * fix: api * fix: ns override * fix: test + API * fix: lint * fix: cruft * chore: gen * fix: dont run in ci? * fix: wire up Go SDK * fix: compiler * fix: examples * fix: event snippet, I think * chore: docs * Revert "fix: examples" This reverts commitcbf33d6299. * Revert "fix: compiler" This reverts commit52336abeb2. * fix: add push opt funcs for prio and scope * chore: ver --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Hatchet Python SDK
This is the official Python SDK for Hatchet, a distributed, fault-tolerant task queue. The SDK allows you to easily integrate Hatchet's task scheduling and workflow orchestration capabilities into your Python applications.
Installation
Install the SDK using pip:
pip install hatchet-sdk
Or using poetry:
poetry add hatchet-sdk
Quick Start
For examples of how to use the Hatchet Python SDK, including worker setup and task execution, please see our official documentation.
Features
- 🔄 Workflow Orchestration: Define complex workflows with dependencies and parallel execution
- 🔁 Automatic Retries: Configure retry policies for handling transient failures
- 📊 Observability: Track workflow progress and monitor execution metrics
- ⏰ Scheduling: Schedule workflows to run at specific times or on a recurring basis
- 🔄 Event-Driven: Trigger workflows based on events in your system
Documentation
For detailed documentation, examples, and best practices, visit:
Contributing
We welcome contributions! Please check out our contributing guidelines and join our Discord community for discussions and support.
License
This SDK is released under the MIT License. See LICENSE for details.