| .github/workflows | ||
| .vscode | ||
| app | ||
| tests | ||
| .coveragerc | ||
| .env_sample | ||
| .gitignore | ||
| LICENSE | ||
| poetry.lock | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
blitz_api
Configuration
Create a .env file with your bitcoind and lnd configuration. See the .env_sample file for all configuration options.
Please note that you will also need to install Redis.
If you need a easy option to run a simple bitcoind & lnd client, Polar makes that pretty easy.
Installation
You will need to have Python in version 3.7 installed and have the .env see Configuration configured correctly first.
⚠️ To setup a development environment for BlitzAPI skip to the Development section.
To install the dependencies, run
python -m pip install -r requirements.txt on Linux / macOS or
py -m pip install -r requirements.txt on Windows.
After that, you can run the application with
python -m uvicorn app.main:app --reload on Linux / macOS or
py -m uvicorn app.main:app --reload on Windows.
Development
For development it is recommended to have python-poetry installed. Install instructions can be found here
From within the blitz_api folder open a shell via poetry shell.
Install dependencies with all dev dependencies: poetry install
If any dependencies have changed it becomes necessary to freeze all requirements to requirements.txt:
poetry export -f requirements.txt --output requirements.txt
ℹ️ This will skip all dev dependencies by default.
This step is required to avoid having to install poetry for final deployment.
Testing
Make sure to include test for important pieces of code submitted.
To run the tests run make tests to test with pytest or run make coverage to test and generate a coverage html file in a folder called htmlcov