Skip to main content

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:

  1. 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)
    
  2. Run the following command: cave test test_init.py

cave_utils development

Using Live Validation

  1. 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"
    
  2. Remove cave_utils from the root requirements.txt file

  3. 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
  4. 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

  1. 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
  2. Then install cave utils in the docker container: pip install -e /cave_utils
  3. Then run some tests (eg validate_all_examples.py): python cave_api/tests/validate_all_examples.py

Generate Documentation

  1. Set up your virtual environment
    • python3 -m virtualenv venv
    • source venv/bin/activate
    • pip install -r requirements.txt
  2. Update the docs
    • source venv/bin/activate
    • ./update_documentation.sh

Generate a New Release

  1. Set up your virtual environment
    • python3 -m virtualenv venv
    • source venv/bin/activate
    • pip install -r requirements.txt
  2. Update the version number in:
    • setup.cfg
    • pyproject.toml
  3. Update the release
    • source venv/bin/activate
    • ./update_version.sh

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

cave_utils-2.0.0b3.tar.gz (36.7 kB view hashes)

Uploaded Source

Built Distribution

cave_utils-2.0.0b3-py3-none-any.whl (36.7 kB view hashes)

Uploaded Python 3

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