Commit Graph
100 Commits
Author SHA1 Message Date
Nuno Campos f13cf5dc2c Update snapshot tests after core release 2024-07-11 17:06:12 -07:00
Nuno Campos 1e2682616f lib0.1.8 2024-07-11 17:03:56 -07:00
Nuno Campos 60763d4ddf lib 0.1.7 2024-07-10 14:44:07 -07:00
Nuno Campos 2354066c6d Format 2024-07-09 09:40:29 -07:00
Nuno Campos 4b564f69a8 Fix tests 2024-07-09 09:35:50 -07:00
Nuno Campos 94300877ee 0.1.5 2024-07-01 18:15:44 +01:00
Nuno Campos dfdb4d00ea Mark cancelled as seen 2024-07-01 18:12:37 +01:00
Nuno Campos 5b6c021d6a cli 0.1.47 2024-06-28 14:05:06 -07:00
Nuno Campos c326ad019d Skip bad pending sends 2024-06-28 08:59:26 -07:00
Nuno Campos 0db341e566 cli 0.1.45a1 2024-06-27 09:10:56 -07:00
Nuno Campos 1a58af81b3 lib 0.1.2 2024-06-26 16:25:34 -07:00
Nuno Campos 307c0cfe09 sdkpy 0.1.25 2024-06-26 15:31:57 -07:00
Nuno Campos 32e8a2dc50 sdk py 0.1.24 2024-06-26 14:45:12 -07:00
Nuno Campos 29a040dc21 cli 0.1.45a0 2024-06-26 11:55:03 -07:00
Nuno Campos fae97d9fba cli0.1.42 2024-06-26 09:37:25 -07:00
Nuno Campos cf2bda49a0 0.1.1 2024-06-21 18:15:39 -07:00
Nuno Campos 68164484eb Fix 2024-06-19 08:19:17 -07:00
Nuno Campos 5fe91c110d Update pypi info for each package 2024-06-19 08:15:58 -07:00
Nuno Campos e8dc9f0678 old py 2024-06-14 13:35:28 -07:00
Nuno Campos fe87c44da7 Add tests to ensure checkpointer errors are not swallowed 2024-06-14 13:32:21 -07:00
Nuno Campos 74b01a59e8 0.0.69 2024-06-14 11:59:11 -07:00
Nuno Campos 4ff56edc26 Update docstrings 2024-06-14 11:15:08 -07:00
Nuno Campos faebaac554 Add docstring 2024-06-14 11:14:28 -07:00
Nuno Campos 758d62fd22 Version all channel changes
- previously when channels were cleared via update([]) or consume() that would not bump the version
- that behavior is not compatible with checkpointers that store blobs separately, which join checkpoint and blobs using version
- now update() and consume() return bool to indicate if version should be bumped
- this also avoids bumping version when nothing changed
2024-06-14 11:10:11 -07:00
Nuno Campos 033c29f55a Support non-int versions, add tests for an example str version 2024-06-13 18:38:02 -07:00
Nuno Campos d98e90a13e Support float and str versions 2024-06-13 18:14:30 -07:00
Nuno Campos a8b14a4e04 Allow checkpointer to override logic that creates the next version for each channel 2024-06-13 17:49:18 -07:00
Nuno Campos 3f1e47d519 0.0.68 2024-06-13 16:18:18 -07:00
Nuno Campos 09c70d9eda py 3.9 2024-06-13 16:13:56 -07:00
Nuno Campos e88e246a73 Update core and add tests for cancellation of astream and astream_events v2 2024-06-13 16:12:01 -07:00
Nuno Campos 6db7f3b2b5 0.0.67 2024-06-13 09:29:03 -07:00
Nuno Campos b6cc30c6d4 Adjust default error policy
- Add information about the last exception to retry logging
- Add a few more exceptions to the list not retried by default
2024-06-13 09:23:01 -07:00
Nuno Campos 500a1abfeb 0.0.65 2024-06-07 10:06:58 -07:00
Nuno Campos ec0aa273fd Fix for update_state mistakenly resetting barrier channels
- This introduces a new optional method BaseChannel.consume, which gets called when a channel triggers a node
- This is an alternative place to clean up channel state, in addition to the existing pattern of clearing state in the update() call for the next step
- Channels should implement consume() when they want to clean up state exactly if and only if the channel triggered a node
- Channels should clean up state in update() when they instead need to guarantee their value is available for a single step, irrespective of whether it was actually read
2024-06-06 17:53:14 -07:00
Nuno Campos b8f39172a5 0.0.64 2024-06-05 17:20:22 -07:00
Nuno Campos 145e655c09 Fix 2024-06-05 17:17:21 -07:00
Nuno Campos d366bacf03 Expose filter arg in get_state_history
- Combine list and search methods in Checkpointer
2024-06-05 17:14:35 -07:00
Nuno Campos 052284f21d 0.0.63 2024-06-05 16:40:06 -07:00
Nuno Campos d2e98ae835 Fix spread 2024-06-05 16:38:01 -07:00
Nuno Campos 2b5d503906 Add sqlite test with emoji 2024-06-03 16:38:44 -07:00
Nuno Campos d418261996 0.0.62 2024-06-03 16:33:15 -07:00
Nuno Campos d22fe60d4c serde: Handle unicode issues when encoding
- any invalid utf-8 chars now removed on dumps
- fix serialization of Send
- remove serialization of NamedTuple, which doesn't work
- add test for custom serde passed to memory saver
- add test using Send and JsonPlus serde
2024-06-03 16:28:32 -07:00
Nuno Campos 8d038ac8ab Lint 2024-05-31 15:21:22 -07:00
Nuno Campos 823b4849a2 Fix serde 2024-05-31 15:20:16 -07:00
Nuno Campos a436e14fad Rename checkpoint var 2024-05-31 15:18:56 -07:00
Nuno Campos 5b5323b94f Rename Packet to Send 2024-05-31 15:17:22 -07:00
Nuno Campos 30e456be91 One more test, handle negative timeout 2024-05-31 15:13:07 -07:00
Nuno Campos 1fa327cb28 Lint 2024-05-31 14:48:35 -07:00
Nuno Campos ef3332ff74 Remove nested output for packet tasks 2024-05-31 14:46:56 -07:00
Nuno Campos 5ae9db83c7 Update ids in tests 2024-05-31 13:58:35 -07:00
Nuno Campos 0409d70d0c For stream_mode=updates (the default) stream the output of each node as soon as that node finishes
- currently output of all nodes is streamed only when all nodes in that step finish
- checkpoint/values stream chunks still yielded only at the end of the step, as they require applying all updates
2024-05-31 13:30:05 -07:00
Nuno Campos 9c513ee7e6 Lint 2024-05-31 13:23:04 -07:00
Nuno Campos 9fd459c7fc Update to use a single arg like other nodes 2024-05-31 13:19:29 -07:00
Nuno Campos 87de8df888 Add metadata to debug/checkpoint stream events
- reorganize checkpointing code to share code between input and step checkpoints
- do not emit debug/checkpoint events when there is no checkpointer attached
- emit debug/checkpoint event for input checkpoint as well
2024-05-30 17:39:28 -07:00
Nuno Campos ae9c5639f0 Lint 2024-05-30 17:01:21 -07:00
Nuno Campos 683fac83dc don't clear pending packets when just viewing 2024-05-30 17:00:35 -07:00
Nuno Campos dc9c7254e7 Passthrough additional keys from node to cond edge
- this can be used to eg inform what gets sent in packets, without needing to write them to state first
2024-05-30 16:59:08 -07:00
Nuno Campos b19c426a33 In state graph validate that all nodes either return None or write to one of the state keys 2024-05-30 16:41:14 -07:00
Nuno Campos fb9fdcd345 Lint 2024-05-30 16:09:29 -07:00
Nuno Campos 75f14cc06d Finish tests 2024-05-30 16:08:30 -07:00
Nuno Campos 7a1feb466b Implement map-reduce api for StateGraph/Pregel
- current Pregel primitive is pull-based, ie. nodes write to channels, and it's up to other nodes to subscribe to those channels to "pull" updates
- this adds a "push" primitive where a node can directly schedule a node (more than once if desired) for execution in the next step, with additional kwargs to be passed in. Nodes scheduled in this way get called with both the current state and any kwargs passed to Packet
2024-05-30 15:36:32 -07:00
Nuno Campos 7a2de5e369 WIP 2024-05-30 11:45:21 -07:00
Nuno Campos 02326d74bf WIP 2024-05-30 11:45:21 -07:00
Nuno Campos 423ab4fe8b 0.0.59 2024-05-30 11:28:37 -07:00
Nuno Campos d08182c2e0 Fix 2024-05-30 10:47:49 -07:00
Nuno Campos dd0c3102c8 Fix 2024-05-30 10:45:51 -07:00
Nuno Campos 2faf2ff9ec Bundle in uuid6 func due to install issues with uuid6 library 2024-05-30 10:42:44 -07:00
Nuno Campos 75a9c0a1ee 0.0.58 2024-05-30 08:45:37 -07:00
Nuno Campos d713f849f4 Lint 2024-05-30 08:42:07 -07:00
Nuno Campos e4c32248aa Support returning non-dict objects as state updates from nodes 2024-05-30 08:38:40 -07:00
Nuno Campos 86bc774b3d Lint 2024-05-30 08:08:21 -07:00
Nuno Campos 6e74415ec8 Add test for node decorated with traceable decorator 2024-05-30 08:04:48 -07:00
Nuno Campos 199b0b2d88 0.0.57 2024-05-29 18:23:29 -07:00
Nuno Campos e47a7adb3c Fix 2024-05-29 16:53:58 -07:00
Nuno Campos c3f68a6d7e Use the last annotation as the reducer 2024-05-29 16:47:39 -07:00
Nuno Campos 9dd7f9d7f2 0.0.55 2024-05-22 13:19:16 -07:00
Nuno Campos 51186ba66f Sort 2024-05-22 12:30:07 -07:00
Nuno Campos 24d130d407 Add support for requesting multiple stream modes in same stream/astream call 2024-05-22 12:25:28 -07:00
Nuno Campos 8b946af20f Add support and tests for using messagegraph checkpoints on a stategraph with 1 __root__ key other keys 2024-05-21 14:01:23 -07:00
Nuno Campos a65aa73d79 0.0.54 2024-05-21 12:54:48 -07:00
Nuno Campos e3a5870b0a 0.0.53 2024-05-20 17:59:41 -07:00
Nuno Campos c13741f9da Lint 2024-05-20 16:26:10 -07:00
Nuno Campos de71709fdc Expose checkpoint timestamp in get/update/list state methods 2024-05-20 16:23:46 -07:00
Nuno Campos 03bac7eeef 0.0.52 2024-05-20 14:40:46 -07:00
Nuno Campos 54454c9d58 Bump 2024-05-20 13:42:02 -07:00
Nuno Campos fa4f50c952 Add compat with stream_events v2 2024-05-20 13:39:28 -07:00
Nuno Campos d4b3364bba Raise error if cond edge returns None 2024-05-20 12:00:17 -07:00
Nuno Campos 02db4adeb7 0.0.51 2024-05-20 08:48:13 -07:00
Nuno Campos d63b15dc47 0.0.50 2024-05-17 15:37:58 -07:00
Nuno Campos 0416da05b6 Fix 2024-05-17 14:45:29 -07:00
Nuno Campos b7e2af6bd1 Update pyproject 2024-05-17 14:43:55 -07:00
Nuno Campos 695503a4d3 Update to langchain-core 0.2.0
- Use stream_events(version=v2) in tests
2024-05-17 14:38:51 -07:00
Nuno Campos 56c55e9521 Update core version range 2024-05-17 13:43:59 -07:00
Nuno Campos 53501f6aaf Lint 2024-05-16 16:00:19 -07:00
Nuno Campos a4e88e930f Disable retries by default 2024-05-16 15:59:45 -07:00
Nuno Campos 2414e0ab5e Add retry_policy for graphs
- default is to retry, fully configurable
- configuration options follow temporal https://docs.temporal.io/retry-policies#properties
2024-05-16 15:44:30 -07:00
Nuno Campos 6f888b6206 Add single arg overload for add_node, which takes function/runnable's name as the node name 2024-05-14 17:51:25 -07:00
Nuno Campos 52b2c755d7 Use uuid6 as the id for checkpoints
- this avoids conflicts if multiple processes creating checkpoints in same thread at same time
- uuid6 with a monotically increasing clock_seq is sortable by creation time at ms precision (plus clock_seq for ties, plus 48 bits of randomness for further ties)
2024-05-14 16:56:25 -07:00
Nuno Campos 77db7bf825 0.0.49 2024-05-14 16:32:33 -07:00
Nuno Campos a909d90b08 More small fixes following JS impl 2024-05-14 15:36:38 -07:00