Convenience tools related to Sidereal or Solar System Objects (SSO) locator (e.g., apparent position and movements) for general purposes.
This project provides both kete-dependent and kete-independent features. Many utility functions can be used without installing kete.
Initially motivated by NASA's SPHEREx mission (and NEO Surveyor mission - kete).
"Why are your codes here so superficial and crude/messy?"
For full usage guides and API reference, see the Read the Docs site:
To install skyloc without the large Rust-based kete dependency:
pip install skylocThis provides access to utility functions, SPICE tools, and other features that don't require kete.
For full functionality including FOV analysis and SSO propagation:
pip install skyloc[kete]Or install kete separately:
pip install "kete>=1.0.8,<2.0"Important Notes:
- This requires kete version 1.x from Caltech IPAC, NOT the original "kete" package. This is unfortunately due to historic reasons.
- Installing
keterequires Rust compilation which can take significant time and disk space - Version constraint:
>=1.0.8, <2.0.0
-
SSO Orbital Elements (no kete required)
- Query and manage SSO orbital elements from SBDB (Small-Body Database)
- Convenient file management for orbital element data
-
JPL Horizons Integration (no kete required for most features)
- Download and manage DE (Development Ephemeris) files
- Query vectors and ephemeris data using
astroquery
-
SPICE toolkits (no kete required)
- Some convenience tools for SPICE toolkits (such as meta kernel generations)
-
Field of View (FOV) Analysis (requires kete)
- Check which FOVs contain specific sidereal sky locations and/or SSOs (similar to kete)
- Easy-to-use interface for FOVs (
FOVCollectionclass)
-
SSO Position and Motion (requires kete)
- Calculate apparent positions and movements of SSOs (uses kete)
- Compute SSO magnitudes and phase angles
- Additional ephemeris-related convenience tools
This project uses a 92-character line length (inspired by Julia's BlueStyle) for code and 79 characters for docstrings. While this differs from the standard Python PEP8 recommendations, it provides a good balance for modern displays.
To maintain consistent formatting, use the black formatter:
black **/*.pyskyloc is not intended to be published as an independent, citable package. Depending on your usage, simply cite this repo as a URL link, but always consider citing any of the following as appropriate: kete, spiceypy, or NAIF SPICE.