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.
- Remove use of
NoteableKernelManager
to reduce unnecessary abstractions
- Fix
AttributeError
on trying to fetchNoteableClient.file_session_cache
which has been removed. Determine kernels channel id from file_id instead.
- Allow any version of
noteable-origami
to be installed with this library
- Fix run_sync AssertionError by making async_interrupt_kernel actually async
- Upgrade noteable-origami to 0.0.24
- Upgrade noteable-origami to 0.0.23
- Upgrade noteable-origami to 0.0.22
NoteableEngine
accepts new kwargoverride_progress_bar
to override the default progress bar and set thetqdm
instance to log tostdout
instead of the defaultstderr
.
- Upgrade noteable-origami to 0.0.21
- Upgraded noteable-origami to 0.0.19
- Upgraded noteable-origami to 0.0.18
- Catch exceptions on update cell and nb metadata
- Catch asyncio.exceptions.TimeoutError when updating notebook metadata over RTU
- Catch all HTTPStatusErrors when trying to delete the kernel session after successful execution
- Added back
asyncio.sleep
before connecting to Noteable (temporarily, until our API fix is deployed to prod)
- Changed dagster
SolidExecutionContext
toOpExecutionContext
- Upgraded dagstermill to
0.17.6
- Catch httpx.ReadTimeout error when trying to delete the kernel session -- if we're trying to delete the kernel session, it means the run has succeeded.
- Remove the asyncio.sleep right before setup_kernel, which was needed since we tried to RTU subscribe to a file as soon as the parameterized notebook was created.
- Remove the redundant subscribe_file call -- we already subscribe to the file when trying to launch a new kernel (in origami.client.NoteableClient.get_or_launch_kernel_session)
- Added prefect-jupyter dependency
- Mark job instance attempt failed when any uncaught exception is thrown (including connecting to the kernel)
- Added origami client call to delete the active kernel session after successful notebook execution
- Upgraded
noteable-client
to0.0.16
- Added API calls to update job instance attempt status during execution
- Upgrade
noteable-origami
to0.0.14
- Updated API references in origami from
types
todefs
- Add support for flyte
- Allow specifying
job_instance_attempt
in engine kwargs - Sync all papermill metadata to Noteable
- Add Noteable Dagster asset
- Sync outputs from Noteable into papermill
- Sync execution counts from cell state updates
- Add ability to parse Noteable https URLs to extract file id
- Hide applied parameters cell by default for dagster
- Remove dagstermill teardown cell
- Bump
noteable-origami
dependency to 0.0.6
execute_notebook
need not be passed in alogger
instance explicitly, it will use the module-level logger if one is not provided.- Skip executing empty code cells in
execute_notebook
to not get stuck waiting for the cell status update to come through - Check
result.state.is_error_state
instead ofresult.data.state.is_error_state
inexecute_notebook
due to corresponding changes innoteable-origami
- Ensure that
NoteableHandler
always has aNoteableClient
instance defined whenNoteableHandler.read
is called - Register
NoteableHandler
with schemenoteable://
as entrypoint inpyproject.toml
- Add callbacks to set kernel error outputs from Noteable into papermill
- Adds ability for papermill engine to automatically generate a NoteableClient
- Improved readme instructions
- Fix python 3.8 compatibility for
removeprefix
- Support for dagstermill
- Publish package to PyPI
- Initial setup