Skip to content

ysBach/skyloc


skyloc: Sky Locator

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?"

Documentation

For full usage guides and API reference, see the Read the Docs site:

Installation

Basic Installation (without kete)

To install skyloc without the large Rust-based kete dependency:

pip install skyloc

This provides access to utility functions, SPICE tools, and other features that don't require kete.

Full Installation (with 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 kete requires Rust compilation which can take significant time and disk space
  • Version constraint: >=1.0.8, <2.0.0

Features

  • 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 (FOVCollection class)
  • 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

Code Style

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 **/*.py

Citation

skyloc 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.

About

Tools related to Sidereal (e.g., stars) or Solar System Objects (SSO) locator (e.g., apparent position and movements) for general purposes. Heavily influenced by the `kete` and SPICE tools.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors