Python wrapper for api use in the cave_app
Project description
Cave Utilities for the Cave App
Basic utilities for the MIT Cave App. This package is intended to be used by the Cave App and the Cave API.
Setup
Make sure you have Python 3.9.x (or higher) installed on your system. You can download it here.
Installation
pip install cave_utils
Running Validator Tests
Example:
-
In your cave_app, update the following file:
cave_api/tests/test_init.py
from cave_api import execute_command from cave_utils.socket import Socket from cave_utils.validator import Validator init_session_data = execute_command(session_data={}, socket=Socket(), command="init") x = Validator(init_session_data) x.log.print_logs() # x.log.print_logs(level="error") # x.log.print_logs(level="warning") # x.log.print_logs(max_count=10)
-
Run the following command:
cave test test_init.py
cave_utils development
Using Live Validation
-
In your cave_app, update the following file:
utils/run_server.sh
#!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) APP_DIR=$(dirname "$SCRIPT_DIR") pip install -e /cave_utils source ./utils/helpers/shell_functions.sh source ./utils/helpers/ensure_postgres_running.sh source ./utils/helpers/ensure_db_setup.sh python "$APP_DIR/manage.py" runserver 0.0.0.0:8000 2>&1 | pipe_log "INFO"
-
Remove
cave_utils
from the rootrequirements.txt
file -
In your cave_app, set
LIVE_API_VALIDATION=True
in the.env
file- This will validate your data every time an API command is called for each session
- Outputs will be stored in
logs/validation/{session_name}.log
-
Use the following command to run your cave_app:
cave run --docker-args "--volume {local_path_to_cave_utils}/cave_utils:/cave_utils"
- As you edit cave_utils, the logs will be updated live
Using interactive mode and running tests
- Run cave_app in interactive mode mounting cave_utils as a volume:
cave run --docker-args "--volume {local_path_to_cave_utils}/cave_utils:/cave_utils" -it
- Then install cave utils in the docker container:
pip install -e /cave_utils
- Then run some tests (eg
validate_all_examples.py
):python cave_api/tests/validate_all_examples.py
Generate Documentation
- Set up your virtual environment
python3 -m virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
- Update the docs
source venv/bin/activate
./update_documentation.sh
Generate a New Release
- Set up your virtual environment
python3 -m virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
- Update the version number in:
setup.cfg
pyproject.toml
- Update the release
source venv/bin/activate
./update_version.sh
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
Hashes for cave_utils-2.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9539baef0fba96419352764eb02af814f08046490a460c3d47d3b4770d1952ee |
|
MD5 | 79f2c5ccef83edb084fa05419ae855d7 |
|
BLAKE2b-256 | 2b93c55bd5baaeed0671597b95a54a9885401e27158e18e266676cb6f6722b55 |