%global _empty_manifest_terminate_build 0 Name: python-acondbs Version: 0.4.3 Release: 1 Summary: A GraphQL server for product DB License: MIT License URL: https://github.com/simonsobs/acondbs Source0: https://mirrors.nju.edu.cn/pypi/web/packages/77/69/173a297dc6f7ac97b1247d5f60139471cdefa9d8f9d841e1249071212b66/acondbs-0.4.3.tar.gz BuildArch: noarch Requires: python3-SQLAlchemy Requires: python3-SQLAlchemy-Utils Requires: python3-Flask Requires: python3-Flask-Cors Requires: python3-Flask-GraphQL Requires: python3-Flask-Migrate Requires: python3-Flask-SQLAlchemy Requires: python3-graphene-sqlalchemy Requires: python3-graphene-sqlalchemy-filter Requires: python3-cryptography Requires: python3-gitpython Requires: python3-requests Requires: python3-a2wsgi Requires: python3-pytest Requires: python3-pytest-cov Requires: python3-pytest-asyncio Requires: python3-snapshottest Requires: python3-async-asgi-testclient Requires: python3-sqlparse %description [![PyPI version](https://badge.fury.io/py/acondbs.svg)](https://badge.fury.io/py/acondbs) [![Test Status](https://github.com/simonsobs/acondbs/workflows/Test/badge.svg)](https://github.com/simonsobs/acondbs/actions?query=workflow%3ATest) [![codecov](https://codecov.io/gh/simonsobs/acondbs/branch/master/graph/badge.svg)](https://codecov.io/gh/simonsobs/acondbs) # Acondbs A GraphQL server for product DB ## How to check out and run (for developers) ### Prepare environment Create a virtual environment ```bash python -m venv venv ``` Enter the virtual environment ```bash source venv/bin/activate ``` Upgrade pip (optional) ```bash pip install --upgrade pip ``` ### Check out Clone the repository from GitHub ```bash git clone git@github.com:simonsobs/acondbs.git ``` Install from the clone in the [editable mode](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs). ```bash pip install -e acondbs/[tests] ``` ### Configure Create an instance folder of Flask, where the config file and the SQLite DB file are stored. Check out an example instance folder from GitHub ```bash git clone git@github.com:TaiSakuma/acondbs-instance-example.git instance ``` Set environmental variables ```bash export FLASK_APP="acondbs:create_app('$PWD/instance/config.py')" export FLASK_ENV=development ``` ### Initialize database ```bash flask init-db ``` An SQLite DB file has been created in the instance folder (`instance/product.sqlite3`). Tables were defined (The tables were empty. Only fields were defined. No data were inserted in the tables). ### Load sample data to DB (optional) (Optional) Load sample data to the dababase. ```bash flask import-csv acondbs/tests/sample/csv/ ``` ### Run Run with the Flask built-in server for the development. (Deployment options for proudction are descriped in the [Flask documentation](https://flask.palletsprojects.com/en/1.1.x/deploying/).) ```bash flask run ``` The above command starts the built-in server that only allows accress from localhost. It starts the server at the default TCP port, usually `5000`. To allow the access from outside, use `--host=0.0.0.0` option. The TCP port can be specified by `--port` option. For example: ```bash flask run --host=0.0.0.0 --port=5000 ``` #### Access to the server with cURL Now, you can send GraphQL requests to the server, for example, as follows. ```bash curl -d "query={allMaps { edges { node { name mapper } } }}" localhost:5000/graphql ``` #### Access to the server with a web browser If you access to the server with a web browser, it will show a graphical user interface *GraphiQL*: ### Unit test Move to the repository ```bash cd acondbs ``` Run the unit tests ```bash pytest ``` Run the unit tests with coverage ```bash pytest --cov ``` Generate the coverage report ```bash coverage html ``` The report can be found at `coverage_html_report/index.html`. %package -n python3-acondbs Summary: A GraphQL server for product DB Provides: python-acondbs BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-acondbs [![PyPI version](https://badge.fury.io/py/acondbs.svg)](https://badge.fury.io/py/acondbs) [![Test Status](https://github.com/simonsobs/acondbs/workflows/Test/badge.svg)](https://github.com/simonsobs/acondbs/actions?query=workflow%3ATest) [![codecov](https://codecov.io/gh/simonsobs/acondbs/branch/master/graph/badge.svg)](https://codecov.io/gh/simonsobs/acondbs) # Acondbs A GraphQL server for product DB ## How to check out and run (for developers) ### Prepare environment Create a virtual environment ```bash python -m venv venv ``` Enter the virtual environment ```bash source venv/bin/activate ``` Upgrade pip (optional) ```bash pip install --upgrade pip ``` ### Check out Clone the repository from GitHub ```bash git clone git@github.com:simonsobs/acondbs.git ``` Install from the clone in the [editable mode](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs). ```bash pip install -e acondbs/[tests] ``` ### Configure Create an instance folder of Flask, where the config file and the SQLite DB file are stored. Check out an example instance folder from GitHub ```bash git clone git@github.com:TaiSakuma/acondbs-instance-example.git instance ``` Set environmental variables ```bash export FLASK_APP="acondbs:create_app('$PWD/instance/config.py')" export FLASK_ENV=development ``` ### Initialize database ```bash flask init-db ``` An SQLite DB file has been created in the instance folder (`instance/product.sqlite3`). Tables were defined (The tables were empty. Only fields were defined. No data were inserted in the tables). ### Load sample data to DB (optional) (Optional) Load sample data to the dababase. ```bash flask import-csv acondbs/tests/sample/csv/ ``` ### Run Run with the Flask built-in server for the development. (Deployment options for proudction are descriped in the [Flask documentation](https://flask.palletsprojects.com/en/1.1.x/deploying/).) ```bash flask run ``` The above command starts the built-in server that only allows accress from localhost. It starts the server at the default TCP port, usually `5000`. To allow the access from outside, use `--host=0.0.0.0` option. The TCP port can be specified by `--port` option. For example: ```bash flask run --host=0.0.0.0 --port=5000 ``` #### Access to the server with cURL Now, you can send GraphQL requests to the server, for example, as follows. ```bash curl -d "query={allMaps { edges { node { name mapper } } }}" localhost:5000/graphql ``` #### Access to the server with a web browser If you access to the server with a web browser, it will show a graphical user interface *GraphiQL*: ### Unit test Move to the repository ```bash cd acondbs ``` Run the unit tests ```bash pytest ``` Run the unit tests with coverage ```bash pytest --cov ``` Generate the coverage report ```bash coverage html ``` The report can be found at `coverage_html_report/index.html`. %package help Summary: Development documents and examples for acondbs Provides: python3-acondbs-doc %description help [![PyPI version](https://badge.fury.io/py/acondbs.svg)](https://badge.fury.io/py/acondbs) [![Test Status](https://github.com/simonsobs/acondbs/workflows/Test/badge.svg)](https://github.com/simonsobs/acondbs/actions?query=workflow%3ATest) [![codecov](https://codecov.io/gh/simonsobs/acondbs/branch/master/graph/badge.svg)](https://codecov.io/gh/simonsobs/acondbs) # Acondbs A GraphQL server for product DB ## How to check out and run (for developers) ### Prepare environment Create a virtual environment ```bash python -m venv venv ``` Enter the virtual environment ```bash source venv/bin/activate ``` Upgrade pip (optional) ```bash pip install --upgrade pip ``` ### Check out Clone the repository from GitHub ```bash git clone git@github.com:simonsobs/acondbs.git ``` Install from the clone in the [editable mode](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs). ```bash pip install -e acondbs/[tests] ``` ### Configure Create an instance folder of Flask, where the config file and the SQLite DB file are stored. Check out an example instance folder from GitHub ```bash git clone git@github.com:TaiSakuma/acondbs-instance-example.git instance ``` Set environmental variables ```bash export FLASK_APP="acondbs:create_app('$PWD/instance/config.py')" export FLASK_ENV=development ``` ### Initialize database ```bash flask init-db ``` An SQLite DB file has been created in the instance folder (`instance/product.sqlite3`). Tables were defined (The tables were empty. Only fields were defined. No data were inserted in the tables). ### Load sample data to DB (optional) (Optional) Load sample data to the dababase. ```bash flask import-csv acondbs/tests/sample/csv/ ``` ### Run Run with the Flask built-in server for the development. (Deployment options for proudction are descriped in the [Flask documentation](https://flask.palletsprojects.com/en/1.1.x/deploying/).) ```bash flask run ``` The above command starts the built-in server that only allows accress from localhost. It starts the server at the default TCP port, usually `5000`. To allow the access from outside, use `--host=0.0.0.0` option. The TCP port can be specified by `--port` option. For example: ```bash flask run --host=0.0.0.0 --port=5000 ``` #### Access to the server with cURL Now, you can send GraphQL requests to the server, for example, as follows. ```bash curl -d "query={allMaps { edges { node { name mapper } } }}" localhost:5000/graphql ``` #### Access to the server with a web browser If you access to the server with a web browser, it will show a graphical user interface *GraphiQL*: ### Unit test Move to the repository ```bash cd acondbs ``` Run the unit tests ```bash pytest ``` Run the unit tests with coverage ```bash pytest --cov ``` Generate the coverage report ```bash coverage html ``` The report can be found at `coverage_html_report/index.html`. %prep %autosetup -n acondbs-0.4.3 %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-acondbs -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.4.3-1 - Package Spec generated