Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change name to Kete #104

Merged
merged 3 commits into from
Aug 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/test-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
branches: [ "main" ]

env:
NEOSPY_CACHE_DIR: ${{ github.workspace }}/docs/data
kete_CACHE_DIR: ${{ github.workspace }}/docs/data

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
Expand Down Expand Up @@ -41,15 +41,15 @@ jobs:
python3 -m black . --check
- name: Lint with mypy
run: |
python3 -m mypy src/neospy/
python3 -m mypy src/kete/

# Build and run pytest
- name: Build neospy
- name: Build kete
run: |
python3 -m pip install '.[dev]' -v
- name: Test with pytest
run: |
python3 -m pytest --cov-report term-missing --cov=neospy
python3 -m pytest --cov-report term-missing --cov=kete

# Build documentation and push artifact
- name: Build Docs
Expand Down
24 changes: 12 additions & 12 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added

- Added support for long term integrations, on the scale of less than a mega-year.
- Added clear deprecation tooling, which helps indicate how to update neospy when a
- Added clear deprecation tooling, which helps indicate how to update kete when a
function's signature changes or is removed.
- Added default plotting tools for fits files, which make decent scaling guesses for
ZTF and WISE frames. This includes annotation and zooming functions.
Expand Down Expand Up @@ -90,7 +90,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Moved the downloading of Horizons spice kernels from `SpiceKernel` to `horizons`.
- Renamed all field of view checking functions to similar names: `fov_static_check`,
`fov_state_check`, and `fov_spice_check`. These functions are exposed at the base
level of neospy.
level of kete.
- Moved much of the python documentation into the rust wrappers, and removed the
remaining empty python files. Part of the rewrite involved moving and renaming many
functions.
Expand Down Expand Up @@ -148,7 +148,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Added support for downloading ZTF full fields FOV information into the neospy cache.
- Added support for downloading ZTF full fields FOV information into the kete cache.
- Added simple lookup for observatory ecliptic state using MPC observatory codes.
- Added 'Tutorials' to the documentation, these are larger worked examples which do not
build at the same time as the standard docs. They are designed to be examples which
Expand Down Expand Up @@ -204,17 +204,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Initial Release


- Initial version release of NEOSpy!
- NEOSpy's primary goal is to enable simulations of NEOs, however it also supports any
- Initial version release of kete!
- kete's primary goal is to enable simulations of NEOs, however it also supports any
asteroid or comet. Included are n-body orbit propagation tools, thermal and optical
modeling, tools for computing what minor planets can be seen by an observer.
Along with many helpful interfaces to web tools such as JPL Horizons or IPAC's IRSA.


[Unreleased]: https://github.com/IPAC-SW/neospy/tree/main
[0.2.5]: https://github.com/IPAC-SW/neospy/releases/tag/v0.2.5
[0.2.4]: https://github.com/IPAC-SW/neospy/releases/tag/v0.2.4
[0.2.3]: https://github.com/IPAC-SW/neospy/releases/tag/v0.2.3
[0.2.2]: https://github.com/IPAC-SW/neospy/releases/tag/v0.2.2
[0.2.1]: https://github.com/IPAC-SW/neospy/releases/tag/v0.2.1
[0.2.0]: https://github.com/IPAC-SW/neospy/releases/tag/v0.2.0
[Unreleased]: https://github.com/IPAC-SW/kete/tree/main
[0.2.5]: https://github.com/IPAC-SW/kete/releases/tag/v0.2.5
[0.2.4]: https://github.com/IPAC-SW/kete/releases/tag/v0.2.4
[0.2.3]: https://github.com/IPAC-SW/kete/releases/tag/v0.2.3
[0.2.2]: https://github.com/IPAC-SW/kete/releases/tag/v0.2.2
[0.2.1]: https://github.com/IPAC-SW/kete/releases/tag/v0.2.1
[0.2.0]: https://github.com/IPAC-SW/kete/releases/tag/v0.2.0
10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@

[package]
name = "_core"
version = "0.2.5"
version = "0.2.6"
edition = "2021"


[dependencies]
neospy_core = { version = "*", path = "src/neospy_core", features=["pyo3"]}
kete_core = { version = "*", path = "src/kete_core", features=["pyo3"]}
pyo3 = { version = "^0.22.1", features = ["extension-module"] }
serde = { version = "^1.0.203", features = ["derive"] }
nalgebra = {version = "^0.33.0"}
Expand All @@ -20,12 +20,12 @@ bincode = {version = "2.0.0-rc.3", features=["derive", "serde"]}

[lib]
name = "_core"
path = "src/neospy/rust/lib.rs"
path = "src/kete/rust/lib.rs"
crate-type = ["cdylib"]

[workspace]
members = ["src/neospy_core"]
default-members = ["src/neospy_core"]
members = ["src/kete_core"]
default-members = ["src/kete_core"]

[profile.release]
opt-level = 3
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1 +1 @@
include src/neospy/_core*
include src/kete/_core*
34 changes: 18 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,28 @@
# NEOSpy
# Kete

![Github Actions](https://github.com/IPAC-SW/neospy/actions/workflows/test-lint.yml/badge.svg?branch=main)
![Github Actions](https://github.com/IPAC-SW/kete/actions/workflows/test-lint.yml/badge.svg?branch=main)

The repository for NEOSpy, the NEO Surveyor Simulation Software.
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 NEOSpy tools are intended to enable the simulation of all-sky surveys of minor
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 NEOSpy is to enable a set of tools that can operate on the entire
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.

## Installation

If NEOSpy is built from source, the rust compiler must be installed. Installation
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
Expand All @@ -43,7 +45,7 @@ pip install setuptools --upgrade

### Units and Reference Frame

NEOSpy uses the ICRF Reference frame as the base coordinate frame, with units of AU,
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.
Expand All @@ -53,15 +55,15 @@ definition used by JPL Horizons, which is the defined IAU76/80 model in the J200

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
NEOSpy which enable conversion to the Equatorial frame and to various flavors of time.
kete which enable conversion to the Equatorial frame and to various flavors of time.

### Cache directory

Many operations in NEOSpy result in downloading various files. These files are cached
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 `NEOSPY_CACHE_DIR`. The default directory is `~/.neospy/`.
environment variable `kete_CACHE_DIR`. The default directory is `~/.kete/`.
``` bash
export NEOSPY_CACHE_DIR="~/.neospy/"
export kete_CACHE_DIR="~/.kete/"
```

### Development
Expand All @@ -80,11 +82,11 @@ 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
neospy directory.
kete directory.
``` bash
(cd docs && make html && open html/index.html&)
```
Once this has completed running, open the file `neospy/docs/html/index.html` for access
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:
Expand All @@ -103,14 +105,14 @@ 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:
``` bash
pytest --cov-report term-missing --cov=neospy
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.
``` bash
pytest --cov-report html --cov=neospy
pytest --cov-report html --cov=kete
```

### Running Tutorials
Expand All @@ -126,7 +128,7 @@ python utils.py

### Running Benchmarks

There are a test suite of micro-benchmarks in the rust backend of NEOSpy. These require
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:

``` bash
Expand Down
File renamed without changes
Loading