AstroLab: A Space-themed study CLI tool using real NASA data and Google Gemini AI.
Project description
AstroLab
This isn't a "polished corporate" project. I built this because I’m a Computer Engineering freshman with a 10km commute. Most of this code was written on a crowded bus, holding a handrail with one hand and typing on my phone with the other.
I used Firebase Studio (web-based) and the Unexpected Keyboard app to get actual Ctrl, Tab, and Arrow keys on Android. If the code looks structured, it’s because I spent hours auditing what the AI suggested, fixing broken ANSI escape sequences, and fighting JSON mocks when my API quota ran out.
Why I built this
I needed a way to study Astronomy and Physics during the gaps between classes or on the bus.
- NASA APOD: Something new to learn every day.
- CLI First: No heavy web pages. Just the terminal.
- Spaced Repetition: Flashcards that actually work for my routine.
Tech Stack
- Python + Rich: For the terminal interface (which is a pain to keep aligned).
- Gemini 3 Flash: For generating the quizzes and flashcards.
- NASA API: For real-world space data.
- Smart Demo Mode: I pre-cached data in
demo_cache.jsonbecause I know what it's like to have no signal or no API credits.
Installation
pip install astrolab-cli
Run it:
astrolab
Current State
It works. It’s modular. It’s what I use to study. If you find a bug, it’s probably because the bus hit a pothole while I was committing the code.
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 astrolab_cli-1.0.7.tar.gz.
File metadata
- Download URL: astrolab_cli-1.0.7.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53dd4b87641c6df9acad971e4e1a755ab22bf6de25f560fb41611683042d0014
|
|
| MD5 |
000d8462eeaee45de03ea041842d2b4b
|
|
| BLAKE2b-256 |
6bd39290ce32f6f73e3096cbf9f29e8474cc887616ef87f3e17cf7c2363e1568
|
Provenance
The following attestation bundles were made for astrolab_cli-1.0.7.tar.gz:
Publisher:
ci.yml on EngThi/AstroLab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
astrolab_cli-1.0.7.tar.gz -
Subject digest:
53dd4b87641c6df9acad971e4e1a755ab22bf6de25f560fb41611683042d0014 - Sigstore transparency entry: 1364568113
- Sigstore integration time:
-
Permalink:
EngThi/AstroLab@dafa3d5f255bdeee6f54a03ae9f737610152fba3 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/EngThi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@dafa3d5f255bdeee6f54a03ae9f737610152fba3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file astrolab_cli-1.0.7-py3-none-any.whl.
File metadata
- Download URL: astrolab_cli-1.0.7-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff8f6e8500a06420bb41d0f38acb3c348c4359563bf89ffb9f12f81fa3a001cb
|
|
| MD5 |
3960947b42ad28563c89b3b309ea9b3a
|
|
| BLAKE2b-256 |
738d9d03e6e1579d5b4fb4a19bf654099a76c418b629d85d23ac6950e08eccdb
|
Provenance
The following attestation bundles were made for astrolab_cli-1.0.7-py3-none-any.whl:
Publisher:
ci.yml on EngThi/AstroLab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
astrolab_cli-1.0.7-py3-none-any.whl -
Subject digest:
ff8f6e8500a06420bb41d0f38acb3c348c4359563bf89ffb9f12f81fa3a001cb - Sigstore transparency entry: 1364568156
- Sigstore integration time:
-
Permalink:
EngThi/AstroLab@dafa3d5f255bdeee6f54a03ae9f737610152fba3 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/EngThi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@dafa3d5f255bdeee6f54a03ae9f737610152fba3 -
Trigger Event:
push
-
Statement type: