diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 06:00:28 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 06:00:28 +0000 |
commit | 2eeb2c32f6890808b26cb650cae12fa25a10bbbc (patch) | |
tree | 8990316f1785419c065d503d9742a287c0fa7fbb | |
parent | b8764d05ede6f5be78c8d30331bd452434254b15 (diff) |
automatic import of python-gbd-toolsopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-gbd-tools.spec | 356 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 358 insertions, 0 deletions
@@ -0,0 +1 @@ +/gbd_tools-4.5.2.tar.gz diff --git a/python-gbd-tools.spec b/python-gbd-tools.spec new file mode 100644 index 0000000..ec8a345 --- /dev/null +++ b/python-gbd-tools.spec @@ -0,0 +1,356 @@ +%global _empty_manifest_terminate_build 0 +Name: python-gbd-tools +Version: 4.5.2 +Release: 1 +Summary: GBD Benchmark Database Tools: Maintenance of Benchmark Instances and their Attributes +License: GNU General Public License v3 (GPLv3) +URL: https://github.com/Udopia/gbd +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c2/62/083652023d4ea5d3e19daa2ad8bffe54ea41c814f95fb09ca98d785df739/gbd_tools-4.5.2.tar.gz +BuildArch: noarch + +Requires: python3-flask +Requires: python3-pandas +Requires: python3-pebble +Requires: python3-tatsu +Requires: python3-waitress + +%description +# GBD Benchmark Database + +GBD Benchmark Database (GBD) is about bridging the gap between research on SAT algorithms and data science. + +## GBD has three interfaces: + +- command-line interface ```gbd``` +- micro-services and website ```gbd-server``` +- python interface ```gbd_core.api.GBD``` + + +## GBD solves several problems + +- benchmark instance identification and identification of equivalence classes of benchmark instances (gbdhash, isohash, instance family, ...) +- distribution of benchmark instances and benchmark meta-data +- a simple query language to provide access to filtered sets of benchmark instances and instance features +- initialization and maintenance of instance feature databases (meta.db, base.db, gate.db, ...) +- transformation algorithms for benchmark instances such as instance sanitization or transformation of cnf to k-isp instances +- keeping track of contexts (cnf, sanitized-cnf, k-isp, ...) and relations of instances between contexts + + +## Programming Language +- Python 3 +- SQLite + +## Installation +- ```pip install gbd-tools``` + +## Configuration +- fetch a database, e.g., [https://benchmark-database.de/getdatabase/meta.db](https://benchmark-database.de/getdatabase/meta.db) +- ```export GBD_DB=[path/to/database1]:[path/to/database2:..]``` (and put it in your .bashrc) +- test command-line interface with commands ```gbd info``` and ```gbd --help``` +- test server with command ```gbd-server``` + +## GBD Python Interface +``` +from gbd_core.api import GBD +with GBD(['path/to/database1', 'path/to/database2', ..] as gbd: + df = gbd.query("family = hardware-bmc", resolve=['verified-result', 'runtime-kissat']) +``` + + +## GBD Server +This runs under [https://benchmark-database.de/](https://benchmark-database.de/). +The command is available in gbd-tools: ```gbd-server --help``` + + +## GBD Command-Line Interface + +### gbd get + +We assume [https://benchmark-database.de/getdatabase/meta.db](meta.db) is in your gbd path ```GBD_DB```. + +Get list of benchmark instances in database: +> ```gbd get``` + +Get list of benchmark instances including some meta-data +> ```gbd get -r result family``` + +Filter for specific benchmark instances with gbd-query +> ```gbd get "family = hardware-bmc" -r filename``` + + +### gbd init + +We assume you installed the python extension module ```gdbc``` which is part of [https://github.com/sat-clique/cnftools](cnftools). + +All initialization routines can run in parallel and per-process ressource limits can be set. +See ```gbd init --help``` for more info. + +#### gbd init local + +To initialize a database with local paths to your own benchmarks: +> ```gbd -d my.db init local [path/to/benchmarks]``` + +After that in my.db, the features local and filename exist and are associated with their corresponding gbd-hash: +> ```gbd -d my.db get -r local filename``` + +#### gbd init isohash + +To identify isomorphic instances (approximately by the hash of the sorted degree-sequence of their graph representation): +> ```gbd -d my.db init isohash``` + +After that in my.db, instances can be grouped by their isohash: +> ```gbd -d my.db get -r local filename -g isohash``` + +#### gbd init base, gbd init gate + +> ```gbd -d my.db:base.db init --target_db base_db base``` + + +> ```gbd -d my.db:gate.db init --target_db gate_db gate``` + + + +%package -n python3-gbd-tools +Summary: GBD Benchmark Database Tools: Maintenance of Benchmark Instances and their Attributes +Provides: python-gbd-tools +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-gbd-tools +# GBD Benchmark Database + +GBD Benchmark Database (GBD) is about bridging the gap between research on SAT algorithms and data science. + +## GBD has three interfaces: + +- command-line interface ```gbd``` +- micro-services and website ```gbd-server``` +- python interface ```gbd_core.api.GBD``` + + +## GBD solves several problems + +- benchmark instance identification and identification of equivalence classes of benchmark instances (gbdhash, isohash, instance family, ...) +- distribution of benchmark instances and benchmark meta-data +- a simple query language to provide access to filtered sets of benchmark instances and instance features +- initialization and maintenance of instance feature databases (meta.db, base.db, gate.db, ...) +- transformation algorithms for benchmark instances such as instance sanitization or transformation of cnf to k-isp instances +- keeping track of contexts (cnf, sanitized-cnf, k-isp, ...) and relations of instances between contexts + + +## Programming Language +- Python 3 +- SQLite + +## Installation +- ```pip install gbd-tools``` + +## Configuration +- fetch a database, e.g., [https://benchmark-database.de/getdatabase/meta.db](https://benchmark-database.de/getdatabase/meta.db) +- ```export GBD_DB=[path/to/database1]:[path/to/database2:..]``` (and put it in your .bashrc) +- test command-line interface with commands ```gbd info``` and ```gbd --help``` +- test server with command ```gbd-server``` + +## GBD Python Interface +``` +from gbd_core.api import GBD +with GBD(['path/to/database1', 'path/to/database2', ..] as gbd: + df = gbd.query("family = hardware-bmc", resolve=['verified-result', 'runtime-kissat']) +``` + + +## GBD Server +This runs under [https://benchmark-database.de/](https://benchmark-database.de/). +The command is available in gbd-tools: ```gbd-server --help``` + + +## GBD Command-Line Interface + +### gbd get + +We assume [https://benchmark-database.de/getdatabase/meta.db](meta.db) is in your gbd path ```GBD_DB```. + +Get list of benchmark instances in database: +> ```gbd get``` + +Get list of benchmark instances including some meta-data +> ```gbd get -r result family``` + +Filter for specific benchmark instances with gbd-query +> ```gbd get "family = hardware-bmc" -r filename``` + + +### gbd init + +We assume you installed the python extension module ```gdbc``` which is part of [https://github.com/sat-clique/cnftools](cnftools). + +All initialization routines can run in parallel and per-process ressource limits can be set. +See ```gbd init --help``` for more info. + +#### gbd init local + +To initialize a database with local paths to your own benchmarks: +> ```gbd -d my.db init local [path/to/benchmarks]``` + +After that in my.db, the features local and filename exist and are associated with their corresponding gbd-hash: +> ```gbd -d my.db get -r local filename``` + +#### gbd init isohash + +To identify isomorphic instances (approximately by the hash of the sorted degree-sequence of their graph representation): +> ```gbd -d my.db init isohash``` + +After that in my.db, instances can be grouped by their isohash: +> ```gbd -d my.db get -r local filename -g isohash``` + +#### gbd init base, gbd init gate + +> ```gbd -d my.db:base.db init --target_db base_db base``` + + +> ```gbd -d my.db:gate.db init --target_db gate_db gate``` + + + +%package help +Summary: Development documents and examples for gbd-tools +Provides: python3-gbd-tools-doc +%description help +# GBD Benchmark Database + +GBD Benchmark Database (GBD) is about bridging the gap between research on SAT algorithms and data science. + +## GBD has three interfaces: + +- command-line interface ```gbd``` +- micro-services and website ```gbd-server``` +- python interface ```gbd_core.api.GBD``` + + +## GBD solves several problems + +- benchmark instance identification and identification of equivalence classes of benchmark instances (gbdhash, isohash, instance family, ...) +- distribution of benchmark instances and benchmark meta-data +- a simple query language to provide access to filtered sets of benchmark instances and instance features +- initialization and maintenance of instance feature databases (meta.db, base.db, gate.db, ...) +- transformation algorithms for benchmark instances such as instance sanitization or transformation of cnf to k-isp instances +- keeping track of contexts (cnf, sanitized-cnf, k-isp, ...) and relations of instances between contexts + + +## Programming Language +- Python 3 +- SQLite + +## Installation +- ```pip install gbd-tools``` + +## Configuration +- fetch a database, e.g., [https://benchmark-database.de/getdatabase/meta.db](https://benchmark-database.de/getdatabase/meta.db) +- ```export GBD_DB=[path/to/database1]:[path/to/database2:..]``` (and put it in your .bashrc) +- test command-line interface with commands ```gbd info``` and ```gbd --help``` +- test server with command ```gbd-server``` + +## GBD Python Interface +``` +from gbd_core.api import GBD +with GBD(['path/to/database1', 'path/to/database2', ..] as gbd: + df = gbd.query("family = hardware-bmc", resolve=['verified-result', 'runtime-kissat']) +``` + + +## GBD Server +This runs under [https://benchmark-database.de/](https://benchmark-database.de/). +The command is available in gbd-tools: ```gbd-server --help``` + + +## GBD Command-Line Interface + +### gbd get + +We assume [https://benchmark-database.de/getdatabase/meta.db](meta.db) is in your gbd path ```GBD_DB```. + +Get list of benchmark instances in database: +> ```gbd get``` + +Get list of benchmark instances including some meta-data +> ```gbd get -r result family``` + +Filter for specific benchmark instances with gbd-query +> ```gbd get "family = hardware-bmc" -r filename``` + + +### gbd init + +We assume you installed the python extension module ```gdbc``` which is part of [https://github.com/sat-clique/cnftools](cnftools). + +All initialization routines can run in parallel and per-process ressource limits can be set. +See ```gbd init --help``` for more info. + +#### gbd init local + +To initialize a database with local paths to your own benchmarks: +> ```gbd -d my.db init local [path/to/benchmarks]``` + +After that in my.db, the features local and filename exist and are associated with their corresponding gbd-hash: +> ```gbd -d my.db get -r local filename``` + +#### gbd init isohash + +To identify isomorphic instances (approximately by the hash of the sorted degree-sequence of their graph representation): +> ```gbd -d my.db init isohash``` + +After that in my.db, instances can be grouped by their isohash: +> ```gbd -d my.db get -r local filename -g isohash``` + +#### gbd init base, gbd init gate + +> ```gbd -d my.db:base.db init --target_db base_db base``` + + +> ```gbd -d my.db:gate.db init --target_db gate_db gate``` + + + +%prep +%autosetup -n gbd-tools-4.5.2 + +%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-gbd-tools -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 4.5.2-1 +- Package Spec generated @@ -0,0 +1 @@ +2c2827ff3f0b527ecf669a14e48572b4 gbd_tools-4.5.2.tar.gz |