{"id":21735163,"url":"https://github.com/caltech-ipac/kete","last_synced_at":"2026-01-21T01:01:35.751Z","repository":{"id":257800700,"uuid":"787588564","full_name":"Caltech-IPAC/kete","owner":"Caltech-IPAC","description":"Kete Solar System Survey tools","archived":false,"fork":false,"pushed_at":"2026-01-16T00:31:59.000Z","size":240458,"stargazers_count":98,"open_issues_count":4,"forks_count":2,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-01-16T06:24:23.364Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://Caltech-IPAC.github.io/kete","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Caltech-IPAC.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-16T20:07:46.000Z","updated_at":"2026-01-15T05:47:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"f25c8ab6-9b90-4045-8477-fc41bca9fe02","html_url":"https://github.com/Caltech-IPAC/kete","commit_stats":null,"previous_names":["ipac-sw/kete"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/Caltech-IPAC/kete","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2Fkete","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2Fkete/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2Fkete/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2Fkete/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Caltech-IPAC","download_url":"https://codeload.github.com/Caltech-IPAC/kete/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Caltech-IPAC%2Fkete/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28620572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T23:49:58.628Z","status":"ssl_error","status_checked_at":"2026-01-20T23:47:29.996Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-26T05:12:10.102Z","updated_at":"2026-01-21T01:01:35.733Z","avatar_url":"https://github.com/Caltech-IPAC.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kete\n\n![Github Actions](https://github.com/Caltech-IPAC/kete/actions/workflows/test-lint.yml/badge.svg?branch=main)\n[![DOI](https://zenodo.org/badge/787588564.svg)](https://zenodo.org/badge/latestdoi/787588564)\n\nThe repository for Kete, Solar System Survey Simulation Software.\n'Kete' comes from ancient greek mythology, meaning sea monsters, and is the root word\nfor Cetaceans (Whales).\n\n## Note:\n\nThe original version of this repo was developed at Caltech IPAC. This\nversion includes additions made on a fork of this repo that was\ncontinued as a personal project by the original author D. Dahlen. Work\ndone while at IPAC is of course owned by Caltech, but that additional\nwork will be marked as owned by Dar Dahlen \u0026 future contributors.\nLicense will remain as BSD-3 Clause to simplify things.\n\n## Introduction\n\nThe kete tools are intended to enable the simulation of all-sky surveys of minor\nplanets. This includes multi-body physics orbital dynamics, thermal and optical modeling\nof the objects, as well as field of view and light delay corrections. These tools in\nconjunction with the Minor Planet Centers (MPC) database of known asteroids can be used\nto not only plan surveys but can also be used to predict what objects are visible for\nexisting or past surveys.\n\nThe primary goal for kete is to enable a set of tools that can operate on the entire\nMPC catalog at once, without having to do queries on specific objects. It has been\nused to simulate over 10 years of survey time for the NEO Surveyor mission using 10\nmillion main-belt and near-Earth asteroids.\n\n[Documentation](https://caltech-ipac.github.io/kete/)  \n   - [Examples](https://caltech-ipac.github.io/kete/auto_examples/index.html)\n   - [Tutorials](https://caltech-ipac.github.io/kete/tutorials/index.html)\n\n\nhttps://github.com/user-attachments/assets/a48491d8-9c15-4659-9022-1767a3aa1e94\n\nHere is a simulation of what the ZTF survey would observe during the entirety of 2023.\nThis is every position of every numbered asteroid, along with a calculation of the\nexpected V-band magnitudes. If the expected magnitude is less than ZTF's reported\nmagnitude limit for the specific frame, then the object will flash light grey.\n\nThis took about 50 minutes on a desktop computer to compute, and about 40 minutes\nto generate the movie.\n\n\n\n\n## Installation\n\nKete may be installed using pip:\n\n``` bash\npip install kete\n```\n\n## Installation - From Source\n\nIf kete is built from source, the rust compiler must be installed. Installation\ninstructions may be found here: \n\nhttps://www.rust-lang.org/learn/get-started\n\nEnsure that your Python is up to date, this code runs on Python 3.9+.\n``` bash\npython --version\n```\n\nEnsure that your pip is up to date, this should be at least version `22.0.0`.\n``` bash\npip --version\n```\n\nThis can be updated using:\n``` bash\npython -m pip install \"pip\u003e=22.0.0\" --upgrade\npip install setuptools --upgrade\n```\n\n### Units and Reference Frame\n\nKete uses the ICRF Reference frame as the base coordinate frame, with units of AU,\nwith time in JD with Barycentric Dynamical Time (TDB) scaling. Internally this frame\nconverted to an Ecliptic coordinate system which is defined by the Obliquity Angle\ndefinition used by JPL Horizons, which is the defined IAU76/80 model in the J2000 frame.\n\n      - https://en.wikipedia.org/wiki/Axial_tilt#Short_term\n      - https://ssd.jpl.nasa.gov/horizons/manual.html#defs\n\nBoth JPL Horizons and the Minor Planet Center (MPC) use this coordinate frame, which is\nessentially equivalent to J2000 Ecliptic coordinates. Conversion tools are available in\nkete which enable conversion to the Equatorial frame and to various flavors of time.\n\n### Cache directory\n\nMany operations in kete result in downloading various files. These files are cached\nautomatically, the directory where this cache is stored may be set by setting the\nenvironment variable `KETE_CACHE_DIR`. The default directory is `~/.kete/`.\n``` bash\nexport KETE_CACHE_DIR=\"~/.kete/\"\n```\n\n### Development\nIf you plan on doing development, it is recommended to install with the following:\n``` bash\npip install '.[dev]'\n```\nThe `[dev]` in that line has pip install a number of optional dependencies which\nare useful for development. Including pytest and documentation tools.\n\n### Building Documentation\n\nIn order for documentation to be built, some additional Python libraries are needed.\nThese can be installed with:\n``` bash\npip install sphinx sphinx_gallery autodoc\n```\nAfter this has been installed, the documentation can be built by running inside the\nkete directory.\n``` bash\n(cd docs \u0026\u0026 make html \u0026\u0026 open html/index.html\u0026)\n```\nOnce this has completed running, open the file `kete/docs/html/index.html` for access\nto the HTML documentation.\n\nTo clean the previous docs build:\n``` bash\n(cd docs \u0026\u0026 make clean)\n```\n\nDocumentation tests may be run with:\n``` bash\n(cd docs \u0026\u0026 make doctest)\n```\n\n### Running tests\n\nRunning tests require that the `pytest` and `pytest-cov` packages be installed.\n\nOpen a terminal in the base of this folder and run the following command:\n``` bash\npytest --cov-report term-missing --cov=kete   \n```\n\nAnother coverage report type is HTML, this will generate a folder called `htmlcov`\nin the directory where the command was run, then you can open the `htmlcov/index.html`\nfile. This is a user-friendly website representation of the code coverage.\n``` bash\npytest --cov-report html --cov=kete   \n```\n\n### Running Tutorials\n\nTutorials are computationally expensive examples which are more indicative of typical\nexpected use. Since these examples are so expensive to run, they are not run unless\nmanually performed. A convenience python script has been provided to do just this.\n\n``` bash\ncd docs\npython utils.py\n```\n\n### Running Benchmarks\n\nThere are a test suite of micro-benchmarks in the rust backend of kete. These require\n`gnuplot` to be installed, and may be run using the following command:\n\n``` bash\ncargo bench\nopen target/criterion/report/index.html\n```\n\nAdditionally, Flamegraphs may be produced using the following:\n\n``` bash\ncargo bench --bench propagation -- --profile-time=5\ncargo bench --bench spice -- --profile-time=5\ncargo bench --bench thermal -- --profile-time=5\n```\n\nThese flamegraphs will be put in `target/criterion/*/profile/flamegraph.svg`. Opening\nthese files in a web browser will show what functions are being used during the bench.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltech-ipac%2Fkete","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaltech-ipac%2Fkete","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaltech-ipac%2Fkete/lists"}