Skip to content

Releases: nyx-space/nyx

Version 2.0.0-beta.0: Minor Python usability enhancements

22 Nov 03:22
81367af
Compare
Choose a tag to compare

Summary

Progress toward 2.0.0, mostly related to the Python interface and speeding up of import/export of CCSDS OEM files, cf. #183 , #189, #206.

What's Changed

New Contributors

Full Changelog: 2.0.0-alpha.2...2.0.0-beta.0

Version 2.0.0-alpha.2: Fix trajectory loading from Python and OEM with duplicate epochs

06 Jun 16:41
0488c72
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 2.0.0-alpha.1...2.0.0-alpha.2

Version 2.0.0-alpha.1: Minor Python usability enhancements

02 Jun 16:51
1d95cc9
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.0.0-alpha...2.0.0-alpha.1

Version 2.0.0-alpha: Python + more realistic OD noise models + OD estimation flexibility + Export to Parquet and CCSDS OEM

25 May 14:09
c9e51e4
Compare
Choose a tag to compare

Version 2.0.0-alpha

This is a big release!

First, working from @thomasantony 's work, Nyx now has Python bindings. I expect that most users will want to use the Python bindings directly instead of developing in Rust. Even in my limited experience with the Nyx library in Python, it enables for much faster iteration from a mission analysis or orbit determination engineer point of view. The package is available on pypi so you can run pip install nyx_space. Expect to see some iteration on how this work with version 2.0.0-beta, most notably for changes to how ephemeris and orientation files are used.

Second, no more CSV exports. Nyx now exports (and imports) everything in Parquet files: this allows for very easy interoperability with dataframes, thereby allowing users to create, modify, or search data using pandas, polars. Note that Nyx leverages the metadata of these parquet files to store additional information (like ground station configuration in the simulation of orbit determination measurements), but writing that is not yet supported in neither pandas or polars (but pyarrow supports it).

Third, the orbit determination code has been heavily refactored. This work enables estimation of different state sizes: this will allow estimating the biases in the transponders, or the coefficient of reflectivity of a vehicle (these functionalities aren't yet implemented, cf. #94 ). It also allows for online measurement rejection: for example, if the residual ratio of a measurement is more than 3-sigmas away from the mean residual, it can be rejected on the fly instead of having to manually remove it from the list of measurements. The refactoring also now includes a first order Gauss Markov process for noise modeling. This is the industry standard: a time correlated noise with a user-provided time constant, and a constant noise floor. That said, if one wants different noises, they can now write them directly in a measurement parquet file in Python, and have Nyx ingest that!

Fourth, the big thing that is lacking in Nyx, and in this release, is documentation. To acknowledge that, there's now a Github issue template to request better documentation. It'll likely only be done in https://github.com/nyx-space/nyx/milestone/7 since version 2.0.0-beta will bring in a number of other breaking changes. Jump into @ThibFrgsGmz 's discussion here as well: #137 . On his recommendation, Nyx will use the Diataxis documentation method.

What's Changed

New Contributors

Full Changelog: 1.1.2...2.0.0-alpha

Hotfix release: Update to nalgebra 0.32

22 Feb 16:20
e0d7d5f
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.0.0...1.1.2