matt
45b71ff058
[Python]: Removes the v0 SDK ( #2330 )
...
* fix: remove the v0 code!
* chore: changelog
* fix: rm unused deps
* chore: changelog
* fix: add back urllib3 direct dep
2025-09-24 10:38:06 -04:00
matt
d97f825fe9
[Python]: Fix install issue ( #2209 )
...
* fix: naming conflict
* feat: add test install in ci
* chore: lock
* debug: try reverting to see if problem shows up
* Revert "debug: try reverting to see if problem shows up"
This reverts commit 3513b65f33 .
2025-08-26 17:10:39 -04:00
matt
12086f489d
Misc. Python Fixes ( #2172 )
...
* fix: add deps
* fix: add CEL as an optional extra
* chore: ver
* chore: changelog
* chore: changelog
2025-08-20 16:27:44 -04:00
matt
c8d5144ed4
[Python] Feat: Dependency Injection, Improved error handling ( #2067 )
...
* feat: first pass at dependency injection
* feat: add DI example + tests
* feat: finish up tests
* feat: docs
* chore: gen
* chore: lint
* chore: changelog + ver
* fix: split up paragraphs
* refactor: improve impl
* chore: gen
* feat: inject input + ctx into deps
* chore: gen
* [Python] Feat: More use of `logger.exception` (#2069 )
* feat: add more instances of `logger.exception`
* chore: ver
* chore: changelog
* fix: one more error log
* chore: gen
* chore: gen
* chore: lint
* fix: improve shutdown
* chore: changelog
* unwind: exit handler
* feat: task run error
* feat: improve error serde with more context
* chore: changelog
* fix: changelog
* chore: gen
* fix: rm celpy + lark dep, casing issues
* chore: changelog
* fix: respect log levels over the API
* fix: changelog
* refactor: rename log forwarder
* fix: circular import
2025-08-11 23:10:44 -04:00
Matt Kaye
1cd12f24f8
Feat: Streaming Docs + Examples ( #1912 )
...
* feat: streaming examples + gen
* feat: more examples
* chore: gen again
* feat: fastapi example
* chore: gen
* feat: callout
* fix: typos
* fix: whoops - how did this work?
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-26 17:28:05 -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
Gabe Ruttner
bd40740420
chore: update protobuf ( #1868 )
...
* update protobuf
* fix: mypy
* chore: ver
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2025-06-17 11:33:35 -04:00
Matt Kaye
92e86dc163
Feat: Next UI improvements, filters improvements, Langfuse docs, tenant getter, workflow status getter ( #1801 )
...
* fix: rm method from docs button
* feat: close side panel on navigate
* feat: migration to fix pk
* fix: create index at the end
* fix: properly compute pagination response for events
* feat: add event count to query
* feat: queries
* wire up since and until queries
* fix: fe
* fix: ordering
* chore: gen
* fix: pesky zero values
* fix: rm react-table side pagination
* fix: bug
* fix: start working on pagination
* fix: refactor a bit
* fix: pagination
* feat: pagination on workflows
* fix: callbacks
* fix: key
* fix: calc
* feat: migration attempt 2
* fix: lint
* chore: gen
* fix: recreate trigger in migration
* fix: test improvement
* fix: lint
* fix: order in schema
* fix: rename indexes in partitions too
* Feat: FE Burndown, Part V (#1814 )
* feat: extend eslint config to make a lot of rules much stricter
* fix: auto-fix a bunch of linting failures
* feat: start fixing a bunch of linting errors
* fix: more
* fix: run knip to remove a bunch of unused stuff
* fix: bunch more errors
* fix: bunch more
* fix: more
* fix: checkout old file
* fix: more
* fix: couple more callbacks
* fix: remaining issues
* fix: tsc
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: copilot pushing stuff that doesn't work, as usual
* fix: more ignores
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Feat: Langfuse Integration (#1822 )
* Fix: Internal blocking calls in admin client (#1818 )
* fix: admin client blockages
* chore: ver
* chore: changelog
* Revert "fix: rm langfuse for now"
This reverts commit 493566a307 .
* Revert "fix: rm langfuse trace pic"
This reverts commit fb689f4c50 .
* fix: pre
* chore(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0 (#1827 )
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.38.0 to 0.39.0.
- [Commits](https://github.com/golang/crypto/compare/v0.38.0...v0.39.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 (#1828 )
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.72.2 to 1.73.0.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.72.2...v1.73.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-version: 1.73.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump golang.org/x/text from 0.25.0 to 0.26.0 (#1829 )
Bumps [golang.org/x/text](https://github.com/golang/text ) from 0.25.0 to 0.26.0.
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.25.0...v0.26.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/text
dependency-version: 0.26.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump golang.org/x/sync from 0.14.0 to 0.15.0 (#1830 )
Bumps [golang.org/x/sync](https://github.com/golang/sync ) from 0.14.0 to 0.15.0.
- [Commits](https://github.com/golang/sync/compare/v0.14.0...v0.15.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sync
dependency-version: 0.15.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump golang.org/x/time from 0.11.0 to 0.12.0 (#1831 )
Bumps [golang.org/x/time](https://github.com/golang/time ) from 0.11.0 to 0.12.0.
- [Commits](https://github.com/golang/time/compare/v0.11.0...v0.12.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/time
dependency-version: 0.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump hatchet-sdk in /examples/python/quickstart (#1832 )
Bumps hatchet-sdk from 1.11.0 to 1.11.1.
---
updated-dependencies:
- dependency-name: hatchet-sdk
dependency-version: 1.11.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: update langfuse docs / examples to agree with their recommendations
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Feat: Filter + Events Improvements (#1806 )
* feat: query for listing filters on a workflow
* feat: first pass at new filtering logic
* feat: event key wildcards
* fix: typo
* fix: write wildcard on event ref insert
* feat: tests for wildcard
* chore: gen
* feat: working wildcards
* fix: test cruft
* fix: tests
* fix: tests
* fix: tests
* feat: improve wildcard handling
* fix: missed a payload include spot
* feat: extend tests more
* feat: extend test more
* fix: flakiness
* feat: add scope col to events
* feat: write scopes into db with events
* fix: god I hate zero values
* chore: gen, lint, etc.
* fix: try wrapping yield in try / finally for robustness
* fix: typing
* fix: simplify
* fix: migration ver
* Feat: Tenant getter + corresponding SDK warnings (#1809 )
* feat: tenant get endpoint
* feat: impl for tenant
* chore: gen
* feat: Python impl
* feat: scary warning
* chore: lint
* fix: try / except
* feat: ts client
* feat: go
* chore: versions
* Update sdks/python/hatchet_sdk/hatchet.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update sdks/typescript/src/v1/client/client.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: fmt
* fix: description
* fix: review
* fix: changelog
* chore: gen
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Feat: Workflow run status getter on the API (#1808 )
* feat: api for status getter
* feat: api
* feat: sdk
* chore: gen python
* chore: gen ts
* fix: simplify api
* chore: gen
* chore: rm unused python
* chore: vers
* fix: pr feedback
* chore: gen
* chore: gen
* chore: gen
* Feat: Filter Updates (#1840 )
* feat: api
* feat: impl
* fix: patch
* chore: gen
* feat: python
* chore: changelog
* feat: ts
* feat: go
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Feat: Declaratively create filters on worker start (#1825 )
* feat: dynamically create filters when workflow is registered
* fix: python utc timestamps everywhere
* refactor: fix up runs list a bit
* refactor: move more methods under shared BaseWorkflow
* feat: register default filters
* fix: docs
* chore: gen, docs
* chore: lint
* fix: v1
* fix: add filter to proto
* feat: implement default filters on put workflow
* feat: fix go impl
* chore: gen py
* feat: wire up Python
* fix: rm cruft
* fix: ts
* fix: bugs
* chore: gen, versions
* feat: changelog
* chore: lock
* fix: go
* fix: rm cruft
* fix: lockfile
* feat: add is_declarative flag to filters
* feat: extend filter insert queries
* feat: bulk upsert filters on workflow version create
* fix: wire up declarative stuff
* fix: mutexing issue
* feat: wire up declarative filters
* feat: naming
* chore: gen
* fix: nullable payloads
* fix: check json validity
* fix: rm on conflict
* fix: query naming + declarative-ness handling
* fix: rm payload from error
* fix: versions and such
* chore: gen
* Feat: Filtering + Events Docs Revamp + SDK Tweaks (#1843 )
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 11:48:31 -04:00
Matt Kaye
bd1452482e
Feat: Expand OpenTelemetry Integration ( #1792 )
...
* feat: initial work expanding instrumentation
* feat: automatically inject traceparent into metadata in instrumentor
* feat: deprecate old attrs
* feat: add new namespaced attrs
* chore: version
* fix: type bug
* feat: tracing scheduled workflows
* fix: don't need duplication
* feat: convert timestamps to ISO
* fix: warn on use of old methods
* feat: changelog
* fix: enum breakages
* fix: docs
* feat: add a couple of additional attrs to bulk events
* cleanup: types
* fix: comment
* fix: example
* feat: langfuse example
* tweak: edge cases
* feat: example cleanup
* feat: examples
* chore: gen
* feat: langfuse docs
* feat: extend docs
* fix: lint
* fix: disclaimer
* fix: start and end whitespace
* fix: rm langfuse for now
* fix: rm langfuse trace pic
* fix: ci config
2025-05-30 11:20:00 -04:00
Matt Kaye
c8f56e0872
Feat: Python SDK Documentation, Part I ( #1567 )
...
* feat: initial mkdocs setup
* chore: lock
* fix: config + start getting docs working
* fix: remove lots more redundant :type docs, update config more
* feat: split up clients
* feat: add pydoclint
* fix: rm defaults from docstrings
* fix: pydoclint errors
* feat: run pydoclint in ci
* fix: lint on 3.13
* debug: try explicit config path
* fix: ignore venv
* feat: index, styling
* fix: rm footer
* fix: more style tweaks
* feat: generated docs
* fix: refactor a bit
* fix: regen
* Revert "fix: regen"
This reverts commit 7f66adc77840ad96d0eafe55c8dd467f71eb50fb.
* feat: improve prompting
* feat: add docs, modify theme config to enable toc for docs
* fix: lint
* fix: lint
* feat: regenerate
* feat: bs4 for html parsing
* feat: preview correctly
* fix: exclude site subdir from all the linters
* refactor: break up script into components
* feat: remove a bunch more stuff from the html
* feat: prettier, enable toc
* fix: enable tocs in more places + sort properly
* fix: code blocks, ordering
* fix: ordering
* feat: finish up feature clients
* fix: rm unused deps
* fix: routing + property tags + sidebar
* fix: hatchet client + formatting
* fix: allow selecting single set of files
* fix: lint
* rm: cruft
* fix: naming
* fix: runs client attrs
* fix: rm cruft page
* feat: internal linking + top level description
* [Python]: Fixing some more issues (#1573 )
* fix: pass priority through from the task
* fix: improve eof handling slightly
* chore: version
* fix: improve eof handling
* fix: send prio from durable
* fix: naming
* cleanup: use a variable
* chore: version
* feat: comment explaining page depth thing
* chore: bump ver
* feat: standalone docs
* fix: prompting + heading levels
2025-04-18 15:34:07 -04:00
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
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
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
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