quantready
A CLI to quickly launch data-driven and API-first businesses - using the modern python stack
β
β
β
QuantReady Stack - Templates β¨
quantready
CLI for creating and configuring projects and using the quantready-* templates
quantready-base
build and publish python libraries and docker images
-
βοΈ poetry for dependency management -
βοΈ pre-commit hooks for code formatting, linting, and testing -
βοΈ unittest for testing -
βοΈ gitleaks for secrets scanning -
βοΈ github actions for CI/CD -
βοΈ docker for building containers -
βοΈ twine for publishing to pypi or private repositories -
π² gcloud for publishing to private repositories
quantready-api - A template to build and deploy fastapi applications
- authentication - api key or oauth
- authorization - RBAC via OSO
- rate limiting - via redis
- job-queues to support long-running tasks
- workers
- caching
- github actions to deploy to gcloud
- all other features of quantready
quantready-vendor - A template to sell and meter access to your APIs. Supports time-based and usage-based pricing
- supports free and paid endpoints
- billing per API call or per time-period
- stripe-cli integration for managing products and billing
- pricing-tables, account management and checkout
- usage tracking api
- all other features of quantready-api
- [quantready-chat]
- A template to build and deploy chatbots
- Supports Websockets
- Slack Integration
- all other features of quantready-vendor
π¦ Installation
There are two ways to install:
quantready
cli
1. Install using It is best to install as a template using gh
pip install quantready
# Create a new repo
quantready create <your-repo> --template quantready/quantready-base
2. Install as a template
To install and configure yourself using gh
gh template copy quantready/quantready <your-repo>
pip install typer
python configure.py
π» Development
Install dependencies
Requires poetry and python3.10 or higher
Install Poetry from https://github.com/python-poetry/install.python-poetry.org#python-poetry-installer
curl -sSL https://install.python-poetry.org | python3 -
# Create a virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
poetry install
# Install pre-commit hooks
poetry run pre-commit install --install-hooks
# Create a .env file and modify it's contents
cp .env.example .env
π Deployment
The best way is to use quantready cli
# Configure the project and cloud providers
quantready configure
This will create a .quantready file in the root of the project.
GitHub Actions: On creation of a new release
Configuration
Set a GitHub Repository Secret PYPI_API_TOKEN
equal to an API key generated from your PYPI account:
- Generate Token here: https://pypi.org/manage/account/token/
- Set it as a Repository Secret here: https://github.com///settings/secrets/actions
Create a new Release
or
- Goto https://github.com///releases
- Click "Draft a new Release"
This will trigger the GitHub Action to deploy your new release to PyPi
Push Docker image
# Build the image
docker build -t quantready/quantready .
# Run the image
docker run -it --rm quantready/quantready
# Push the image to docker hub
docker push quantready/quantready
# Push the image to gcr
docker tag quantready/quantready gcr.io/<your-project>/quantready
Publish to pypi
# Build the package
poetry build
poetry run twine upload dist/*
Get PYPI_API_TOKEN
from https://pypi.org/manage/account/token/
And set it as a github secret https://github.com///settings/secrets/actions
Publish to private repository
# Build the package
poetry build
poetry run twine upload --repository-url https://pypi.yourdomain.com dist/*
π License
This project is licensed under the terms of the MIT license.