Skip to content

Repository files navigation

Exoplanet Data Visualization

An interactive dashboard for exploring exoplanet data from the NASA Kepler mission. Built with Plotly Dash and data sourced from the Asterank Kepler API.

Data Source

The application fetches live data from the Asterank Kepler API on startup. If the API is unavailable, it falls back to the bundled asterank_exo.csv file automatically. No manual configuration is required.

Setup

Create and activate a virtual environment, then install dependencies:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Run the application:

python3 app.py

Open http://127.0.0.1:8050 in your browser. Use the DEBUG=true environment variable to enable hot reload during development.

Charts

Planet Temperature vs Distance to the Star

Shows the relationship between a planet's equilibrium temperature and its orbital distance from the host star. Planets are grouped by star size: small (below 80% of Sol radius), similar (80 to 120%), and bigger (above 120%).

Position on the Celestial Sphere

Maps each planet by right ascension and declination. Point size represents planetary radius. Color indicates habitability status.

Relative Distance

Distribution of the ratio between orbital distance and stellar radius. A vertical marker at 1.0 represents Earth's relative position. Planets are colored by habitability status.

Star Mass vs Star Temperature

Scatter plot of host star properties. Point size represents planetary radius. Useful for identifying which stellar environments contain potentially habitable planets.

Habitability Status

Each planet receives one of three status labels based on its temperature and gravity profile:

  • promising — optimal temperature and optimal gravity
  • challenging — one condition is optimal, the other is borderline
  • extreme — neither condition is suitable

Project Structure

exo-planets/
    app.py              Application entry point
    layout.py           Page layout definition
    callbacks.py        Dash callback functions
    data/
        loader.py       API fetch with CSV fallback
        processor.py    Data transformations and classification
    components/
        charts.py       Chart figure builders
        controls.py     Filter controls (slider, dropdown)
        tables.py       Data and reference tables
        theme.py        Shared chart template and color palette
    assets/             CSS and static files
    asterank_exo.csv    Local CSV fallback dataset

Data Fields

Field Description
KOI Kepler Object of Interest number
A Semi-major axis in AU
RPLANET Planetary radius in Earth radii
RSTAR Stellar radius in Sol radii
TSTAR Effective temperature of host star in Kelvin
TPLANET Equilibrium temperature of planet in Kelvin
PER Orbital period in days
MSTAR Derived stellar mass in solar masses
RA Right ascension (J2000)
DEC Declination (J2000)

About

🪐 Interactive dashboard for exploring NASA Kepler exoplanet data. Built with Plotly Dash, data sourced from Asterank API with CSV fallback

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages