Skip to main content

🤖 Zrb (Read: Zaruba) : A Super Framework for Your Super App

🫰 Installation | 📖 Documentation | 🏁 Getting Started | 💃 Oops, I did it Again | ❓ FAQ

Zrb is a CLI-based automation tool and low-code platform. Once installed, Zrb will help you automate day-to-day tasks, generate projects and applications, and even deploy your applications to Kubernetes with a few commands.

To use Zrb, you need to be familiar with CLI.

Zrb task definitions are written in Python, and we have a good reason behind the decision.

Zrb as A Task-Automation Tool

At the very core, Zrb is a task automation tool. It helps you to automate some tedious jobs so that you can focus on what matters.

Let's say you want to describe the statistics property of any public CSV. To do this, you need to perform three tasks like the following:

  • Install pandas.
  • Download the CSV dataset (at the same time).
  • Show statistics properties of the CSV dataset using pandas (right after the two first tasks are completed).
          🐼
 ┌──────────────────┐
 │                  │
 │  Install Pandas  ├─┐          📊
 │                  │ │  ┌─────────────────┐
 └──────────────────┘ └─►│                 │
                         │ Show Statistics │
 ┌──────────────────┐ ┌─►│                 │
 │                  │ │  └─────────────────┘
 │ Download Dataset ├─┘
 │                  │
 └──────────────────┘
          ⬇️

To do this, you can create a file named zrb_init.py and define the tasks as follows:

# File name: zrb_init.py
from zrb import runner, CmdTask, python_task, StrInput

# 🐼 Define a task to install pandas
install_pandas = CmdTask(
    name='install-pandas',
    cmd='pip install pandas'
)

# ⬇️ Define a task to download dataset
download_dataset = CmdTask(
    name='download-dataset',
    inputs=[
        # Allow user to put the CSV dataset URL.
        StrInput(
            name='url',
            default='https://raw.githubusercontent.com/state-alchemists/datasets/main/iris.csv'
        )
    ],
    cmd='wget -O dataset.csv {{input.url}}'
)

# 📊 Define a task to show the statistics properties of the dataset
show_stat = CmdTask(
    name='show-stat',
    upstreams=[
        # Let the following tasks to be show_stat's upstream:
        download_dataset,
        install_pandas
    ],
    cmd='python -c "import pandas as pd; df=pd.read_csv(\'dataset.csv\'); print(df.describe())"'  # noqa
)

# Register show_stat, so that the task is accessible from the CLI (i.e., zrb show-stat)
# WARNING: You should register the variable, not the name of the task
runner.register(show_stat)

📝 NOTE: In this example, we exclusively use CmdTask to execute CLI scripts. However, Zrb has many other task types, like python_task. You can rewrite show_stat task using @python_task decorator as follow:

# 📊 Define a task to show the statistics properties of the dataset
@python_task(
    name='show-stat',
    upstreams=[
        # Let the following tasks to be show_stat's upstream:
        download_dataset,
        install_pandas
    ]
)
def show_stat(*args, **kwargs):
    import pandas as pd
    df = pd.read_csv('dataset.csv')
    return df.describe()

This will make more sense since show_stat is better written in Python.

Once you do so, you can invoke the task and get the output.

