Skip to content

Repository files navigation

SameSky

How different sky cultures impose different structures on the same stars.

Humans have looked at largely the same stellar field for thousands of years. They have not organized it in the same way.

SameSky treats cultural stellar groupings as alternative representations laid over a fixed astronomical field. It asks two deliberately separate questions:

  1. Perceptual segmentation: which stars are grouped together?
  2. Semantic projection: what kinds of things do people decide those groups are?

The first can be approached with geometry. The second cannot be reduced to geometry without losing the point.

The idea

SameSky begins with the stars held fixed. It then overlays multiple sky-culture traditions — initially Indian, Chinese, and Western — using machine-readable grouping definitions from Stellarium's sky-cultures project.

The project compares those human-made groupings against a deliberately culture-blind baseline that sees only:

  • right ascension and declination,
  • apparent magnitude,
  • angular proximity.

If unrelated traditions repeatedly group a similar stellar region, the geometry may be perceptually salient. Where traditions diverge despite the same visual field, the interesting object is the representation itself.

Keep the stars fixed. Change the interpretation.

What v0.1 does

  • downloads selected Stellarium sky-culture definitions at runtime;
  • extracts Hipparcos star identifiers from constellation / asterism line paths;
  • loads positions and magnitudes from the Hipparcos catalogue through Skyfield;
  • computes within-group geometric features;
  • compares grouping overlap across sky cultures using star-set and edge-set similarity;
  • constructs a simple geometry-only connected-component baseline;
  • exports a compact atlas JSON;
  • provides a Streamlit explorer where the stars remain fixed while the cultural grouping overlay changes — or two readings can be overlaid at once;
  • includes tests and GitHub Actions CI.

Important terminology

SameSky does not assume that a Western IAU constellation, a Chinese asterism, and an Indian nakshatra are culturally equivalent categories. They are compared here only as documented stellar grouping systems over a shared coordinate field.

This distinction matters. The project is interested in representation, not in flattening different traditions into one taxonomy.

Quick start

Requires Python 3.11+.

python -m venv .venv

Activate the environment, then:

pip install -e ".[app,dev]"
python scripts/build_data.py --cultures indian chinese western
streamlit run app.py

In the explorer, pick a First reading, then enable Lay a second reading over it. Amber and dotted-blue paths distinguish documented overlays; their crossings and shared stars are invitations to compare, not claims that traditions are equivalent.

The first data build downloads the Hipparcos catalogue and the selected Stellarium index.json files. Generated upstream data are stored under data/raw/ and data/processed/ and are intentionally excluded from Git.

Command-line analysis

After building data:

python analysis/compare.py

This prints per-culture counts, geometry summaries, and cross-culture overlap scores.

Repository structure

SameSky/
├── .github/workflows/ci.yml
├── analysis/
│   └── compare.py
├── data/
│   ├── README.md
│   └── semantic_labels.csv
├── docs/
│   ├── INTERPRETATION.md
│   ├── METHODOLOGY.md
│   └── ROADMAP.md
├── samesky/
│   ├── baseline.py
│   ├── catalog.py
│   ├── geometry.py
│   ├── models.py
│   ├── similarity.py
│   └── stellarium.py
├── scripts/
│   ├── build_data.py
│   └── make_semantic_template.py
├── tests/
├── app.py
├── pyproject.toml
└── README.md

Geometry features

For each documented stellar grouping, SameSky can calculate:

  • number of unique stars;
  • number of documented line edges;
  • mean pairwise angular separation;
  • maximum angular span;
  • mean documented edge length;
  • mean and range of apparent magnitude.

These are descriptive features, not claims about why a historical tradition formed a grouping.

Cross-culture similarity

For each grouping in culture A, SameSky finds the best matching grouping in culture B using Jaccard overlap on:

  • member-star sets, and
  • documented edge sets.

The code reports these matches rather than declaring two groupings "the same constellation." Similar geometry does not imply shared origin, shared meaning, or independent invention.

Geometry-only baseline

The baseline deliberately knows nothing about mythology, language, history, or cultural meaning. It:

  1. filters to stars brighter than a configurable magnitude threshold;
  2. connects stars separated by less than a configurable angular threshold;
  3. returns connected components as naive geometric groupings.

It is intentionally simple. Its purpose is to establish a transparent perceptual baseline, not to model human vision perfectly.

Semantic layer

data/semantic_labels.csv is a manual-coding template for a later layer of the project. The initial categories are intentionally broad and should be revised after reading the source descriptions for each sky culture.

No LLM-generated semantic labels are used in the canonical analysis.

Data provenance and licensing

SameSky code is MIT-licensed. The project does not vendor Stellarium's sky-culture dataset or the Hipparcos catalogue into this repository. The build script downloads upstream sources locally. See data/README.md for provenance and licensing notes.

Primary upstream sources:

  • Stellarium sky cultures: Stellarium/stellarium-skycultures
  • Hipparcos Main Catalogue: ESA 1997, distributed through CDS/VizieR; loaded using Skyfield's Hipparcos helper

Research posture

SameSky is an exploratory computational atlas, not evidence that any particular constellation tradition is caused by visual perception alone. Similarities can arise from shared history, transmission, common observational practices, or chance. Cultural divergence cannot be interpreted without historical scholarship.

The project therefore keeps its claims narrow:

Same stellar field. Measurably different human partitions.

License

MIT for the code in this repository. Upstream data retain their own terms and licenses.

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages