AstroLab: A Space-themed study CLI tool using real NASA data and Google Gemini AI.
Project description
AstroLab
A study tool for astronomy and physics built for the terminal. No heavy web interfaces, just real NASA data and AI-generated quizzes to help you study between lectures.
I built this because reading blocks of theoretical physics gets boring fast. With AstroLab, I pull the Astronomy Picture of the Day (APOD) and let Gemini AI create interactive, university-level quizzes and flashcards out of it.
See it in action
The Tech & Why
- Python + Rich: I love CLI tools. Rich makes the terminal look great without a browser.
- NASA API: Real-world data is better than textbook examples.
- Gemini 2.5 Flash: Fast enough to generate quizzes and deep dives on the fly.
- Offline / Smart Demo Mode: I coded a fallback caching system. If you don't have API keys or internet, the app won't crash. It serves pre-generated, high-quality offline quizzes. I know what it's like to have your code break during a review because of missing .env files, so I fixed that friction.
Try it out
I packaged this up so anyone can run it instantly:
pip install astrolab-cli
Then, just run:
astrolab
Track Your Progress & Deep Dive
I didn't just want to answer questions; I wanted to see if I was improving. The app features local persistence with a stats tracker.
If you get a quiz question wrong, AstroLab doesn't just give you the answer. It asks if you want a "Deep Dive", where it acts like a physics professor and explains the exact concept you missed using everyday analogies right in the terminal.
Built for the Hack Club Sidequest Challenger.
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.8.tar.gz.
File metadata
- Download URL: astrolab_cli-1.0.8.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a86e0604a650603e8ab13ef158fbad7da83da44ee439497a6acb737de70d950a
|
|
| MD5 |
d1b4cfc98ce153fe9bfffa7adf5086b8
|
|
| BLAKE2b-256 |
4622e9551af6a28b85e4a3c033aa8a58def7e70ed5b5bed7d87a32b1fc09917c
|
Provenance
The following attestation bundles were made for astrolab_cli-1.0.8.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.8.tar.gz -
Subject digest:
a86e0604a650603e8ab13ef158fbad7da83da44ee439497a6acb737de70d950a - Sigstore transparency entry: 1364699712
- Sigstore integration time:
-
Permalink:
EngThi/AstroLab@87ccd8f371c80ecc786ec0abc7fcc70b39694b40 -
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@87ccd8f371c80ecc786ec0abc7fcc70b39694b40 -
Trigger Event:
push
-
Statement type:
File details
Details for the file astrolab_cli-1.0.8-py3-none-any.whl.
File metadata
- Download URL: astrolab_cli-1.0.8-py3-none-any.whl
- Upload date:
- Size: 15.8 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 |
09c642f3702ce840031e5bc2cf8ce2156f04dcfdd2f4e33f4bc3564e322597bd
|
|
| MD5 |
05c78895a579befa04b4a0c92426e1b4
|
|
| BLAKE2b-256 |
ee82a6b55985f27fb0e2f2f7b54a1cb8e8134541456542901c4adcb87c61ae8e
|
Provenance
The following attestation bundles were made for astrolab_cli-1.0.8-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.8-py3-none-any.whl -
Subject digest:
09c642f3702ce840031e5bc2cf8ce2156f04dcfdd2f4e33f4bc3564e322597bd - Sigstore transparency entry: 1364699806
- Sigstore integration time:
-
Permalink:
EngThi/AstroLab@87ccd8f371c80ecc786ec0abc7fcc70b39694b40 -
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@87ccd8f371c80ecc786ec0abc7fcc70b39694b40 -
Trigger Event:
push
-
Statement type: