All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
For pre-1.0 releases, see 0.0.35 Changelog
- Upgraded pydantic to 2.4.2 up from 1.X.
- Try to reduce error spam when file subscribe replies return inconsistent state events
- Programmatically adjust Space, Project, and Notebook/File visibility (e.g.
private
,open
,public
)
- Programmatically share access to Spaces, Projects, and Notebooks/Files by email and access level. E.g.
await api_client.share_file(file_id, email, 'viewer')
- Removed
RuntimeError
in RTUClient catastrophic failure, top level applications (e.g. PA, Origamist) should define that behavior
- Environ variable
NOTEABLE_RTU_URL
to override RTU websocket, primarily for when apps are running in-cluster with Gate and need to use the http vs websocket service DNS
- Move the code logic for discovering recent version id and downloading seed Notebook from
APIClient
toRTUClient
rtu_client_type
renamed toclient_creator_type
, now used both in RTU auth subscribe and when creating Files/ProjectsRTUClient
crashes if trying to instantiate with no file version id, which can happen after a Notebook has been changed from non-RTU mechanism
- CLI for downloading Notebooks and tailing a Notebook to see all RTU messages
- Modeling for RTU messages that were missing
variable_explorer_request
on Kernels channelappend_output_event
on Files channelv0_create_widget_model_event
on Files channel
- Configuration options for
APIClient
and e2e tests from env variables. UseNOTEABLE_TOKEN
andNOTEABLE_API_URL
withAPIClient
APIClient.get_file_versions
to list all versions of a file, including version id, version number, and presigned url to download content for that version- Updated docs for Origami 1.x syntax
- Raise a Runtime Error if trying to send a cell execute request when no Kernel is running
- This is technically handled fine within Noteable and the execute is queued until Kernel starts, but is an easy foot-gun for end users
- Optional output-for-LLM field in KernelOutput model
integrated_ai*
message models for thekernels
channel
- Create
RTUClient.kernel_pod_name
with the right suffix
rtu_client.update_cell_content
that takes cell id and a diff-match-patch patch str
- Temporary guard against invalid
rtu_client_type
names when initiatingAPIClient
origami.models.notebook.make_sql_cell
convenience function, returns aCodeCell
with appropriate metadatartu_client.change_cell_type
to switch between code, markdown, and sql cells
rtu_client.queue_execution
will always return a dict of {Future: cell_id}, even on single cell execution. Also guards against executing empty code cells
api_client.rtu_client
method renamed toapi_client.connect_realtime
, can acceptFile
model in addition tostr
/UUID
APIClient
andRTUClient
for HTTP and Websocket connections to Noteables API respectively- Discriminated-union Pydantic modeling for RTU and Delta payloads
- End-to-end tests to run against a Noteable deployment