Skip to main content

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:

1. Install using quantready cli

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:

  1. Generate Token here: https://pypi.org/manage/account/token/
  2. Set it as a Repository Secret here: https://github.com///settings/secrets/actions

Create a new Release

  1. Goto https://github.com/closedloop-technologies/quantready/releases/new

or

  1. Goto https://github.com///releases
  2. 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.

📚 Resources

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantready-0.2.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quantready-0.2.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file quantready-0.2.0.tar.gz.

File metadata

  • Download URL: quantready-0.2.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for quantready-0.2.0.tar.gz
Algorithm Hash digest
SHA256 08d15fb209217bd84221e06c17c5d2ada510dfd493e5117af28f64ffed444225
MD5 727c05b765af30d705aed5c50c550714
BLAKE2b-256 b9139a82caea3c7aa1b2930342339d9db5e2262a35ad6efac37c14f753903e7d

See more details on using hashes here.

File details

Details for the file quantready-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: quantready-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for quantready-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 218753cf69c1be5b5185c4d7f06f71fb858c13d040dbc92fbdc2274e929beabd
MD5 da10efbf57430a8a9f15a0c478749ba1
BLAKE2b-256 c1f219e7b9f566b726367e0aae93154ba16406f0c754c8a3bc2b58bbafec8ed3

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page