From 52075995530a09a673efa3c3304e96385efcdc94 Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Tue, 6 Nov 2018 13:54:57 +0000 Subject: [PATCH] Added usage examples --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index 00dcb229..1d341a21 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,29 @@ OpenFlexure Microscope Software ===================== +# Installation +This module is currently in very early development, and is perhaps best installed in developer mode. +- (Recommended) create a virtual environment + - In the openflexure-microscope-software directory, create a venv with `python3 venv env` + - Activate with `source env/bin/activate` + - Install requirements with `pip install -r requirements.txt` +- Install module in developer mode by running `python3 setup.py develop` + - Installing in developer mode allows the module to be modified by editing files directly in the openflexure-microscope-software directory. + +# Developer usage examples +## Running the web API in Gunicorn (port 5000) +- Ensure Gunicorn is installed to the current environment (`pip install gunicorn`) +- Run `gunicorn --threads 5 --workers 1 --bind 0.0.0.0:5000 openflexure_microscope.api.app:app` + +## Running tests through the PTVSD remote debugger (port 3000) +- From the openflexure-microscope-software directory, run `python3 -m ptvsd --host 0.0.0.0 --port 3000 --wait tests/test_camera.py` + +## Example API request (through CURL) +- Capture a still image from the video port + - `curl --header "Content-Type: application/json" --request POST --data '{"use_video_port": true}' raspberrypi.local:5000/capture` +- Get the image for download from a browser + - `http://raspberrypi.local:5000/capture?download=true` + +# Credits ## Video streaming Based on supporting code for the article [video streaming with Flask](http://blog.miguelgrinberg.com/post/video-streaming-with-flask) and its follow-up [Flask Video Streaming Revisited](http://blog.miguelgrinberg.com/post/flask-video-streaming-revisited).