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.1.tar.gz (142.1 kB 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.1-py3-none-any.whl (76.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: starhash-1.1.1.tar.gz
  • Upload date:
  • Size: 142.1 kB
  • 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.1.tar.gz
Algorithm Hash digest
SHA256 619f2e966d18308cfe7df6022bc1c0e3607e5b47c09b800ebf9f570d4d3e55d9
MD5 1a0a09a0d281d0af5eabf21d78c3a192
BLAKE2b-256 594c1d76caa5edf4a41ecc1fa1d0ee322923b5efa83926347ddef46925ab9528

See more details on using hashes here.

File details

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

File metadata

  • Download URL: starhash-1.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 25cadeec9d1df17731f743321f196b1410e02915109f4c00acf76110af4bbfaf
MD5 432753b80841206b7e3bf80ed1b063a4
BLAKE2b-256 05c2665cb7213e1d7459f757ff9c616b1dc83a20fbb5d6844029ad87cea6b1f8

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