Generate unique, memorable, and deterministic names for astronomical objects.
Project description
StarHash
Generate unique, memorable, and deterministic names for astronomical objects.
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
SN2024cldorra=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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43e018d1a0fdab5b814598917d458e0c774777abd12a824a28248b95ad7d6045
|
|
| MD5 |
ffde8ece298d479ce71caff48a57859a
|
|
| BLAKE2b-256 |
b908bfc6f769877df403f3b6204bf21a3c57701707d7306f47094ad845665874
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d20898d9a006b9b6968ca517e35323be8b482716e66f9ee59905166dc06c5e2
|
|
| MD5 |
70db81c7e9a23cf2e54f60c72e49b206
|
|
| BLAKE2b-256 |
afe82a5334bd7bd4f0372819125758ec8b82694bcb22d48e1c6d9d8e58aee8b9
|