Python package to enables DevOps tasks in Jupyter Notebooks
Project description
# Rubix
### What is Rubix?
Python library that makes it easy to perform common DevOps tasks inside Jupyter Notebooks. E.g. plot Cloudwatch metrics, rollback your ECS/kubernetes app etc.
### When to use it?
While Rubix can be used in many contexts, it's most useful for writing incident runbooks/playbooks. On-call can read instructions & execute steps right from the Jupyter Notebook. I wrote more about the use case [here](https://hackernoon.com/simplify-devops-with-jupyter-notebook-c700fb6b503c).
### Why Jupyter Notebook?
- Jupyter allows interleaving instructions and executable code. Ideal for quick incident response.
- Rich HTML output makes it easy to plot graphs, show deployment status etc.
- Low friction way to edit/view/execute notebooks in a browser.
# Live In Action
Checkout this 1-minute debugging session to see how Rubix helped root cause API latency issue.
[](https://www.youtube.com/watch?v=vvLXSAHCGF8&rel=0&autoplay=0 "API Latency Demo")
# Documentation
Currently following integrations are supported in Rubix, would love to add more. Note that Jupyter Notebook supports executing [shell commands](http://docs.nurtch.com/en/latest/nurtch-platform/index.html#run-shell-commands-in-notebook) & [SQL queries](http://docs.nurtch.com/en/latest/nurtch-platform/index.html#run-sql-queries-in-notebook) out of the box.
* [Rubix](http://docs.nurtch.com/en/latest/rubix-library/index.html)
* [Cloudwatch](http://docs.nurtch.com/en/latest/rubix-library/aws/cloudwatch.html)
* [Elastic Container Service (ECS)](http://docs.nurtch.com/en/latest/rubix-library/aws/ecs.html)
* [Kubernetes](http://docs.nurtch.com/en/latest/rubix-library/kubernetes.html#api-usage)
# Installation
Rubix exclusively works with Jupyter notebooks. You can [install Jupyter](http://jupyter.org/install) locally or use [JupyterHub](https://jupyterhub.readthedocs.io/en/stable/#) multi user setup. I also built built [nurtch](http://nurtch.com) (commercial) for easy multi user Jupyter setup.
* For your Jupyter/JupyterHub setup, just execute the following at the top of any notebook. Bang operator tells Jupyter to execute this as a terminal command.
```
!pip install rubix
```
* Rubix is pre-installed with [nurtch](http://nurtch.com) multi-user Jupyter setup.
# Usage
Complete documentation is linked above. Here are some usage examples.
### Plot Cloudwatch Metrics

### Rollback Service in ECS

# Contribute
If you see any problem, open an issue or send a pull request. For additional integrations open an issue with `Feature Request` tag & clearly describe the operations you want to perform. You can write to me at [amit@nurtch.com](mailto:amit@nurtch.com) or DM me on [twitter](https://twitter.com/amittrathi).
### What is Rubix?
Python library that makes it easy to perform common DevOps tasks inside Jupyter Notebooks. E.g. plot Cloudwatch metrics, rollback your ECS/kubernetes app etc.
### When to use it?
While Rubix can be used in many contexts, it's most useful for writing incident runbooks/playbooks. On-call can read instructions & execute steps right from the Jupyter Notebook. I wrote more about the use case [here](https://hackernoon.com/simplify-devops-with-jupyter-notebook-c700fb6b503c).
### Why Jupyter Notebook?
- Jupyter allows interleaving instructions and executable code. Ideal for quick incident response.
- Rich HTML output makes it easy to plot graphs, show deployment status etc.
- Low friction way to edit/view/execute notebooks in a browser.
# Live In Action
Checkout this 1-minute debugging session to see how Rubix helped root cause API latency issue.
[](https://www.youtube.com/watch?v=vvLXSAHCGF8&rel=0&autoplay=0 "API Latency Demo")
# Documentation
Currently following integrations are supported in Rubix, would love to add more. Note that Jupyter Notebook supports executing [shell commands](http://docs.nurtch.com/en/latest/nurtch-platform/index.html#run-shell-commands-in-notebook) & [SQL queries](http://docs.nurtch.com/en/latest/nurtch-platform/index.html#run-sql-queries-in-notebook) out of the box.
* [Rubix](http://docs.nurtch.com/en/latest/rubix-library/index.html)
* [Cloudwatch](http://docs.nurtch.com/en/latest/rubix-library/aws/cloudwatch.html)
* [Elastic Container Service (ECS)](http://docs.nurtch.com/en/latest/rubix-library/aws/ecs.html)
* [Kubernetes](http://docs.nurtch.com/en/latest/rubix-library/kubernetes.html#api-usage)
# Installation
Rubix exclusively works with Jupyter notebooks. You can [install Jupyter](http://jupyter.org/install) locally or use [JupyterHub](https://jupyterhub.readthedocs.io/en/stable/#) multi user setup. I also built built [nurtch](http://nurtch.com) (commercial) for easy multi user Jupyter setup.
* For your Jupyter/JupyterHub setup, just execute the following at the top of any notebook. Bang operator tells Jupyter to execute this as a terminal command.
```
!pip install rubix
```
* Rubix is pre-installed with [nurtch](http://nurtch.com) multi-user Jupyter setup.
# Usage
Complete documentation is linked above. Here are some usage examples.
### Plot Cloudwatch Metrics

### Rollback Service in ECS

# Contribute
If you see any problem, open an issue or send a pull request. For additional integrations open an issue with `Feature Request` tag & clearly describe the operations you want to perform. You can write to me at [amit@nurtch.com](mailto:amit@nurtch.com) or DM me on [twitter](https://twitter.com/amittrathi).
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
rubix-0.0.4.tar.gz
(7.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
rubix-0.0.4-py3-none-any.whl
(8.7 kB
view details)
File details
Details for the file rubix-0.0.4.tar.gz.
File metadata
- Download URL: rubix-0.0.4.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a709e8c8a524ea94f2f8bf3556448e43f915cb8d0ae6d7ab138ad753a4994552
|
|
| MD5 |
d332af2dcd033807ba755782833f7815
|
|
| BLAKE2b-256 |
786903a27422d6b8216fb26840b991d8aa6be056974be99279c111439a1c9e0b
|
File details
Details for the file rubix-0.0.4-py3-none-any.whl.
File metadata
- Download URL: rubix-0.0.4-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ac8515acee03d026155f36662db0e5cfa2fc8bf16d5b7e286a92a61cd255b9c
|
|
| MD5 |
08b4030634a65ac7ec80307908f26f23
|
|
| BLAKE2b-256 |
f4d158eff7f9b527c750e0ff63a121b6423f26c6d480566c4f04cf57cb4c4420
|