An AI-powered cosmic Valentine card generator for the terminal.
Project description
Cosmic Cupid CLI 🌹✨
An AI-powered cosmic Valentine card generator for the terminal. Generate personalized astrological compatibility readings and beautiful Valentine cards for you and your cosmic soulmate.
Features
✨ Astrological Compatibility - Generate detailed cosmic compatibility readings between two people based on their birth charts
💖 Beautiful Terminal UI - Rich, colorful, and interactive command-line interface with animations
📸 Card Generation - Export your cosmic destiny cards as beautiful PNG images
🔐 GitHub OAuth - Secure authentication with GitHub for personalized experiences
🎨 Customizable Output - Control card styling and formatting
Installation
Quick Start with pip
pip install cosmic-cupid
From GitHub (development)
git clone https://github.com/Milcah03/cosmic-cupid-cli.git
cd cosmic-cupid-cli
pip install -e .
Usage
Running Cosmic Cupid
cosmic-cupid
The application will:
- Prompt you to authenticate with GitHub (type
/login) - Ask for you and your partner's names and birthdates
- Generate a cosmic compatibility reading
- Create and save a beautiful Valentine card image
Setting up GitHub OAuth
- Create a GitHub OAuth App (see AUTH_SETUP.md for detailed steps)
- Set environment variables:
export GITHUB_OAUTH_CLIENT_ID="your_client_id" export GITHUB_OAUTH_CLIENT_SECRET="your_client_secret"
- Run
cosmic-cupid
Note: On your first run, type /login at the authentication prompt to begin the OAuth flow.
Requirements
- Python 3.8 or higher
- Internet connection (for GitHub OAuth)
- Modern terminal with Unicode support (for best visual experience)
Dependencies
- rich - Beautiful terminal formatting
- kerykeion - Astrological calculations
- Pillow - Image generation
- requests - HTTP communication
Documentation
- AUTH_SETUP.md - GitHub OAuth configuration guide
- CHANGELOG.md - Version history and changes
Examples
Generate a Compatibility Reading
$ cosmic-cupid
🌹 COSMIC CUPID 2026 🌹
A partner ritual for the fated.
❤ YOUR DETAILS
Your Name: Alice
Birthdate: Dec 03 1990
❤ PARTNER DETAILS
Partner Name: Bob
Birthdate: May 20 1992
✨ Destiny Card Saved ✨
~/cosmic-destiny/Alice_Bob.png
Development
Setup Development Environment
git clone https://github.com/Milcah03/cosmic-cupid-cli.git
cd cosmic-cupid-cli
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
Running Tests
pytest
Code Style
This project uses black for code formatting:
black src/
Architecture
src/main.py- Application entry point and main flowsrc/auth.py- GitHub OAuth authenticationsrc/engine.py- Astrological calculationssrc/ui.py- Terminal UI componentssrc/exporter.py- Image generation and export
Security
- Tokens are stored locally in
~/.cosmic-cupid/github_token.json - OAuth credentials should be set via environment variables
- No credentials are committed to version control
- See AUTH_SETUP.md for security best practices
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for more details.
License
This project is licensed under the MIT License - see LICENSE file for details.
Acknowledgments
- Powered by Kerykeion for astrological calculations
- Beautiful terminal UI with Rich
- GitHub OAuth integration for secure authentication
Support
For issues, questions, or suggestions, please open an issue on GitHub Issues.
Made with 💖 and ✨ cosmic energy
Project details
Release history Release notifications | RSS feed
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 cosmic_cupid-0.1.0.tar.gz.
File metadata
- Download URL: cosmic_cupid-0.1.0.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
246a20f7921d3db57b318276787198b6d316cac4be34055ff6a6bebb752e9ae5
|
|
| MD5 |
349b6751b87114fbae7c1247e31aa098
|
|
| BLAKE2b-256 |
59ab60545f22ad12cd6871304af758fec89ba06c494a37eb74b84a1427fb87d9
|
Provenance
The following attestation bundles were made for cosmic_cupid-0.1.0.tar.gz:
Publisher:
publish.yml on Milcah03/cosmic-cupid-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cosmic_cupid-0.1.0.tar.gz -
Subject digest:
246a20f7921d3db57b318276787198b6d316cac4be34055ff6a6bebb752e9ae5 - Sigstore transparency entry: 953614225
- Sigstore integration time:
-
Permalink:
Milcah03/cosmic-cupid-cli@bcce50a9786478136d354d63a064d2f9cc9273ff -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Milcah03
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bcce50a9786478136d354d63a064d2f9cc9273ff -
Trigger Event:
release
-
Statement type:
File details
Details for the file cosmic_cupid-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cosmic_cupid-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.3 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 |
08cce943ed2c3fb463eaebcaa64672f5c073be816a23ce330dbc7e42f87a9361
|
|
| MD5 |
ef5f0074c85641bedd8800cf61595009
|
|
| BLAKE2b-256 |
3343cc64100a9e83cd72cfebade5e95675f68399411468b63690c71989139c89
|
Provenance
The following attestation bundles were made for cosmic_cupid-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Milcah03/cosmic-cupid-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cosmic_cupid-0.1.0-py3-none-any.whl -
Subject digest:
08cce943ed2c3fb463eaebcaa64672f5c073be816a23ce330dbc7e42f87a9361 - Sigstore transparency entry: 953614226
- Sigstore integration time:
-
Permalink:
Milcah03/cosmic-cupid-cli@bcce50a9786478136d354d63a064d2f9cc9273ff -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Milcah03
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bcce50a9786478136d354d63a064d2f9cc9273ff -
Trigger Event:
release
-
Statement type: