Skip to main content

Generate unique, memorable, and deterministic names for astronomical objects.

Project description

StarHash

Generate unique, memorable, and deterministic names for astronomical objects.

Documentation Python Version PyPI version uv ruff ty License: MIT HEALPix

Why?

Because modern astronomy is hard enough, without mixing up sequentially-generated object names. Assigning memorable names to objects not only minimises the chance of triggering precious telescope time on the wrong thing, but reduces cognitive load.

Every 3 arcsecond patch of sky now has a unique 3-word combination associated with it!

Example

  • Instead of SN2024cld or ra=237.589792 dec=+18.93895
  • You get: armrest-fraying-bullion

Installation

To avoid issues with dependencies, we recommend setting up a virtual environment using your favourite package manager. Then:

pip install starhash

or with uv

uv add starhash

Quickstart

StarHash ships a basic CLI for quick queries by default

starhash get-name-from-coord --ra=321.4214 --dec=-54.21231
starhash get-coord-from-name gathering-equinox-approach

Pre-computed catalogs

This repo also hosts a minimal set of pre-computed name mappings between existing catalogues/name registries and their new starhash name, for those who want to explore without installing anything.

The Transient Name Server and NASA Exoplanet Archive lists are located under paper/data and are distributed as .csv files with gzip compression.

Direct links

nasa_exoplanet_archive_starhashed.csv.gz tns_public_objects_starhashed.csv.gz

Development and contributing

git clone https://github.com/tkillestein/starhash.git

Then create the dev environment:

uv sync --all-groups --python>=3.11

Install the pre-commit hooks

pre-commit install

And you're ready to go!

Before committing any changes, run pytest to confirm that the hashing code still satisfies the round-trip property.

Documentation is built via mkdocs - add Markdown files to docs and edit the mkdocs.yml file to build pages there. Then commit and push your changes, and run mkdocs gh-deploy to update the documentations site.

Citation

If you include StarHash in your favourite pipeline/broker/API, please cite:

@software{starhash,
  author = {Tom Killestein},
  title = {StarHash: Human-readable identifiers for astronomical coordinates},
  year = {2026},
  url = {https://github.com/tkillestein/starhash}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

starhash-1.1.0.tar.gz (6.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

starhash-1.1.0-py3-none-any.whl (76.2 kB view details)

Uploaded Python 3

File details

Details for the file starhash-1.1.0.tar.gz.

File metadata

  • Download URL: starhash-1.1.0.tar.gz
  • Upload date:
  • Size: 6.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for starhash-1.1.0.tar.gz
Algorithm Hash digest
SHA256 add799f0f7d4fd47fe98a94c606e7cc394bf4ec445478266124ef9404e8d7e6f
MD5 ff0503ad2fb815ff98a2bc0254065b59
BLAKE2b-256 ee8ac023074ae471294ed96c131804c8e9b7b39f4b29f2a9ae0ac7894ba96ccc

See more details on using hashes here.

File details

Details for the file starhash-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: starhash-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 76.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for starhash-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 15cfe2d410924f195ada4c4a7d5030277237b8145bf572cefaec544ea3b4ef80
MD5 c27eb94e6ab2cf36b37d7e87d4a10c95
BLAKE2b-256 5678835bb1f093cf4bdbbb450f6e2d8e92779640ad5905f526168437093672ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page