Python package to enables DevOps tasks in Jupyter Notebooks
Project description
[](https://badge.fury.io/py/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.5.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.5-py3-none-any.whl
(8.8 kB
view details)
File details
Details for the file rubix-0.0.5.tar.gz.
File metadata
- Download URL: rubix-0.0.5.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bd0d627e5168fa5da6e1718f7f54b80d7ef0da1360fc9e5f0fd92290f82adbb
|
|
| MD5 |
ca22ec77c94f2dc4b5c6bdb226f506e2
|
|
| BLAKE2b-256 |
f547e6900a781c65ee3b0a1f581284c8372a8128c6e6f421eedcbe97b062f813
|
File details
Details for the file rubix-0.0.5-py3-none-any.whl.
File metadata
- Download URL: rubix-0.0.5-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a5575b32f8a74f1f50e2c45fb86273bd6e3cda4d4bb87c4f5c572a90da7a340
|
|
| MD5 |
e15b586359caabd222eb2d74f1945dcd
|
|
| BLAKE2b-256 |
0531ef07fa47e86d5284922ae054538964e705c752fe52beb36f5325bb3c9d57
|