zrb show-stat
Url [https://raw.githubusercontent.com/state-alchemists/datasets/main/iris.csv]:
🤖 ○ ❁ 36725 → 1/3 🐨 download-dataset • Run script: wget -O dataset.csv https://raw.githubusercontent.com/state-alchemists/datasets/main/iris.csv
🤖 ○ ❁ 36725 → 1/3 🐨 download-dataset • Working directory: /home/gofrendi/playground/myproject
🤖 ○ ❁ 36725 → 1/3 🐻   install-pandas • Run script: pip install pandas
🤖 ○ ❁ 36725 → 1/3 🐻   install-pandas • Working directory: /home/gofrendi/playground/myproject
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset • --2023-11-11 16:15:54--  https://raw.githubusercontent.com/state-alchemists/datasets/main/iris.csv
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset • Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.109.133, 185.199.108.133, ...
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset • Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
🤖 ○ ❁ 36748 → 1/3 🐻   install-pandas • Requirement already satisfied: pandas in /home/gofrendi/zrb/.venv/lib/python3.10/site-packages (2.1.3)
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset • HTTP request sent, awaiting response... 200 OK
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset • Length: 4606 (4.5K) [text/plain]
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset • Saving to: ‘dataset.csv’
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset •
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset •      0K ....                                                  100% 1.40M=0.003s
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset •
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset • 2023-11-11 16:15:54 (1.40 MB/s) - ‘dataset.csv’ saved [4606/4606]
🤖 △ ❁ 36746 → 1/3 🐨 download-dataset •
🤖 ○ ❁ 36748 → 1/3 🐻   install-pandas • Requirement already satisfied: numpy<2,>=1.22.4 in /home/gofrendi/zrb/.venv/lib/python3.10/site-packages (from pandas) (1.26.1)
🤖 ○ ❁ 36748 → 1/3 🐻   install-pandas • Requirement already satisfied: python-dateutil>=2.8.2 in /home/gofrendi/zrb/.venv/lib/python3.10/site-packages (from pandas) (2.8.2)
🤖 ○ ❁ 36748 → 1/3 🐻   install-pandas • Requirement already satisfied: pytz>=2020.1 in /home/gofrendi/zrb/.venv/lib/python3.10/site-packages (from pandas) (2023.3.post1)
🤖 ○ ❁ 36748 → 1/3 🐻   install-pandas • Requirement already satisfied: tzdata>=2022.1 in /home/gofrendi/zrb/.venv/lib/python3.10/site-packages (from pandas) (2023.3)
🤖 ○ ❁ 36748 → 1/3 🐻   install-pandas • Requirement already satisfied: six>=1.5 in /home/gofrendi/zrb/.venv/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)
🤖 ○ ❁ 36725 → 1/3 🍓    zrb show-stat • Run script: python -c "import pandas as pd; df=pd.read_csv('dataset.csv'); print(df.describe())"
🤖 ○ ❁ 36725 → 1/3 🍓    zrb show-stat • Working directory: /home/gofrendi/playground/myproject
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat •        sepal_length  sepal_width  petal_length  petal_width
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • count    150.000000   150.000000    150.000000   150.000000
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • mean       5.843333     3.054000      3.758667     1.198667
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • std        0.828066     0.433594      1.764420     0.763161
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • min        4.300000     2.000000      1.000000     0.100000
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • 25%        5.100000     2.800000      1.600000     0.300000
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • 50%        5.800000     3.000000      4.350000     1.300000
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • 75%        6.400000     3.300000      5.100000     1.800000
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • max        7.900000     4.400000      6.900000     2.500000
Support zrb growth and development!
☕ Donate at: https://stalchmst.com/donation
🐙 Submit issues/PR at: https://github.com/state-alchemists/zrb
🐤 Follow us at: https://twitter.com/zarubastalchmst
🤖 ○ ❁ 36795 → 1/3 🍓    zrb show-stat • Completed in 2.24128794670105 seconds
       sepal_length  sepal_width  petal_length  petal_width
count    150.000000   150.000000    150.000000   150.000000
mean       5.843333     3.054000      3.758667     1.198667
std        0.828066     0.433594      1.764420     0.763161
min        4.300000     2.000000      1.000000     0.100000
25%        5.100000     2.800000      1.600000     0.300000
50%        5.800000     3.000000      4.350000     1.300000
75%        6.400000     3.300000      5.100000     1.800000
max        7.900000     4.400000      6.900000     2.500000
To run again: zrb show-stat --url "https://raw.githubusercontent.com/state-alchemists/datasets/main/iris.csv"

Now, you can get the statistics properties of any public CSV dataset.

📝 NOTE: When executing a task, you can also provide the parameter directly, for example you want to provide the url

zrb show-stat --url https://raw.githubusercontent.com/state-alchemists/datasets/main/iris.csv

When you provide the parameter directly, Zrb will not prompt you to supply the URL. Another way to disable the prompt is by set ZRB_SHOW_PROMPT to 0 or false.

You can also run a Docker compose file, start a Web server, generate a CRUD application, or set up multiple servers simultaneously.

See our getting started guide to learn more about the details.

Zrb as A Low-Code Framework

Aside from defining your own tasks, Zrb also has some built-in tasks. Those built-in tasks allow you to build and run a CRUD application.

Let's see the following example.

# Create a project
zrb project create --project-dir my-project --project-name "My Project"
cd my-project

# Create a Fastapp
zrb project add fastapp --project-dir . --app-name "fastapp" --http-port 3000

