Skip to content

astronomer/astro-cli

Repository files navigation

Astro CLI Release GoDoc Go Report Card codecov

The Astro CLI is a command-line interface for data orchestration. It allows you to get started with Apache Airflow quickly and it can be used with all Astronomer products.

Usage

astro [command]

Core commands

  • login Log in to the Astro CLI
  • logout Log out of the Astro CLI
  • dev init Initialize an Astro project in an empty local directory
  • dev start Build your Astro project into a Docker image and spin up a local Docker container for each Airflow component
  • dev stop Pause all Docker containers running your local Airflow environment
  • dev restart Stop your Airflow environment, rebuild your Astro project into a Docker image, and restart your Airflow environment with the new Docker image
  • deploy Deploy code to a Deployment on Astro
  • deployment Manage your Deployments running on Astronomer
  • dev Run your Astro project locally
  • help Help about any Astro CLI command
  • version Show the running version of the Astro CLI
  • workspace Manage Astronomer Workspaces

For a list of available Astro CLI commands, see the Astro CLI command reference.

Install the Astro CLI

Use these instructions to install, upgrade, or uninstall the Astro CLI.

Prerequisites

To install the Astro CLI on Mac, you'll need:

To install the Astro CLI on Windows, you'll need:

To install the Astro CLI on Windows with the Windows Package Manager winget command-line tool, you'll need:

To install the Astro CLI on Linux, you'll need:

Latest version

Mac

brew install astro

Windows

  1. Go to the Releases page of the Astro CLI GitHub repository, scroll to a CLI version, and then download the .exe file that matches the CPU architecture of your machine.

    For example, to install v1.0.0 of the Astro CLI on a Windows machine with an AMD 64 architecture, download astro_1.0.0-converged_windows_amd64.exe.

  2. Rename the file astro.exe.

  3. Add the filepath for the directory containing the new astro.exe as a PATH environment variable. For example, if astro.exe is stored in C:\Users\username\astro.exe, you add C:\Users\username as your PATH environment variable. To learn more about configuring the PATH environment variable, see How do I set or change the PATH system variable?.

  4. Restart your machine.

Windows with winget

Starting with Astro CLI version 1.6, you can use the Windows Package Manager winget command-line tool to install the Astro CLI.

Open Windows PowerShell as an administrator and then run the following command:

winget install -e --id Astronomer.Astro

Linux

curl -sSL install.astronomer.io | sudo bash -s

Specific version

Mac

To install a specific version of the Astro CLI, specify the version you want to install at the end of the command:

brew install astro@<major.minor.patch-version>

Windows

  1. Delete the existing astro.exe file on your machine.

  2. Go to the Releases page of the Astro CLI GitHub repository, scroll to a CLI version, and then download the .exe file that matches the CPU architecture of your machine.

    For example, to install v1.0.0 of the Astro CLI on a Windows machine with an AMD 64 architecture, download astro_1.0.0-converged_windows_amd64.exe.

  3. Rename the file astro.exe.

  4. Add the filepath for the directory containing the new astro.exe as a PATH environment variable. For example, if astro.exe is stored in C:\Users\username\astro.exe, you add C:\Users\username as your PATH environment variable. To learn more about configuring the PATH environment variable, see How do I set or change the PATH system variable?.

  5. Restart your machine.

Windows with winget

Starting with Astro CLI version 1.6, you can use the Windows Package Manager winget command-line tool to install a specific version of the Astro CLI.

To install a specific version of the Astro CLI, specify the version you want to install at the end of the command. For example, running the following command in Windows PowerShell as an administrator installs Astro CLI version 1.6:

winget install -e --id Astronomer.Astro -v 1.6.0

Linux

To install a specific version of the CLI, specify the version number as a flag at the end of the command. For example, to install v1.1.0 of the CLI, you would run:

curl -sSL install.astronomer.io | sudo bash -s -- v1.1.0

If you receive a mkdir error during installation, download and run the godownloader script locally using:

$ cat godownloader.sh | bash -s -- -b /usr/local/bin

Troubleshoot installation issues

If you encounter issues when installing the Astro CLI:

Get started

  1. Create a project

    $ mkdir hello-astro && cd hello-astro
    $ astro dev init
    
  2. Install the binary and Confirm the install worked:

    $ ./astro
    

    This generates a basic project directory:

    .
    ├── dags
    │   ├── exampledag.py
    ├── tests
    │   ├── dags
    │       ├── test_dag_example.py
    ├── Dockerfile
    ├── include
    ├── packages.txt
    ├── plugins
    └── requirements.txt
    

    DAGs can go in the dags folder, custom Airflow plugins in plugins, python packages needed can go in requirements.txt, and OS level packages can go in packages.txt.

  3. Run astro dev start to start a local version of airflow on your machine. This will spin up a few locally running docker containers - one for the airflow scheduler, one for the webserver, and one for postgres. (Run astro dev ps to verify).

Versions

Astro CLI versions are released regularly and use semantic versioning. Backwards compatibility between versions cannot be guaranteed. Compatibility is only guaranteed between matching minor versions of the platform and the Astro CLI. For example, Astro CLI 0.9.0` is guaranteed to be compatible with houston-api v0.9.x, but not houston-api v0.10.x.

Astronomer ships major, minor, and patch releases of the Astro CLI in the following format:

{MAJOR_RELEASE}.{MINOR_RELEASE}.{PATCH_RELEASE}

All Astro CLI releases prior to 1.0.0 are considered beta.

Change Log

Change log between each version can be found on the releases page

Debug

The Astro CLI includes a debug flag that allows you to view queries and internal logs. To enable it, you can pass --verbosity=debug in your commands, or you can add the following entry to your ~/.astro/config.yaml file:

verbosity: debug

Adding this entry to your ~/.astro/config.yaml file turns on debugging for all requests until you change it to info, or you remove it from the file.

Support

To resolve an issue, Astronomer recommends reviewing the Astronomer documentation first.

If you're unable to resolve your issue after reviewing the documentation, you can post a question on the Astronomer web forum or you can contact Astronomer support.

License

Apache 2.0 with Commons Clause