Matt Kaye
3442c11106
Feat: Top-level stream consumer in the SDKs ( #1917 )
...
* feat: add stream sub on top level
* feat: clean up examples
* chore: gen
* feat: move stream onto the runs client in ts
* fix: examples
* chore: gen
* fix: circular import issues
* chore: lint
* feat: first pass at Next app
* fix: pull next out to top level
* fix: all the things
* fix: get it all wired up
* fix: imports
* fix: lint rule
* fix: just use js
* fix: revert tsconfig changes
* fix: check in pages
* fix: hangup event in streaming impl
* chore: gen
* chore: generate again, remove lots of nextjs stuff
* fix: one more ignore
* fix: gen
* fix: ignore
* fix: ugh
* fix: simplify a bunch
* fix: lint
* fix: rm gen cruft
* fix: changelog
* feat: implement list with pagination
* feat: add some tests
* feat: add warnings
* fix: update workflow / task methods
* chore: version
* feat: retries
2025-07-03 18:49:16 -04:00
Matt Kaye
2f33dd4dbd
Feat: Misc. Python improvements + Streaming Improvements ( #1846 )
...
* fix: contextvars explicit copy
* feat: fix a ton of ruff errors
* fix: couple more ruff rules
* fix: ignore unhelpful rule
* fix: exception group in newer Python versions for improved handling
* fix: workflow docs
* feat: context docs
* feat: simple task counter
* feat: config for setting max tasks
* feat: graceful exit once worker exceeds max tasks
* fix: optional
* fix: docs
* fix: events docs + gen
* chore: gen
* fix: one more dangling task
* feat: add xdist in ci
* fix: CI
* fix: xdist fails me once again
* fix: fix + extend some tests
* fix: test cleanup
* fix: exception group
* fix: ugh
* feat: changelog
* Add Ruff linter callout to post
* refactor: clean up runner error handling
* feat: improved errors
* fix: lint
* feat: hacky serde impl
* fix: improve serde + formatting
* fix: logging
* fix: lint
* fix: unexpected errors
* fix: naming, ruff
* fix: rm cruft
* Fix: Attempt to fix namespacing issue in event waits (#1885 )
* feat: add xdist in ci
* fix: attempt to fix namespacing issue in event waits
* fix: namespaced worker names
* fix: applied namespace to the wrong thing
* fix: rm hack
* drive by: namespacing improvement
* fix: delay
* fix: changelog
* fix: initial log work
* fix: more logging work
* fix: rm print cruft
* feat: use a queue to send logs
* fix: sentinel value to stop the loop
* fix: use the log sender everywhere
* fix: make streaming blocking, remove more thread pools
* feat: changelog
* fix: linting issues
* fix: broken test
* chore: bunch more generated stuff
* fix: changelog
* fix: one more
* fix: mypy
* chore: gen
* Feat: Streaming Improvements (#1886 )
* Fix: Filter list improvements (#1899 )
* fix: uuid validation
* fix: improve filter filtering
* fix: inner join
* fix: bug in workflow cached prop
* chore: bump
* fix: lint
* chore: changelog
* fix: separate filter queries
* feat: improve filter filtering
* fix: queries and the like
* feat: add xdist in ci
* feat: streaming test + gen
* feat: add index to stream event
* fix: rm langfuse dep
* fix: lf
* chore: gen
* feat: impl index for stream on context
* feat: tweak protos
* feat: extend test
* feat: send event index through queue
* feat: first pass + debug logging
* debug: fixes
* debug: more possible issues
* feat: generate new stream event protos
* feat: first pass at using an alternate exchange for replaying incoming stream events
* fix: exchange create timing
* fix: rm unused protos
* chore: gen
* feat: python cleanup
* fix: revert rabbit changes
* fix: unwind a bunch of cruft
* fix: optional index
* chore: gen python
* fix: event index nil handling
* feat: improve test
* fix: stream impl in sdk
* fix: make test faster
* chore: gen a ton more stuff
* fix: test
* fix: sorting helper
* fix: bug
* fix: one more ordering bug
* feat: add some tests for buffering logic
* feat: hangup test
* feat: test no buffering if no index sent
* fix: regular mutex
* fix: pr feedback
* fix: conflicts
2025-06-25 10:11:01 -04:00
Matt Kaye
e4b1d36de6
Fix: Spawn index incorrect on retry ( #1752 )
...
* fix: child index on retry not being reset correctly
* chore: ver
* chore: changelog
* feat: test
2025-05-19 15:38:52 -04:00
Matt Kaye
94d06a643c
[Python] Fix: Task defaults, Patching fixes, Datetime conversions ( #1667 )
...
* feat: start wiring up defaults
* feat: add test coverage
* fix: test docs
* feat: expand tests
* fix: rm validators for now
* chore: minor version
* fix: skip prio tests in ci for now
* chore: docs
* debug: attempt to fix prio test by running with a single slot and no concurrency
* fix: python script to apply patches
* chore; gen
* feat: atomic patches
* fix: rm sed-based patches
* fix: use current tz
* fix: ordering
2025-05-06 17:31:36 -04:00
Matt Kaye
1eeb8e915d
Fix: Queue blocking on many concurrency keys + failures ( #1622 )
...
* fix: move around case ordering
* feat: move worker fixture around
* fix: clean up fixtures
* feat: expand test, try to repro
* debug: more minimal repro
* fix: bug bashing
* fix: factor out concurrency queries into overwrite
* feat: improve test
* fix: improve test
* fix: lint
* feat: migration for trigger
* Fix: Retry + Cancel Bugs (#1620 )
* fix: send original retry count to cancel
* fix: key threads, contexts, and tasks on retry count
* fix: store the key on the action and use it everywhere
* refactor: signature consistency
* fix: instrumentor types
* chore: version
* feat: comment
* fix: thank you mypy
* fix: simplify callback
* fix: ts implementation
* chore: lint
* fix: rework how retries are passed
* Fix: Add Retries to Log Pushes (#1594 )
* fix: retry log pushes
* chore: version
2025-04-25 21:49:30 -04:00
Matt Kaye
8de5cea480
Fix: Duration conversion to Go duration strings ( #1578 )
...
* fix: bug in timeouts
* chore: ver
* fix: `total_seconds`
* fix: linter
2025-04-18 14:18:56 -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
63e10c65c7
Fix: Server URL and Host Port Overrides ( #1491 )
...
* fix: host port and server url overrides
* feat: tests
* chore: ver
2025-04-03 19:22:58 -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
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
c3fe5e5baa
Hotfix: Task + Timeout ( #1433 )
...
* hotfix: simple task
* fix: add back timeout
* debug: try using loop scoped to session
* fix: decrease timeout
* fix: doc path
2025-03-27 21:06:56 -04: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
abelanger5
1f2096313d
feat: v1 engine ( #1318 )
2025-03-11 14:57:13 -04:00