# Add library module to fastapp
zrb project add fastapp-module --project-dir . --app-name "fastapp" --module-name "library"

# Add entity named "books"
zrb project add fastapp-crud --project-dir . --app-name "fastapp" --module-name "library" \
    --entity-name "book" --plural-entity-name "books" --column-name "code"

# Add column to the entity
zrb project add fastapp-field --project-dir . --app-name "fastapp" --module-name "library" \
    --entity-name "book" --column-name "title" --column-type "str"

# Run Fastapp as monolith
zrb project start-fastapp --fastapp-run-mode "monolith"

Once you invoke the commands, you will be able to access the CRUD application by pointing your browser to http://localhost:3000

Furthermore, you also split your application into microservices, run them as docker containers, and even deploy them to your kubernetes cluster.

# Run Fastapp as microservices
zrb project start-fastapp --fastapp-run-mode "microservices"

# Run Fastapp as container
zrb project start-fastapp-container --fastapp-run-mode "microservices"
zrb project stop-fastapp-container

# Deploy fastapp and all it's dependencies to kubernetes
docker login
zrb project deploy-fastapp --fastapp-deploy-mode "microservices"

You can visit our tutorials to see more cool tricks.

🫰 Installation

🚀 Using Installation Script

We provide an installation script to help you install pyenv and Zrb. You can run the installation script as follows:

curl https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh | bash

⚙️ As Python Package

Installing Zrb in your system is as easy as typing the following command in your terminal:

pip install zrb

Like any Python package, you can install Zrb in your virtual environment. Installing Zrb in a virtual environment allows you to have many versions of Zrb on the same computer.

⚠️ If the command doesn't work, you probably don't have Pip/Python on your computer. See Main prerequisites subsection to install them.

🐋 As Docker Container

If you prefer to work with Docker, you can create a docker-compose.yml file as follows:

version: '3'

x-logging: &default-logging
  options:
    max-size: "100m"
    max-file: "5"
  driver: json-file

networks:
  zrb:
    name: zrb
    external: true

services:

  zrb:
    build:
      dockerfile: Dockerfile
      context: .
      args:
        ZRB_VERSION: ${ZRB_VERSION:-latest}
    image: ${ZRB_IMAGE:-docker.io/stalchmst/zrb}
    logging: *default-logging
    container_name: zrb
    hostname: zrb
    command: sleep infinity
    volumes:
    - /var/run/docker.sock:/var/run/docker.sock
    - ./project:/project
    ports:
    - 3001:3001 # or/and any other ports you want to expose.
    networks:
    - zrb

Once you create a docker-compose file, you can invoke the following command to start the container:

docker compose up -d

You will be able to run any Zrb tasks by accessing the container's bash:

docker exec -it zrb bash

✅ Main Prerequisites

Since Zrb is written in Python, you need to install a few things before installing Zrb:

  • 🐍 Python
  • 📦 Pip
  • 🏝️ Venv

If you are using 🐧 Ubuntu, the following command should work:

sudo apt install python3 python3-pip python3-venv python-is-python3

If you are using 🍎 Mac, the following command will work:

# Make sure you have homebrew installed, see: https://brew.sh/
brew install python3
ln -s venv/bin/pip3 /usr/local/bin/pip
ln -s venv/bin/python3 /usr/local/bin/python

If you prefer Python distribution like conda, that might work as well.

✔️ Other Prerequisites

If you want to generate applications using Zrb and run them on your computer, you will also need:

  • 🐸 Node.Js and Npm.
    • You need Node.Js to modify/transpile frontend code into static files.
    • You can visit the Node.Js website for installation instructions.
  • 🐋 Docker and Docker-compose plugin.
    • You need Docker and Docker-compose plugin to
      • Run docker-compose-based tasks
      • Run some application prerequisites like RabbitMQ, Postgre, or Redpanda.
    • The easiest way to install Docker, Docker-compose plugin, and local Kubernetes is by using Docker Desktop.
    • You can also install Docker and Docker-compose plugin by following the Docker installation guide.
  • ☸️ Kubernetes cluster.
    • Zrb allows you to deploy your applications into Kubernetes.
    • To test it locally, you will need a Minikube or other alternatives. However, the easiest way is by enabling Kubernetes on your Docker Desktop.
  • 🦆 Pulumi
    • You need Pulumi to deploy your applications

🏁 Getting Started

