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

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.0.2.tar.gz (142.0 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.2-py3-none-any.whl (75.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: starhash-1.0.2.tar.gz
  • Upload date:
  • Size: 142.0 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.2.tar.gz
Algorithm Hash digest
SHA256 76ab3cd766daaf998ad5728be88dbaaa07232abb38fe116dd5e41b8303a356ac
MD5 72f59103e0e48079ba60fd6ffb44d398
BLAKE2b-256 22025ffb9d519b7eac78b131577fc5e8766b1aca1497b4b65fe83d706675ed34

See more details on using hashes here.

File details

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

File metadata

  • Download URL: starhash-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 75.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f975afc8c9c1334f17da5e25167334c7ded9aed38760a2e6388427fa2081be7e
MD5 1f3fb250c3e9810c47b876351afa5b8f
BLAKE2b-256 d1e02261019252d586f56ede24b9fd987ba2fba242ded1dc131c5944f53704a3

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