diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-papermill.spec | 486 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 488 insertions, 0 deletions
@@ -0,0 +1 @@ +/papermill-2.4.0.tar.gz diff --git a/python-papermill.spec b/python-papermill.spec new file mode 100644 index 0000000..cb3636f --- /dev/null +++ b/python-papermill.spec @@ -0,0 +1,486 @@ +%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 +<!---(binder links generated at https://mybinder.readthedocs.io/en/latest/howto/badges.html and compressed at https://tinyurl.com) --> +[](https://github.com/nteract/papermill/actions/workflows/ci.yml) +[](https://github.com/nteract/papermill/actions/workflows/ci.yml) +[](https://codecov.io/github/nteract/papermill?branch=main) +[](http://papermill.readthedocs.io/en/latest/?badge=latest) +[](https://mybinder.org/v2/gh/nteract/papermill/main?filepath=binder%2Fprocess_highlight_dates.ipynb) +[](https://mybinder.org/v2/gh/nteract/papermill/main?) +[](https://pypi.org/project/papermill/) +[](https://github.com/ambv/black) +[](https://snyk.io/advisor/python/papermill) +[](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``. + +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. + +### 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 +<!---(binder links generated at https://mybinder.readthedocs.io/en/latest/howto/badges.html and compressed at https://tinyurl.com) --> +[](https://github.com/nteract/papermill/actions/workflows/ci.yml) +[](https://github.com/nteract/papermill/actions/workflows/ci.yml) +[](https://codecov.io/github/nteract/papermill?branch=main) +[](http://papermill.readthedocs.io/en/latest/?badge=latest) +[](https://mybinder.org/v2/gh/nteract/papermill/main?filepath=binder%2Fprocess_highlight_dates.ipynb) +[](https://mybinder.org/v2/gh/nteract/papermill/main?) +[](https://pypi.org/project/papermill/) +[](https://github.com/ambv/black) +[](https://snyk.io/advisor/python/papermill) +[](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``. + +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. + +### 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 +<!---(binder links generated at https://mybinder.readthedocs.io/en/latest/howto/badges.html and compressed at https://tinyurl.com) --> +[](https://github.com/nteract/papermill/actions/workflows/ci.yml) +[](https://github.com/nteract/papermill/actions/workflows/ci.yml) +[](https://codecov.io/github/nteract/papermill?branch=main) +[](http://papermill.readthedocs.io/en/latest/?badge=latest) +[](https://mybinder.org/v2/gh/nteract/papermill/main?filepath=binder%2Fprocess_highlight_dates.ipynb) +[](https://mybinder.org/v2/gh/nteract/papermill/main?) +[](https://pypi.org/project/papermill/) +[](https://github.com/ambv/black) +[](https://snyk.io/advisor/python/papermill) +[](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``. + +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. + +### 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 <Python_Bot@openeuler.org> - 2.4.0-1 +- Package Spec generated @@ -0,0 +1 @@ +42a8244a697e28b97f3e13762bead6f2 papermill-2.4.0.tar.gz |