We have an excellent getting started guide to help you cover the basics. Make sure to check it out😉.

📖 Documentation

You can visit Zrb documentation for more detailed information.

☕ Donation

Help Red Skull to click the donation button:

🎉 Fun Fact

Madou Ring Zaruba (魔導輪ザルバ, Madōrin Zaruba) is a Madougu which supports bearers of the Garo Armor. (Garo Wiki | Fandom)

Madou Ring Zaruba on Kouga's Hand

Release files for zrb 0.0.111

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zrb 0.0.111
File Size Uploaded
zrb-0.0.111.tar.gz 2.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for zrb 0.0.111
File Interpreter ABI Platform
zrb-0.0.111-py3-none-any.whl Python 3 none any Details

Total release size: 5.4 MB

Release files / zrb-0.0.111.tar.gz

Download URL zrb-0.0.111.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
587c674d6e98d8673ee39f7aa3b8a1b8e287490bf150bdb6c167f6cef067d681
BLAKE2b-256 checksum
How to use checksums
3f8f3f7c89216c0717f928f831c87ed5a759c4447d821aad8fce33a46910076d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release files / zrb-0.0.111-py3-none-any.whl

Download URL zrb-0.0.111-py3-none-any.whl
Size 2.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
cfe0940380d7e4f012cfcd7db97003ee51064b025c3123e99dfba1bc56f572c3
BLAKE2b-256 checksum
How to use checksums
236b49bfe2e186d7a8a036a44c53b5976a7232ba5dbf95ddf023470567eafc68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release history Release notifications | RSS feed

3.6.0

2 release files

3.5.0

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.67.7

2 release files

2.67.6

2 release files

2.67.5

2 release files

2.67.4

2 release files

2.67.3

2 release files

2.67.2

2 release files

2.67.1

2 release files

2.67.0

2 release files

2.66.1

2 release files

2.66.0

2 release files

2.65.5

2 release files

2.65.4

2 release files

2.65.3

2 release files

2.65.2

2 release files

2.65.1

2 release files

2.65.0

2 release files

2.64.0

2 release files

2.63.0

2 release files

2.62.2

2 release files

2.62.1

2 release files

2.62.0

2 release files

2.61.0

2 release files

2.60.0

2 release files

2.59.0

2 release files

2.51.0

2 release files

2.50.9

2 release files

2.50.8

2 release files

2.50.7

2 release files

2.50.6

2 release files

2.50.5

2 release files

2.50.4

2 release files

2.50.3

2 release files

2.50.2

2 release files

2.50.1

2 release files

2.46.0

2 release files

2.45.0

2 release files

2.44.0

2 release files

2.43.1

2 release files

2.43.0

2 release files

2.42.1

2 release files

2.42.0

2 release files

2.41.0

2 release files

2.40.1

2 release files

2.40.0

2 release files

2.39.0

2 release files

2.38.0

2 release files

2.37.0

2 release files

2.36.0

2 release files

2.35.3

2 release files

2.35.2

2 release files

2.35.1

2 release files

2.35.0

2 release files

2.34.3

2 release files

2.34.2

2 release files

2.34.1

2 release files

2.34.0

2 release files

2.33.4

2 release files

2.31.0

2 release files

2.30.1

2 release files

2.30.0

2 release files

2.29.0

2 release files

2.28.6

2 release files

2.28.5

2 release files

2.28.4

2 release files

2.28.3

2 release files

2.28.2

2 release files

2.28.1

2 release files

2.28.0

2 release files

2.27.1

2 release files

2.27.0

2 release files

2.26.9

2 release files

2.26.8

2 release files

2.26.7

2 release files

2.26.5

2 release files

2.26.4

2 release files

2.26.3

2 release files

2.26.2

2 release files

2.26.1

2 release files

2.26.0

2 release files

2.23.1

2 release files

2.23.0

2 release files

2.22.8

2 release files

2.22.7

2 release files

2.22.6

2 release files

2.22.5

2 release files

2.22.4

2 release files

2.22.3

2 release files

2.22.2

2 release files

2.22.1

2 release files

2.22.0

2 release files

2.21.1

2 release files

2.21.0

2 release files

2.20.2

2 release files

2.20.1

2 release files

2.20.0

2 release files

2.19.1

2 release files

2.14.2

2 release files

2.14.1

2 release files

2.14.0

2 release files

2.13.0

2 release files

2.12.1

2 release files

