asteroid-tui 1.2.0

Tools for minor planets researchers: observation scheduling and planning
docs.rs failed to build asteroid-tui-1.2.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

asteroid_tui

asteroid-tui

Terminal tools for minor-planet researchers and enthusiasts: observation scheduling and planning from the command line.

License: GPL v3 crates.io docs.rs GitHub Downloads (all assets, all releases)

Crate: crates.io/crates/asteroid-tui · API docs: docs.rs/asteroid-tui · Repository: github.com/ziriuz84/asteroid_tui

More documentation: docs/ (architecture, config template).

Features

Available

  • Weather forecast — astronomical seeing, transparency, clouds, wind (via 7timer)
  • Sun & moon times — sunrise, sunset, twilight, moon phase (via sunrise-sunset.org)
  • Observing target list — visible minor planets and related objects for your site (via MPC What's Up)
  • Observatory settings — coordinates, horizon limits, MPC code, observer details
  • Bilingual UI — English and Italian

Planned

  • NeoCP listing
  • Object ephemeris

Installation

From crates.io (recommended)

Requires a Rust toolchain:

cargo install asteroid-tui

Pre-built binary (Linux)

Download the latest .tar.gz from GitHub Releases, extract it, and run asteroid-tui.

From source

git clone https://github.com/ziriuz84/asteroid_tui.git
cd asteroid_tui
cargo build --release
./target/release/asteroid-tui

Or install locally:

cargo install --path .

Quick start

asteroid-tui

On first run, a default configuration file is created at ~/.config/asteroid_tui/config.toml.

Use the numeric menu:

Menu Options
Main 1 Settings · 2 Scheduling · 0 Quit
Settings General (language, MPC token) · Observatory (site coordinates and limits)
Scheduling Weather forecast · Sun & moon times · Observing target list

Configure your observatory under Settings before using scheduling features that depend on your location.

Typical workflow

  1. Run asteroid-tui once so the default config file is created.
  2. Open Settings → Observatory and set latitude, longitude, altitude, and MPC code.
  3. Set language under Settings → General (en / it).
  4. Use Scheduling for weather, sun/moon times, or the observing target list.

Screenshots

Terminal screenshots can be added under docs/images/ and embedded here.

Configuration

Config path (Linux): ~/.config/asteroid_tui/config.toml

Key settings:

Section Purpose
[general] lang (en or it)
[observatory] latitude, longitude, altitude, mpc_code, horizon limits (north_altitude, etc.)

What's Up authentication: the app fetches a fresh CSRF authenticity_token from the MPC form page before each request. If scraping fails, it falls back to a built-in token (you may see a warning on stderr).

You can change language and observatory data from the in-app Settings menus.

See docs/config.example.toml for a full commented example.

Troubleshooting

Problem What to check
Weather or sun/moon errors Observatory latitude/longitude in Settings → Observatory
Target list fails or is empty Network access to MPC, date/time filters, horizon limits in Settings → Observatory
Wrong language lang in config or Settings → General (en / it)
Old version shown at startup Rebuild or reinstall; version comes from the package metadata

Data sources

Feature Source
Weather 7timer.info
Sun & moon api.sunrise-sunset.org
Target list Minor Planet Center — What's Up

Development

Prerequisites: Rust (stable), Cargo.

cargo test
cargo clippy -- -D warnings
cargo doc --no-deps --open   # API documentation locally

See CONTRIBUTING.md, docs/architecture.md, COMMIT_MESSAGES.md, and the Code of Conduct.

Release history: CHANGELOG.md.

Roadmap

  • NeoCP listing
  • Object ephemeris

Support

Open an issue or use Discussions on GitHub.

Contributing

Contributions are welcome. See CONTRIBUTING.md to get started.

Authors

Used by

License

This project is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).