dapi
is a library that simplifies the process of submitting, running, and monitoring TAPIS v2 / AgavePy jobs on DesignSafe via Jupyter Notebooks.
-
Simplified TAPIS v2 Calls: No need to fiddle with complex API requests.
dapi
abstracts away the complexities. -
Seamless Integration with DesignSafe Jupyter Notebooks: Launch DesignSafe applications directly from the Jupyter environment.
Connects to SQL databases on DesignSafe:
Database | dbname | env_prefix |
---|---|---|
NGL | ngl |
NGL_ |
Earthake Recovery | eq |
EQ_ |
Vp | vp |
VP_ |
Define the following environment variables:
{env_prefix}DB_USER
{env_prefix}DB_PASSWORD
{env_prefix}DB_HOST
{env_prefix}DB_PORT
For e.g., to add the environment variable NGL_DB_USER
edit ~/.bashrc
, ~/.zshrc
, or a similar shell-specific configuration file for the current user and add export NGL_DB_USER="dspublic"
.
Install dapi
via pip
pip3 install dapi
To install the current development version of the library use:
pip install git+https://github.com/DesignSafe-CI/dapi.git --quiet
-
Jupyter Notebook Templates using dapi.
-
View dapi API doc
Install the latest version of dapi
and restart the kernel (Kernel >> Restart Kernel):
# Remove any previous installations
!pip uninstall dapi -y
# Install
!pip install dapi --quiet
- Import
dapi
library
import dapi
- To list all functions in
dapi
dir(dapi)
from dapi.db import DSDatabase
db = DSDatabase("ngl")
sql = 'SELECT * FROM SITE'
df = db.read_sql(sql)
print(df)
# Optionally, close the database connection when done
db.close()
View dapi API doc
To generate API docs:
pdoc --html --output-dir docs dapi --force
For any questions, issues, or feedback submit an issue
To develop or test the library locally. Install Poetry. In the current repository run the following commands
poetry shell
poetry install
poetry build
To run the unit test
poetry run pytest -v
The project only works on Python 3.9
due to AgavePy Issue #125.
dapi
is licensed under the MIT License.
- Krishna Kumar, University of Texas at Austin
- Prof. Pedro Arduino, University of Washington
- Prof. Scott Brandenberg, University of California Los Angeles