2.12.0

2 release files

2.11.0

2 release files

2.10.4

2 release files

2.10.3

2 release files

2.10.2

2 release files

2.10.1

2 release files

2.10.0

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.21

2 release files

2.6.20

2 release files

2.6.19

2 release files

2.6.18

2 release files

2.6.17

2 release files

2.6.16

2 release files

2.6.15

2 release files

2.6.14

2 release files

2.6.13

2 release files

2.6.12

2 release files

2.6.11

2 release files

2.6.10

2 release files

2.6.9

2 release files

2.6.8

2 release files

2.6.7

2 release files

2.6.6

2 release files

2.6.5

2 release files

2.6.4

2 release files

2.6.3

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.3

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.5

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.15

2 release files

2.2.14

2 release files

2.2.13

2 release files

2.2.12

2 release files

2.2.11

2 release files

2.2.10

2 release files

2.2.9

2 release files

2.2.8

2 release files

2.2.7

2 release files

2.2.6

2 release files

2.2.5

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.14

2 release files

2.0.13

2 release files

2.0.12

2 release files

2.0.11

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.21.9

2 release files

1.21.8

2 release files

1.21.7

2 release files

1.21.6

2 release files

1.21.5

2 release files

1.21.4

2 release files

1.21.3

2 release files

1.21.2

2 release files

1.21.1

2 release files

1.21.0

2 release files

1.20.1

2 release files

1.20.0

2 release files

1.19.0

2 release files

1.18.9

2 release files

1.18.2

2 release files

1.18.1

2 release files

1.18.0

2 release files

1.17.4

2 release files

1.17.3

2 release files

1.17.2

2 release files

1.17.1

2 release files

1.16.3

2 release files

1.16.2

2 release files

1.16.1

2 release files

1.16.0

2 release files

1.15.9

2 release files

1.15.8

2 release files

1.15.7

2 release files

1.15.6

2 release files

1.15.5

1 release file

1.15.4

2 release files

1.15.3

2 release files

1.15.2

2 release files

1.15.1

2 release files

1.15.0

2 release files

1.14.3

2 release files

1.14.2

2 release files

1.14.1

2 release files

1.14.0

2 release files

1.13.3

2 release files

1.13.2

2 release files

1.13.1

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.2

2 release files

1.10.1

2 release files

1.10.0

2 release files

1.9.17

2 release files

1.9.16

2 release files

1.9.15

2 release files

1.9.14

2 release files

1.9.13

2 release files

1.9.12

2 release files

1.9.11

2 release files

1.9.10

2 release files

1.9.9

2 release files

1.9.8

2 release files

1.9.7

2 release files

1.9.6

2 release files

1.9.5

2 release files

1.9.4

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.12

2 release files

1.8.11

2 release files

1.8.10

2 release files

1.8.9

2 release files

1.8.8

2 release files

1.8.7

2 release files

1.8.6

2 release files

1.8.5

2 release files

1.8.4

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.12

2 release files

1.5.11

2 release files

1.5.10

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.28.0

2 release files

0.27.1

2 release files

0.27.0

2 release files

0.26.2

2 release files

0.26.1

2 release files

0.25.0

2 release files

0.24.1

2 release files

0.24.0

2 release files

0.23.2

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.1

2 release files

0.17.3

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.10.0

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

This release

0.0.111 This release

2 release files

0.0.99

2 release files

0.0.98

2 release files

0.0.97

2 release files

0.0.94

2 release files

0.0.93

2 release files

0.0.92

2 release files

0.0.91

2 release files

0.0.90

2 release files

0.0.89

2 release files

0.0.88

2 release files

0.0.87

2 release files

0.0.86

2 release files

0.0.85

2 release files

0.0.84

2 release files

0.0.80

2 release files

0.0.77

2 release files

0.0.76

2 release files

0.0.75

2 release files

0.0.74

2 release files

0.0.73

2 release files

0.0.72

2 release files

0.0.71

2 release files

0.0.70

1 release file

0.0.69

1 release file

0.0.68

2 release files

0.0.67

2 release files

0.0.66

2 release files

0.0.65

2 release files

0.0.64

2 release files

0.0.63

2 release files

0.0.62

2 release files

0.0.61

2 release files

0.0.56

2 release files

0.0.55

2 release files

0.0.54

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.49

2 release files

0.0.48

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.30

2 release files

0.0.29

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page