%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 - 4.5.2-1 - Package Spec generated