Skip to content

BlacMeW/horoscope_cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

103 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŸ Horoscope CLI โœจ

A powerful C++ command-line astrology tool featuring comprehensive horoscope calculations, traditional Vedic chart systems, authentic Hindu Panchanga calendar, and complete Chinese calendar system with Swiss Ephemeris precision.

๐ŸŽฏ Best Features

๐Ÿช Astronomical Precision

  • โญ Swiss Ephemeris Integration - Industry-leading astronomical accuracy for planetary calculations
  • ๐Ÿ”ฎ Planetary Positions - Calculate exact positions for any date, time, and location worldwide
  • ๐ŸŒ™ Lunar Calculations - Precise moon phases, nodes, and lunar mansion positions
  • โ˜€๏ธ Solar Analysis - Solar returns, transits, and seasonal transitions
  • ๐Ÿ“ฟ Historical Coverage - Complete astronomical calculations from ancient BC era through 2400 AD
  • ๐Ÿ›๏ธ Ancient Astronomy - Calculate planetary positions for historical events like Julius Caesar's assassination (44 BC)
  • ๐ŸŒ Eclipse History - Find eclipses visible from any location across millennia of recorded history

๐Ÿ  Advanced House Systems

  • ๐Ÿ›๏ธ Multiple House Systems - Placidus, Koch, Equal House, Whole Sign, and more
  • ๐Ÿ“ Accurate Cusps - Precise house cusp calculations for professional astrology
  • ๐ŸŽฏ House Placement - Automatic planet-to-house assignments with degrees

๐ŸŽจ Visual Chart Mastery

  • ๐Ÿ‡ฎ๐Ÿ‡ณ Eastern/Vedic Charts - Authentic North Indian, South Indian, and East Indian chart styles
  • ๐ŸŽญ Multiple Chart Formats - Traditional ASCII art charts with planetary symbols
  • ๐Ÿ“Š Western Charts - Classic Western astrological chart representations
  • ๐Ÿ–ผ๏ธ Visual Comparisons - Side-by-side chart style comparisons

๐Ÿ•‰๏ธ Complete Hindu Panchanga System

  • ๐Ÿ“… Traditional Calendar - Full Hindu lunar calendar with Vikram Samvat years
  • ๐ŸŒŸ Five Limbs (Panchangam):
    • ๐ŸŒ› Tithi - Lunar day calculations with precise timing
    • ๐Ÿ“… Vara - Weekday and planetary rulership
    • โญ Nakshatra - 27 lunar mansions with characteristics
    • ๐Ÿค Yoga - 27 planetary combinations and their meanings
    • โฐ Karana - Half-day periods for activity planning
  • ๐ŸŽ‰ Festival Calendar - Automatic detection of Hindu festivals and observances
  • โฐ Muhurta Analysis - Auspicious timing calculations for important events
  • ๐Ÿ“Š Multiple Formats - Detailed view, table, CSV, and JSON outputs

๐Ÿ‰ Chinese Calendar System (NEW!)

  • ๐ŸŽญ 60-Year Sexagenary Cycle - Traditional Gan-Zhi (ๅนฒๆ”ฏ) stem-branch combinations with astronomical precision
  • ๐Ÿฒ 12-Year Zodiac Animals - Complete zodiac system with 5-element associations (็”Ÿ่‚–)
  • ๐ŸŒฟ Wu Xing Five Elements - Traditional Wood-Fire-Earth-Metal-Water theory with generating/overcoming cycles
  • ๐ŸŒ™ 24 Solar Terms - Precise seasonal markers based on sun longitude (็ฏ€ๆฐฃ)
  • ๐ŸŒš Lunar Calendar - Traditional Chinese lunar months with leap month detection
  • ๐ŸŽŠ Festival Calendar - Spring Festival, Mid-Autumn, Dragon Boat, and traditional observances
  • ๐Ÿ”ฎ Four Pillars of Destiny - Complete BaZi (ๅ…ซๅญ—) astrological analysis system
  • ๐ŸŒ Multi-language Support - Traditional Chinese characters, English names, and Pinyin romanization
  • โšก Swiss Ephemeris Integration - Astronomical precision for all calculations

๐ŸŒ Professional Astrology Tools

  • ๐Ÿ“ Aspect Calculator - Major and minor planetary aspects with orbs
  • ๐ŸŒ Location Manager - Global coordinate support with timezone handling
  • ๐ŸŽฏ KP System Support - Krishnamurti Paddhati calculations
  • โšก Advanced Conjunction Analysis - Revolutionary birthfinder algorithms with Newton-Raphson refinement
    • ๐ŸŽฏ Sub-Arcsecond Precision - Up to ยฑ0.000001ยฐ accuracy with derivative calculations
    • ๐Ÿงฎ Progressive Tolerance Search - Multi-level refinement from 5.0ยฐ to 0.01ยฐ precision
    • ๐ŸŒŒ Multi-Planet Detection - Automatic triple and grand conjunction identification
    • โš”๏ธ Graha Yuddha Analysis - Planetary wars with winner determination and effects

๐Ÿ’พ Developer-Friendly Output

  • ๐Ÿ“‹ Multiple Formats - Text, JSON, CSV for easy integration
  • ๐Ÿ”ง API Ready - JSON output perfect for web applications
  • ๐Ÿ“Š Spreadsheet Compatible - CSV export for data analysis
  • ๐ŸŽจ Rich Text Output - Colorful terminal display with emojis

๐Ÿš€ Performance & Reliability

  • โšก Fast Calculations - Optimized C++ performance for quick results
  • ๐Ÿ“ฆ Self-Contained - No external dependencies, Swiss Ephemeris embedded
  • ๐Ÿ”’ Cross-Platform - Works on Linux, macOS, and Windows
  • ๐Ÿ› ๏ธ Easy Installation - Simple Makefile or CMake build process

Dependencies

  • C++17 compatible compiler
  • CMake 3.10 or higher (optional - Makefile also provided)
  • Standard C math library

Note: Swiss Ephemeris is embedded in the project - no external installation required!

๐Ÿ“ฟ Historical Calculation Coverage

The project includes comprehensive ephemeris data files covering:

  • Ancient Era: 6000 BC through 0 AD (BC/AD boundary calculations)
  • Classical Period: 0 AD through 600 AD (early civilizations)
  • Medieval Era: 600 AD through 1200 AD (medieval period)
  • Renaissance: 1200 AD through 1800 AD (renaissance to modern)
  • Contemporary: 1800 AD through 2400 AD (modern era and future)

Historical Examples:

# Julius Caesar's assassination (44 BC)
./bin/horoscope_cli --date -0044-03-15 --time 12:00:00 --lat 41.9028 --lon 12.4964 --timezone 1

# Ancient eclipse calculations
./bin/horoscope_cli --eclipse-range -0100-01-01 -0001-12-31 --lat 41.9028 --lon 12.4964

# Myanmar calendar for historical dates
./bin/horoscope_cli --date 1200-01-01 --myanmar-calendar --lat 16.8661 --lon 96.1951 --timezone 6.5

Installation

Building with Makefile (Recommended)

make clean
make

Building with CMake

mkdir build
cd build
cmake ..
make

No External Dependencies Required

The Swiss Ephemeris library is embedded in the project under third_party/swisseph/. No external package installation is needed.

Usage

./horoscope_cli --date "1990-01-15" --time "14:30:00" --lat 40.7128 --lon -74.0060 --timezone -5

Parameters

  • --date: Birth date in YYYY-MM-DD format
  • --time: Birth time in HH:MM:SS format (24-hour)
  • --lat: Latitude in decimal degrees
  • --lon: Longitude in decimal degrees
  • --timezone: Timezone offset from UTC in hours
  • --house-system: House system (P=Placidus, K=Koch, E=Equal, W=Whole Sign)
  • --chart-style: Chart style (western, north-indian, south-indian, east-indian)
  • --output: Output format (text, json)

Example Output

Western Style (Default):

Birth Chart for 1990-01-15 14:30:00 UTC-5
Location: 40.7128ยฐN, 74.0060ยฐW

=== PLANETARY POSITIONS ===
Sun:        25ยฐ42' Capricorn (House 5)
Moon:       12ยฐ18' Scorpio (House 3)
Mercury:    05ยฐ33' Aquarius (House 6)
...

North Indian Vedic Chart:

=== NORTH INDIAN VEDIC CHART ===

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚             โ”‚             โ”‚             โ”‚             โ”‚
โ”‚     12      โ”‚      1      โ”‚      2      โ”‚      3      โ”‚
โ”‚             โ”‚             โ”‚  Su,Me      โ”‚             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚             โ”‚                           โ”‚             โ”‚
โ”‚     11      โ”‚                           โ”‚      4      โ”‚
โ”‚             โ”‚           RASI            โ”‚  Ve         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค                           โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚             โ”‚                           โ”‚             โ”‚
โ”‚     10      โ”‚                           โ”‚      5      โ”‚
โ”‚   Ju        โ”‚                           โ”‚  Ma,Sa      โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚             โ”‚             โ”‚             โ”‚             โ”‚
โ”‚      9      โ”‚      8      โ”‚      7      โ”‚      6      โ”‚
โ”‚             โ”‚             โ”‚             โ”‚             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

East Indian Vedic Chart (Bengali/Oriya Style):

=== EAST INDIAN VEDIC CHART ===

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Ve,Ke โ”‚  Su,Me  โ”‚    2    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   Ju    โ”‚         โ”‚   Sa    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   10    โ”‚         โ”‚   Mo    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   Ma    โ”‚   Ra    โ”‚    7    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Eastern Chart Examples

# North Indian style
./horoscope_cli --date "1990-01-15" --time "14:30:00" --lat 40.7128 --lon -74.0060 --timezone -5 --chart-style north-indian

# South Indian style
./horoscope_cli --date "1990-01-15" --time "14:30:00" --lat 40.7128 --lon -74.0060 --timezone -5 --chart-style south-indian

# East Indian style (Bengali/Oriya tradition)
./horoscope_cli --date "1990-01-15" --time "14:30:00" --lat 40.7128 --lon -74.0060 --timezone -5 --chart-style east-indian

# Compare all styles

Hindu Calendar (Panchanga) Examples ๐Ÿ•‰๏ธ

The Hindu calendar system provides complete traditional Panchanga calculations:

# Basic Panchanga for a specific date
./horoscope_cli --date "2024-01-15" --time "12:00:00" --lat 28.6139 --lon 77.2090 --timezone 5.5 --panchanga

# Panchanga for date range (3 days)
./horoscope_cli --date "2024-01-14" --time "12:00:00" --lat 28.6139 --lon 77.2090 --timezone 5.5 --panchanga-range 2024-01-14 2024-01-16

# JSON output for API integration
./horoscope_cli --date "2024-01-15" --time "12:00:00" --lat 28.6139 --lon 77.2090 --timezone 5.5 --panchanga --panchanga-format json

# CSV output for spreadsheet analysis
./horoscope_cli --date "2024-01-14" --time "12:00:00" --lat 28.6139 --lon 77.2090 --timezone 5.5 --panchanga-range 2024-01-14 2024-01-16 --panchanga-format csv

# Show only festivals and special observances
./horoscope_cli --date "2024-03-14" --time "12:00:00" --lat 28.6139 --lon 77.2090 --timezone 5.5 --panchanga --festivals-only

Sample Panchanga Output:

โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
                          ๐Ÿ•‰๏ธ  HINDU PANCHANGA  ๐Ÿ•‰๏ธ
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐Ÿ“… DATE INFORMATION:
   Hindu Year (Vikram Samvat): 2373
   Hindu Month: Pausha
   Paksha: Shukla (Bright)

