June 23, 2025, 12:56 a.m.

the astrolog CLI

HACKSTROLOGY

Much like I'm a medievalist who feels closer to this tradition's forebears by hand-drawing birth charts, I interact with my computer through a Linux shell. Astrology through these means has been possible for longer than I've been alive thanks to Astrolog, a free and open-source astrology program continuously developed by Walter Pullen since 1991 for Windows, macOS, Unix, and once upon a time, MS-DOS and the Amiga! (80s and 90s computers, the earliest consumer PCs.) It's about as fully featured as SolarFire, but can be intimidating or unsexy to users who expect such 21st century excesses as anti-aliasing or cursors or more than 24 colors, and I promise you my Pluto is in Sagittarius.

I thought I'd share my Astrolog 7.80 config in a gist, which works for me on four Linux hosts: an Arch Linux laptop, a Debian 13 desktop, an Ubuntu VPS, and Termux. Nothing I'm saying here isn't clearly stated in the documentation or astrolog -H, but what follows are the steps I took to customize this program to largely medieval techniques.

Contents

  1. What's a CLI?
  2. Installation
  3. Configuration
  4. Getting started
  5. Why?
  6. New Moon in Cancer

what's a CLI?

The way I use Astrolog requires a terminal emulator that allows you to interact with your computer's shell, or the command line. On my Linux machines, I run either Sway WM or Gnome, so this is foot, Alacritty, or GNOME Terminal. The default terminal on macOS is just called Terminal, I believe, but in the past I used either iTerm2 or WezTerm. Windows... I don't know what's going on there. PowerShell?

Don't quote me on this, but the term command line interface (CLI) almost certainly predates terminal user interface (TUI). I respectively pronounce these "klee" and "tooey." TUI seems to be a spin on GUI or graphical user interface ("gooey"), which describes most mouse-driven, visual computer programs targeted at the average 21st century consumer, including the likes of SolarFire, AstroGold, and Luna. But before my time, CLIs were user friendly, and to my eye they're still beautiful! I love a monospace font and how it creates vertical columns and leads to neat alignment with pure text, but I have a Virgo moon and a Cancer 5th house.

Astrolog retains its wonderfully 90s aesthetic, right down to ANSI colors and 16- and 24-bit graphics. I haven't tried its Windows or macOS GUI, but I can draw the same bitmapped charts using X11 on my machines running Wayland compositors.

installation

I downloaded the Astrolog 7.80 source code, unzipped it, and ran make on all my Linux machines. Besides the usual C/C++ dependencies, you need your package manager's variant of the X11 library, which I had to install since I run Wayland.

  • On Debian-based distros, the package is libx11-dev, while Arch has it as libx11.
  • Termux also has it as libx11, but you also need to intall a package called protoxorg.
  • This should be possible on macOS 13 and above with Homebrew using brew install libx11.
mkdir astrolog      # in a directory of source code i didn't write
cd astrolog
curl -O https://astrolog.org/ftp/ast78src.zip
unzip ast78src.zip
make

After this, you should have astrolog as an executable in the same directory, which you can symlink into your path.

configuration

Text configuration files are the cornerstone of the Unix experience that makes moving machines or accidentally destroying your installation a breeze because you don't have to painstakingly re-select each application setting from a GUI. With astrology, these individual settings get even more fine-grained. I'm quite intermediate—really only do natal, partner, and electional astrology—so my astrolog.as isn't too different from the default that you'll find in the source code.

The default astrolog.as has excellent comments, so I can't add much besides what I recommend prioritizing if you're at all similar to me in our astrological schools and traditions.

1. set file paths

I set up my homedir like this:

.
├── d/
│   └── adb/
│       ├── astrolog.as         # copied/modified from default
│       └── {birth data files}
└── s/
    └── astrolog/
        ├── {the contents of ast78src.zip}
        ├── astrolog.as         # the default config
        └── ephem/
            └── {swisseph files}
  • d/: my XDG_DOCUMENTS_DIR.
  • adb/: the directory I always run astrolog from so it uses my astrolog.as.
  • s/: dir for source I didn't write.
  • ephem/: wherever this is, you need to note it for your astrolog.as.

In the default astrolog.as, the commented ; FILE PATHS heading is at line 55. Mine looks like

; FILE PATHS (-Yi1 through -Yi9):
; For example, point -Yi1 to ephemeris dir, -Yi2 to chart files dir, etc.

-Yi1 "~/s/astrolog/ephem"
-Yi2 "~/d/astrolog/db"

2. default time zone and location

This is located at the top of astrolog.as in lines 6-11.

If you're not making a habit of learning GPS coordinates and local time zones for your charts, now is the time to start. I find Astrolog's atlas search incredibly jank (it cannot find New York City...), so you'll have to check the GeoHack info on each locale's Wikipedia article listed at the top right. This is fun for me, personally!

3. methodological preferences

  • Line 16: tropical or sidereal zodiac; set ayanamsa in line 17.
  • Line 19: number of aspects; see lines 102-106 for minor aspects.
  • Line 20: house system. Run astrolog -H for a list of available systems, but "14" is whole sign houses.
  • Line 22: use terminal ANSI colors. It just looks nice <3

4. objects

Then there's the other kettle of fish that's selecting which objects to draw starting at line 62 with the heading '; DEFAULT RESTRICTIONS'. This takes the form of a index of binary values where 0 = yes and 1 = no, but confusingly! It's a kind of double negative semantic because Astrolog calls these "restrictions." You'll have to refer to the commented lines right after the heading for what each index position refers to. Mine is...

; lines 72-73
-YR 0 10     1 0 0 0 0 0 0 0 1 1 1    ; Planets
-YR 11 21    1 1 1 1 1 0 1 1 0 1 1    ; Minor planets

You can kind of figure it out just knowing I don't use outer planets and that Astrolog starts with the Earth. 1 = restrict! So I'm saying "no" to the Earth, followed by seven 0's for the seven visible planets, and three 1's for the generational planets. Then for the minor planets (mostly asteroids), I only allow the North Node and Part of Fortune.

These can also be set for transiting objects right after this section starting at line 82. I haven't touched this yet.

5. aspect orbs

Similar to the binaries used for objects. I use pretty tight orbs except for the Moon and conjunctions to the Sun, tightest for separating aspects, so I set the base orb to 3 degrees on line 108 and give them wider margins per-planet on line 124:

-YAd 0 10    0 12 10 2 2 2 0 0 0 0 0    ; Planets
  • 3 + 12 = 15 degrees for the Sun.
  • 3 + 10 = 13 degrees for the Moon.
  • 3 + 2 = 5 degrees for the personal planets.
  • Jupiter and Saturn stay at max 3 degrees.

getting started

To save your first chart, run astrolog -o <filename> within your Astrolog documents directory. This takes you through a series of prompts for the date, time, time zone, and coordinates of the nativity or event. Personally, my <filename> format is [rising sign]_[name], so I saved mine as pisces_me.

Here's what the prompt tree looks like while I added Lucy Dacus (listen to Forever is a Feeling):

Enter month for chart (e.g. '3' 'Mar') > 5
Enter day   for chart (e.g. '1' '31')  > 2
Enter year  for chart (e.g. '2025')    > 1995
Enter time  for chart (e.g. '18:30' '6:30pm')   > 22:30
Enter name of city or location > Norfolk, Virginia, USA
Couldn't find anything in atlas matching location.
Enter if Daylight time in effect (e.g. 'y' '1') > n
Enter time zone (e.g. '5W' 'ET' for Eastern)    > 4w
Enter Longitude of place (e.g. '122W20') > 76w17
Enter Latitude  of place (e.g. '47N36')  > 36n51
Enter name or title for chart  > Lucy Dacus

