CLI for astroquery modules with autocompletion and multi-language support.
Project description
Astro CLI ๐
English | ไธญๆ | ๆฅๆฌ่ช | Franรงais
Your gateway to cosmos โ Query astronomical data from command line
โจ What is Astro CLI?
Astro CLI is a modern command-line tool that provides quick access to multiple astronomical data services. It integrates Astroquery and other data access methods (direct API calls, HTTP requests) to help astronomers, researchers, and anyone query astronomical databases efficiently from the terminal.
17 data sources. One command. Beautiful output. Multi-language support. Extensible for future services.
๐งฉ Supported Data Sources
Query data from 17 different astronomical databases and services:
| Service | Description | Command | Alias |
|---|---|---|---|
| SIMBAD | Basic astronomical data & object identification | astrocli simbad |
astrocli sim |
| VizieR | Catalog database search | astrocli vizier |
astrocli viz |
| ALMA | ALMA radio telescope observations | astrocli alma |
- |
| ESASky | Sky region visualization | astrocli esasky |
- |
| Gaia | ESA Gaia mission data | astrocli gaia |
- |
| IRSA | Infrared Science Archive | astrocli irsa |
- |
| HEASARC | X-ray and Gamma-ray data | astrocli heasarc |
astrocli hea |
| JPL Horizons | Solar System ephemerides | astrocli jpl |
- |
| MAST | Space Telescope Archive (HST, JWST, etc.) | astrocli mast |
- |
| ADS | Astrophysics literature search | astrocli ads |
- |
| NED | Extragalactic Database | astrocli ned |
- |
| NIST | Atomic spectra database | astrocli nist |
- |
| NASA Exoplanet | Exoplanet catalog | astrocli exoplanet |
astrocli exo |
| SDSS | Sloan Digital Sky Survey | astrocli sdss |
- |
| ESO | European Southern Observatory | astrocli eso |
- |
| Splatalogue | Molecular line database | astrocli splatalogue |
astrocli spl |
| AAVSO VSX | Variable Star Index | astrocli aavso |
astrocli aav |
| Fermi-LAT | Gamma-ray telescope data | astrocli fermi |
astrocli fer |
๐ Key Features
- ๐ฆ Multi-Source Access: Query 17+ astronomical databases from a single interface
- ๐ Internationalized UI: Built-in support for English, Chinese (Simplified), and Japanese
- ๐ Rich Output: Beautifully formatted tables with support for exporting to CSV, ECSV, FITS, and more
- โก Smart Defaults: Sensible defaults with extensive customization options
- ๐ Service Health: Built-in connectivity testing (
--ping) and field validation (--field) - ๐งโ๐ป Shell Completion: Auto-completion support for Bash, Zsh, and Fish
- ๐ Extensible: Easy to add new astronomical data services
๐ฆ Installation
Astro CLI offers multiple installation methods. Choose the one that suits you:
Method 1: npm Global Install (Recommended)
# Global install (requires Node.js โฅ18 and Python 3.11+)
npm install -g astroquery-cli
# After installation, all three commands are available:
astroquery-cli --help # Full command name
aqc --help # Short command (recommended)
astrocli --help # Alias command
# Example: Query SIMBAD for M31
astrocli simbad object "M31"
Method 2: npx/pnpm (No Install Required)
# Using npx (no installation needed)
npx astroquery-cli --help
# Using pnpm
pnpm astroquery-cli --help
# Example
npx astroquery-cli simbad object "M31"
Method 3: PyPI Install (For Python Users)
# Install Python package from PyPI
pip install aqc-cli
# After installation, available commands:
aqc --help
astrocli --help
Method 4: Install from Source
git clone https://github.com/inoribea/astroquery-cli.git
cd astroquery-cli
pip install -e .
๐ Package Naming
| Platform | Package Name | Install Command |
|---|---|---|
| npm | astroquery-cli |
npm install -g astroquery-cli |
| PyPI | aqc-cli |
pip install aqc-cli |
After installation, all three commands are available:
astroquery-cli- Full command nameaqc- Short command (recommended)astrocli- Alias command
Environment Variables
AC_PYTHON- Specify Python interpreter pathAC_VENV_DIR- Custom virtual environment cache directory (default:~/.cache/astrocli)AC_FORCE_INSTALL=1- Force reinstall/upgrade Python dependenciesAC_DEBUG- Enable debug modeAC_LANG- Set default language (en/zh/ja)
๐ Usage
View All Available Commands
# Show all available modules and commands
astrocli --help
# Show help for a specific module
astrocli <module> --help
Query Examples
1. Query SIMBAD for an object
astrocli simbad object "M31"
astrocli simbad object "Crab Nebula" --show-all-cols
2. Search VizieR catalogs
# Find catalogs by keywords
astrocli vizier find-catalogs --keyword photometry --keyword galaxy
# Query a specific catalog
astrocli vizier object "M31" --radius 0.1 --catalog "I/261/gaiadr3"
3. Query AAVSO Variable Star Index (NEW!)
# Query a variable star by name
astrocli aavso object "SS Cyg"
# Search variable stars in a sky region
astrocli aavso region 196.421 18.018 --radius 0.5
# Get results in JSON format
astrocli aavso object "T CrB" --format json
4. Query Fermi-LAT Data (NEW!)
# Query Fermi data for a target
astrocli fermi object "Crab Nebula" --energy "1000,100000" --dates "2020-01-01 00:00:00, 2020-01-02 00:00:00"
# Clear Fermi cache
astrocli fermi clear-cache
5. Search ADS literature
astrocli ads search --title "exoplanet detection"
astrocli ads bibcode "2023A&A...555..959W"
๐ Multi-Language Support
Change output language on-the-fly:
astrocli --lang en simbad object "M31" # English
astrocli --lang zh simbad object "M31" # Chinese (Simplified)
astrocli --lang ja simbad object "M31" # Japanese
astrocli --lang fr simbad object "M31" # French
Supported languages: English (en), Chinese (zh), Japanese (ja), French (fr)
๐ง Global Options
| Option | Description |
|---|---|
-l, --lang |
Set output language (en/zh/ja) |
-p, --ping |
Test connectivity to all services (top-level only) |
-f, --field |
Check available fields for a module (top-level only) |
-d, --debug |
Enable debug mode with verbose output |
-v, --verbose |
Enable verbose output |
๐งโ๐ป Shell Autocompletion
Install completion for your shell:
astrocli --install-completion bash # Bash
astrocli --install-completion zsh # Zsh
astrocli --install-completion fish # Fish
Add this to your shell config (e.g., ~/.zshrc):
# For zsh
eval "$(astrocli --install-completion zsh)"
# For bash
eval "$(astrocli --install-completion bash)"
๐ Output & Export
Save query results to file:
astrocli simbad object "M31" --output-file results.csv
# Specify format explicitly
astrocli simbad object "M31" --output-file data.ecsv --output-format ecsv
Supported formats: csv, ecsv, fits, votable, html, latex, ascii
๐ Testing Service Connectivity
Check if all data services are accessible:
astrocli --ping
๐ ๏ธ Development
Project Structure
astrocli/
โโโ src/ # Source code (renamed from astroquery_cli)
โ โโโ modules/ # Service-specific modules
โ โ โโโ simbad_cli.py
โ โ โโโ vizier_cli.py
โ โ โโโ aavso_cli.py # AAVSO VSX
โ โ โโโ fermi_cli.py # Fermi-LAT
โ โ โโโ ...
โ โโโ utils.py # Common utilities
โ โโโ common_options.py # Shared CLI options
โ โโโ i18n.py # Internationalization
โ โโโ main.py # CLI entry point
โโโ locales/ # Translation files
โ โโโ en/LC_MESSAGES/ # English
โ โโโ zh/LC_MESSAGES/ # Chinese
โ โโโ ja/LC_MESSAGES/ # Japanese
โ โโโ fr/LC_MESSAGES/ # French
โโโ package.json # npm/npx configuration
โโโ pyproject.toml # Python package config
โโโ README.md
Adding a New Module
- Create
modules/<service>_cli.pyfollowing existing patterns - Import in
main.py'ssetup_subcommands() - Add to README module list
- Add translations to
locales/directories
๐ License
BSD 3-Clause License
๐ Acknowledgments
- aqc-mcp - MCP server for AI assistants
- Astroquery - Astronomical data access library
- Typer - Modern CLI framework
- Rich - Beautiful terminal output
- AAVSO - American Association of Variable Star Observers
- Fermi Team - Fermi Gamma-ray Space Telescope
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file inoribea_astrocli-1.4.5.tar.gz.
File metadata
- Download URL: inoribea_astrocli-1.4.5.tar.gz
- Upload date:
- Size: 219.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df20cc7b93a4bb29d06f104f6503f7fc6d83776c8bc48d90c48c21836c8a135c
|
|
| MD5 |
c29bac58ece7b277d4199d3f0ec0d74f
|
|
| BLAKE2b-256 |
ebe7c324b35cfee6d93d160832336bfdeb79f7d69176a5cd0fe918589fa5b5c7
|
File details
Details for the file inoribea_astrocli-1.4.5-py3-none-any.whl.
File metadata
- Download URL: inoribea_astrocli-1.4.5-py3-none-any.whl
- Upload date:
- Size: 168.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d895ad0d45a45172f283bff2f2808db89074dbf09e27540ba1febefbf4fa6d97
|
|
| MD5 |
1259e7ed70e80b2cb94079d5b558d7a5
|
|
| BLAKE2b-256 |
056129d2f754b3eb844d936893e17583157d0116f376f7e2a117222bcddb699c
|