Metadata-Version: 2.4
Name: curvesimulator
Version: 0.6.3
Summary: CurveSimulator is a n-body library for orbital parameter determination and visualization of exoplanet systems.
Home-page: https://github.com/lichtgestalter/curvesimulator
Author: Uli Scheuss
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: colorama
Requires-Dist: configparser
Requires-Dist: corner
Requires-Dist: emcee
Requires-Dist: lightkurve
Requires-Dist: lmfit
Requires-Dist: matplotlib==3.10.0
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: rebound
Requires-Dist: scipy
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: summary

# CurveSimulator

[![GitHub Wiki](https://img.shields.io/badge/docs-Wiki-red)](https://github.com/lichtgestalter/curvesimulator/wiki)
[![PyPI version](https://badge.fury.io/py/curvesimulator.svg)](https://badge.fury.io/py/curvesimulator)
[![Python Versions](https://img.shields.io/pypi/pyversions/curvesimulator.svg)](https://pypi.org/project/curvesimulator/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

[//]: # (![PyPI Downloads]&#40;https://static.pepy.tech/badge/curvesimulator&#41;)


_CurveSimulator_ is a reliable n-Body Python package for fast and 
  flexible Orbital Parameter Determination (MCMC).   

It can also generate highly configurable videos for teaching, public outreach, 
and scientific insight.   

If _CurveSimulator_ could be useful for your next research project feel 
free to reach out to us. Let’s analyze your system together. Help shape the 
next version of CurveSimulator with your feedback.   


### Easy to use

Just run five lines of Python code that never need to change.   
Everything else is controlled through one user-friendly configuration file.   
The software is continuously developed and improved.   


### Fast and Robust Planetary System Parameter Estimation

_CurveSimulator_ determines orbital parameters of exoplanet systems using 
n-body simulations (rebound package).

Markov Chain Monte Carlo (MCMC) samplers build the parameter 
posteriors and obtain parameter uncertainties (emcee package).

_CurveSimulator_ can process different types of observations: Flux, 
transit times and radial velocity.

For fast preliminary results, run least-squares fits on 
observed transit times (LMfit package).


#### Output
* JSON files contain best-fit parameters, per-transit parameters, fit 
  quality, fit diagnostics and much more.
* API: Interact directly with Python objects which contain all relevant 
  input and output.   
* Videos (see below)
* Plots, e.g. parameter histograms, observed vs. computed data, sampling 
  diagnostics. 


#### Performance Example
* The task: Fit 50 parameters using 20000 flux data points and integrate the 
  movements of 3 bodies over 7 years with a time step of 75000 seconds.
* 5000 iterations of 100 MCMC Walkers on an average Windows PC take 
  under 3 hours.
* That corresponds to 45 simulation runs per second.


### Videos of planetary systems

_CurveSimulator_ generates videos of the movements and eclipses of 
celestial bodies. The video can simultaneously display any combination of: 
* a view of the star system from above 
* a view from Earth (edge view) 
* an animated plot of the system's total luminosity over time (lightcurve) 
* an animated plot of the star's radial velocity over time     

Video generation is very fast: One minute playing time takes only seconds to 
generate.   
The videos are highly customizable and use very little disk space - only 0.5 
MB per minute of playing time.   


**[Find Curvesimulator's Documentation here](https://github.com/lichtgestalter/curvesimulator/wiki)**
