AstroLab: A Space-themed study CLI tool using real NASA data and Google Gemini AI.
Project description
AstroLab 🚀
Pivot for the Hack Club Sidequest Challenger. An astronomy/physics study tool that utilizes real NASA data (APOD endpoint) to generate interactive quizzes and flashcards using Google Gemini AI. The perfect tool for studying "between lectures"!
Features
astrolab apod: Shows the "Astronomy Picture of the Day" with a detailed explanation.astrolab quiz: Generates an interactive 5-question quiz based on the daily APOD using AI. Includes a Deep Dive mode to learn from your mistakes!astrolab flashcard "<topic>": Creates a thematic flashcard based on space data and automatically saves it to your personal deck.astrolab review: [NOVO] Starts a review session with all the flashcards you have generated and saved.astrolab stats: Displays your study progress history with stylized bar charts in the terminal! Track your performance and accuracy across sessions.
💡 Quick Start (For Reviewers)
AstroLab is now published on PyPI for a frictionless testing experience!
- Install the package globally via pip:
pip install astrolab-cli
- [OPTIONAL] To use the fully dynamic AI generation, configure your credentials by creating a
.envfile in your working directory:
NASA_API_KEY=your_key_here
GEMINI_API_KEY=your_key_here
Note: If you don't configure an .env, the system will use a DEMO_KEY for NASA and safely fallback to our Smart Demo Mode for Gemini, pulling rich pre-generated responses from an internal cache.
- Explore space with our beautiful interactive menu by running:
astrolab
Architecture and Tech Stack
- NASA APOD API: Provides the foundational space data.
- Google Gemini API: Generates and evaluates questions based on space context and creates Deep Dives.
- Python / Rich: CLI interface with beautiful visual components.
- Storage: Study history and Flashcard Deck persisted locally via JSON in
data/.
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.0.tar.gz.
File metadata
- Download URL: astrolab_cli-1.0.0.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a34ea583b1717b3d31047fa01ab4f95a4eb08697fff319d6714631f039e2df4d
|
|
| MD5 |
e9540130f0f9e5ff88ec062d63b4329d
|
|
| BLAKE2b-256 |
ec2206809ceef33c6e30aa9b38ae126fc8f8b901665b932b3f6e090b476f886b
|
Provenance
The following attestation bundles were made for astrolab_cli-1.0.0.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.0.tar.gz -
Subject digest:
a34ea583b1717b3d31047fa01ab4f95a4eb08697fff319d6714631f039e2df4d - Sigstore transparency entry: 1206446068
- Sigstore integration time:
-
Permalink:
EngThi/AstroLab@19e405ed2e7214c095d5c20847b4eafeba7a18de -
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@19e405ed2e7214c095d5c20847b4eafeba7a18de -
Trigger Event:
push
-
Statement type:
File details
Details for the file astrolab_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: astrolab_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
794743d3bead3cfa34ceed7c9679c0c35e7522d4961325a41dcb2734cc16f346
|
|
| MD5 |
a3493a91c61b7214caffc2305da38482
|
|
| BLAKE2b-256 |
f03b560b6c3edf7aeb34ae33d7e1c115e6ab21a9a6d520562d071d8f3fee02d4
|
Provenance
The following attestation bundles were made for astrolab_cli-1.0.0-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.0-py3-none-any.whl -
Subject digest:
794743d3bead3cfa34ceed7c9679c0c35e7522d4961325a41dcb2734cc16f346 - Sigstore transparency entry: 1206446080
- Sigstore integration time:
-
Permalink:
EngThi/AstroLab@19e405ed2e7214c095d5c20847b4eafeba7a18de -
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@19e405ed2e7214c095d5c20847b4eafeba7a18de -
Trigger Event:
push
-
Statement type: