Skip to main content

Management of QHub on Cloud Infrastructure

Project description

Qhub logo on white background

Information Links
Project License QHUb documentation PyPI version
Community GH discussions Open an issue
CI Build Docker Images Kubernetes Tests Tests Documentation linter

Table of contents

Automated data science platform. From JupyterHub to Cloud environments with Dask Gateway.

QHub is an open source tool that enables users to build and maintain cost-effective and scalable compute/data science platforms on HPC or on Kubernetes with minimal DevOps experience.

This repository details the QHub (Kubernetes) version.

Not sure what to choose? Check out our Setup Initialization page.

QHub HPC

Version of QHub based on OpenHPC.

NOTE: The tool is currently under development. Curious? Check out the Qhub HPC repository.

QHub

The Kubernetes version of QHub is built using Terraform, Helm, and GitHub Actions. Terraform handles the build, change, and versioning of the infrastructure. Helm helps to define, install, and manage Kubernetes. GitHub Actions is used to automatically create commits when the configuration file (qhub-config.yaml) is rendered, as well as to kick off the deployment action.

QHub aims to abstract all these complexities for its users. Hence, it is not necessary to know any of the above mentioned technologies to have your project successfully deployed.

TLDR: If you know GitHub and feel comfortable generating and using API keys, you should have all it takes to deploy and maintain your system without the need for a dedicated DevOps team. No need to learn Kubernetes, Terraform, or Helm.

:cloud: Cloud Providers

QHub offers out-of-the-box support for Digital Ocean, Amazon AWS, GCP, and Microsoft Azure.

High-level illustration of QHub architecture

For more details, check out the release blog post.

:computer: Installation

Pre-requisites

  • QHub is supported by macOS and Linux operating systems (Windows is NOT currently supported).
  • Compatible with Python 3.7+. New to Python? We recommend using Anaconda.
  • Adoption of virtual environments (conda, pipenv or venv) is also encouraged.

Install QHub

To install QHub type the following commands in your command line:

  • Install using conda:

    conda install -c conda-forge qhub
    
  • Install using pip:

    pip install qhub
    

Once finished, you can check QHub's version (and additional CLI args) by typing:

qhub --help

If successful, the CLI output will be similar to the following:

usage: qhub [-h] [-v] {deploy,destroy,render,init,validate} ...

QHub command line

positional arguments:
  {deploy,destroy,render,init,validate}
                        QHub

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         QHub version

:label: Usage

QHub requires the setting of environment variables to automate the deployments fully. For details on how to obtain those variables, check the installation guide in the docs.

Once all the necessary credentials are gathered and set as UNIX environment variables, QHub can be deployed in under 20 minutes using:

qhub init   ... # generates initial config file and optionally automates deployment steps
qhub deploy ... # creates and configures the cloud infrastructure

:question: Questions?

Have a look at our FAQ to see if your query has been answered.

We separate the queries for QHub into:

  • GitHub Discussions used to raise discussions about a subject, such as: "What is the recommended way to do X with QHub?"

  • Issues for queries, bug reporting, feature requests,documentation, etc.

We work around the clock to make QHub better, but sometimes your query might take a while to get a reply. We apologise in advance and ask you to please, be patient :pray:.

:book: Code of Conduct

To guarantee a welcoming and friendly community, we require contributors to follow our Code of Conduct.

:gear: Installing the Development version of QHub

To install the latest developer version (unstable) use:

pip install git+https://github.com/Quansight/qhub.git@dev

:raised_hands: Contributions

Thinking about contributing? Check out our Contribution Guidelines.

License

QHub is BSD3 licensed.

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

qhub-0.4.0rc2.tar.gz (347.4 kB view details)

Uploaded Source

Built Distribution

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

qhub-0.4.0rc2-py3-none-any.whl (378.5 kB view details)

Uploaded Python 3

File details

Details for the file qhub-0.4.0rc2.tar.gz.

File metadata

  • Download URL: qhub-0.4.0rc2.tar.gz
  • Upload date:
  • Size: 347.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for qhub-0.4.0rc2.tar.gz
Algorithm Hash digest
SHA256 dc2b071bebb5a481f71077b2145103464b2cc172b4dffaf880a4f22be58786da
MD5 aadf77c334ba34076e5c97592768e5d5
BLAKE2b-256 8439d935474c10154e76aaa6296315128706a866775e19f12d33a7084961f8e1

See more details on using hashes here.

File details

Details for the file qhub-0.4.0rc2-py3-none-any.whl.

File metadata

  • Download URL: qhub-0.4.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 378.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for qhub-0.4.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 f98bfd55607179dbb98b87bf68827beb6a2db11e72e023694ca54e52023902e2
MD5 6709b0770e24cd5004540fabcd183f85
BLAKE2b-256 c8d17368fd850809b95e29e4f80415d472d26d07e070102c0144c5ff79701886

See more details on using hashes here.

Supported by

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