Metadata-Version: 2.1
Name: eurydice
Version: 0.3
Summary: A package for evaluating radival velocity signal models using cross-validation methods and Gaussian processes.
Author-email: Kaylee Barrera <kaybarr4@gmail.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Astronomy
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib

EURYDICE: **E**val**U**ating **R**adial velocit**Y** mo**D**els us**I**ng **C**ross-validation and Gaussian proc**E**sses 

A WIP to create a package that will perform cross-validations for radial velocity signal models with Gaussian processes 💃🕺


Last Updated: July 24th 2024

Current Version: 0.3

v.0.2 Updates (July 10th 2024):
* autoformatting
* splitting code into modules: kepler (for keplerian helper functions), plot (to handle plotting), and CV (holding the CrossValidation object + all GPR code). 
* updating some old error messages in kepler.calc_keplerian_signal function
* added a default kernel for the CrossValidation object to use if a predefined one is not passed
* updating plotting functions to return a matplotlib.plyplot.Figure
* fitting Gaussians to the residuals on the histogram plot used for CV
* added functionality for the CrossValidation object to calculate and utilize an N body keplerian mean function 

To-Do:
* adding compatibility with pre-existing GP packages (george, tinygp, celerite): the gist is probably to let code read if the kernel function its passed is a certain object (e.g a george kernel object) and let the code run the GPR and CV using that package's methods
* writing a tutorial on how to use code with juypter notebook
* combing through existing code to improve lacking documentation and find more appropriate places to include error messages
* modifying split function in CrossValidation to let users have a choice as to split data randomly or not (e.g whether to split data 80/20 randomly for training or to split the data such that the first 80 data points chronologically are used to train the model and the last 20 used to assess predictability)
* writing more tests: how to write tests for GP_predict, run_CV and plotting functions? seems too convoluted for my pea brain at the moment 🫨
