Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
1d2aa8b
Enable shared-core's sessions storage (feature sql)
igalshilman Nov 4, 2026
a69a152
Add the restate.sessions and restate.agents packages, empty
igalshilman Nov 4, 2026
3dfdd4c
Bind shared-core's sql::Database to Python, for restate.sessions
igalshilman Nov 4, 2026
fdb9e6f
Add the selector: one loop for an invocation's concurrent waits
igalshilman Nov 4, 2026
6449697
Add the schema and the calls of session objects
igalshilman Nov 4, 2026
c794d5c
Add session objects: restate.sessions.SessionObject
igalshilman Nov 4, 2026
fbbcb28
Let @obj.handler and @obj.view decorate bare, without parentheses
igalshilman Nov 4, 2026
fa928f8
Fixes from a self-review of the sessions code
igalshilman Nov 4, 2026
6602f80
Run the database on the loop's thread, and write to the VM directly
igalshilman Nov 4, 2026
975d2b9
Run the real-server session tests on both stores
igalshilman Nov 4, 2026
dfaa339
Explicit cancellation for session handlers
igalshilman Nov 4, 2026
6cd1175
Fix from a self-review: sessions.cancelled ends cancelled, not failed
igalshilman Nov 4, 2026
06656ef
Type restate.sessions strictly, and lint it with more rules
igalshilman Nov 4, 2026
fae4abc
Lint the native extension in just verify, and so in CI
igalshilman Nov 4, 2026
74d448c
Clean restate.sessions under basedpyright, and report deprecations
igalshilman Nov 4, 2026
e8d7939
Separate restate.sessions' API from its implementation, as protocols
igalshilman Nov 4, 2026
c89c303
Add attempt scopes, served dependencies, and restate.sessions.internal
igalshilman Nov 4, 2026
c0fb67c
restate.agents: the conversation's types, Transcript, and its log
igalshilman Nov 4, 2026
ebd96dd
restate.agents: the companion object, signals
igalshilman Nov 4, 2026
f3a06ae
Type the companion tests' arguments for mypy
igalshilman Nov 4, 2026
973b1a8
restate.agents: AgentObject and its chat turns
igalshilman Nov 4, 2026
1ae3731
restate.agents: tools, and the package's API
igalshilman Nov 4, 2026
a8726f3
Keep the ASGI server's SIGTERM handler when the endpoint adds its own
igalshilman Nov 4, 2026
b263b01
examples-agents: the wallet tutorial (01-08) and notes, and sessions.…
igalshilman Nov 4, 2026
90460d3
sessions.serve runs on uvicorn's HTTP/2, the serve extra
igalshilman Nov 4, 2026
e0bb106
Fit main's Cloud connection: its native names in the stub, quiet fake…
igalshilman Nov 4, 2026
f27f1bd
Session objects preload only their database's head
igalshilman Nov 4, 2026
1840b96
restate.agents.langgraph: SqlCheckpointSaver, LangGraph's checkpoints…
igalshilman Nov 4, 2026
5d692dd
restate.agents.langgraph: agents, chat turns and prompts on LangGraph
igalshilman Nov 4, 2026
b1d3a09
restate.agents.langgraph: keyword arguments, options as functions of ctx
igalshilman Nov 4, 2026
bd3255e
restate.agents.pydantic_ai: Pydantic AI agents, their conversation in…
igalshilman Nov 4, 2026
526acf6
Review fixes: catchable SqlError, early refusals, clear errors
igalshilman Nov 4, 2026
f6784d7
restate.sessions: flat calls and sends, ctx.call(handler, arg, key=...)
igalshilman Nov 4, 2026
248b1b9
restate.agents: a smaller namespace; wait_for_signal, PerSession
igalshilman Nov 4, 2026
53b90a3
restate.sessions: migrations= and Migration, for what schema= was
igalshilman Nov 4, 2026
1b0e7cc
Untrack a .DS_Store committed by mistake, and ignore them
igalshilman Nov 4, 2026
9d5c0fe
restate.agents: the default model comes from RESTATE_AGENT_MODEL
igalshilman Nov 4, 2026
f38d0e4
Docstrings in plain English, PEP 257 and Google style; README for new…
igalshilman Nov 4, 2026
c1766c0
restate.agents: refuse a built-in name at once; send's text names the…
igalshilman Nov 4, 2026
98b1383
Take the SIGTERM chaining out of this branch, for a PR of its own
igalshilman Nov 4, 2026
b5d1ff9
restate.sessions: pass explicit_recovery and explicit_cancellation as…
igalshilman Nov 4, 2026
3e18050
CI: check the SDK as an ordinary user installs it, without extras
igalshilman Nov 4, 2026
ebfe66f
restate.serve replaces sessions.serve
igalshilman Nov 4, 2026
af790b3
Review fixes: a selector stall, a stale sync page, a re-asked answer,…
igalshilman Nov 4, 2026
226a649
tests/examples_agents.py: start Restate before choosing the example's…
igalshilman Nov 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,28 @@ jobs:
run: just build
- name: Verify
run: just verify

no-extras:
# An ordinary user's install, `pip install restate-sdk`: no new dependencies, and the optional parts
# (restate.sessions' server, restate.agents' integrations) fail only when used, naming their extra.
name: "Install without extras (Python ${{ matrix.python }})"
runs-on: warp-ubuntu-latest-x64-4x
strategy:
matrix:
python: [ "3.10", "3.14" ]
env:
UV_PYTHON: ${{ matrix.python }}
steps:
- uses: actions/checkout@v4.4.0
- uses: astral-sh/setup-uv@v5.4.2
with:
enable-cache: true
- name: Build the wheel
run: uv build --wheel --out-dir dist
- name: Install it alone into a fresh environment
run: |
uv venv /tmp/plain
uv pip install --python /tmp/plain/bin/python dist/restate_sdk-*.whl
- name: Check it as an ordinary user gets it
working-directory: /tmp
run: /tmp/plain/bin/python -I "$GITHUB_WORKSPACE/scripts/check_no_extras.py"
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,6 @@ restate-data
# Test reports, test suite
test-services/test_report/
restate-sdk-test-suite.jar

# macOS
.DS_Store
Loading
Loading