Matt Kaye
90805ca763
Feat: Lifespans! ( #1541 )
...
* feat: implement lifespans
* feat: add psycopg test dep
* feat: lifespan script
* feat: examples and tests
* drive-by: add license
* drive-by: throw errors for sanity checks
* feat: docs
* feat: sync and async
* fix: docs
* fix: lint
* fix: small tweaks
* fix: rm unused
* fix: typed example
* fix: print
2025-04-14 08:56:39 -04:00
Matt Kaye
993817b049
[Python] Single listener base class + bug fixes + refactors ( #1470 )
...
* fix: register durable steps and workflows separately
* chore: initial copy of pooled listener
* feat: initial generic impl
* feat: use pooled listener for wf run listener
* refactor: move listeners to subdir
* feat: refactor durable event listener
* fix: bug
* feat: share single pooled workflow listener and event listener everywhere
* cruft: rm hatchet fixture
* fix: rebase issue
* feat: remove asyncio api client in favor of sync one
* chore: minor version
* proposal: crazy hack idea to make the workflow run listener work
* fix: sleeps and error handling
* Revert "cruft: rm hatchet fixture"
This reverts commit b75f625e6ccec095e8c4e294d6727db166796411.
* fix: set timeout
* fix: rm pytest-timeout
* fix: rm retry
* fix: use v1 by default
* fix: try removing retry state
* fix: try using async client?
* fix: try running sequentially
* debug: loop
* debug: maybe it's this?
* fix: lint
* fix: re-remove unused fixtures
* fix: lazily create clients in admin client
* fix: default
* fix: lazily initialize dispatcher client
* fix: hint
* fix: no. way.
* feat: add back retries in ci
* fix: clients + imports
* fix: loop scope
* debug: try running skipped tests in ci again
* Revert "debug: try running skipped tests in ci again"
This reverts commit 8d9e18150e5207ee6051d8df8a6fe2a7504c722e.
* fix: rm duped code
* refactor: rename everything as `to_proto`
* refactor: removals of `namespace` being passed around
* fix: task output stupidity
* feat: add deprecation warning
* fix: remove more unused code
* feat: mix sync and async in dag example
* fix: autouse
* fix: more input types
* feat: remove ability to pass in loop
* fix: overload key gen
2025-04-10 08:18:17 -04:00
Matt Kaye
4c97bd5c74
Fix: Test failures ( #1510 )
...
* fix: test name
* fix: shrink test
* fix: correct logic for group membership
* fix: expand test again
2025-04-08 18:16:50 -04:00
abelanger5
f09c1d11fa
feat: multiple non-workflow level concurrency slots ( #1508 )
...
* feat: multiple non-workflow level concurrency slots
* feat: first pass at e2e test
* fix: lint
* fix: try sleeping?
* fix: namespacing
* chore: version
* feat: expand test
* Fix: Add `get_run_ref` to `runs` client (#1509 )
* feat: add run ref
* chore: ver
* fix: expand standalone
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-04-08 17:17:28 -04:00
abelanger5
9c1e6ecf2b
docs: durable execution + update self-hosted defaults to use v1 ( #1484 )
...
* docs: update self-hosted defaults to use v1
* docs: durable execution
* rm dep
* lint: run black
* redundant readme
* more wording
* other small things
* isort
2025-04-03 11:29:59 -04:00
Matt Kaye
b3e5630e1a
Fix: Move Non-Retryable to hatchet_sdk.exceptions ( #1483 )
...
* feat: move non-retry to exceptions
* fix: client config default
* chore: ver
* cleanup: fix some dependencies
* feat: add retries to pytest in CI
2025-04-03 09:00:18 -04:00
Matt Kaye
77f81476bd
[Docs, Python] Expand Cancellation + Conditional Workflow Docs, Fix cancellation in Python ( #1471 )
...
* feat: expand conditional docs
* feat: initial cancellation work + fixing some broken links
* feat: docs on cancellation
* python: fix cancellation
* python: cruft
* chore: version
* feat: python example
* fix: TS cancellation examples
* fix: lint
* feat: go example
* feat: half-baked ts conditional logic workflow
* feat: add ts example conditional workflow
* feat: go example
* feat: go example
* fix: cancellation test
* fix: thanks, copilot!
* Update frontend/docs/pages/home/conditional-workflows.mdx
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
* fix: lint
* chore: lint
* fix: longer sleep
---------
Co-authored-by: Gabe Ruttner <gabriel.ruttner@gmail.com >
2025-04-02 19:51:51 -04:00
Gabe Ruttner
339f505612
Docs: run and wait, child run in run and wait, run no wait, bulk ( #1472 )
...
* run and wait
* run no wait
* bulk
* release: 1.1.1
* lint
* lint?
* lint
* lint?
* discord link
* separate examples
* lint
* prettier
* move new examples
* lint
* python...
* fix: python examples
* rm toolchain
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-04-02 12:20:19 -07:00
Matt Kaye
58d54703b2
Feat: Non-Retryable Exceptions ( #1456 )
...
* feat: add boolean flag to proto
* feat: initial wiring up priorities and non-retryables
* fix: query
* fix: cruft comment
* fix: rm priority changes
* feat: python side
* feat: tests for non-retrying workflows
* feat: expand tests
* chore: generate ts
* feat: add name prop to wf
* feat(go-sdk): non retryable error
* feat: start implementing ts
* cleanup: simplify to raising a specific error
* fix: simplify ts
* feat: ts examples
* feat: ver
* feat: docs
* fix: tests + linters
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2025-04-01 15:34:43 -04:00
Matt Kaye
46edb1f0b0
[Python] Fix: Remove global event loop setters everywhere ( #1452 )
...
* feat: factor out async to sync
* feat: remove global event loop setter in workflow listener
* fix: rm more global loop sets
* fix: more loop sets
* fix: more
* fix: more
* fix: rm one more
* fix: stream from thread
* fix: dispatcher
* fix: make tests have independent loop scopes (woohoo!)
* feat: use default loop scope
* fix: try adding back tests
* Revert "fix: try adding back tests"
This reverts commit bed34a9bae539650e4fe32e0518aa9d1c5c0af5c.
* fix: rm dead code
* fix: remove redundant `_utils`
* fix: add typing to client stubs + regenerate
* fix: create more clients lazily
* fix: print cruft
* chore: version
* fix: lint
2025-03-31 13:58:50 -04:00
Matt Kaye
8172d59f84
[Python] Fix: Misc. Python Bugs ( #1451 )
...
* fix: stop trying to parse payloads back from json
* feat: streaming example
* feat: aio output
* fix: lint
* feat: sync and async examples
* fix: small issues
* fix: one more small thing
* chore: version
* fix: lint
* fix: add sleeps
* feat: factor out run_async_from_sync
* Revert "feat: factor out run_async_from_sync"
This reverts commit fb37395913 .
* fix: schedule trigger namespace issue
* fix: log error if action payload fails to decode but don't raise out of listener
2025-03-31 13:47:34 -04:00
Matt Kaye
6aa8f4d555
[Docs, Python]: Durable execution, fixing broken links, Python fixes ( #1449 )
...
* feat: show durable execution docs
* fix: move durable execution
* feat: add some more durable notes
* feat: more docs
* fix: broken link bashing
* feat: add test for waits
* fix: clean up a bunch of mypy errors
* chore: version
* feat: make sure durable worker is running
* fix: sleep longer
* fix: skip unreliable tests in ci
* fix: var name
* update durable execution doc
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2025-03-28 20:17:36 -07:00
Gabe Ruttner
eeda1181ce
Docs ( #1435 )
...
* concurrency
* retries
* get started
* register
* improvements
* lint
* fix
* lint
* lint
* lint
* more linttttt
* more lint
* bulk
2025-03-27 19:01:29 -07:00
Matt Kaye
08f49031be
[Python] Feat: Replace REST Client ( #1413 )
...
* fix: version
* feat: first pass at new base rest client
* fix: typing
* fix: base client cleanup
* feat: basic runs client
* fix: finally!!
* feat: helper functions for uuid and metadata conversion and api format fix
* fix: patches
* feat: run list apis
* feat: add bulk replay and cancel
* feat: replays and cancels
* feat: result getter
* feat: cron client
* feat: scheduled workflows
* feat: rate limit
* refactor: don't export admin client anymore
* feat: add a bunch more clients and remove the old `rest` thing
* fix: scheduled workflow trigger time
* fix: emptymodel default
* refactor: stop passing pooled workflow run listener around everywhere
* fix: more cleanup of context
* refactor: remove unused stuff from runner
* unwind: keep passing listeners around
* fix: rm some unused stuff
* fix: example
* feat: metrics api
* feat: a couple tests
* feat: more default emptymodels
* fix: tests
* [Docs]: Misc. Python Migration Guide Issues, Rate limits, V1 new features (#1417 )
* fix: misc python migration guide
* feat: rate limits docs
* fix: lint
* fix: lint
* feat: skeleton
* feat: add a bunch of docs
* feat: bulk replay and cancel docs
* fix: add task output to example
* fix: otel docs + naming
* fix: lint
* fix: rm timeout
* feat: initial python sdk guide
* fix: raise on dupe on failure or on success
* fix: dags docs
* feat: 1.0.1
2025-03-27 16:32:54 -07:00
Matt Kaye
0c4e52a97c
[Docs] Concurrency, Additional Metadata ( #1415 )
...
* fix: child spawning python example
* fix: more things
* feat: additional meta
* feat: concurrency
* fix: proof
* fix: lint
* fix: python migration
* fix: test
* fix: lint
* fix: link on migration guide
---------
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2025-03-26 18:34:02 -07:00
Matt Kaye
5062bf1e3e
V1 SDKs and Docs ( #1361 )
...
New SDKs and docs for the v1 release.
2025-03-25 15:45:07 -07:00
abelanger5
1f2096313d
feat: v1 engine ( #1318 )
2025-03-11 14:57:13 -04:00