summaryrefslogtreecommitdiff
path: root/python-nbsafety.spec
blob: 20b1d2219ae45e0bc266d0be7873122a53c29ddc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
%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
* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.87-1
- Package Spec generated