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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
%global _empty_manifest_terminate_build 0
Name: python-nanowire-flask
Version: 0.1.0
Release: 1
Summary: Tool for creating nanowire tools with the flask structure.
License: MIT
URL: https://github.com/SpotlightData/nanowire_flask
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/16/ee/0f4de903fd7eb9a3407ff248cab912eb391ef08d8e987201a9d8c4234581/nanowire_flask-0.1.0.tar.gz
BuildArch: noarch
Requires: python3-Pillow
Requires: python3-requests
Requires: python3-Flask-API
Requires: python3-jsonpickle
Requires: python3-psutil
Requires: python3-pandas
Requires: python3-xlrd
%description
This library is designed to allow a python developer to easily create a nanowire plugin using the flask APIs structure.
The function you mount for image plugins, using the function ``mount_Image_function`` must have the arguments ``img`` and ``variables`` if you want initialise a model or other variables when the sever starts you may make the function to be mounted into a function of a
class which is initiated with the function ``mount_Image_function``. You should expect ``img`` to be a PIL RGB image object and ``variables`` to be a dictionary containing the variables sent to the plugin in the curl request.
The function for mounting a text based plugin is similar however it is called ``mount_text_function`` and expects the arguments ``text`` (a string) and ``variables``.
The curl requests for images may be formatted 2 ways. The first involves sending the image as a file attached to the curl request. For example:
``curl -F "image=@./1.jpg" -XPOST http://0.0.0.0:5000/model/predict?threshold=0.5``
alternatively the file may be sent as a link using a dictionary eg.
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://127.0.0.1:8000/1.jpg", "threshold":0.5}' http://0.0.0.0:5000/model/predict``
The currently supported image formats are:
* jpg
* png
* bmp
* tif
* ppm
The curl request for text is similar to that used for images except that it may take either raw text or a file containing raw text. You may either post a document containing the raw text using the command
``curl -F "doc=@./doc1.txt" -XPOST http://0.0.0.0:5000/model/predict?deactivate_ngrams=True``
or the raw text can be sent using:
``curl -X POST -H "Content-Type:application/json" -d '{"text":"Example text about whichever subject you're interested in", "deactivate_ngrams"="True"}' http://0.0.0.0:5000/model/predict``
The library may also accept CSV objects using command like
``curl -F "csv=@./example.csv" -XPOST http://0.0.0.0:5000/model/predict?ignore_col=text``
a xlsx file may be sent in the same way:
``curl -F "xlsx=@./example.xlsx" -XPOST 'http://0.0.0.0:5000/model/predict?ignore_col=text&customStops=horse,course&indexCol=uuid'``
alternatively a link to a csv or xlsx file may be sent such as:
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://localhost:8000/example.csv", "ignore_col":"dates"}' http://0.0.0.0:5000/model/predict``
The library may also accept JSON objects using commands such as
``curl -X POST -H "Content-Type:application/json" -d '{"inputJSON": {"this":"is", "an":"example"}, "variables":{"customStops":["horse", "course"]}' http://0.0.0.0:5000/model/predict``
alternatively a JSON file may be sent from a server
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://localhost:8000/example.json"}' http://0.0.0.0:5000/model/predict``
an old version of this command would accept:
``curl -X POST -H "Content-Type:application/json" -d '{"this":"is", "an":"example"}' http://0.0.0.0:5000/model/predict``
however this is deprecated and will no longer be accepted in future versions of this library.
This library will eventually be expanded to be able to handle video, sound and arbitrary files however for now it is limited to text, images, csv files and json files.
The API you create will also return maximum memory usage (in MB), maximum cpu usage (in %) and time taken (in seconds) when processing a given API call.
%package -n python3-nanowire-flask
Summary: Tool for creating nanowire tools with the flask structure.
Provides: python-nanowire-flask
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-nanowire-flask
This library is designed to allow a python developer to easily create a nanowire plugin using the flask APIs structure.
The function you mount for image plugins, using the function ``mount_Image_function`` must have the arguments ``img`` and ``variables`` if you want initialise a model or other variables when the sever starts you may make the function to be mounted into a function of a
class which is initiated with the function ``mount_Image_function``. You should expect ``img`` to be a PIL RGB image object and ``variables`` to be a dictionary containing the variables sent to the plugin in the curl request.
The function for mounting a text based plugin is similar however it is called ``mount_text_function`` and expects the arguments ``text`` (a string) and ``variables``.
The curl requests for images may be formatted 2 ways. The first involves sending the image as a file attached to the curl request. For example:
``curl -F "image=@./1.jpg" -XPOST http://0.0.0.0:5000/model/predict?threshold=0.5``
alternatively the file may be sent as a link using a dictionary eg.
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://127.0.0.1:8000/1.jpg", "threshold":0.5}' http://0.0.0.0:5000/model/predict``
The currently supported image formats are:
* jpg
* png
* bmp
* tif
* ppm
The curl request for text is similar to that used for images except that it may take either raw text or a file containing raw text. You may either post a document containing the raw text using the command
``curl -F "doc=@./doc1.txt" -XPOST http://0.0.0.0:5000/model/predict?deactivate_ngrams=True``
or the raw text can be sent using:
``curl -X POST -H "Content-Type:application/json" -d '{"text":"Example text about whichever subject you're interested in", "deactivate_ngrams"="True"}' http://0.0.0.0:5000/model/predict``
The library may also accept CSV objects using command like
``curl -F "csv=@./example.csv" -XPOST http://0.0.0.0:5000/model/predict?ignore_col=text``
a xlsx file may be sent in the same way:
``curl -F "xlsx=@./example.xlsx" -XPOST 'http://0.0.0.0:5000/model/predict?ignore_col=text&customStops=horse,course&indexCol=uuid'``
alternatively a link to a csv or xlsx file may be sent such as:
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://localhost:8000/example.csv", "ignore_col":"dates"}' http://0.0.0.0:5000/model/predict``
The library may also accept JSON objects using commands such as
``curl -X POST -H "Content-Type:application/json" -d '{"inputJSON": {"this":"is", "an":"example"}, "variables":{"customStops":["horse", "course"]}' http://0.0.0.0:5000/model/predict``
alternatively a JSON file may be sent from a server
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://localhost:8000/example.json"}' http://0.0.0.0:5000/model/predict``
an old version of this command would accept:
``curl -X POST -H "Content-Type:application/json" -d '{"this":"is", "an":"example"}' http://0.0.0.0:5000/model/predict``
however this is deprecated and will no longer be accepted in future versions of this library.
This library will eventually be expanded to be able to handle video, sound and arbitrary files however for now it is limited to text, images, csv files and json files.
The API you create will also return maximum memory usage (in MB), maximum cpu usage (in %) and time taken (in seconds) when processing a given API call.
%package help
Summary: Development documents and examples for nanowire-flask
Provides: python3-nanowire-flask-doc
%description help
This library is designed to allow a python developer to easily create a nanowire plugin using the flask APIs structure.
The function you mount for image plugins, using the function ``mount_Image_function`` must have the arguments ``img`` and ``variables`` if you want initialise a model or other variables when the sever starts you may make the function to be mounted into a function of a
class which is initiated with the function ``mount_Image_function``. You should expect ``img`` to be a PIL RGB image object and ``variables`` to be a dictionary containing the variables sent to the plugin in the curl request.
The function for mounting a text based plugin is similar however it is called ``mount_text_function`` and expects the arguments ``text`` (a string) and ``variables``.
The curl requests for images may be formatted 2 ways. The first involves sending the image as a file attached to the curl request. For example:
``curl -F "image=@./1.jpg" -XPOST http://0.0.0.0:5000/model/predict?threshold=0.5``
alternatively the file may be sent as a link using a dictionary eg.
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://127.0.0.1:8000/1.jpg", "threshold":0.5}' http://0.0.0.0:5000/model/predict``
The currently supported image formats are:
* jpg
* png
* bmp
* tif
* ppm
The curl request for text is similar to that used for images except that it may take either raw text or a file containing raw text. You may either post a document containing the raw text using the command
``curl -F "doc=@./doc1.txt" -XPOST http://0.0.0.0:5000/model/predict?deactivate_ngrams=True``
or the raw text can be sent using:
``curl -X POST -H "Content-Type:application/json" -d '{"text":"Example text about whichever subject you're interested in", "deactivate_ngrams"="True"}' http://0.0.0.0:5000/model/predict``
The library may also accept CSV objects using command like
``curl -F "csv=@./example.csv" -XPOST http://0.0.0.0:5000/model/predict?ignore_col=text``
a xlsx file may be sent in the same way:
``curl -F "xlsx=@./example.xlsx" -XPOST 'http://0.0.0.0:5000/model/predict?ignore_col=text&customStops=horse,course&indexCol=uuid'``
alternatively a link to a csv or xlsx file may be sent such as:
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://localhost:8000/example.csv", "ignore_col":"dates"}' http://0.0.0.0:5000/model/predict``
The library may also accept JSON objects using commands such as
``curl -X POST -H "Content-Type:application/json" -d '{"inputJSON": {"this":"is", "an":"example"}, "variables":{"customStops":["horse", "course"]}' http://0.0.0.0:5000/model/predict``
alternatively a JSON file may be sent from a server
``curl -X POST -H "Content-Type:application/json" -d '{"contentUrl":"http://localhost:8000/example.json"}' http://0.0.0.0:5000/model/predict``
an old version of this command would accept:
``curl -X POST -H "Content-Type:application/json" -d '{"this":"is", "an":"example"}' http://0.0.0.0:5000/model/predict``
however this is deprecated and will no longer be accepted in future versions of this library.
This library will eventually be expanded to be able to handle video, sound and arbitrary files however for now it is limited to text, images, csv files and json files.
The API you create will also return maximum memory usage (in MB), maximum cpu usage (in %) and time taken (in seconds) when processing a given API call.
%prep
%autosetup -n nanowire-flask-0.1.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-nanowire-flask -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.0-1
- Package Spec generated
|