A unified interface for the various tools that create universes for exoplanet simulations
Project description
exo(planet uni)verses
A python library to create a (relatively) uniform set of objects between tools that generate planetary systems. Currently supports ExoVista and EXOSIMS universes.
Install
Base
pip install exoverses
EXOSIMS support
pip install exoverses[exosims]
ExoVista support
Currently this uses a fork of Exovista, clone it and install it to whatever environment you are using
git clone git@github.com:CoreySpohn/ExoVista.git
cd ExoVista
git checkout pip_support
Load whatever environment you are using (e.g. source my_project/.venv/bin/activate for a virtual environment or conda activate my_project for conda)
pip install .
Usage
The basic objects are
Universeobject which holds all theSystemobjects. EachSystemobject has aStarobject, a list ofPlanetobjects, and aDiskobject (if reading an ExoVista system).
Planet object
The minimum definition of a planet is currently
"t0" - Initial epoch
"a" - Semi-major axis
"e" - Eccentricity
"mass" - Mass
"radius" - Radius
"inc" - Inclination
"W" - Longitude of the ascending node
"w" - Argument of periapsis
"M0" - Mean anomaly at initial epoch
"p" - Geometric albedo
A planet can be created independently with a dictionary of those values
from astropy.time import Time
import astropy.units as u
from exoverses.base.planet import Planet
planet_dict = {
"t0": Time(2000, format='decimalyear'),
"a": 1*u.au,
"e": 0.1,
"mass": 1*u.M_Earth,
"radius": 1*u.R_Earth,
"inc": 90*u.deg,
"W": 1*u.deg,
"w": 1*u.deg,
"M0": 0*u.deg,
"p": 0.3,
}
simple_planet = Planet(planet_dict)
Exovista
from exoverses.exovista.universe import ExovistaUniverse
ev_universe_path = "path/to/exovista/fits/files/"
ev_universe = ExovistaUniverse(ev_universe_path)
ev_universe.systems[0]
> HIP -1 dist:10.0 pc Type:G2V
Planets:
K T secosw sesinw T_c a ... W w M0 t0 mass radius
0 0.007479 87.969367 0.453459 0.0 2451478.3795736698 0.387099 ... 0.843030 0.0 203.98262 2000.0 0.0553 0.383
1 0.076703 224.235443 0.082300 0.0 2451423.336314871 0.722333 ... 1.338331 0.0 105.29904 2000.0 0.8150 0.949
2 0.077484 365.256410 0.129268 0.0 2451341.772314067 1.000000 ... -0.196535 0.0 111.72499 2000.0 1.0000 1.000
3 0.006867 686.959991 0.305634 0.0 2450809.4793391167 1.523662 ... 0.865309 0.0 305.87478 2000.0 0.1070 0.532
4 10.948237 4333.286713 0.219983 0.0 2446990.8777174116 5.203363 ... 1.755036 0.0 293.84823 2000.0 317.8300 11.209
5 2.448455 10756.199527 0.232703 0.0 2440189.9239725103 9.537070 ... 1.984702 0.0 296.22928 2000.0 95.1600 9.449
6 0.259398 30707.489457 0.217181 0.0 2423941.940415186 19.191264 ... 1.295556 0.0 239.00230 2000.0 14.5400 4.007
[7 rows x 14 columns]
# Alternatively you can create a System object independently
from exoverses.exovista.system import ExovistaSystem
ev_system_path = "path/to/exovista/fits/files/system0.fits"
ev_system = ExovistaSystem(ev_system_path)
ev_system
> HIP -1 dist:10.0 pc Type:G2V
Planets:
K T secosw sesinw T_c a ... W w M0 t0 mass radius
0 0.007479 87.969367 0.453459 0.0 2451478.3795736698 0.387099 ... 0.843030 0.0 203.98262 2000.0 0.0553 0.383
1 0.076703 224.235443 0.082300 0.0 2451423.336314871 0.722333 ... 1.338331 0.0 105.29904 2000.0 0.8150 0.949
2 0.077484 365.256410 0.129268 0.0 2451341.772314067 1.000000 ... -0.196535 0.0 111.72499 2000.0 1.0000 1.000
3 0.006867 686.959991 0.305634 0.0 2450809.4793391167 1.523662 ... 0.865309 0.0 305.87478 2000.0 0.1070 0.532
4 10.948237 4333.286713 0.219983 0.0 2446990.8777174116 5.203363 ... 1.755036 0.0 293.84823 2000.0 317.8300 11.209
5 2.448455 10756.199527 0.232703 0.0 2440189.9239725103 9.537070 ... 1.984702 0.0 296.22928 2000.0 95.1600 9.449
6 0.259398 30707.489457 0.217181 0.0 2423941.940415186 19.191264 ... 1.295556 0.0 239.00230 2000.0 14.5400 4.007
[7 rows x 14 columns]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exoverses-0.3.1.tar.gz.
File metadata
- Download URL: exoverses-0.3.1.tar.gz
- Upload date:
- Size: 30.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a4515a7a3391b156ca5744389acd76d42273135b795da0f101db628393f64f4
|
|
| MD5 |
caac93d1d93d24568437b0efee299fc2
|
|
| BLAKE2b-256 |
ceadb5cdb915b0c214c537e86e539185900bcf516a7e80a781229f7f21bac96b
|
Provenance
The following attestation bundles were made for exoverses-0.3.1.tar.gz:
Publisher:
publish-to-pypi.yml on CoreySpohn/exoverses
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
exoverses-0.3.1.tar.gz -
Subject digest:
7a4515a7a3391b156ca5744389acd76d42273135b795da0f101db628393f64f4 - Sigstore transparency entry: 767449005
- Sigstore integration time:
-
Permalink:
CoreySpohn/exoverses@486808d58159d8a23844bc4cf5e6e15595540061 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/CoreySpohn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@486808d58159d8a23844bc4cf5e6e15595540061 -
Trigger Event:
push
-
Statement type:
File details
Details for the file exoverses-0.3.1-py2.py3-none-any.whl.
File metadata
- Download URL: exoverses-0.3.1-py2.py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d8f1032f639ff9e2ef93e16e145a76811c217f23d248bc2e4fead6432c03656
|
|
| MD5 |
14c344b180891830a7bef5ab30115c0e
|
|
| BLAKE2b-256 |
f714b2a4b4c572723b096610dab17730b4afe59d47d2ce6c8208ce9010dac337
|
Provenance
The following attestation bundles were made for exoverses-0.3.1-py2.py3-none-any.whl:
Publisher:
publish-to-pypi.yml on CoreySpohn/exoverses
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
exoverses-0.3.1-py2.py3-none-any.whl -
Subject digest:
1d8f1032f639ff9e2ef93e16e145a76811c217f23d248bc2e4fead6432c03656 - Sigstore transparency entry: 767449008
- Sigstore integration time:
-
Permalink:
CoreySpohn/exoverses@486808d58159d8a23844bc4cf5e6e15595540061 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/CoreySpohn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@486808d58159d8a23844bc4cf5e6e15595540061 -
Trigger Event:
push
-
Statement type: