%global _empty_manifest_terminate_build 0 Name: python-papermill Version: 2.4.0 Release: 1 Summary: Parametrize and run Jupyter and nteract Notebooks License: BSD URL: https://github.com/nteract/papermill Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b8/c9/56294fddb4b19b074fece0c277cbe9159501d7bb2e143f477e6d776342ae/papermill-2.4.0.tar.gz BuildArch: noarch Requires: python3-ansiwrap Requires: python3-click Requires: python3-pyyaml Requires: python3-nbformat Requires: python3-nbclient Requires: python3-tqdm Requires: python3-requests Requires: python3-entrypoints Requires: python3-tenacity Requires: python3-boto3 Requires: python3-azure-datalake-store Requires: python3-azure-storage-blob Requires: python3-requests Requires: python3-gcsfs Requires: python3-pyarrow Requires: python3-black Requires: python3-azure-datalake-store Requires: python3-azure-storage-blob Requires: python3-requests Requires: python3-black Requires: python3-boto3 Requires: python3-botocore Requires: python3-codecov Requires: python3-coverage Requires: python3-google-compute-engine Requires: python3-ipython Requires: python3-ipywidgets Requires: python3-notebook Requires: python3-moto Requires: python3-pytest Requires: python3-pytest-cov Requires: python3-pytest-mock Requires: python3-pytest-env Requires: python3-requests Requires: python3-check-manifest Requires: python3-attrs Requires: python3-pre-commit Requires: python3-flake8 Requires: python3-tox Requires: python3-bumpversion Requires: python3-recommonmark Requires: python3-pip Requires: python3-wheel Requires: python3-setuptools Requires: python3-twine Requires: python3-azure-datalake-store Requires: python3-azure-storage-blob Requires: python3-gcsfs Requires: python3-pyarrow Requires: python3-black Requires: python3-gcsfs Requires: python3-PyGithub Requires: python3-pyarrow Requires: python3-boto3 Requires: python3-boto3 Requires: python3-botocore Requires: python3-codecov Requires: python3-coverage Requires: python3-google-compute-engine Requires: python3-ipython Requires: python3-ipywidgets Requires: python3-notebook Requires: python3-moto Requires: python3-pytest Requires: python3-pytest-cov Requires: python3-pytest-mock Requires: python3-pytest-env Requires: python3-requests Requires: python3-check-manifest Requires: python3-attrs Requires: python3-pre-commit Requires: python3-flake8 Requires: python3-tox Requires: python3-bumpversion Requires: python3-recommonmark Requires: python3-pip Requires: python3-wheel Requires: python3-setuptools Requires: python3-twine Requires: python3-azure-datalake-store Requires: python3-azure-storage-blob Requires: python3-gcsfs Requires: python3-pyarrow Requires: python3-black %description [![CI](https://github.com/nteract/papermill/actions/workflows/ci.yml/badge.svg)](https://github.com/nteract/papermill/actions/workflows/ci.yml) [![CI](https://github.com/nteract/papermill/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/nteract/papermill/actions/workflows/ci.yml) [![image](https://codecov.io/github/nteract/papermill/coverage.svg?branch=main)](https://codecov.io/github/nteract/papermill?branch=main) [![Documentation Status](https://readthedocs.org/projects/papermill/badge/?version=latest)](http://papermill.readthedocs.io/en/latest/?badge=latest) [![badge](https://tinyurl.com/ybwovtw2)](https://mybinder.org/v2/gh/nteract/papermill/main?filepath=binder%2Fprocess_highlight_dates.ipynb) [![badge](https://tinyurl.com/y7uz2eh9)](https://mybinder.org/v2/gh/nteract/papermill/main?) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/papermill)](https://pypi.org/project/papermill/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![papermill](https://snyk.io/advisor/python/papermill/badge.svg)](https://snyk.io/advisor/python/papermill) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/papermill/badges/downloads.svg)](https://anaconda.org/conda-forge/papermill) **papermill** is a tool for parameterizing, executing, and analyzing Jupyter Notebooks. Papermill lets you: - **parameterize** notebooks - **execute** notebooks This opens up new opportunities for how notebooks can be used. For example: - Perhaps you have a financial report that you wish to run with different values on the first or last day of a month or at the beginning or end of the year, **using parameters** makes this task easier. - Do you want to run a notebook and depending on its results, choose a particular notebook to run next? You can now programmatically **execute a workflow** without having to copy and paste from notebook to notebook manually. Papermill takes an *opinionated* approach to notebook parameterization and execution based on our experiences using notebooks at scale in data pipelines. ## Installation From the command line: ``` {.sourceCode .bash} pip install papermill ``` For all optional io dependencies, you can specify individual bundles like `s3`, or `azure` -- or use `all`. To use Black to format parameters you can add as an extra requires ['black']. ``` {.sourceCode .bash} pip install papermill[all] ``` ## Python Version Support This library currently supports Python 3.7+ versions. As minor Python versions are officially sunset by the Python org papermill will similarly drop support in the future. ## Usage ### Parameterizing a Notebook To parameterize your notebook designate a cell with the tag ``parameters``. ![enable parameters in Jupyter](docs/img/enable_parameters.gif) Papermill looks for the ``parameters`` cell and treats this cell as defaults for the parameters passed in at execution time. Papermill will add a new cell tagged with ``injected-parameters`` with input parameters in order to overwrite the values in ``parameters``. If no cell is tagged with ``parameters`` the injected cell will be inserted at the top of the notebook. Additionally, if you rerun notebooks through papermill and it will reuse the ``injected-parameters`` cell from the prior run. In this case Papermill will replace the old ``injected-parameters`` cell with the new run's inputs. ![image](docs/img/parameters.png) ### Executing a Notebook The two ways to execute the notebook with parameters are: (1) through the Python API and (2) through the command line interface. #### Execute via the Python API ``` {.sourceCode .python} import papermill as pm pm.execute_notebook( 'path/to/input.ipynb', 'path/to/output.ipynb', parameters = dict(alpha=0.6, ratio=0.1) ) ``` #### Execute via CLI Here's an example of a local notebook being executed and output to an Amazon S3 account: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1 ``` **NOTE:** If you use multiple AWS accounts, and you have [properly configured your AWS credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html), then you can specify which account to use by setting the `AWS_PROFILE` environment variable at the command-line. For example: ``` {.sourceCode .bash} $ AWS_PROFILE=dev_account papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1 ``` In the above example, two parameters are set: ``alpha`` and ``l1_ratio`` using ``-p`` (``--parameters`` also works). Parameter values that look like booleans or numbers will be interpreted as such. Here are the different ways users may set parameters: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -r version 1.0 ``` Using ``-r`` or ``--parameters_raw``, users can set parameters one by one. However, unlike ``-p``, the parameter will remain a string, even if it may be interpreted as a number or boolean. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -f parameters.yaml ``` Using ``-f`` or ``--parameters_file``, users can provide a YAML file from which parameter values should be read. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -y " alpha: 0.6 l1_ratio: 0.1" ``` Using ``-y`` or ``--parameters_yaml``, users can directly provide a YAML string containing parameter values. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -b YWxwaGE6IDAuNgpsMV9yYXRpbzogMC4xCg== ``` Using ``-b`` or ``--parameters_base64``, users can provide a YAML string, base64-encoded, containing parameter values. When using YAML to pass arguments, through ``-y``, ``-b`` or ``-f``, parameter values can be arrays or dictionaries: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -y " x: - 0.0 - 1.0 - 2.0 - 3.0 linear_function: slope: 3.0 intercept: 1.0" ``` #### Supported Name Handlers Papermill supports the following name handlers for input and output paths during execution: * Local file system: `local` * HTTP, HTTPS protocol: `http://, https://` * Amazon Web Services: [AWS S3](https://aws.amazon.com/s3/) `s3://` * Azure: [Azure DataLake Store](https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-overview), [Azure Blob Store](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview) `adl://, abs://` * Google Cloud: [Google Cloud Storage](https://cloud.google.com/storage/) `gs://` %package -n python3-papermill Summary: Parametrize and run Jupyter and nteract Notebooks Provides: python-papermill BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-papermill [![CI](https://github.com/nteract/papermill/actions/workflows/ci.yml/badge.svg)](https://github.com/nteract/papermill/actions/workflows/ci.yml) [![CI](https://github.com/nteract/papermill/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/nteract/papermill/actions/workflows/ci.yml) [![image](https://codecov.io/github/nteract/papermill/coverage.svg?branch=main)](https://codecov.io/github/nteract/papermill?branch=main) [![Documentation Status](https://readthedocs.org/projects/papermill/badge/?version=latest)](http://papermill.readthedocs.io/en/latest/?badge=latest) [![badge](https://tinyurl.com/ybwovtw2)](https://mybinder.org/v2/gh/nteract/papermill/main?filepath=binder%2Fprocess_highlight_dates.ipynb) [![badge](https://tinyurl.com/y7uz2eh9)](https://mybinder.org/v2/gh/nteract/papermill/main?) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/papermill)](https://pypi.org/project/papermill/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![papermill](https://snyk.io/advisor/python/papermill/badge.svg)](https://snyk.io/advisor/python/papermill) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/papermill/badges/downloads.svg)](https://anaconda.org/conda-forge/papermill) **papermill** is a tool for parameterizing, executing, and analyzing Jupyter Notebooks. Papermill lets you: - **parameterize** notebooks - **execute** notebooks This opens up new opportunities for how notebooks can be used. For example: - Perhaps you have a financial report that you wish to run with different values on the first or last day of a month or at the beginning or end of the year, **using parameters** makes this task easier. - Do you want to run a notebook and depending on its results, choose a particular notebook to run next? You can now programmatically **execute a workflow** without having to copy and paste from notebook to notebook manually. Papermill takes an *opinionated* approach to notebook parameterization and execution based on our experiences using notebooks at scale in data pipelines. ## Installation From the command line: ``` {.sourceCode .bash} pip install papermill ``` For all optional io dependencies, you can specify individual bundles like `s3`, or `azure` -- or use `all`. To use Black to format parameters you can add as an extra requires ['black']. ``` {.sourceCode .bash} pip install papermill[all] ``` ## Python Version Support This library currently supports Python 3.7+ versions. As minor Python versions are officially sunset by the Python org papermill will similarly drop support in the future. ## Usage ### Parameterizing a Notebook To parameterize your notebook designate a cell with the tag ``parameters``. ![enable parameters in Jupyter](docs/img/enable_parameters.gif) Papermill looks for the ``parameters`` cell and treats this cell as defaults for the parameters passed in at execution time. Papermill will add a new cell tagged with ``injected-parameters`` with input parameters in order to overwrite the values in ``parameters``. If no cell is tagged with ``parameters`` the injected cell will be inserted at the top of the notebook. Additionally, if you rerun notebooks through papermill and it will reuse the ``injected-parameters`` cell from the prior run. In this case Papermill will replace the old ``injected-parameters`` cell with the new run's inputs. ![image](docs/img/parameters.png) ### Executing a Notebook The two ways to execute the notebook with parameters are: (1) through the Python API and (2) through the command line interface. #### Execute via the Python API ``` {.sourceCode .python} import papermill as pm pm.execute_notebook( 'path/to/input.ipynb', 'path/to/output.ipynb', parameters = dict(alpha=0.6, ratio=0.1) ) ``` #### Execute via CLI Here's an example of a local notebook being executed and output to an Amazon S3 account: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1 ``` **NOTE:** If you use multiple AWS accounts, and you have [properly configured your AWS credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html), then you can specify which account to use by setting the `AWS_PROFILE` environment variable at the command-line. For example: ``` {.sourceCode .bash} $ AWS_PROFILE=dev_account papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1 ``` In the above example, two parameters are set: ``alpha`` and ``l1_ratio`` using ``-p`` (``--parameters`` also works). Parameter values that look like booleans or numbers will be interpreted as such. Here are the different ways users may set parameters: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -r version 1.0 ``` Using ``-r`` or ``--parameters_raw``, users can set parameters one by one. However, unlike ``-p``, the parameter will remain a string, even if it may be interpreted as a number or boolean. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -f parameters.yaml ``` Using ``-f`` or ``--parameters_file``, users can provide a YAML file from which parameter values should be read. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -y " alpha: 0.6 l1_ratio: 0.1" ``` Using ``-y`` or ``--parameters_yaml``, users can directly provide a YAML string containing parameter values. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -b YWxwaGE6IDAuNgpsMV9yYXRpbzogMC4xCg== ``` Using ``-b`` or ``--parameters_base64``, users can provide a YAML string, base64-encoded, containing parameter values. When using YAML to pass arguments, through ``-y``, ``-b`` or ``-f``, parameter values can be arrays or dictionaries: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -y " x: - 0.0 - 1.0 - 2.0 - 3.0 linear_function: slope: 3.0 intercept: 1.0" ``` #### Supported Name Handlers Papermill supports the following name handlers for input and output paths during execution: * Local file system: `local` * HTTP, HTTPS protocol: `http://, https://` * Amazon Web Services: [AWS S3](https://aws.amazon.com/s3/) `s3://` * Azure: [Azure DataLake Store](https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-overview), [Azure Blob Store](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview) `adl://, abs://` * Google Cloud: [Google Cloud Storage](https://cloud.google.com/storage/) `gs://` %package help Summary: Development documents and examples for papermill Provides: python3-papermill-doc %description help [![CI](https://github.com/nteract/papermill/actions/workflows/ci.yml/badge.svg)](https://github.com/nteract/papermill/actions/workflows/ci.yml) [![CI](https://github.com/nteract/papermill/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/nteract/papermill/actions/workflows/ci.yml) [![image](https://codecov.io/github/nteract/papermill/coverage.svg?branch=main)](https://codecov.io/github/nteract/papermill?branch=main) [![Documentation Status](https://readthedocs.org/projects/papermill/badge/?version=latest)](http://papermill.readthedocs.io/en/latest/?badge=latest) [![badge](https://tinyurl.com/ybwovtw2)](https://mybinder.org/v2/gh/nteract/papermill/main?filepath=binder%2Fprocess_highlight_dates.ipynb) [![badge](https://tinyurl.com/y7uz2eh9)](https://mybinder.org/v2/gh/nteract/papermill/main?) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/papermill)](https://pypi.org/project/papermill/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![papermill](https://snyk.io/advisor/python/papermill/badge.svg)](https://snyk.io/advisor/python/papermill) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/papermill/badges/downloads.svg)](https://anaconda.org/conda-forge/papermill) **papermill** is a tool for parameterizing, executing, and analyzing Jupyter Notebooks. Papermill lets you: - **parameterize** notebooks - **execute** notebooks This opens up new opportunities for how notebooks can be used. For example: - Perhaps you have a financial report that you wish to run with different values on the first or last day of a month or at the beginning or end of the year, **using parameters** makes this task easier. - Do you want to run a notebook and depending on its results, choose a particular notebook to run next? You can now programmatically **execute a workflow** without having to copy and paste from notebook to notebook manually. Papermill takes an *opinionated* approach to notebook parameterization and execution based on our experiences using notebooks at scale in data pipelines. ## Installation From the command line: ``` {.sourceCode .bash} pip install papermill ``` For all optional io dependencies, you can specify individual bundles like `s3`, or `azure` -- or use `all`. To use Black to format parameters you can add as an extra requires ['black']. ``` {.sourceCode .bash} pip install papermill[all] ``` ## Python Version Support This library currently supports Python 3.7+ versions. As minor Python versions are officially sunset by the Python org papermill will similarly drop support in the future. ## Usage ### Parameterizing a Notebook To parameterize your notebook designate a cell with the tag ``parameters``. ![enable parameters in Jupyter](docs/img/enable_parameters.gif) Papermill looks for the ``parameters`` cell and treats this cell as defaults for the parameters passed in at execution time. Papermill will add a new cell tagged with ``injected-parameters`` with input parameters in order to overwrite the values in ``parameters``. If no cell is tagged with ``parameters`` the injected cell will be inserted at the top of the notebook. Additionally, if you rerun notebooks through papermill and it will reuse the ``injected-parameters`` cell from the prior run. In this case Papermill will replace the old ``injected-parameters`` cell with the new run's inputs. ![image](docs/img/parameters.png) ### Executing a Notebook The two ways to execute the notebook with parameters are: (1) through the Python API and (2) through the command line interface. #### Execute via the Python API ``` {.sourceCode .python} import papermill as pm pm.execute_notebook( 'path/to/input.ipynb', 'path/to/output.ipynb', parameters = dict(alpha=0.6, ratio=0.1) ) ``` #### Execute via CLI Here's an example of a local notebook being executed and output to an Amazon S3 account: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1 ``` **NOTE:** If you use multiple AWS accounts, and you have [properly configured your AWS credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html), then you can specify which account to use by setting the `AWS_PROFILE` environment variable at the command-line. For example: ``` {.sourceCode .bash} $ AWS_PROFILE=dev_account papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1 ``` In the above example, two parameters are set: ``alpha`` and ``l1_ratio`` using ``-p`` (``--parameters`` also works). Parameter values that look like booleans or numbers will be interpreted as such. Here are the different ways users may set parameters: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -r version 1.0 ``` Using ``-r`` or ``--parameters_raw``, users can set parameters one by one. However, unlike ``-p``, the parameter will remain a string, even if it may be interpreted as a number or boolean. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -f parameters.yaml ``` Using ``-f`` or ``--parameters_file``, users can provide a YAML file from which parameter values should be read. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -y " alpha: 0.6 l1_ratio: 0.1" ``` Using ``-y`` or ``--parameters_yaml``, users can directly provide a YAML string containing parameter values. ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -b YWxwaGE6IDAuNgpsMV9yYXRpbzogMC4xCg== ``` Using ``-b`` or ``--parameters_base64``, users can provide a YAML string, base64-encoded, containing parameter values. When using YAML to pass arguments, through ``-y``, ``-b`` or ``-f``, parameter values can be arrays or dictionaries: ``` {.sourceCode .bash} $ papermill local/input.ipynb s3://bkt/output.ipynb -y " x: - 0.0 - 1.0 - 2.0 - 3.0 linear_function: slope: 3.0 intercept: 1.0" ``` #### Supported Name Handlers Papermill supports the following name handlers for input and output paths during execution: * Local file system: `local` * HTTP, HTTPS protocol: `http://, https://` * Amazon Web Services: [AWS S3](https://aws.amazon.com/s3/) `s3://` * Azure: [Azure DataLake Store](https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-overview), [Azure Blob Store](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview) `adl://, abs://` * Google Cloud: [Google Cloud Storage](https://cloud.google.com/storage/) `gs://` %prep %autosetup -n papermill-2.4.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-papermill -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon Apr 10 2023 Python_Bot - 2.4.0-1 - Package Spec generated