diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-10 06:53:50 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 06:53:50 +0000 |
commit | e3d433ad493687906d52ef2a57e8e8efefb04029 (patch) | |
tree | 8925ddf514a8bf74adfd219dc242c2b5c0eb5d4a | |
parent | 1e30da659932a0f0b79a7321560b36eb2600ec41 (diff) |
automatic import of python-annif
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-annif.spec | 674 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 676 insertions, 0 deletions
@@ -0,0 +1 @@ +/annif-0.61.0.tar.gz diff --git a/python-annif.spec b/python-annif.spec new file mode 100644 index 0000000..17938f4 --- /dev/null +++ b/python-annif.spec @@ -0,0 +1,674 @@ +%global _empty_manifest_terminate_build 0 +Name: python-annif +Version: 0.61.0 +Release: 1 +Summary: Automated subject indexing and classification tool +License: Apache-2.0 +URL: https://annif.org +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9c/8d/ab23892c2c8ea3f61a1ec011012042d1b2f371bfba74bb03e2b4f556bd2b/annif-0.61.0.tar.gz +BuildArch: noarch + +Requires: python3-connexion[swagger-ui] +Requires: python3-flask +Requires: python3-flask-cors +Requires: python3-click +Requires: python3-click-log +Requires: python3-joblib +Requires: python3-nltk +Requires: python3-gensim +Requires: python3-scikit-learn +Requires: python3-scipy +Requires: python3-rdflib +Requires: python3-gunicorn +Requires: python3-numpy +Requires: python3-optuna +Requires: python3-stwfsapy +Requires: python3-dateutil +Requires: python3-tomli +Requires: python3-simplemma +Requires: python3-jsonschema +Requires: python3-fasttext-wheel +Requires: python3-voikko +Requires: python3-tensorflow-cpu +Requires: python3-lmdb +Requires: python3-omikuji +Requires: python3-yake +Requires: python3-spacy + +%description +<img src="https://annif.org/static/img/annif-RGB.svg" width="150"> + +[](https://zenodo.org/badge/latestdoi/100936800) +[](https://opensource.org/licenses/Apache-2.0) +[](https://github.com/NatLibFi/Annif/actions/workflows/cicd.yml) +[](https://codecov.io/gh/NatLibFi/Annif) +[](https://codeclimate.com/github/NatLibFi/Annif) +[](https://scrutinizer-ci.com/g/NatLibFi/Annif/?branch=main) +[](https://codebeat.co/projects/github-com-natlibfi-annif-main) +[](https://github.com/NatLibFi/Annif/actions/workflows/codeql.yml) +[](https://sonarcloud.io/dashboard?id=NatLibFi_Annif) +[](https://annif.readthedocs.io/en/latest/index.html) +[](https://github.com/psf/black) + +Annif is an automated subject indexing toolkit. It was originally created as +a statistical automated indexing tool that used metadata from the +[Finna.fi](https://finna.fi) discovery interface as a training corpus. + +This repo contains a rewritten production version of Annif based on the +[prototype](https://github.com/osma/annif). It is a work in progress, but +already functional for many common tasks. + +[Finto AI](https://ai.finto.fi/) is a service based on Annif; see the [source code for Finto AI](https://github.com/NatLibFi/FintoAI). + +# Basic install + +Annif is developed and tested on Linux. If you want to run Annif on Windows or Mac OS, the recommended way is to use Docker (see below) or a Linux virtual machine. + +You will need Python 3.8+ to install Annif. + +The recommended way is to install Annif from +[PyPI](https://pypi.org/project/annif/) into a virtual environment. + + python3 -m venv annif-venv + source annif-venv/bin/activate + pip install annif + +You will also need NLTK data files: + + python -m nltk.downloader punkt + +Start up the application: + + annif + +See [Getting Started](https://github.com/NatLibFi/Annif/wiki/Getting-started) +in the wiki for more details. + +# Docker install + +You can use Annif as a pre-built Docker container. Please see the +[wiki documentation](https://github.com/NatLibFi/Annif/wiki/Usage-with-Docker) +for details. + +# Development install + +A development version of Annif can be installed by cloning the [GitHub +repository](https://github.com/NatLibFi/Annif). +[Poetry](https://python-poetry.org/) is used for managing dependencies and virtual environment for the development version. + +See [CONTRIBUTING.md](CONTRIBUTING.md) for information on [unit tests](CONTRIBUTING.md#unit-tests), [code style](CONTRIBUTING.md#code-style), [development flow](CONTRIBUTING.md#development-flow) etc. details that are useful when participating in Annif development. + +## Installation and setup + +Clone the repository. + +Switch into the repository directory. + +Install [pipx](https://pypa.github.io/pipx/) and Poetry if you don't have them. First pipx: + + python3 -m pip install --user pipx + python3 -m pipx ensurepath + +Open a new shell, and then install Poetry: + + pipx install poetry + +Poetry can be installed also without pipx: check the [Poetry documentation](https://python-poetry.org/docs/master/#installation). + +Create a virtual environment and install dependencies: + + poetry install + +By default development dependencies are included. Use option `-E` to install dependencies for selected optional features (`-E "extra1 extra2"` for multiple extras), or install all of them with `--all-extras`. By default the virtual environment directory is not under the project directory, but there is a [setting for selecting this](https://python-poetry.org/docs/configuration/#virtualenvsin-project). + +Enter the virtual environment: + + poetry shell + +You will also need NLTK data files: + + python -m nltk.downloader punkt + +Start up the application: + + annif + +# Getting help + +Many resources are available: + + * [Usage documentation in the wiki](https://github.com/NatLibFi/Annif/wiki) + * [Annif tutorial](https://github.com/NatLibFi/Annif-tutorial) for learning to use Annif + * [annif-users](https://groups.google.com/forum/#!forum/annif-users) discussion forum + * [Internal API documentation](https://annif.readthedocs.io) on ReadTheDocs + * [annif.org](https://annif.org) project web site + +# Publications / How to cite + +Two articles about Annif have been published in peer-reviewed Open Access +journals. The software itself is also archived on Zenodo and +has a [citable DOI](https://doi.org/10.5281/zenodo.5654173). + +## Citing the software itself + +See "Cite this repository" in the details of the repository. + +## Annif articles +<ul> +<li> +Suominen, O.; Inkinen, J.; Lehtinen, M., 2022. +Annif and Finto AI: Developing and Implementing Automated Subject Indexing. +JLIS.It, 13(1), pp. 265–282. URL: +https://www.jlis.it/index.php/jlis/article/view/437 +<details> +<summary>See BibTex</summary> + + @article{suominen2022annif, + title={Annif and Finto AI: Developing and Implementing Automated Subject Indexing}, + author={Suominen, Osma and Inkinen, Juho and Lehtinen, Mona}, + journal={JLIS.it}, + volume={13}, + number={1}, + pages={265--282}, + year={2022}, + doi = {10.4403/jlis.it-12740}, + url={https://www.jlis.it/index.php/jlis/article/view/437}, + } +</details> +</li> +<li> +Suominen, O.; Koskenniemi, I, 2022. +Annif Analyzer Shootout: Comparing text lemmatization methods for automated subject indexing. +Code4Lib Journal, (54). URL: +https://journal.code4lib.org/articles/16719 +<details> +<summary>See BibTex</summary> + + @article{suominen2022analyzer, + title={Annif Analyzer Shootout: Comparing text lemmatization methods for automated subject indexing}, + author={Suominen, Osma and Koskenniemi, Ilkka}, + journal={Code4Lib J.}, + number={54}, + year={2022}, + url={https://journal.code4lib.org/articles/16719}, + } +</details> +</li> +<li> +Suominen, O., 2019. Annif: DIY automated subject indexing using multiple +algorithms. LIBER Quarterly, 29(1), pp.1–25. DOI: +https://doi.org/10.18352/lq.10285 +<details> +<summary>See BibTex</summary> + + @article{suominen2019annif, + title={Annif: DIY automated subject indexing using multiple algorithms}, + author={Suominen, Osma}, + journal={{LIBER} Quarterly}, + volume={29}, + number={1}, + pages={1--25}, + year={2019}, + doi = {10.18352/lq.10285}, + url = {https://doi.org/10.18352/lq.10285} + } +</details> +</li> +</ul> + +# License + +The code in this repository is licensed under Apache License 2.0, except for the +dependencies included under `annif/static/css` and `annif/static/js`, +which have their own licenses, see the file headers for details. +Please note that the [YAKE](https://github.com/LIAAD/yake) library is licended +under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.txt), while Annif is +licensed under the Apache License 2.0. The licenses are compatible, but +depending on legal interpretation, the terms of the GPLv3 (for example the +requirement to publish corresponding source code when publishing an executable +application) may be considered to apply to the whole of Annif+Yake if you +decide to install the optional Yake dependency. + + +%package -n python3-annif +Summary: Automated subject indexing and classification tool +Provides: python-annif +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-annif +<img src="https://annif.org/static/img/annif-RGB.svg" width="150"> + +[](https://zenodo.org/badge/latestdoi/100936800) +[](https://opensource.org/licenses/Apache-2.0) +[](https://github.com/NatLibFi/Annif/actions/workflows/cicd.yml) +[](https://codecov.io/gh/NatLibFi/Annif) +[](https://codeclimate.com/github/NatLibFi/Annif) +[](https://scrutinizer-ci.com/g/NatLibFi/Annif/?branch=main) +[](https://codebeat.co/projects/github-com-natlibfi-annif-main) +[](https://github.com/NatLibFi/Annif/actions/workflows/codeql.yml) +[](https://sonarcloud.io/dashboard?id=NatLibFi_Annif) +[](https://annif.readthedocs.io/en/latest/index.html) +[](https://github.com/psf/black) + +Annif is an automated subject indexing toolkit. It was originally created as +a statistical automated indexing tool that used metadata from the +[Finna.fi](https://finna.fi) discovery interface as a training corpus. + +This repo contains a rewritten production version of Annif based on the +[prototype](https://github.com/osma/annif). It is a work in progress, but +already functional for many common tasks. + +[Finto AI](https://ai.finto.fi/) is a service based on Annif; see the [source code for Finto AI](https://github.com/NatLibFi/FintoAI). + +# Basic install + +Annif is developed and tested on Linux. If you want to run Annif on Windows or Mac OS, the recommended way is to use Docker (see below) or a Linux virtual machine. + +You will need Python 3.8+ to install Annif. + +The recommended way is to install Annif from +[PyPI](https://pypi.org/project/annif/) into a virtual environment. + + python3 -m venv annif-venv + source annif-venv/bin/activate + pip install annif + +You will also need NLTK data files: + + python -m nltk.downloader punkt + +Start up the application: + + annif + +See [Getting Started](https://github.com/NatLibFi/Annif/wiki/Getting-started) +in the wiki for more details. + +# Docker install + +You can use Annif as a pre-built Docker container. Please see the +[wiki documentation](https://github.com/NatLibFi/Annif/wiki/Usage-with-Docker) +for details. + +# Development install + +A development version of Annif can be installed by cloning the [GitHub +repository](https://github.com/NatLibFi/Annif). +[Poetry](https://python-poetry.org/) is used for managing dependencies and virtual environment for the development version. + +See [CONTRIBUTING.md](CONTRIBUTING.md) for information on [unit tests](CONTRIBUTING.md#unit-tests), [code style](CONTRIBUTING.md#code-style), [development flow](CONTRIBUTING.md#development-flow) etc. details that are useful when participating in Annif development. + +## Installation and setup + +Clone the repository. + +Switch into the repository directory. + +Install [pipx](https://pypa.github.io/pipx/) and Poetry if you don't have them. First pipx: + + python3 -m pip install --user pipx + python3 -m pipx ensurepath + +Open a new shell, and then install Poetry: + + pipx install poetry + +Poetry can be installed also without pipx: check the [Poetry documentation](https://python-poetry.org/docs/master/#installation). + +Create a virtual environment and install dependencies: + + poetry install + +By default development dependencies are included. Use option `-E` to install dependencies for selected optional features (`-E "extra1 extra2"` for multiple extras), or install all of them with `--all-extras`. By default the virtual environment directory is not under the project directory, but there is a [setting for selecting this](https://python-poetry.org/docs/configuration/#virtualenvsin-project). + +Enter the virtual environment: + + poetry shell + +You will also need NLTK data files: + + python -m nltk.downloader punkt + +Start up the application: + + annif + +# Getting help + +Many resources are available: + + * [Usage documentation in the wiki](https://github.com/NatLibFi/Annif/wiki) + * [Annif tutorial](https://github.com/NatLibFi/Annif-tutorial) for learning to use Annif + * [annif-users](https://groups.google.com/forum/#!forum/annif-users) discussion forum + * [Internal API documentation](https://annif.readthedocs.io) on ReadTheDocs + * [annif.org](https://annif.org) project web site + +# Publications / How to cite + +Two articles about Annif have been published in peer-reviewed Open Access +journals. The software itself is also archived on Zenodo and +has a [citable DOI](https://doi.org/10.5281/zenodo.5654173). + +## Citing the software itself + +See "Cite this repository" in the details of the repository. + +## Annif articles +<ul> +<li> +Suominen, O.; Inkinen, J.; Lehtinen, M., 2022. +Annif and Finto AI: Developing and Implementing Automated Subject Indexing. +JLIS.It, 13(1), pp. 265–282. URL: +https://www.jlis.it/index.php/jlis/article/view/437 +<details> +<summary>See BibTex</summary> + + @article{suominen2022annif, + title={Annif and Finto AI: Developing and Implementing Automated Subject Indexing}, + author={Suominen, Osma and Inkinen, Juho and Lehtinen, Mona}, + journal={JLIS.it}, + volume={13}, + number={1}, + pages={265--282}, + year={2022}, + doi = {10.4403/jlis.it-12740}, + url={https://www.jlis.it/index.php/jlis/article/view/437}, + } +</details> +</li> +<li> +Suominen, O.; Koskenniemi, I, 2022. +Annif Analyzer Shootout: Comparing text lemmatization methods for automated subject indexing. +Code4Lib Journal, (54). URL: +https://journal.code4lib.org/articles/16719 +<details> +<summary>See BibTex</summary> + + @article{suominen2022analyzer, + title={Annif Analyzer Shootout: Comparing text lemmatization methods for automated subject indexing}, + author={Suominen, Osma and Koskenniemi, Ilkka}, + journal={Code4Lib J.}, + number={54}, + year={2022}, + url={https://journal.code4lib.org/articles/16719}, + } +</details> +</li> +<li> +Suominen, O., 2019. Annif: DIY automated subject indexing using multiple +algorithms. LIBER Quarterly, 29(1), pp.1–25. DOI: +https://doi.org/10.18352/lq.10285 +<details> +<summary>See BibTex</summary> + + @article{suominen2019annif, + title={Annif: DIY automated subject indexing using multiple algorithms}, + author={Suominen, Osma}, + journal={{LIBER} Quarterly}, + volume={29}, + number={1}, + pages={1--25}, + year={2019}, + doi = {10.18352/lq.10285}, + url = {https://doi.org/10.18352/lq.10285} + } +</details> +</li> +</ul> + +# License + +The code in this repository is licensed under Apache License 2.0, except for the +dependencies included under `annif/static/css` and `annif/static/js`, +which have their own licenses, see the file headers for details. +Please note that the [YAKE](https://github.com/LIAAD/yake) library is licended +under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.txt), while Annif is +licensed under the Apache License 2.0. The licenses are compatible, but +depending on legal interpretation, the terms of the GPLv3 (for example the +requirement to publish corresponding source code when publishing an executable +application) may be considered to apply to the whole of Annif+Yake if you +decide to install the optional Yake dependency. + + +%package help +Summary: Development documents and examples for annif +Provides: python3-annif-doc +%description help +<img src="https://annif.org/static/img/annif-RGB.svg" width="150"> + +[](https://zenodo.org/badge/latestdoi/100936800) +[](https://opensource.org/licenses/Apache-2.0) +[](https://github.com/NatLibFi/Annif/actions/workflows/cicd.yml) +[](https://codecov.io/gh/NatLibFi/Annif) +[](https://codeclimate.com/github/NatLibFi/Annif) +[](https://scrutinizer-ci.com/g/NatLibFi/Annif/?branch=main) +[](https://codebeat.co/projects/github-com-natlibfi-annif-main) +[](https://github.com/NatLibFi/Annif/actions/workflows/codeql.yml) +[](https://sonarcloud.io/dashboard?id=NatLibFi_Annif) +[](https://annif.readthedocs.io/en/latest/index.html) +[](https://github.com/psf/black) + +Annif is an automated subject indexing toolkit. It was originally created as +a statistical automated indexing tool that used metadata from the +[Finna.fi](https://finna.fi) discovery interface as a training corpus. + +This repo contains a rewritten production version of Annif based on the +[prototype](https://github.com/osma/annif). It is a work in progress, but +already functional for many common tasks. + +[Finto AI](https://ai.finto.fi/) is a service based on Annif; see the [source code for Finto AI](https://github.com/NatLibFi/FintoAI). + +# Basic install + +Annif is developed and tested on Linux. If you want to run Annif on Windows or Mac OS, the recommended way is to use Docker (see below) or a Linux virtual machine. + +You will need Python 3.8+ to install Annif. + +The recommended way is to install Annif from +[PyPI](https://pypi.org/project/annif/) into a virtual environment. + + python3 -m venv annif-venv + source annif-venv/bin/activate + pip install annif + +You will also need NLTK data files: + + python -m nltk.downloader punkt + +Start up the application: + + annif + +See [Getting Started](https://github.com/NatLibFi/Annif/wiki/Getting-started) +in the wiki for more details. + +# Docker install + +You can use Annif as a pre-built Docker container. Please see the +[wiki documentation](https://github.com/NatLibFi/Annif/wiki/Usage-with-Docker) +for details. + +# Development install + +A development version of Annif can be installed by cloning the [GitHub +repository](https://github.com/NatLibFi/Annif). +[Poetry](https://python-poetry.org/) is used for managing dependencies and virtual environment for the development version. + +See [CONTRIBUTING.md](CONTRIBUTING.md) for information on [unit tests](CONTRIBUTING.md#unit-tests), [code style](CONTRIBUTING.md#code-style), [development flow](CONTRIBUTING.md#development-flow) etc. details that are useful when participating in Annif development. + +## Installation and setup + +Clone the repository. + +Switch into the repository directory. + +Install [pipx](https://pypa.github.io/pipx/) and Poetry if you don't have them. First pipx: + + python3 -m pip install --user pipx + python3 -m pipx ensurepath + +Open a new shell, and then install Poetry: + + pipx install poetry + +Poetry can be installed also without pipx: check the [Poetry documentation](https://python-poetry.org/docs/master/#installation). + +Create a virtual environment and install dependencies: + + poetry install + +By default development dependencies are included. Use option `-E` to install dependencies for selected optional features (`-E "extra1 extra2"` for multiple extras), or install all of them with `--all-extras`. By default the virtual environment directory is not under the project directory, but there is a [setting for selecting this](https://python-poetry.org/docs/configuration/#virtualenvsin-project). + +Enter the virtual environment: + + poetry shell + +You will also need NLTK data files: + + python -m nltk.downloader punkt + +Start up the application: + + annif + +# Getting help + +Many resources are available: + + * [Usage documentation in the wiki](https://github.com/NatLibFi/Annif/wiki) + * [Annif tutorial](https://github.com/NatLibFi/Annif-tutorial) for learning to use Annif + * [annif-users](https://groups.google.com/forum/#!forum/annif-users) discussion forum + * [Internal API documentation](https://annif.readthedocs.io) on ReadTheDocs + * [annif.org](https://annif.org) project web site + +# Publications / How to cite + +Two articles about Annif have been published in peer-reviewed Open Access +journals. The software itself is also archived on Zenodo and +has a [citable DOI](https://doi.org/10.5281/zenodo.5654173). + +## Citing the software itself + +See "Cite this repository" in the details of the repository. + +## Annif articles +<ul> +<li> +Suominen, O.; Inkinen, J.; Lehtinen, M., 2022. +Annif and Finto AI: Developing and Implementing Automated Subject Indexing. +JLIS.It, 13(1), pp. 265–282. URL: +https://www.jlis.it/index.php/jlis/article/view/437 +<details> +<summary>See BibTex</summary> + + @article{suominen2022annif, + title={Annif and Finto AI: Developing and Implementing Automated Subject Indexing}, + author={Suominen, Osma and Inkinen, Juho and Lehtinen, Mona}, + journal={JLIS.it}, + volume={13}, + number={1}, + pages={265--282}, + year={2022}, + doi = {10.4403/jlis.it-12740}, + url={https://www.jlis.it/index.php/jlis/article/view/437}, + } +</details> +</li> +<li> +Suominen, O.; Koskenniemi, I, 2022. +Annif Analyzer Shootout: Comparing text lemmatization methods for automated subject indexing. +Code4Lib Journal, (54). URL: +https://journal.code4lib.org/articles/16719 +<details> +<summary>See BibTex</summary> + + @article{suominen2022analyzer, + title={Annif Analyzer Shootout: Comparing text lemmatization methods for automated subject indexing}, + author={Suominen, Osma and Koskenniemi, Ilkka}, + journal={Code4Lib J.}, + number={54}, + year={2022}, + url={https://journal.code4lib.org/articles/16719}, + } +</details> +</li> +<li> +Suominen, O., 2019. Annif: DIY automated subject indexing using multiple +algorithms. LIBER Quarterly, 29(1), pp.1–25. DOI: +https://doi.org/10.18352/lq.10285 +<details> +<summary>See BibTex</summary> + + @article{suominen2019annif, + title={Annif: DIY automated subject indexing using multiple algorithms}, + author={Suominen, Osma}, + journal={{LIBER} Quarterly}, + volume={29}, + number={1}, + pages={1--25}, + year={2019}, + doi = {10.18352/lq.10285}, + url = {https://doi.org/10.18352/lq.10285} + } +</details> +</li> +</ul> + +# License + +The code in this repository is licensed under Apache License 2.0, except for the +dependencies included under `annif/static/css` and `annif/static/js`, +which have their own licenses, see the file headers for details. +Please note that the [YAKE](https://github.com/LIAAD/yake) library is licended +under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.txt), while Annif is +licensed under the Apache License 2.0. The licenses are compatible, but +depending on legal interpretation, the terms of the GPLv3 (for example the +requirement to publish corresponding source code when publishing an executable +application) may be considered to apply to the whole of Annif+Yake if you +decide to install the optional Yake dependency. + + +%prep +%autosetup -n annif-0.61.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-annif -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.61.0-1 +- Package Spec generated @@ -0,0 +1 @@ +b98305929c4c13bff94d8451801ae6a4 annif-0.61.0.tar.gz |