Skip to main content

A GraphQL server for product DB

Project description

PyPI version Build Status codecov

Acondbs

A GraphQL server for product DB

How to check out and run (for developers)

Check out

Check out Acondbs from GitHub, create and enter a virtual environment, and install Acondbs in the editable mode.

git clone git@github.com:simonsobs/acondbs.git
cd acondbs
python -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -e  '.[tests]'

Create an instance folder

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_ENV=development

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 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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acondbs-0.2.0.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

acondbs-0.2.0-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file acondbs-0.2.0.tar.gz.

File metadata

  • Download URL: acondbs-0.2.0.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.1

File hashes

Hashes for acondbs-0.2.0.tar.gz
Algorithm Hash digest
SHA256 18c54ae318bc72278c391d2f34ce786f9fc8ec877419ca8fcfa27f046ce3885a
MD5 c2965f54cf65daf6ce648cb7d998efd5
BLAKE2b-256 52c4f4727a32cf27204bf78c1e6e3cc97f925438d15ecfb6afed400971a36d28

See more details on using hashes here.

File details

Details for the file acondbs-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: acondbs-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.1

File hashes

Hashes for acondbs-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6024fbd033976cb9ae7650f924415d1a45e40a6546c6bbdc984844ab28f383af
MD5 12170fb5a3a8ede43b938eb41940ca19
BLAKE2b-256 724c2a66050b61025c25ef53cf2b64ea537b6f4ae7e4768c02d0fd991c7e9b70

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page