From 4b99f8d8582f3e97e1a0b0734b6db307b62a19cf Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 06:27:41 +0000 Subject: automatic import of python-2ppy --- python-2ppy.spec | 382 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 382 insertions(+) create mode 100644 python-2ppy.spec (limited to 'python-2ppy.spec') diff --git a/python-2ppy.spec b/python-2ppy.spec new file mode 100644 index 0000000..c7f8c8d --- /dev/null +++ b/python-2ppy.spec @@ -0,0 +1,382 @@ +%global _empty_manifest_terminate_build 0 +Name: python-2ppy +Version: 0.4.0 +Release: 1 +Summary: Python-based implementation of tuProlog -- the open ecosystem for symbolic AI --, based on 2P-Kt +License: Apache 2.0 License +URL: https://github.com/tuProlog/2ppy +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/02/9d/eb6fc52e24599cb44da3840acc68eef59a2c88a1658b81014f11866986ab/2ppy-0.4.0.tar.gz +BuildArch: noarch + +Requires: python3-JPype1 + +%description +# 2PPy (tuProlog in Python) + +Experimental porting of [2P-Kt](https://github.com/tuProlog/2p-kt) on Python, via [JPype](https://jpype.readthedocs.io). + +> This is a __work in progress__. 2PPy is not ready for general availability, yet. + +## Introduction + +Object-oriented and modular ecosystem for symbolic AI and logic programming, currently featuring: + +* a module for logic terms and clauses representation, namely `tuprolog.core`, + +* a module for logic unification, namely `tuprolog.unify`, + +* a module for in-memory indexing and storing logic theories, as well as other sorts of collections of logic clauses, namely `tuprolog.theory`, + +* a module providing generic API for resolution of logic queries, namely `tuprolog.solve`, currently implementing a Prolog solver + +* two parsing modules: one aimed at parsing terms, namely `tuprolog.core.parsing`, and the other aimed at parsing theories, namely `tuprolog.theory.parsing`, + +* two serialisation-related modules: one aimed at (de)serialising terms and clauses, namely `tuprolog.core.serialize`, and the +other aimed at (de)serialising terms theories, namely `tuprolog.theory.serialize`, + +* a module for using Prolog via a command-line interface, namely `tuprolog.repl`. + +## How to do stuff + +### Prerequisites + +1. Install Python 3 (look into the `.python-version` to know the exact version) + * I suggest using [Pyenv](https://github.com/pyenv/pyenv) to easily handle multiple Python versions on the same machine + * Ensure PIP works fine + +2. Install Java (JDK preferred), and **ensure the `JAVA_HOME` variable is correctly set** + +3. Ensure Java and Python are both either 64bit or 32bit + +4. If you have installed some prior development version of 2PPy (e.g. `tuppy` or `tuprolog`), uninstall them via + ```bash + pip uninstall tuppy tuprolog + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip uninstall tuppy tuprolog + ``` + +### How to develop 2PPy + +5. Restore Python dependencies via PIP, by running: + ```bash + pip install -r requirements.txt + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip -r requirements.txt + ``` + +6. Restore JVM dependencies via `download-jars.sh`, by running: + ```bash + ./download-jars.sh + ``` + Notice that this command requires `curl` and `wget` to be installed on your system (`wget` may be lacking on __Mac OS__ and Windows) + +### How to use 2PPy as a library + +5. Install 2PPy from Pypi by running: + ```bash + pip install 2ppy + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip install 2ppy + ``` + +6. Import `tuprolog.*` modules in your Python scripts + +7. Profit + +### How to use 2PPy as an executable + +5. Install 2PPy from Pypi by running: + ```bash + pip install 2ppy + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip install 2ppy + ``` + +6. Run `tuprolog` module via + ```bash + python -m tuprolog + ``` + +For the moment, running 2PPy means starting an interactive Python shell with pre-loaded `tuprolog.*` modules. + +Eventually `python -m tuprolog` will launch a command-line logic solver. + + + + +%package -n python3-2ppy +Summary: Python-based implementation of tuProlog -- the open ecosystem for symbolic AI --, based on 2P-Kt +Provides: python-2ppy +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-2ppy +# 2PPy (tuProlog in Python) + +Experimental porting of [2P-Kt](https://github.com/tuProlog/2p-kt) on Python, via [JPype](https://jpype.readthedocs.io). + +> This is a __work in progress__. 2PPy is not ready for general availability, yet. + +## Introduction + +Object-oriented and modular ecosystem for symbolic AI and logic programming, currently featuring: + +* a module for logic terms and clauses representation, namely `tuprolog.core`, + +* a module for logic unification, namely `tuprolog.unify`, + +* a module for in-memory indexing and storing logic theories, as well as other sorts of collections of logic clauses, namely `tuprolog.theory`, + +* a module providing generic API for resolution of logic queries, namely `tuprolog.solve`, currently implementing a Prolog solver + +* two parsing modules: one aimed at parsing terms, namely `tuprolog.core.parsing`, and the other aimed at parsing theories, namely `tuprolog.theory.parsing`, + +* two serialisation-related modules: one aimed at (de)serialising terms and clauses, namely `tuprolog.core.serialize`, and the +other aimed at (de)serialising terms theories, namely `tuprolog.theory.serialize`, + +* a module for using Prolog via a command-line interface, namely `tuprolog.repl`. + +## How to do stuff + +### Prerequisites + +1. Install Python 3 (look into the `.python-version` to know the exact version) + * I suggest using [Pyenv](https://github.com/pyenv/pyenv) to easily handle multiple Python versions on the same machine + * Ensure PIP works fine + +2. Install Java (JDK preferred), and **ensure the `JAVA_HOME` variable is correctly set** + +3. Ensure Java and Python are both either 64bit or 32bit + +4. If you have installed some prior development version of 2PPy (e.g. `tuppy` or `tuprolog`), uninstall them via + ```bash + pip uninstall tuppy tuprolog + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip uninstall tuppy tuprolog + ``` + +### How to develop 2PPy + +5. Restore Python dependencies via PIP, by running: + ```bash + pip install -r requirements.txt + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip -r requirements.txt + ``` + +6. Restore JVM dependencies via `download-jars.sh`, by running: + ```bash + ./download-jars.sh + ``` + Notice that this command requires `curl` and `wget` to be installed on your system (`wget` may be lacking on __Mac OS__ and Windows) + +### How to use 2PPy as a library + +5. Install 2PPy from Pypi by running: + ```bash + pip install 2ppy + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip install 2ppy + ``` + +6. Import `tuprolog.*` modules in your Python scripts + +7. Profit + +### How to use 2PPy as an executable + +5. Install 2PPy from Pypi by running: + ```bash + pip install 2ppy + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip install 2ppy + ``` + +6. Run `tuprolog` module via + ```bash + python -m tuprolog + ``` + +For the moment, running 2PPy means starting an interactive Python shell with pre-loaded `tuprolog.*` modules. + +Eventually `python -m tuprolog` will launch a command-line logic solver. + + + + +%package help +Summary: Development documents and examples for 2ppy +Provides: python3-2ppy-doc +%description help +# 2PPy (tuProlog in Python) + +Experimental porting of [2P-Kt](https://github.com/tuProlog/2p-kt) on Python, via [JPype](https://jpype.readthedocs.io). + +> This is a __work in progress__. 2PPy is not ready for general availability, yet. + +## Introduction + +Object-oriented and modular ecosystem for symbolic AI and logic programming, currently featuring: + +* a module for logic terms and clauses representation, namely `tuprolog.core`, + +* a module for logic unification, namely `tuprolog.unify`, + +* a module for in-memory indexing and storing logic theories, as well as other sorts of collections of logic clauses, namely `tuprolog.theory`, + +* a module providing generic API for resolution of logic queries, namely `tuprolog.solve`, currently implementing a Prolog solver + +* two parsing modules: one aimed at parsing terms, namely `tuprolog.core.parsing`, and the other aimed at parsing theories, namely `tuprolog.theory.parsing`, + +* two serialisation-related modules: one aimed at (de)serialising terms and clauses, namely `tuprolog.core.serialize`, and the +other aimed at (de)serialising terms theories, namely `tuprolog.theory.serialize`, + +* a module for using Prolog via a command-line interface, namely `tuprolog.repl`. + +## How to do stuff + +### Prerequisites + +1. Install Python 3 (look into the `.python-version` to know the exact version) + * I suggest using [Pyenv](https://github.com/pyenv/pyenv) to easily handle multiple Python versions on the same machine + * Ensure PIP works fine + +2. Install Java (JDK preferred), and **ensure the `JAVA_HOME` variable is correctly set** + +3. Ensure Java and Python are both either 64bit or 32bit + +4. If you have installed some prior development version of 2PPy (e.g. `tuppy` or `tuprolog`), uninstall them via + ```bash + pip uninstall tuppy tuprolog + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip uninstall tuppy tuprolog + ``` + +### How to develop 2PPy + +5. Restore Python dependencies via PIP, by running: + ```bash + pip install -r requirements.txt + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip -r requirements.txt + ``` + +6. Restore JVM dependencies via `download-jars.sh`, by running: + ```bash + ./download-jars.sh + ``` + Notice that this command requires `curl` and `wget` to be installed on your system (`wget` may be lacking on __Mac OS__ and Windows) + +### How to use 2PPy as a library + +5. Install 2PPy from Pypi by running: + ```bash + pip install 2ppy + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip install 2ppy + ``` + +6. Import `tuprolog.*` modules in your Python scripts + +7. Profit + +### How to use 2PPy as an executable + +5. Install 2PPy from Pypi by running: + ```bash + pip install 2ppy + ``` + On __Mac OS__ this may not work as expected. + Consider running the following command instead: + ```bash + python3 -m pip install 2ppy + ``` + +6. Run `tuprolog` module via + ```bash + python -m tuprolog + ``` + +For the moment, running 2PPy means starting an interactive Python shell with pre-loaded `tuprolog.*` modules. + +Eventually `python -m tuprolog` will launch a command-line logic solver. + + + + +%prep +%autosetup -n 2ppy-0.4.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-2ppy -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 0.4.0-1 +- Package Spec generated -- cgit v1.2.3