Awesome
Astro CLI
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. <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=29deaa05-2c91-4f0b-bb2c-d2e9408867e0" />
Usage
astro [command]
Core commands
login
Log in to the Astro CLIlogout
Log out of the Astro CLIdev init
Initialize an Astro project in an empty local directorydev start
Build your Astro project into a Docker image and spin up a local Docker container for each Airflow componentdev stop
Pause all Docker containers running your local Airflow environmentdev restart
Stop your Airflow environment, rebuild your Astro project into a Docker image, and restart your Airflow environment with the new Docker imagedeploy
Deploy code to a Deployment on Astrodeployment
Manage your Deployments running on Astronomerdev
Run your Astro project locallyhelp
Help about any Astro CLI commandversion
Show the running version of the Astro CLIworkspace
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:
- Homebrew
- Docker Desktop (v18.09 or higher)
To install the Astro CLI on Windows, you'll need:
- Windows 10 or later
- Docker Desktop for Windows
- Docker Engine 1.13.1 or later
- WSL enabled on your local machine
To install the Astro CLI on Windows with the Windows Package Manager winget command-line tool, you'll need:
- Windows 10 1709 (build 16299) or later or Windows 11
- Astro CLI version 1.6 or later
- The latest version of the Windows App Installer
- Docker Desktop for Windows
- Docker Engine 1.13.1 or later
- WSL enabled on your local machine
To install the Astro CLI on Linux, you'll need:
Latest version
Mac
brew install astro
Windows
-
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.
-
Rename the file
astro.exe
. -
Add the filepath for the directory containing the new
astro.exe
as a PATH environment variable. For example, ifastro.exe
is stored inC:\Users\username\astro.exe
, you addC:\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?. -
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
-
Delete the existing
astro.exe
file on your machine. -
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.
-
Rename the file
astro.exe
. -
Add the filepath for the directory containing the new
astro.exe
as a PATH environment variable. For example, ifastro.exe
is stored inC:\Users\username\astro.exe
, you addC:\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?. -
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:
-
Make sure Docker Desktop is installed correctly. See [Install Docker Desktop on Windows]https://docs.docker.com/desktop/install/windows-install/).
-
Make sure the Docker Desktop WSL 2 backend is installed and configured correctly. See Docker Desktop WSL 2 backend.
-
Enable Hyper-V on the Docker and Linux Containers and run the Astro CLI natively. For additional information, see the Docker docs troubleshooting guide.
Get started
-
Create a project
$ mkdir hello-astro && cd hello-astro $ astro dev init
-
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 inplugins
, python packages needed can go inrequirements.txt
, and OS level packages can go inpackages.txt
. -
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. (Runastro 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