๐ŸŒŸ PANCHANGAM (FIVE LIMBS):
   1. Tithi:     Panchami (ends in 21.3 hours)
   2. Vara:      Monday
   3. Nakshatra: Purva Phalguni (ends in 12.7 hours)
   4. Yoga:      Saubhagya (ends in 5.4 hours)
   5. Karana:    Taitila (ends in 8.8 hours)

๐ŸŒž CELESTIAL POSITIONS:
   Sun in:   Makara (Capricorn) (270.24ยฐ)
   Moon in:  Simha (Leo) (140.02ยฐ)
   Lunar Phase: 229.8ยฐ

๐ŸŒ™ SPECIAL OBSERVANCES:
   โ€ข Sankranti - Solar transition

๐Ÿ• MUHURTA ASSESSMENT:
   Status: โœ… Shubha (Auspicious)
   Note: Generally auspicious time for most activities

Chinese Calendar System (NEW!) ๐Ÿ‰

Complete traditional Chinese calendar with astronomical precision:

# Basic Chinese calendar for current date
./horoscope_cli --chinese-calendar

# Chinese calendar for specific date
./horoscope_cli --chinese-calendar --date 2024-02-12

# Your Chinese zodiac animal
./horoscope_cli --chinese-zodiac --date 1990-08-15

# Complete Four Pillars analysis (BaZi)
./horoscope_cli --chinese-bazi --date 1985-03-15 --time 14:30 --lat 39.9042 --lon 116.4074 --timezone 8

# Chinese monthly calendar
./horoscope_cli --chinese-monthly --month 2024-02

# Multi-language output (Chinese/English/Pinyin)
./horoscope_cli --chinese-calendar --date 2024-12-25 --chinese-lang zh

Features:

  • ๐ŸŽญ 60-Year Sexagenary Cycle (Gan-Zhi ๅนฒๆ”ฏ) - Traditional stem-branch combinations
  • ๐Ÿฒ 12-Year Zodiac Animals (็”Ÿ่‚–) - Complete zodiac with element associations
  • ๐ŸŒฟ 5-Element Theory (Wu Xing ไบ”่กŒ) - Wood, Fire, Earth, Metal, Water cycles
  • ๐ŸŒ™ 24 Solar Terms (Jie Qi ็ฏ€ๆฐฃ) - Precise seasonal transitions
  • ๐ŸŒš Lunar Calendar - New moon calculations with leap month detection
  • ๐ŸŽŠ Traditional Festivals - Spring Festival, Mid-Autumn, Dragon Boat, etc.
  • ๐Ÿ”ฎ Four Pillars of Destiny (BaZi ๅ…ซๅญ—) - Complete astrological analysis
  • ๐ŸŒ Multi-language Support - Chinese characters, English names, Pinyin romanization

Sample Chinese Calendar Output:

๐Ÿ‰ Chinese Calendar Data
=======================
Chinese Date: 4721/11/23
Gan-Zhi Year: ็”ฒ่พฐ (Jia-Chen) - Wood Dragon
Zodiac Animal: ้พ Dragon (Wood Element)
Solar Term: ๅ†ฌ่‡ณ Winter Solstice
Current Festival: Winter Solstice Festival

60-Year Cycle Position: 41
โ”œโ”€โ”€ Year Stem: ็”ฒ Jia (Wood, Yang)
โ”œโ”€โ”€ Year Branch: ่พฐ Chen (Earth, Yang)  
โ”œโ”€โ”€ Month Stem: ไธ™ Bing (Fire, Yang)
โ””โ”€โ”€ Day Stem: ๆˆŠ Wu (Earth, Yang)

Auspicious: โœ… Yes
Lucky Elements: Wood, Water

Compare Traditional Systems

./examples/chart_comparison.sh 1990-01-15 14:30:00 40.7128 -74.0060 -5


## License

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors