Skip to main content

Python package to enables DevOps tasks in Jupyter Notebooks

Project description

[![PyPI version](https://badge.fury.io/py/rubix.svg)](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.

[![Demo Video](https://uploads-ssl.webflow.com/5adf07174a787c7249ade79f/5b0cfeb0db589c364b44ee72_Video_Thumbnail_2.png)](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
![Cloudwatch Metrics Example](http://docs.nurtch.com/en/latest/_images/plot_metric_example.png)

### Rollback Service in ECS
![ECS Rollback Example](http://docs.nurtch.com/en/latest/_images/ecs_rollback.png)

# 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)

Uploaded Source

Built Distribution

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

rubix-0.0.5-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

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

Hashes for rubix-0.0.5.tar.gz
Algorithm Hash digest
SHA256 0bd0d627e5168fa5da6e1718f7f54b80d7ef0da1360fc9e5f0fd92290f82adbb
MD5 ca22ec77c94f2dc4b5c6bdb226f506e2
BLAKE2b-256 f547e6900a781c65ee3b0a1f581284c8372a8128c6e6f421eedcbe97b062f813

See more details on using hashes here.

File details

Details for the file rubix-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for rubix-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6a5575b32f8a74f1f50e2c45fb86273bd6e3cda4d4bb87c4f5c572a90da7a340
MD5 e15b586359caabd222eb2d74f1945dcd
BLAKE2b-256 0531ef07fa47e86d5284922ae054538964e705c752fe52beb36f5325bb3c9d57

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