diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-05 09:02:13 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 09:02:13 +0000 |
| commit | 2cba36619ac49d0454482aad5c122fde3a26eaf7 (patch) | |
| tree | 93bc26ecb96ee86423be7294e102f49af3cfc95c | |
| parent | cf156bbc1a04f208bb590b98e43ed06108ff3891 (diff) | |
automatic import of python-nanowire-flaskopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-nanowire-flask.spec | 175 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 177 insertions, 0 deletions
@@ -0,0 +1 @@ +/nanowire_flask-0.1.0.tar.gz diff --git a/python-nanowire-flask.spec b/python-nanowire-flask.spec new file mode 100644 index 0000000..726699a --- /dev/null +++ b/python-nanowire-flask.spec @@ -0,0 +1,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 @@ -0,0 +1 @@ +b891f9ae6ee932bc464279260c987ee0 nanowire_flask-0.1.0.tar.gz |
