ProductDB back-end API
Project description
Acondbs
ProductDB back-end API
How to check out and run (for developers)
Prepare environment
Create a virtual environment
python -m venv venv
Enter the virtual environment
source venv/bin/activate
Upgrade pip (optional)
pip install --upgrade pip
Check out
Clone the repository from GitHub
git clone git@github.com:simonsobs/acondbs.git
Install from the clone in the editable mode.
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
git clone git@github.com:TaiSakuma/acondbs-instance-example.git instance
Set environmental variables
export FLASK_APP="acondbs:create_app('$PWD/instance/config.py')"
export FLASK_DEBUG=1
Initialize database
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.
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.)
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:
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.
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: http://localhost:5000/graphql
Unit test
Move to the repository
cd acondbs
Run the unit tests
pytest
Run the unit tests with coverage
pytest --cov
Generate the coverage report
coverage html
The report can be found at coverage_html_report/index.html
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file acondbs-0.4.8.tar.gz
.
File metadata
- Download URL: acondbs-0.4.8.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82a5ce90d01b02e391c03ca273b56d5e057fe309944abeba9b4e7dd7b8098e21 |
|
MD5 | 10f4d210ac124e6f4cf36d1409230d9b |
|
BLAKE2b-256 | 252509b4815a7fe68edf8079f0574c9f077f91ae4dc7fe3392b2a05db708316c |
File details
Details for the file acondbs-0.4.8-py3-none-any.whl
.
File metadata
- Download URL: acondbs-0.4.8-py3-none-any.whl
- Upload date:
- Size: 68.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a0356593a2ad7ba9ff0671752f7f112245913b42e93873c06a6412ba20a6daf |
|
MD5 | ba80c848d0ed2037d83a3d80c79eb84f |
|
BLAKE2b-256 | 5982a160cf5d7e93f2264cc6ea599b5e6e917119145033db75853db732085d65 |