A Streamlit-based interactive natal chart application built with Python and Kerykeion. Hosted on https://natal-chart.streamlit.app/.
Natal Chart Explorer lets you enter birth data, generate a natal chart, explore planetary positions and aspects interactively, and use AI-powered tools to interpret the chart.
Enter the birth date, time, and location to generate the natal chart. The application then displays the calculated chart along with the relevant planetary and house information.
The chart is interactive - clicking zoom, and then planets or signs provides additional information on the placements, as well as an opportunity to get an AI-generated interpretation of the selected position.
Generate a high-quality SVG version of the natal chart and download it for use outside the application. This is generated via Kerykeion.
View the calculated planetary aspects in a dedicated table for easier inspection of the relationships between chart elements. Hover over relevant aspect to show more detailed data.
The application provides additional tabular views of the calculated chart data, making it easier to inspect planetary positions, houses, aspects etc.
Interact with the chart through an AI chat interface. Ask questions about specific placements, aspects, houses, or broader patterns in the chart and receive contextual responses based on the calculated chart.
If you want to use, edit or build the repository on your own machine, you can do the following steps to recreate the development enviroment.
- Clone the repository and install the required dependencies:
git clone https://github.com/pipstur/natal-chart-visualizer.git
cd natal-chart-visualizer
uv venv
source venv/bin/activate # or on Windows, source venv/Scripts/activate
uv pip install -r requirements.txt
-
Configure
.streamlit/secrets.toml.examplewith your credentials (GROQ_API_KEY, get it from here, GEOAPIFY_API_KEY, get it from here) and rename it tosecrets.toml. This is how Streamlit knows which environment variables to load. -
Then start the Streamlit application:
streamlit run app.py
The application should open in your browser!





