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.

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:c

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

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.

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.0.0.tar.gz (129.4 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.0.0-py3-none-any.whl (75.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: starhash-1.0.0.tar.gz
  • Upload date:
  • Size: 129.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","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.0.0.tar.gz
Algorithm Hash digest
SHA256 43e018d1a0fdab5b814598917d458e0c774777abd12a824a28248b95ad7d6045
MD5 ffde8ece298d479ce71caff48a57859a
BLAKE2b-256 b908bfc6f769877df403f3b6204bf21a3c57701707d7306f47094ad845665874

See more details on using hashes here.

File details

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

File metadata

  • Download URL: starhash-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 75.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d20898d9a006b9b6968ca517e35323be8b482716e66f9ee59905166dc06c5e2
MD5 70db81c7e9a23cf2e54f60c72e49b206
BLAKE2b-256 afe82a5334bd7bd4f0372819125758ec8b82694bcb22d48e1c6d9d8e58aee8b9

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