This will print a table using your preferences from astrolog.as (assuming you're in the right directory). Alacritty with my custom colorscheme shows it like:

alacritty.png

But more importantly, it writes this text file:

@AI780  ; Astrolog chart info.
-qb May 2 1995 10:30pm ST 4W  76:17W 36:51N
-zi "Lucy Dacus" "Norfolk, Virginia, USA"

Being plain text, you can just write and edit birth data directly without running astrolog -o using this format in an editor like Vim, Emacs, Windows Notepad or macOS TextEdit, which is such a time saver and makes copying my Astrodienst database stupid easy.

interacting with charts

You can pull a saved chart from your database with the input flag -i like astrolog -i <filename>, with additional Astrolog command switches to get exactly what you want. To write a bitmapped circular chart to memory in an X11 window, I run

astrolog -i <filename> -X

bitmap-chart.png

To get a month of transits to my own chart:

astrolog -i pisces_me -t July 2025

which returns

 7/ 1/2025 10:55am trans   Venus (Tau) Squ natal (Aqu) Venus
 7/ 1/2025  4:02pm trans Mercury (Leo) Tri natal (Ari) Saturn
 7/ 2/2025  2:23am trans   Venus (Tau) Sex natal (Pis) Ascendant
 7/ 3/2025  9:06am trans Mercury (Leo) Opp natal (Aqu) Jupiter
 7/ 3/2025  9:57am trans   Venus (Tau) Tri natal (Vir) Moon
 7/ 4/2025  2:09pm trans   Venus (Gem) Tri natal [Lib] North Node
 7/ 5/2025  8:40pm trans Jupiter (Can) Tri natal (Pis) Sun
 7/ 6/2025  6:47am trans Jupiter (Can) Squ natal (Ari) Saturn
 7/ 7/2025  7:17pm trans   Venus (Gem) Tri natal [Lib] Mars
...

That's just a taste of what Astrolog can do with just a few command flags, but you can really spend a whole day just running your own chart with various options from the Command Switch section of the documentation.

why?

To me, this is significantly less work than configuring a GUI, which of course is mostly true because I'm a happy Unix user who's familiar with text configuration. The reason Linux is free is because you pay with your time, or rather the reason Windows and macOS are so damn expensive is because you buy your time back.

But the reality is these settings are serious business to any opinionated astrologer, and you should be able to take them with you across computers and installations of your software with ease. Text config files are also shareable (my dotfiles btw)! So the day I find another Linux Astrolog user, we'll surely compare astrolog.as like a couple of dweebs.


sailorfe@hackstrology $ astrolog -q June 25 2025 6:31

Astrolog 7.80 chart for Wed Jun 25, 2025  6:31am (ST Zone 4W)
Body  Locat. Ret. Lati. Rul.      House  Rul. Veloc.    Whole Houses

Sun :  4Can07   + 000' (-) [ 1st house] [X] +0.954  -  House cusp  1:  0Can00
Moon:  4Can07   + 453' (R) [ 1st house] [-] +14.55  -  House cusp  2:  0Leo00
Merc: 28Can10   + 122' (-) [ 1st house] [-] +1.370  -  House cusp  3:  0Vir00
Venu: 19Tau58   - 241' (R) [11th house] [-] +1.075  -  House cusp  4:  0Lib00
Mars:  4Vir34   + 105' (-) [ 3rd house] [-] +0.571  -  House cusp  5:  0Sco00
Jupi:  3Can32   - 008' (X) [ 1st house] [-] +0.228  -  House cusp  6:  0Sag00
Satu:  1Ari40   - 212' (f) [10th house] [R] +0.029  -  House cusp  7:  0Cap00
Nort: 22Pis12 R + 000' (-) [ 9th house] [f] -0.052  -  House cusp  8:  0Aqu00
Fort:  1Can58   + 000' (-) [ 1st house] [-] +314.8  -  House cusp  9:  0Pis00
Asce:  1Can58   + 000'     [ 1st house]     +328.4  -  House cusp 10:  0Ari00
Midh: 18Pis11   + 000'     [ 9th house]     +390.8  -  House cusp 11:  0Tau00
                                                    -  House cusp 12:  0Gem00

The New Moon in Cancer—a.k.a. a Sun-Moon conjunction—will be exact at 5:31 a.m. ET on Wednesday, June 25. Besides the lights, Cancer has been quite busy these last few weeks with Mercury's transit through it since entered the sign on June 8, with Jupiter joining a day later. While Mercury is on its way out, Jupiter is hanging out and stationing in Cancer until next year, which is so stupid happy if Cancer is a nice house for you—shout out water rising signs in particular! Jupiter is exalted in Cancer, so you might see SEO titles calling 2025 a year of good luck, but as always: it depends. Some of us will feel it more obviously in areas we want good luck, others like Leo rising (Cancer 12th house) and Sagittarius rising (Cancer 8th house) might not...

(If you don't know which signs are which whole sign houses in your chart, go here.)

Elsewhere, the lesser daytime benefic Venus is finishing up its transit through Taurus, one of the signs it rules, entering Gemini on July 4. I hope this has been a time of feeling closer and warmer toward whatever topics this house is for you! For Pisces rising, Taurus is our third house, and I've found my siblings far more comforting than usual, especially as a refuge from friends' drama, haha.

Come the full moon in mid-July, we'll talk Mercury retrograde in Leo. Until then!

🐈‍⬛


hackstrology list ✧ readings ✧ git

You just read issue #1 of HACKSTROLOGY. You can also browse the full archives of this newsletter.

Share on Facebook Share on Twitter Share via email Share on Mastodon Share on Bluesky
Powered by Buttondown, the easiest way to start and grow your newsletter.