%global _empty_manifest_terminate_build 0
Name:		python-nbsafety
Version:	0.0.87
Release:	1
Summary:	Fearless interactivity for Jupyter notebooks.
License:	BSD-3-Clause
URL:		https://github.com/nbsafety-project/nbsafety
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/35/0d/84166f0506ac7bcd5825814f950ce0788d0bcb204f5186d692bde6ab1300/nbsafety-0.0.87.tar.gz
BuildArch:	noarch

Requires:	python3-astunparse
Requires:	python3-black
Requires:	python3-ipykernel
Requires:	python3-ipython
Requires:	python3-jupyter
Requires:	python3-jupyterlab
Requires:	python3-mypy
Requires:	python3-nbclassic
Requires:	python3-nest-asyncio
Requires:	python3-pyccolo
Requires:	python3-traitlets

%description
`nbsafety` adds a layer of protection to computational notebooks by solving the
*stale dependency problem* when executing cells out-of-order. Here's an
example in action:
<img src="https://raw.githubusercontent.com/nbsafety-project/nbsafety/master/img/example.gif" alt="nbsafety example" width="750" />
When the first cell is rerun, the second cell now contains a reference to an
updated `f` and is suggested for re-execution with a turquoise highlight. The
third cell contains a reference to a stale `y` -- `y` is stale due to its
dependency on an old value of `f`. As such, the third cell is marked as unsafe
for re-execution with a red highlight.  Once the second cell is rerun, it is
now suggested to re-execute the third cell in order to refresh its stale
output.
`nbsafety` accomplishes its magic using a combination of a runtime tracer (to
build the implicit dependency graph) and a static checker (to provide warnings
before running a cell), both of which are deeply aware of Python's data model.
In particular, `nbsafety` requires ***minimal to no changes*** in user
behavior, opting to get out of the way unless absolutely necessary and letting
you use notebooks the way you prefer.

%package -n python3-nbsafety
Summary:	Fearless interactivity for Jupyter notebooks.
Provides:	python-nbsafety
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-nbsafety
`nbsafety` adds a layer of protection to computational notebooks by solving the
*stale dependency problem* when executing cells out-of-order. Here's an
example in action:
<img src="https://raw.githubusercontent.com/nbsafety-project/nbsafety/master/img/example.gif" alt="nbsafety example" width="750" />
When the first cell is rerun, the second cell now contains a reference to an
updated `f` and is suggested for re-execution with a turquoise highlight. The
third cell contains a reference to a stale `y` -- `y` is stale due to its
dependency on an old value of `f`. As such, the third cell is marked as unsafe
for re-execution with a red highlight.  Once the second cell is rerun, it is
now suggested to re-execute the third cell in order to refresh its stale
output.
`nbsafety` accomplishes its magic using a combination of a runtime tracer (to
build the implicit dependency graph) and a static checker (to provide warnings
before running a cell), both of which are deeply aware of Python's data model.
In particular, `nbsafety` requires ***minimal to no changes*** in user
behavior, opting to get out of the way unless absolutely necessary and letting
you use notebooks the way you prefer.

%package help
Summary:	Development documents and examples for nbsafety
Provides:	python3-nbsafety-doc
%description help
`nbsafety` adds a layer of protection to computational notebooks by solving the
*stale dependency problem* when executing cells out-of-order. Here's an
example in action:
<img src="https://raw.githubusercontent.com/nbsafety-project/nbsafety/master/img/example.gif" alt="nbsafety example" width="750" />
When the first cell is rerun, the second cell now contains a reference to an
updated `f` and is suggested for re-execution with a turquoise highlight. The
third cell contains a reference to a stale `y` -- `y` is stale due to its
dependency on an old value of `f`. As such, the third cell is marked as unsafe
for re-execution with a red highlight.  Once the second cell is rerun, it is
now suggested to re-execute the third cell in order to refresh its stale
output.
`nbsafety` accomplishes its magic using a combination of a runtime tracer (to
build the implicit dependency graph) and a static checker (to provide warnings
before running a cell), both of which are deeply aware of Python's data model.
In particular, `nbsafety` requires ***minimal to no changes*** in user
behavior, opting to get out of the way unless absolutely necessary and letting
you use notebooks the way you prefer.

%prep
%autosetup -n nbsafety-0.0.87

%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-nbsafety -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.87-1
- Package Spec generated