- Importing papermill no longer manipulates
yaml.SafeLoader
globally - Parameters with leading
_
now have prefix_
stripped before passing to R kernels - A few documentation typos were fixed
- Parameters lists passing feature from 1.1.0 was removed due to cli api issues it caused.
- Piping papermill into nbconvert no longer triggers an encoding error on Python 2
- Added
BOTO3_ENDPOINT_URL
environment variable to override boto session url - stdout / stderr can now be streamed to a file via
--stdout-file /dev/stdout
and--stderr-file /dev/stderr
. - The CLI option
--not-report-mode
is now--no-report-mode
- GCFS connectors should now retry under all conditions that the upstream library defines as retryable. Papermill now uses the is_retryable method from the upstream dependency.
- Read content from stdin/to stdout when the path is
-
or a pipe. This allows for<generate input>... | papermill | ...<process output>
, withpapermill - -
being implied by the pipes. - The built-in
ADLHandler
for Azure Pipelines should now work properly again. - Many documentation improvements
- IPython is now lazily imported only when progress bars are needed.
- A MATLAB translator is now available for parameters being passed to MATLAB notebooks.
- Parameters lists can more easily be passed to the command line via:
-p name value1 value2 3 ...
which results in adding to notebooks a parameter list assignmentname = ["value1", "value2", 3]
.
- Cleaned up some dependency and build issues around pip 19 and pandas
execute_notebook
can now take notebook as strings instead of only as a pathkwargs
are now passed through the default engine to nbconvert's wrapper class- Passing dates through yaml as parameters will no longer raise an exception (i.e.
-y "a_date: 2019-01-01"
without having to quote ala-y "a_date: '2019-01-01'"
)
We made it to our 1.0 milestone goals! The largest change here is removal of record
, Notebook
, and NotebookCollection
abstractions which are now living in scrapbook and requirement of nbconvert 5.5 as a dependency.
- Input and output paths can now reference input parameters.
my_nb_{nb_type}.ipynb out_{nb_type}.ipynb -p nb_type test
will substitute values into the paths passed in with python format application patterns. read_notebook
,read_notebooks
,record
, anddisplay
api functions are now removed.- [upstream] ipywidgets are now supported. See nbconvert docs for details.
- [upstream] notebook executions which run out of memory no longer hang indefinitely when the kernel dies.
- Added a warning when no
parameter
tag is present but parameters are being passed - Replaced
retry
withtenacity
to help with conda builds and to use a non-abandoned library
DEPRECATION CHANGE The record, read_notebook, and read_notebooks functions are now officially deprecated and will be removed in papermill 1.0.
- scrapbook functionality is now deprecated
- gcsfs support is expanded to cover recent releases
- Addressed an issue with reading encoded notebook .ipynb files in python 3.5
- azure missing environment variable now has a better error message and only fails lazily
- gcs connector now has a backoff to respect service rate limits
INSTALL CHANGE The iorw extensions now use optional dependencies. This means that installation for s3, azure, and gcs connectors are added via:
pip install papermill[s3,azure,gcs]
or for all dependencies
pip install papermill[all]
- Optional IO extensions are now separated into different dependencies.
- Added gs:// optional dependency for google cloud storage support.
- null json fields in parmaeters now translate correctly to equivilent fields in each supported language
- tqdm dependencies are pinned to fetch a minimum version for auto tqdm
- Releases and versioning patterns were made easier
- Tox is now used to capture all test and build requirements
- Log level can now be set with
--log-level
- The working directory of papermill can be set with the
--cwd
option. This will set the executing context of the kernel but not impact input/output paths.papermill --cwd foo bar/input_nb.ipynb bar/output_nb.ipynb
would make the notebook able to reference files in thefoo
directoy without../foo
but still save the output notebook in thebar
directory. - Tox has been added for testing papermill. This makes it easier to catch linting and manifest issues without waiting for a failed Travis build.
- Fixed warnings for reading non-ipynb files
- Fixed
--report-mode
with parameters (and made it more compatible with JupyterLab) - Papermill execution progress bars now render within a notebook correctly after importing seaborn
- The
--prepare-only
option no longer requires that kernels be installed locally (you can parameterize a notebook without knowing how to execute it) - Azure IO adapter now correctly prefixes paths with the
adl://
scheme - Tests on OSX should pass again
- Install doc improvements
- Guide links are updated in the README
- Test docs updated for tox usage
- Injected parameter cells now respect
--report-mode
- Logging level is only set for logger through CLI commands
- Output and input paths can be automatically passed to notebooks with the
--inject-paths
option - Entrypoints have been added for registration of new
papermill.io
andpapermill.engine
plugins via setup files
- Fixed issue with azure blob io operations
- Added engines abstraction and command line argument
- Moved some nbconvert wrappers out of papermill
- Added Azure blob storage support
- Fixed botocore upgrade comptability issue (all version of boto now supported again)
- Removed whitelisted environment variable assignment
- Added support for Julia kernels
- Many improvements to README.md and documentation
- nbconvert dependency pinned to >= 5.3
- Improved error handling for missing directories
- Warnings added when an unexpected file extension is used
- Papermill version is visible to the CLI
- More messages us logging module now (and can be filtered accordingly)
- Binder link from README was greatly improved to demostrate papermill features
- Moved translator functions into registry
- Added development guide to help new contributors
- Travis, coverage, linting, and doc improvements
- Added support for Azure data lake sources
- Added python 3.7 testing
- Added output flushing for log-output option
- Upgraded executor to stream outputs during execution
- Fixed UTF-8 encoding issues for windows machines
- Added black code formatter rules (experimental)
- Contributors document added
- Added report-mode option for hiding inputs
- Release manifest fix
- Fixed scala int vs long assignment
- Pip 10 fixes
- iPython pin to circumvent upstream issue
- Added prepare-only flag for parameterizing without processing a notebook
- Fixed cell number display on failed output notebooks
- Added scala language support
- Changed CLI outputs from papermill messaging to stderr
- Changed IOResolvers to perseve ordering of definition in resolving paths
- Set click disable_unicode_literals_warning=True to disable unicode literals
- Added universal wheel support
- Test coverage for s3 improved
- Added start timeout option for slow booting kernels
- Added options around tqdm
- Fixed an S3 decoding issue
- ip_display improvements
- Docstring improvements
- Added type preservation for r and python parameters
- Massive test coverage improvements
- Codebase style pass