Mohammed Nafees
07124bd154
all python async
2026-03-16 13:13:01 +01:00
Mohammed Nafees
b6df036c97
cron runs docs changes
2026-03-13 12:44:11 +01:00
Mohammed Nafees
3bd3a014bd
gif again
2026-03-12 23:03:45 +01:00
Mohammed Nafees
cd2c02ee47
scheduled runs changes
2026-03-12 21:19:22 +01:00
matt
609ec0a10e
[Python] Fix: Lifespan not shutting down properly on worker drain ( #3175 )
...
* fix: wait for in-flight tasks to complete before running lifespan shutdown
* feat: add test
* chore: version
* fix: add wait for tasks in deprecated / legacy mode too
* fix: wrong spot
2026-03-06 12:50:03 -05:00
matt
6c29e48204
Feat: Dynamic worker label assign ( #3137 )
...
* feat: initial wiring work on desired labels
* feat: initial wiring
* chore: gen python
* fix: use the whole desired label thing instead
* fix: more wiring, improve types
* fix: sql type
* fix: len check
* chore: gen python
* fix: initial plural label work
* fix: store the labels properly on the task
* fix: skip cache on override
* fix: bug
* fix: scoping bug whoops
* chore: lint
* fix: send labels back over the api correctly
* feat: python test
* fix: lint
* fix: comment
* fix: override
* fix: namespaces, ugh
* fix: no need for error here
* chore: version
* feat: ruby, go, ts
* feat: versions
* fix: appease the rubocop
* chore: lint
* chore: bundle install
* fix: tests
* chore: lint
* chore: lint more
* fix: ts test
* fix: rb
* chore: gen
* chore: reset gemfile
* chore: reset changelog
* fix: pgroup
* fix: tests, part i
* Revert "chore: reset changelog"
This reverts commit b63bf7d3e5 .
* Revert "chore: reset gemfile"
This reverts commit bb848bb6f0 .
* fix: go -> golang mapping hack
* fix: go enums
* fix: appease the cop
* fix: namespace
* chore: gen
2026-03-04 11:03:58 -05:00
Gabe Ruttner
8796d0ab7d
chore: update dependencies for dependabot alerts ( #3119 )
...
* chore: update dependencies for dependabot alerts
* chore: bump main deps instead
* release: bump versions
* chore: bump gem
* chore: update hatchet-sdk to version 0.1.1 in Gemfile.lock
2026-02-28 06:48:15 -08:00
matt
acc199a65c
chore: skip flaky tests ( #3110 )
2026-02-26 11:29:15 -05:00
Stefan
1f15da6d43
Fix: make python 3.12 type X = ... syntax work with dependency injection ( #2951 )
...
* fix: work with type syntax
* fix: one more instance of asyncio.iscoroutinefunction
* test: add tests for type alias with type syntax
* chore: remove type ignores
* chore: changelog + bump
2026-02-24 14:28:15 -08:00
matt
0cce1cfc04
Revert: Cancellation token Python changes ( #3061 )
...
* revert: cancellation token changes
* fix: changelog
* fix: add note on yank
2026-02-19 12:41:43 -05:00
Gabe Ruttner
0a3ad9e3f7
Feat improved py cancellation ( #2965 )
...
* lint
* lint
* fix lockfile
* py test
* improved cancellation signaling
* feedback
* exit early
* cleanup
* cleanup
* rm unused
* chore: lint py
* Chore: Fix Python linters, regenerate (#2966 )
* chore: regenerate python
* chore: bump and pin linter versions
* chore: run the linters
* fix: replace deprecated `grpc-stubs` with `types-grpcio`
* chore: add some fixmes
* chore: fix grpc version
* fix: patched file import order
* lint
* revert: go whitespace
* chore: feedback round i
* chore: feedback ii
* chore: feedback
* chore: lint
* release: 1.25.0
* revert: worker to main
---------
Co-authored-by: matt <mrkaye97@gmail.com >
2026-02-17 07:16:59 -08:00
Gabe Ruttner
2fdc47a6af
feat: multiple slot types ( #2927 )
...
* feat: adds support for multiple slot types, primarily motivated by durable slots
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2026-02-17 05:43:47 -08:00
Mohammed Nafees
eefbcdc532
Return event ID after successful webhook trigger ( #3039 )
...
* return webhook event ID on successful receive
* fix pytest
* err handling for json unmarshal
* if clause
2026-02-16 18:36:51 +01:00
Rewant Goenka
06e0da50fa
docs: clarify minimal configuration required for Python quickstart ( #2898 )
...
* docs: clarify minimal configuration required for Python quickstart
* Update sdks/python/examples/quickstart/README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-13 18:47:37 -05:00
Jishnu
9e0182ec77
feat: add python and typescript webhook client ( #2959 )
...
* feat: add python webhook client
* refactor: python webhook client, webhook tests
* add: ts webhook client, example
* remove unwanted assert
* refactor: webhook update eventkey optional
* fix lint
* bump version
* fix: webhooks.create args, webhook example
* fix: infer auth_type from auth payload python
* fix: infer auth type from payload ts
* remove auth type magic strings
2026-02-13 14:04:08 -05:00
Stefan
f67a883bf5
fix: Don't skip errors with no message ( #2999 )
...
* fix: Don't skip errors with no message
* fix: code comments
* chore: test fix
* chore: bump
2026-02-13 11:23:19 -05:00
Gabe Ruttner
08021d9430
fix: more power for tests
2026-02-12 10:28:16 -05:00
Gabe Ruttner
0ed29bc480
fix: more power for tests
2026-02-12 10:26:25 -05:00
Gabe Ruttner
4054d170d8
chore: proto naming conventions ( #2913 )
...
* fix: add type override in sqlc.yaml
* chore: gen sqlc
* chore: big find and replace
* chore: more
* fix: clean up bunch of outdated `.Valid` refs
* refactor: remove `sqlchelpers.uuidFromStr()` in favor of `uuid.MustParse()`
* refactor: remove uuidToStr
* fix: lint
* fix: use pointers for null uuids
* chore: clean up more null pointers
* chore: clean up a bunch more
* fix: couple more
* fix: some types on the api
* fix: incorrectly non-null param
* fix: more nullable params
* fix: more refs
* refactor: start replacing tenant id strings with uuids
* refactor: more tenant id uuid casting
* refactor: fix a bunch more
* refactor: more
* refactor: more
* refactor: is that all of them?!
* fix: panic
* fix: rm scans
* fix: unwind some broken things
* chore: tests
* fix: rebase issues
* fix: more tests
* fix: nil checks
* Refactor: Make all UUIDs into `uuid.UUID` (#2897 )
* refactor: remove a bunch more string uuids
* refactor: pointers and lists
* refactor: fix all the refs
* refactor: fix a few more
* fix: config loader
* fix: revert some changes
* fix: tests
* fix: test
* chore: proto
* fix: durable listener
* fix: some more string types
* fix: python health worker sleep
* fix: remove a bunch of `MustParse`s from the various gRPC servers
* fix: rm more uuid.MustParse calls
* fix: rm mustparse from api
* fix: test
* fix: merge issues
* fix: handle a bunch more uses of `MustParse` everywhere
* fix: nil id for worker label
* fix: more casting in the oss
* fix: more id parsing
* fix: stringify jwt opt
* fix: couple more bugs in untyped calls
* fix: more types
* fix: broken test
* refactor: implement `GetKeyUuid`
* cleanup
* gen
* missed name
* slot naming consistency
* snake_case
* lint
* regenerate python
* typescript sdk
* deprecated getters
* lint
* fix tests
* version bumps
* chore: regen sqlc
* chore: replace pgtype.UUID again
* fix: bunch more type errors
* no compat
* fix: remove isort
* note
* Update sdks/python/CHANGELOG.md
Co-authored-by: matt <mrkaye97@gmail.com >
* feedback
* fix: no isort in ci
* tui
* ts lint
* lint
* weird undefined
* fix test
* last changes
* lint
* fix: ts child spawning
* consistent naming
* map fields
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2026-02-05 10:35:13 -08:00
Jishnu
ed43cae0a2
feat: Extend webhook support for scope_expression and payload ( #2874 )
...
* add: scope_expression and payload columns for v1_webhook
* refactor: insert or update sql cmds for v1_webhook
* feat: update api clients, openapi schema for new webhook body
* refactor: receiver and transformer for v1 webhook
* add: python sdk changes
* feat: ts sdk changes
* feat: add FE for webhook new params
* fix: scope expression empty payload
* add: support for scope and payload for go client
* fix: lint
* fix: error message UI on webhook
* fix: lint
* fix: migraiton conflict, build failure
* fix: error handling
* update docs, add tests
* fix: lint, test file name
2026-02-04 12:44:52 -05:00
Jishnu
de1ffedf1e
Fix: Invalid OTel exporter in python example, add schedule_workflow unwrap ( #2852 )
...
* fix: invalid oltp exporter in python example
* fix: add unwrap for schedule workflow
* Revert "fix: add unwrap for schedule workflow"
This reverts commit e7da2dbd1c .
* add unwrap for schedule workflow
* chore: update ts version, edit py otel doc example
* chore: update python sdk version, changelog, add TS changelog
* fix: lint
2026-01-26 13:39:19 -05:00
Gabe Ruttner
622e2d9db9
updates ( #2827 )
2026-01-21 09:32:21 -08:00
Stefan
b83957e7be
feat: add sentinel to pydantic de/serialization ( #2800 )
...
* feat: add sentinel to pydantic de/serialization
* feat: more pydantic context
* fix: one more missing context
* chore: refactor, add example
* chore: remove duplicate file
* chore: add test for serialization
* chore: changelog + bump
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
2026-01-19 07:43:36 -05:00
matt
ebe2f9acfd
Feat: Add additional meta to the run detail getter ( #2770 )
...
* feat: add additional meta to proto
* feat: propagate metadata
* feat: expand test
* fix: wiring
* chore: version
* chore: lint
2026-01-12 13:46:16 -05:00
matt
73229b0e21
Feat: Run detail getter on the engine ( #2725 )
...
* feat: initial rpc
* chore: gen python
* feat: add more fields
* chore: gen again
* fix: finish cleaning up python
* feat: start wiring up api
* fix: panic
* feat: start implementing getters
* fix: improve api
* feat: expand return type a bit
* feat: more wiring
* feat: more wiring
* fix: finish wiring up input reads
* fix: admin client cleanup
* fix: ordering
* fix: add all_finished param
* feat: wire up all finished
* fix: propagate allfinished
* fix: propagate external ids
* chore: gen protos again
* fix: one more thing
* chore: rename
* chore: rename
* chore: fix typing
* fix: cleanup
* feat: add queued default
* fix: wiring
* feat: running check
* fix: query
* chore: rm print
* fix: edge case handling
* feat: python test
* feat: add `done` field
* feat: pass `done` through
* fix: test done flag
* fix: cleanup
* fix: handle cancelled
* refactor: clean up implementations of status handling
* fix: feedback
* fix: done logic
* fix: export run status
* fix: couple small bugs
* fix: handle done
* fix: properly extract input
* fix: bug with sequential dags
* refactor: improve performance of lookup query slightly
* refactor: add helpers on V1StepRunData for getting input + parsing bytes
* refactor: create listutils internal package
* refactor: status derivation
* fix: rm unused method
* fix: sqlcv1 import
* fix: error log
* fix: 404 on not found
* feat: changelog, async method
2026-01-08 12:44:01 -05:00
matt
832378e8e1
[Python]: Improved exception logging, cron aliases, flaky test fix ( #2735 )
...
* fix: info log
* feat: allow cron aliases
* chore: changelog, version
* fix: flaky test
* fix: lint
2025-12-31 08:39:11 -07:00
matt
786d83b3ea
[Python]: Feat: DI Improvements, Configurable Retry Logic, Improved Error Handling ( #2629 )
...
* fix: pull tenacity inside of methods
* feat: configurable tenacity
* fix: loop instantiation
* feat: first pass at context manager dependencies
* feat: extend di tests
* chore: lint
* fix: type
* fix: change the type signature
* feat: dependency chaining
* feat: implement nice errors for sync listener
* chore: lint
* chore: version, changelog
* fix: don't catch errors
* fix: tenacity for api retries
* feat: first pass at typeadapter validation
* refactor: clean up a bit
* fix: backwards compat
* fix: empty dict breaking change
* fix: types
* feat: test for dict inputs
* feat: integer concurrency
* chore: changelog
* fix: copilot
* fix: chained context manager bug
* chore: lint
* refactor: factor out dependency evaluation
2025-12-26 09:31:19 -07:00
Gabe Ruttner
51464917f7
Feat: bulk management schedules ( #2687 )
...
* fix: filter + pagination state handling hack
* fix: use location.pathname
* update to go 1.25
* fix: add version to sdk-go.yml
* schedule run bulk actions
* lint
* typescript
* python
* lint
* docs
* lint docs
* lint
* feedback
* fix lint
* rm unused chunk
* rm statues
* i dont understand python linting sometimes
---------
Co-authored-by: mrkaye97 <mrkaye97@gmail.com >
Co-authored-by: Alexander Belanger <alexander@hatchet.run >
2025-12-23 07:44:12 -08:00
matt
25776624ea
Docs: Dataclasses ( #2488 )
...
* feat: dataclass docs
* fix: add min version
2025-11-06 16:04:39 +01:00
matt
4518ff771c
[Python] Feat: Dataclass Support ( #2476 )
...
* fix: prevent lifespan error from hanging worker
* fix: handle cleanup
* feat: dataclass outputs
* feat: dataclasses
* feat: incremental dataclass work
* feat: dataclass tests
* fix: lint
* fix: register wf
* fix: ugh
* chore: changelog
* fix: validation issue
* fix: none check
* fix: lint
* fix: error type
2025-11-01 00:27:28 +01:00
matt
c6e154fd03
Feat: OLAP Payloads ( #2410 )
...
* feat: olap payloads table
* feat: olap queue messages for payload puts
* feat: wire up writes on task write
* driveby: add + ignore psql-connect
* fix: down migration
* fix: use external id for pk
* fix: insert query
* fix: more external ids
* fix: bit more cleanup
* feat: dags
* fix: the rest of the refs
* fix: placeholder uuid
* fix: write external ids
* feat: wire up messages over the queue
* fix: panic
* Revert "fix: panic"
This reverts commit c0adccf2ea .
* Revert "feat: wire up messages over the queue"
This reverts commit 36f425f3c1 .
* fix: rm unused method
* fix: rm more
* fix: rm cruft
* feat: wire up failures
* feat: start wiring up completed events
* fix: more wiring
* fix: finish wiring up completed event payloads
* fix: lint
* feat: start wiring up external ids in the core
* feat: olap pub
* fix: add returning
* fix: wiring
* debug: log lines for pubs
* fix: external id writes
* Revert "debug: log lines for pubs"
This reverts commit fe430840bd .
* fix: rm sample
* debug: rm pub buffer param
* Revert "debug: rm pub buffer param"
This reverts commit b42a5cacbb .
* debug: stuck queries
* debug: more logs
* debug: yet more logs
* fix: rename BulkRetrieve -> Retrieve
* chore: lint
* fix: naming
* fix: conn leak in putpayloads
* fix: revert debug
* Revert "debug: more logs"
This reverts commit 95da7de64f .
* Revert "debug: stuck queries"
This reverts commit 8fda64adc4 .
* feat: improve getters, olap getter
* fix: key type
* feat: first pass at pulling olap payloads from the payload store
* fix: start fixing bugs
* fix: start reworking `includePayloads` param
* fix: include payloads wiring
* feat: analyze for payloads
* fix: simplify writes more + write event payloads
* feat: read out event payloads
* feat: env vars for dual writes
* refactor: clean up task prop drilling a bit
* feat: add include payloads params to python for tests
* fix: tx commit
* fix: dual writes
* fix: not null constraint
* fix: one more
* debug: logging
* fix: more debugging, tweak function sig
* fix: function sig
* fix: refs
* debug: more logging
* debug: more logging
* debug: fix condition
* debug: overwrite properly
* fix: revert debug
* fix: rm more drilling
* fix: comments
* fix: partitioning jobs
* chore: ver
* fix: bug, docs
* hack: dummy id and inserted at for payload offloads
* fix: bug
* fix: no need to handle offloads for task event data
* hack: jitter + current ts
* fix: short circuit
* fix: offload payloads in a tx
* fix: uncomment sampling
* fix: don't offload if external store is disabled
* chore: gen sqlc
* fix: migration
* fix: start reworking types
* fix: couple more
* fix: rm unused code
* fix: drill includePayloads down again
* fix: silence annoying error in some cases
* fix: always store payloads
* debug: use workflow run id for input
* fix: improve logging
* debug: logging on retrieve
* debug: task input
* fix: use correct field
* debug: write even null payloads to limit errors
* debug: hide error lines
* fix: quieting more errors
* fix: duplicate example names, remove print lines
* debug: add logging for olap event writes
* hack: immediate event offloads and cutovers
* fix: rm log line
* fix: import
* fix: short circuit events
* fix: duped names
2025-10-20 09:09:49 -04:00
matt
35b97be825
[Python]: Pytest improvements ( #2348 )
...
* feat: try running in parallel in CI
* fix: simplify
* feat: add task
* fix: increase retry delay
2025-09-26 11:47:34 -04:00
matt
8b8ded655d
Fix: Update payload properly on replay ( #2317 )
...
* fix: overwrite payloads when task is in an initially e.g. cancelled state
* fix: add distinct to payload writes to limit conflict resolution
* feat: first pass at test
* fix: tenant in warning
* fix: lint, more assertions
* fix: bug
* fix: my pet peeve
2025-09-18 20:42:39 -04:00
matt
3ebf76b638
Fix: Event filtering edge case ( #2311 )
...
* fix: bugs in python tests + extend them to assert more
* fix: bug
* chore: lint
* fix: typo
* fix: longer timeout
* debug: more iterations
* debug: try fixing test again
* fix: allocate memory initially
2025-09-18 09:48:01 -04:00
matt
93454d6e75
Fix: More doc snippets ( #2267 )
...
* fix: batch i
* fix: batch ii
* fix: batch iii
* fix: batch iv
* fix: batch v
* fix: guide
* fix: batch vi
* fix: batch vii
* fix: dag docs
* fix: separate dag tasks
2025-09-09 15:37:20 -04:00
matt
4a50e454a6
Fix: Python docs examples ( #2255 )
...
* feat: client example
* fix: batch i
* fix: batch ii
* fix: batch iii
* fix: batch iv
2025-09-05 15:08:23 -04:00
matt
cf0aa21623
[Python]: Enable force kill on sigterm for hot reloading, stub workflow + task ( #2197 )
...
* feat: exit forcefully
* fix: handler, ver
* chore: lint
* feat: stubs client
* fix: more overloads
* chore: version
* chore: changelog
* feat: example of stubs
* feat: comment
* fix: add dedenting
* fix: snippet for running external tasks
2025-08-26 15:22:46 -04:00
matt
f8e5f357d9
Fix: More examples / snippets fixes + rework ( #2150 )
...
* feat: start reworking snippets
* feat: start cleaning up gen script
* fix: start updating refs everywhere
* feat: start fixing broken snippet links
* fix: more snippets
* fix: more updates
* chore: lint
* fix: taskfile
* fix: script
* fix: escaping issue + mergent blog
* fix: bunch more
* chore: lint
* fix: implement more of them
* fix: retry
* fix: the rest
* chore: lint
* fix: highlight
* fix: ugh
* fix: start removing dead code from old snippet method
* fix: rest of the refs
* fix: remove all of the rest of the <GithubSnippet uses
* fix: couple more
* fix: last few errors
* fix: handle example writes
* fix: delete to test update
* fix: CI, attempt 1
* feat: helpful error on no snippet
* fix: lint
* chore: rm unused js file
* feat: improve GHA
* debug: run action on branch
* fix: rm pnpm
* fix: try to leave comment instead
* fix: don't run on branch
* fix: factor out GH info
* fix: include code path
* fix: ts
2025-08-17 10:22:16 -05:00
matt
82c9d2d17c
Fix: Deadlocking on DAG concurrency ( #2111 )
...
* debug: try fixing lock order
* fix: single `FOR UPDATE`
* fix: raw sql
* fix: explicit case handling
* fix: cancel in progress
* fix: query bugs
* fix: one more
* feat: cancel newest
* feat: test for cancel in progress
2025-08-14 15:21:24 -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
d6f8be2c0f
Feat: OLAP Table for CEL Eval Failures ( #2012 )
...
* feat: add table, wire up partitioning
* feat: wire failures into the OLAP db from rabbit
* feat: bubble failures up to controller
* fix: naming
* fix: hack around enum type
* fix: typo
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: typos
* fix: migration name
* feat: log debug failure
* feat: pub message from debug endpoint to log failure
* fix: error handling
* fix: use ingestor
* fix: olap suffix
* fix: pass source through
* fix: dont log ingest failure
* fix: rm debug as enum opt
* chore: gen
* Feat: Webhooks (#1978 )
* feat: migration + go gen
* feat: non unique source name
* feat: api types
* fix: rm cruft
* feat: initial api for webhooks
* feat: handle encryption of incoming keys
* fix: nil pointer errors
* fix: import
* feat: add endpoint for incoming webhooks
* fix: naming
* feat: start wiring up basic auth
* feat: wire up cel event parsing
* feat: implement authentication
* fix: hack for plain text content
* feat: add source to enum
* feat: add source name enum
* feat: db source name enum fix
* fix: use source name enums
* feat: nest sources
* feat: first pass at stripe
* fix: clean up source name passing
* fix: use unique name for webhook
* feat: populator test
* fix: null values
* fix: ordering
* fix: rm unnecessary index
* fix: validation
* feat: validation on create
* fix: lint
* fix: naming
* feat: wire triggering webhook name through to events table
* feat: cleanup + python gen + e2e test for basic auth
* feat: query to insert webhook validation errors
* refactor: auth handler
* fix: naming
* refactor: validation errors, part II
* feat: wire up writes through olap
* fix: linting, fallthrough case
* fix: validation
* feat: tests for failure cases for basic auth
* feat: expand tests
* fix: correctly return 404 out of task getter
* chore: generated stuff
* fix: rm cruft
* fix: longer sleep
* debug: print name + events to logs
* feat: limit to N
* feat: add limit env var
* debug: ci test
* fix: apply namespaces to keys
* fix: namespacing, part ii
* fix: sdk config
* fix: handle prefixing
* feat: handle partitioning logic
* chore: gen
* feat: add webhook limit
* feat: wire up limits
* fix: gen
* fix: reverse order of generic fallthrough
* fix: comment for potential unexpected behavior
* fix: add check constraints, improve error handling
* chore: gen
* chore: gen
* fix: improve naming
* feat: scaffold webhooks page
* feat: sidebar
* feat: first pass at page
* feat: improve feedback on UI
* feat: initial work on create modal
* feat: change default to basic
* fix: openapi spec discriminated union
* fix: go side
* feat: start wiring up placeholders for stripe and github
* feat: pre-populated fields for Stripe + Github
* feat: add name section
* feat: copy improvements, show URL
* feat: UI cleanup
* fix: check if tenant populator errors
* feat: add comments
* chore: gen again
* fix: default name
* fix: styling
* fix: improve stripe header processing
* feat: docs, part 1
* fix: lint
* fix: migration order
* feat: implement rate limit per-webhook
* feat: comment
* feat: clean up docs
* chore: gen
* fix: migration versions
* fix: olap naming
* fix: partitions
* chore: gen
* feat: store webhook cel eval failures properly
* fix: pk order
* fix: auth tweaks, move fetches out of populator
* fix: pgtype.Text instead of string pointer
* chore: gen
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-30 13:27:38 -04:00
matt
cca0999eea
[Python]: Fixing logging bugs, fixing duped sleep key bug ( #2040 )
...
* feat: add flag to disable log capture
* fix: sleep bug with duped key
* fix: allow formatters to be passed through
* feat: support filters too
* fix: cruft
* chore: gen
* feat: changelog
* fix: lint
* [Python] Fix: Don't retry gRPC requests on 4xx (#2024 )
* fix: dont retry on 4xx
* chore: ver
* fix: sleep conditions with index
* fix: bug in sleep conditions
* chore: gen
2025-07-23 15:15:31 -04:00
matt
7295254bfa
Fix: filter lookup not retaining scope information ( #2036 )
...
* fix: filter lookup not retaining scope information
* fix: copilot suggestion
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: add DISTINCT to filter query
* fix: struct deduping
* feat: test
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-22 11:59:34 +02:00
Matt Kaye
f1f276f6dc
Feat: Python task unit tests ( #1990 )
...
* feat: add mock run methods for tasks
* feat: docs
* feat: first pass at unit tests
* cleanup: split out tests
* feat: pass lifespan through
* fix: rm comment
* drive by: retry on 404 to help with races
* chore: changelog
* chore: ver
* feat: improve logging everywhere
* chore: changelog
* fix: rm print cruft
* feat: print statement linter
* feat: helper for getting result of a standalone
* feat: docs for mock run
* feat: add task run getter
* feat: propagate additional metadata properly
* chore: gen
* fix: date
* chore: gen
* feat: return exceptions
* chore: gen
* chore: changelog
* feat: tests + gen again
* fix: rm print cruft
2025-07-17 13:54:40 -04:00
Matt Kaye
2cfb345dcf
Feat: Handle unicode error, fix OTel error capturing ( #1959 )
...
* feat: raise illegal task output error out of the runner if we get a null unicode escape sequence
* feat: add helper for sanitizing outputs
* feat: improve error
* fix: lock index
* feat: use async stream method in example
* chore: ver
* chore: changelog
* fix: turns out we don't need to lock
* fix: return exception for instrumentation
* chore: changelog
* chore: bunch of generated crap
* fix: comment placement
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-09 14:18:41 -04:00
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
7679732b15
Fix: Skipping conditions with multiple parents ( #1948 )
...
* fix: skipping bug
* fix: move `waits` -> `conditions`
* fix: refs
* chore: ver
* feat: add skipped task to test
* feat: start implementing or groups in wait for
* feat: test of or groups on durable context
* fix: lint
* chore: gen
* fix: lint
* fix: branching hell
2025-07-03 16:50:57 -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
Matt Kaye
a73e34cd92
Feat: Batched replays ( #1860 )
...
* feat: batched replays
* fix: add some comments
* feat: e2e test for bulk replays
* chore: gen
* fix: improving tests a bit
* fix: copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* chore: gen
* fix: tag
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-13 13:47:50 -04:00