If you’re in the Human Design world, you know the calculator situation. There are a handful of websites that will run your chart — some accurate, some not — and most of them are proprietary. You can’t embed them. You can’t build on top of them. You can’t verify what they’re doing under the hood.
I’m a 2/4 Ego Projected Projector, which means I spent an embarrassing amount of time verifying whether the tools I was using were actually accurate. Spoiler: several of them weren’t.
So I built one. It’s called human-design-py, it’s open source, it’s MIT licensed, it’s verified against bodygraph.io, and you can use it right now for free. This article will show you exactly how.
You do not need to be a developer to follow this. I will tell you what to do.
What It Calculates
human-design-py uses the Swiss Ephemeris — the same astronomical calculation library used by professional astrology software — to calculate:
- Type (Projector, Generator, Manifesting Generator, Manifestor, Reflector)
- Profile (e.g. 2/4, 6/2, 1/3)
- Inner Authority
- Defined and Open Centers
- All active Gates with Lines
- Personality (conscious) planetary positions
- Design (unconscious) planetary positions
The unconscious is calculated via solar arc — 88° before your birth Sun. The design date calculation is where most free tools get it wrong. The 88° solar arc is not the same as “88 days before your birthday.” This library does it correctly.
If You’re Not a Developer: What This Means for You
You’ve been asking your followers for their birth data and then manually running it through a calculator, copy-pasting the result, and DMing it back to them. Or you’ve been paying for a Wix plugin that may or may not be accurate, with no way to check.
What this library makes possible: someone can build you — or you can commission — a form on your website where visitors enter their birth data, and it spits out their Human Design type, profile, authority, and centers instantly. No third-party tool. No subscription. No data leaving your site.
If you have a Squarespace, Wix, or Webflow site and want this, you have two options: find a developer to build it, or read the section below called “Deploy It as an API” and hire someone on Upwork to set it up. The library itself is free. The labor of implementation is the only cost.
Quick Start: Running Your First Chart
Prerequisites: Python 3 and pip installed on your machine. That’s it.
Step 1: Install the dependency
pip3 install pyswisseph
Step 2: Clone the repository
git clone https://github.com/geodetheseeker/human-design-py
Step 3: Run your chart
Create a file called my_chart.py and paste the following, substituting your own birth data:
from chart import calculate_chart, print_chart
result = calculate_chart(
birth_year=1988,
birth_month=10,
birth_day=9,
birth_hour=5,
birth_minute=30,
utc_offset=-7 # Mountain Time
)
print_chart(result, "Your Name")
Then run it:
python3 my_chart.py
You’ll get your Type, Profile, Inner Authority, defined and open centers, and all active gates with lines printed to the terminal.
A Note on UTC Offset
The utc_offset parameter is the most common point of confusion. It’s the difference between your birth timezone and UTC (Coordinated Universal Time) at the time of your birth.
Eastern Time (EST): -5 (EDT in summer: -4)
Central Time (CST): -6 (CDT in summer: -5)
Mountain Time (MST): -7 (MDT in summer: -6)
Pacific Time (PST): -8 (PDT in summer: -7)
UK (GMT): 0 (BST in summer: +1)
Central Europe (CET): +1 (CEST in summer: +2)
India (IST): +5.5
Japan (JST): +9
If you don’t know your UTC offset at the time of birth, search “[your city] UTC offset [birth year]” — daylight saving time affects this, so the year matters.
Deploy It as an API (For Website Integration)
If you want to embed Human Design calculation into a website — yours or a client’s — the cleanest approach is to wrap the library in a small FastAPI endpoint and host it. Here’s the minimal version:
from fastapi import FastAPI
from chart import calculate_chart
app = FastAPI()
@app.get("/chart")
def get_chart(year: int, month: int, day: int,
hour: int, minute: int, utc_offset: float):
return calculate_chart(year, month, day, hour, minute, utc_offset)
Deploy this on any $5/month VPS (DigitalOcean, Railway, Render) and your website can call it with a fetch request. The visitor enters their birth data in a form; your frontend sends it to the API; the API returns their chart as JSON; you display it however you like.
A frontend developer can build this integration in an afternoon. If you’re on Wix or Squarespace, their “Custom Code” or “HTML embed” blocks can call the API directly with vanilla JavaScript.
Why Open Source?
Human Design is a system that claims to be about deconditioning — about removing the layers of “not-self” that have accumulated over a lifetime. It seems strange, then, that the primary tools for accessing it are locked behind paywalls and proprietary APIs, with no way to verify their accuracy.
I built this because I wanted to know if the tools I was using were right. I’m publishing it because other people deserve to know too. The MIT license means you can use it, fork it, build on it, sell products built with it. No gatekeeping. That’s the whole point.
The repository is at github.com/geodetheseeker/human-design-py. PRs are welcome. If you find an inaccuracy, open an issue. If you build something with it, I’d genuinely love to know.
Contributing and What’s Next
This is a foundation. What it doesn’t yet do:
-Generate a visual bodygraph (SVG or image output)
-Calculate Incarnation Cross
-Variable / PHS (Digestion, Environment, Perspective, Motivation)
-Composite / relationship charts
-A pip-installable package (coming soon)
All of these are buildable on top of what’s there. If you’re a developer with a Human Design practice — or a Human Design practitioner who knows a developer — this is a foundation worth building on.
Top comments (0)