{"id":21050056,"url":"https://github.com/astronomer/astro-cli","last_synced_at":"2026-05-08T13:08:56.563Z","repository":{"id":37791215,"uuid":"120663559","full_name":"astronomer/astro-cli","owner":"astronomer","description":"CLI that makes it easy to create, test and deploy Airflow DAGs to Astronomer","archived":false,"fork":false,"pushed_at":"2026-02-27T19:46:49.000Z","size":18124,"stargazers_count":442,"open_issues_count":181,"forks_count":107,"subscribers_count":34,"default_branch":"main","last_synced_at":"2026-02-27T22:54:44.035Z","etag":null,"topics":["apache-airflow","astro-private-cloud","astronomer-platform","astronomer-software","kubernetes"],"latest_commit_sha":null,"homepage":"https://www.astronomer.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astronomer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-02-07T19:49:43.000Z","updated_at":"2026-02-26T07:28:19.000Z","dependencies_parsed_at":"2023-10-14T14:18:36.302Z","dependency_job_id":"dd17ad10-b03c-4e6e-bef4-8cf6400f2641","html_url":"https://github.com/astronomer/astro-cli","commit_stats":null,"previous_names":["astronomerio/astro-cli"],"tags_count":321,"template":false,"template_full_name":null,"purl":"pkg:github/astronomer/astro-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastro-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastro-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastro-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastro-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astronomer","download_url":"https://codeload.github.com/astronomer/astro-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astronomer%2Fastro-cli/sbom","scorecard":{"id":213684,"data":{"date":"2025-08-11","repo":{"name":"github.com/astronomer/astro-cli","commit":"0703e2aaf1a8d5c89e3d1f094f6f86799b60e2a1"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"internal error: internal error: invalid Dockerfile: when using JSON array syntax, arrays must be comprised of strings only","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.35.1 not signed: https://api.github.com/repos/astronomer/astro-cli/releases/234454218","Warn: release artifact v1.35.0 not signed: https://api.github.com/repos/astronomer/astro-cli/releases/228417366","Warn: release artifact v1.34.1 not signed: https://api.github.com/repos/astronomer/astro-cli/releases/221048102","Warn: release artifact v1.34.0 not signed: https://api.github.com/repos/astronomer/astro-cli/releases/213697314","Warn: release artifact v1.33.2 not signed: https://api.github.com/repos/astronomer/astro-cli/releases/205302510","Warn: release artifact v1.35.1 does not have provenance: https://api.github.com/repos/astronomer/astro-cli/releases/234454218","Warn: release artifact v1.35.0 does not have provenance: https://api.github.com/repos/astronomer/astro-cli/releases/228417366","Warn: release artifact v1.34.1 does not have provenance: https://api.github.com/repos/astronomer/astro-cli/releases/221048102","Warn: release artifact v1.34.0 does not have provenance: https://api.github.com/repos/astronomer/astro-cli/releases/213697314","Warn: release artifact v1.33.2 does not have provenance: https://api.github.com/repos/astronomer/astro-cli/releases/205302510"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"10 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3527 / GHSA-m4gq-fm9h-8q75","Warn: Project is vulnerable to: GO-2025-3829","Warn: Project is vulnerable to: GO-2025-3533 / GHSA-wq9g-9vfc-cfq9","Warn: Project is vulnerable to: GO-2025-3787 / GHSA-fv92-fjc5-jj9h","Warn: Project is vulnerable to: GHSA-3f2q-6294-fmq5","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: GO-2025-3488 / GHSA-6v2p-p543-phr9","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-48p4-8xcf-vxj5","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T01:13:15.277Z","repository_id":37791215,"created_at":"2025-08-17T01:13:15.277Z","updated_at":"2025-08-17T01:13:15.277Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30144705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T16:58:46.102Z","status":"ssl_error","status_checked_at":"2026-03-05T16:58:45.706Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-airflow","astro-private-cloud","astronomer-platform","astronomer-software","kubernetes"],"created_at":"2024-11-19T15:19:31.404Z","updated_at":"2026-03-05T19:10:47.739Z","avatar_url":"https://github.com/astronomer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Astro CLI [![Release](https://img.shields.io/github/v/release/astronomer/astro-cli.svg?logo=github)](https://github.com/astronomer/astro-cli/releases) [![GoDoc](https://godoc.org/github.com/astronomer/astro-cli?status.svg)](https://godoc.org/github.com/astronomer/astro-cli) [![Go Report Card](https://goreportcard.com/badge/github.com/astronomer/astro-cli)](https://goreportcard.com/report/github.com/astronomer/astro-cli) [![Coverage Status](https://coveralls.io/repos/github/astronomer/astro-cli/badge.svg?branch=main)](https://coveralls.io/github/astronomer/astro-cli?branch=main)\n\nThe 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.\n\u003cimg referrerpolicy=\"no-referrer-when-downgrade\" src=\"https://static.scarf.sh/a.png?x-pxid=29deaa05-2c91-4f0b-bb2c-d2e9408867e0\" /\u003e\n## Usage\n\n  astro [command]\n\n### Core commands\n\n  - `login`         Log in to the Astro CLI\n  - `logout`        Log out of the Astro CLI\n  - `dev init`      Initialize an Astro project in an empty local directory\n  - `dev start`     Build your Astro project into a Docker image and spin up a local Docker container for each Airflow component\n  - `dev stop`      Pause all Docker containers running your local Airflow environment\n  - `dev restart`   Stop your Airflow environment, rebuild your Astro project into a Docker image, and restart your Airflow environment with the new Docker image\n  - `deploy`        Deploy code to a Deployment on Astro\n  - `deployment`    Manage your Deployments running on Astronomer\n  - `dev`           Run your Astro project locally\n  - `api`           Make authenticated requests to Airflow and Astro Cloud REST APIs\n  - `help`          Help about any Astro CLI command\n  - `version`       Show the running version of the Astro CLI\n  - `workspace`     Manage Astronomer Workspaces\n\nFor a list of available Astro CLI commands, see the [Astro CLI command reference](https://www.astronomer.io/docs/astro/cli/reference).\n\n## Install the Astro CLI\n\nUse these instructions to install, upgrade, or uninstall the Astro CLI.\n\n### Prerequisites\n\nTo install the Astro CLI on Mac, you'll need:\n\n- [Homebrew](https://brew.sh/)\n- [Docker Desktop](https://docs.docker.com/get-docker/) (v18.09 or higher)\n\nTo install the Astro CLI on Windows, you'll need:\n\n- Windows 10 or later\n- [Docker Desktop for Windows](https://docs.docker.com/desktop/install/windows-install/)\n- [Docker Engine 1.13.1 or later](https://docs.docker.com/engine/install/)\n- [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) enabled on your local machine\n\nTo install the Astro CLI on Windows with the Windows Package Manager winget command-line tool, you'll need:\n\n- Windows 10 1709 (build 16299) or later or Windows 11\n- Astro CLI version 1.6 or later\n- The latest version of the Windows [App Installer](https://apps.microsoft.com/store/detail/app-installer/9NBLGGH4NNS1?hl=en-ca\u0026gl=ca)\n- [Docker Desktop for Windows](https://docs.docker.com/desktop/install/windows-install/)\n- [Docker Engine 1.13.1 or later](https://docs.docker.com/engine/install/)\n- [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) enabled on your local machine\n\nTo install the Astro CLI on Linux, you'll need:\n\n- [Docker Engine 0.13.1 or later](https://docs.docker.com/engine/install/)\n\n### Latest version\n\n#### Mac\n\n```sh\nbrew install astro\n```\n#### Windows\n\n1. Go to the [Releases page](https://github.com/astronomer/astro-cli/releases)  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.\n\n    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.\n\n2. Rename the file `astro.exe`.\n\n3. 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?](https://www.java.com/en/download/help/path.html).\n\n4. Restart your machine.\n\n#### Windows with winget\n\nStarting with Astro CLI version 1.6, you can use the Windows Package Manager winget command-line tool to install the Astro CLI.\n\nOpen Windows PowerShell as an administrator and then run the following command:\n\n```sh\nwinget install -e --id Astronomer.Astro\n```\n\n#### Linux\n\n```sh\ncurl -sSL install.astronomer.io | sudo bash -s\n```\n\n### Specific version\n\n#### Mac\n\nTo install a specific version of the Astro CLI, specify the version you want to install at the end of the command:\n\n```sh\nbrew install astro@\u003cmajor.minor.patch-version\u003e\n```\n\n#### Windows\n\n1. Delete the existing `astro.exe` file on your machine.\n\n2. Go to the [Releases page](https://github.com/astronomer/astro-cli/releases)  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.\n\n    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.\n\n3. Rename the file `astro.exe`.\n\n4. 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?](https://www.java.com/en/download/help/path.html).\n\n5. Restart your machine.\n\n#### Windows with winget\n\nStarting 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.\n\nTo 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:\n\n```sh\nwinget install -e --id Astronomer.Astro -v 1.6.0\n```\n\n#### Linux\n\nTo 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:\n\n```sh\ncurl -sSL install.astronomer.io | sudo bash -s -- v1.1.0\n```\n\n\u003e If you receive a `mkdir` error during installation, download and run the [godownloader](https://raw.githubusercontent.com/astronomer/astro-cli/main/godownloader.sh) script locally using:\n\u003e\n\u003e```sh\n\u003e$ cat godownloader.sh | bash -s -- -b /usr/local/bin\n\u003e```\n\n#### Troubleshoot installation issues\n\nIf you encounter issues when installing the Astro CLI:\n\n- Make sure Docker Desktop is installed correctly. See [Install Docker Desktop on Windows]https://docs.docker.com/desktop/install/windows-install/).\n\n- Make sure the Docker Desktop WSL 2 backend is installed and configured correctly. See [Docker Desktop WSL 2 backend](https://docs.docker.com/desktop/windows/wsl/).\n\n- Enable Hyper-V on the Docker and Linux Containers and run the Astro CLI natively. For additional information, see the [Docker docs troubleshooting guide](https://docs.docker.com/desktop/troubleshoot/overview/).\n\n## Get started\n\n1. Create a project\n\n    ```\n    $ mkdir hello-astro \u0026\u0026 cd hello-astro\n    $ astro dev init\n    ```\n\n2. Install the binary and Confirm the install worked:\n\n    ```\n    $ ./astro\n    ```\n\n    This generates a basic project directory:\n\n    ```\n    .\n    ├── dags\n    │   ├── exampledag.py\n    ├── tests\n    │   ├── dags\n    │       ├── test_dag_example.py\n    ├── Dockerfile\n    ├── include\n    ├── packages.txt\n    ├── plugins\n    └── requirements.txt\n    ```\n\n    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`.\n\n3. 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.\n(Run `astro dev ps` to verify).\n\n## Versions\n\nAstro 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.\n\nAstronomer ships major, minor, and patch releases of the Astro CLI in the following format:\n\n`{MAJOR_RELEASE}.{MINOR_RELEASE}.{PATCH_RELEASE}`\n\nAll Astro CLI releases prior to 1.0.0 are considered beta.\n\n## Change Log\n\nChange log between each version can be found on the [releases](https://github.com/astronomer/astro-cli/releases) page\n\n## Debug\n\nThe 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:\n\n```yaml\nverbosity: debug\n```\nAdding 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.\n\n## Support\n\nTo resolve an issue, Astronomer recommends reviewing the [Astronomer documentation](https://www.astronomer.io/docs/astro/cli/overview) first.\n\nIf you're unable to resolve your issue after reviewing the documentation, you can post a question on the [Astronomer web forum](https://forum.astronomer.io) or you can contact [Astronomer support](https://support.astronomer.io).\n\n## License\n\nApache 2.0 with Commons Clause\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastronomer%2Fastro-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastronomer%2Fastro-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastronomer%2Fastro-cli/lists"}