Skip to main content

Kete Asteroid Survey Tools

Project description

Kete

Github Actions DOI

The repository for Kete, Solar System Survey Simulation Software. 'Kete' comes from ancient greek mythology, meaning sea monsters, and is the root word for Cetaceans (Whales).

Introduction

The kete tools are intended to enable the simulation of all-sky surveys of minor planets. This includes multi-body physics orbital dynamics, thermal and optical modeling of the objects, as well as field of view and light delay corrections. These tools in conjunction with the Minor Planet Centers (MPC) database of known asteroids can be used to not only plan surveys but can also be used to predict what objects are visible for existing or past surveys.

The primary goal for kete is to enable a set of tools that can operate on the entire MPC catalog at once, without having to do queries on specific objects. It has been used to simulate over 10 years of survey time for the NEO Surveyor mission using 10 million main-belt and near-Earth asteroids.

Documentation

https://github.com/user-attachments/assets/a48491d8-9c15-4659-9022-1767a3aa1e94

Here is a simulation of what the ZTF survey would observe during the entirety of 2023. This is every position of every numbered asteroid, along with a calculation of the expected V-band magnitudes. If the expected magnitude is less than ZTF's reported magnitude limit for the specific frame, then the object will flash light grey.

This took about 50 minutes on a desktop computer to compute, and about 40 minutes to generate the movie.

Installation

Kete may be installed using pip:

pip install kete

Installation - From Source

If kete is built from source, the rust compiler must be installed. Installation instructions may be found here:

https://www.rust-lang.org/learn/get-started

Ensure that your Python is up to date, this code runs on Python 3.9+.

python --version

Ensure that your pip is up to date, this should be at least version 22.0.0.

pip --version

This can be updated using:

python -m pip install "pip>=22.0.0" --upgrade
pip install setuptools --upgrade

Units and Reference Frame

Kete uses the ICRF Reference frame as the base coordinate frame, with units of AU, with time in JD with Barycentric Dynamical Time (TDB) scaling. Internally this frame converted to an Ecliptic coordinate system which is defined by the Obliquity Angle definition used by JPL Horizons, which is the defined IAU76/80 model in the J2000 frame.

  - https://en.wikipedia.org/wiki/Axial_tilt#Short_term
  - https://ssd.jpl.nasa.gov/horizons/manual.html#defs

Both JPL Horizons and the Minor Planet Center (MPC) use this coordinate frame, which is essentially equivalent to J2000 Ecliptic coordinates. Conversion tools are available in kete which enable conversion to the Equatorial frame and to various flavors of time.

Cache directory

Many operations in kete result in downloading various files. These files are cached automatically, the directory where this cache is stored may be set by setting the environment variable KETE_CACHE_DIR. The default directory is ~/.kete/.

export KETE_CACHE_DIR="~/.kete/"

Development

If you plan on doing development, it is recommended to install with the following:

pip install '.[dev]'

The [dev] in that line has pip install a number of optional dependencies which are useful for development. Including pytest and documentation tools.

Building Documentation

In order for documentation to be built, some additional Python libraries are needed. These can be installed with:

pip install sphinx sphinx_gallery autodoc

After this has been installed, the documentation can be built by running inside the kete directory.

(cd docs && make html && open html/index.html&)

Once this has completed running, open the file kete/docs/html/index.html for access to the HTML documentation.

To clean the previous docs build:

(cd docs && make clean)

Documentation tests may be run with:

(cd docs && make doctest)

Running tests

Running tests require that the pytest and pytest-cov packages be installed.

Open a terminal in the base of this folder and run the following command:

pytest --cov-report term-missing --cov=kete   

Another coverage report type is HTML, this will generate a folder called htmlcov in the directory where the command was run, then you can open the htmlcov/index.html file. This is a user-friendly website representation of the code coverage.

pytest --cov-report html --cov=kete   

Running Tutorials

Tutorials are computationally expensive examples which are more indicative of typical expected use. Since these examples are so expensive to run, they are not run unless manually performed. A convenience python script has been provided to do just this.

cd docs
python utils.py

Running Benchmarks

There are a test suite of micro-benchmarks in the rust backend of kete. These require gnuplot to be installed, and may be run using the following command:

cargo bench
open target/criterion/report/index.html

Additionally, Flamegraphs may be produced using the following:

cargo bench --bench propagation -- --profile-time=5
cargo bench --bench spice -- --profile-time=5
cargo bench --bench thermal -- --profile-time=5

These flamegraphs will be put in target/criterion/*/profile/flamegraph.svg. Opening these files in a web browser will show what functions are being used during the bench.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

kete-1.0.4-cp313-none-win_amd64.whl (92.7 MB view details)

Uploaded CPython 3.13 Windows x86-64

kete-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (92.8 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

kete-1.0.4-cp313-cp313-macosx_11_0_arm64.whl (92.7 MB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

kete-1.0.4-cp312-none-win_amd64.whl (92.7 MB view details)

Uploaded CPython 3.12 Windows x86-64

kete-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (92.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

kete-1.0.4-cp312-cp312-macosx_11_0_arm64.whl (92.7 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

kete-1.0.4-cp311-none-win_amd64.whl (92.7 MB view details)

Uploaded CPython 3.11 Windows x86-64

kete-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (92.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

kete-1.0.4-cp311-cp311-macosx_11_0_arm64.whl (92.7 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

kete-1.0.4-cp310-none-win_amd64.whl (92.7 MB view details)

Uploaded CPython 3.10 Windows x86-64

kete-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (92.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

kete-1.0.4-cp310-cp310-macosx_11_0_arm64.whl (92.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

kete-1.0.4-cp39-none-win_amd64.whl (92.7 MB view details)

Uploaded CPython 3.9 Windows x86-64

kete-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (92.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

kete-1.0.4-cp39-cp39-macosx_11_0_arm64.whl (92.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

Details for the file kete-1.0.4-cp313-none-win_amd64.whl.

File metadata

  • Download URL: kete-1.0.4-cp313-none-win_amd64.whl
  • Upload date:
  • Size: 92.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kete-1.0.4-cp313-none-win_amd64.whl
Algorithm Hash digest
SHA256 12f1e2a4b9dcae5ed8ff062e89c4abf866f1d1423c1a36db567067d42b8b90bb
MD5 8af2e1e4138e7dc7e1eac711b8d3fb27
BLAKE2b-256 499db1690b9d8ef9a21210984bec53d92c78c96f447abb98c20c89dbf930fd63

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp313-none-win_amd64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3ba78cc4109f0613fed92ecf8aeee41cfc2c29b498702e6e533d2ec749bd5e4
MD5 f28d6772ec1a0cc2df88a4bf3f23550c
BLAKE2b-256 77bf339f001ed67624895b781b9bb16b9ee6636d13261d0e20b31da4196a9f3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7dfd02a7a0e89945828911187b58d1210e22ef0d8be8a7fd82e51a0760f2d08
MD5 f6e55a8b7f97908bb64269bf28103d94
BLAKE2b-256 f967631971ea67a7a5d738c2e4c1133c935315d18927a2dbe7ab261b825e3fad

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp312-none-win_amd64.whl.

File metadata

  • Download URL: kete-1.0.4-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 92.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kete-1.0.4-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 1b04c5d8e0e41a313917e601c6ba4b1c3457345085fcf3e32149280b6dbc2cb8
MD5 b02a8cf685e2abfc8c93062a71334a39
BLAKE2b-256 9fd3ae6a378f505a99409b4c87c4c207d569aa1020ad92fdcbb5fe636454e54f

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp312-none-win_amd64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3624637a1d039b315b3964f05ae71f27a8f699b97429b47fb7b7dbefe9283be1
MD5 7db5be59f6603e389857e8196820e5b4
BLAKE2b-256 62213e58e5111d1964d146fcaa65f2f0041e5b266c501f3c28f9f29a9b66bdab

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 216a41938fcb69dfa4c79beafa77091319d1a773c43a650f4595671d6fc608d1
MD5 31c46c3c16d7d579b85fd9013e576a8b
BLAKE2b-256 576b989b9c0a6d75660d18cf9bed4ca23301dea4df3264bbd857fe40f1b2993d

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp311-none-win_amd64.whl.

File metadata

  • Download URL: kete-1.0.4-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 92.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kete-1.0.4-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 a6160578292288caafbd5274c87e7b2140f9bcb01db5c14b1ea06cfcc61a061f
MD5 e3e794f92f05e044a469f2633623b4ba
BLAKE2b-256 045c181cb5f974bc516fefeada4603275820b18030019d5f215a9a3e095a9e45

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp311-none-win_amd64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d2e2fe7746a90492c462505bcf0705fa5381d1aab4ddf9189710e66221989ec
MD5 f68806083036bf8eada22a6898d0d2a2
BLAKE2b-256 796191a80171ad3945fcf3e53570259f4a2920a506165ec6d050b1d997576ed2

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9ebd87e42b529c8d921e14f8ae71bfe1457f2602d09f8249b5da021e8d7f1fa
MD5 0853343829d73b659ab0e3cba0f6788c
BLAKE2b-256 852543fc7abdfc0a4248df8c3ccdd6d33733fb84e47e795252d56d7a61d9d610

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp310-none-win_amd64.whl.

File metadata

  • Download URL: kete-1.0.4-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 92.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kete-1.0.4-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 514202f5981acd145acca119d88e2562e37d67a7faa9770675ec0ef2abcc6345
MD5 a541a762cb51bd9340194daa22a6721f
BLAKE2b-256 07725e3374aa3f467a68177302eee5a268afcfcec6a4093f8b92b2b626825cc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp310-none-win_amd64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a84982a4f75835baec91b00ef3f609d79e58092279a5cd479d21141d571a9fd
MD5 e1d00d49999fcf5942828f6a14a7a7aa
BLAKE2b-256 e3e02999f442b8de726e49e0b6cd5727e20472ad237d87fd3be4a25dc78df190

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3cab783db26e1c12cf659661b3affaaaa291ed552d91c12a617746f6fcc9d77f
MD5 ebdc79983265a3ccad22f7f5bbc66f56
BLAKE2b-256 4abd012af09471bc078f5dcf70c13b5d052b4825ef874b05f1cf55559b35848f

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp39-none-win_amd64.whl.

File metadata

  • Download URL: kete-1.0.4-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 92.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kete-1.0.4-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 a9f5863edb1f0a2cf8ffd52627481520579eca875139206743ca7c5e552e6572
MD5 4eec4ee605e593512afae9e5e1b470c1
BLAKE2b-256 133986e92f60cd2ad1769a62b9775148e96079a5312573d99c5b2974af755741

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp39-none-win_amd64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 093d6c55121b351464c7e99410fc580ebd9ddf13f4f300f1663bb69f251444d2
MD5 b7ff75901c1c6698599d4291c081850c
BLAKE2b-256 d50e42b5fac8a8c8748b92309977094aca5172f90f6710b719b5492e4ec1b219

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

File details

Details for the file kete-1.0.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kete-1.0.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16f19669ed2f94f9ade3ef84d543334b0fdb238b3e4413bc14cd9ae2d395fca3
MD5 431db30f2149d439e1328593e3e8632e
BLAKE2b-256 e0b0895d86559c6a74da64c47ff1a07fcd6e3742864fc99dd04fbbc86eca0d55

See more details on using hashes here.

Provenance

The following attestation bundles were made for kete-1.0.4-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release-wheels.yml on Caltech-IPAC/kete

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page