Information | Links |
---|---|
Project | |
Community | |
CI |
- QHub HPC
- QHub
- 💻 Installation
- 🏷️ Usage
- ❓ Questions?
- 📖 Code of Conduct
- ⚙️ Installing the Development version of QHub
- 🙌 Contributions
- License
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.
Version of QHub based on OpenHPC.
NOTE: The tool is currently under development. Curious? Check out the Qhub HPC repository.
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.
QHub offers out-of-the-box support for Digital Ocean, Amazon AWS, GCP, and Microsoft Azure.
For more details, check out the release blog post.
- QHub is supported by macOS and Linux operating systems (Windows is NOT currently supported).
- Compatible with Python 3.6+. New to Python? We recommend using Anaconda.
- Adoption of virtual environments (
conda
,pipenv
orvenv
) is also encouraged.
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
QHub requires the setting of environment variables to automate the deployments fully. For details on how to obtain those variables, check the Step-by-Step 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
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 🙏.
To guarantee a welcoming and friendly community, we require contributors to follow our Code of Conduct.
To install the latest developer version (unstable) use:
pip install git+https://github.com/Quansight/qhub.git@dev
Thinking about contributing? Check out our Contribution Guidelines.