Skip to main content

Spectral energy distribution construction and analysis tools

Project description

sedkit

Powered by Astropy Build Status Coverage Status Documentation Status DOI

Introduction

sedkit is a collection of pure Python modules for simple SED construction and analysis. Users can create individual SEDs or SED catalogs from spectra and/or photometry and calculate fundamental parameters (fbol, Mbol, Lbol, Teff, mass, log(g)) using the methods presented in Filippazzo et al. (2015) and described in the documentation: https://sedkit.readthedocs.io/.

Installation

Install in an environment with Python 3.11, 3.12, 3.13.

pip install sedkit

Developer Instructions

If you plan to modify and/or contribute to the code, clone the repository and then install an editable version of the package and the requirements for running the tests.

pip install -e ".[test]"

Demo

An SED can be constructed by importing and initializing an SED object.

from sedkit import SED
trap1 = SED(name='Trappist-1')

The name argument triggers a lookup in the Simbad database for meta, astrometric, and spectral type data. Interstellar reddening is calculated when possible.

Photometry can be added manually...

trap1.add_photometry('Johnson.V', 18.798, 0.082, '2006AJ....132.1234C')
trap1.add_photometry('Cousins.R', 16.466, 0.065, '2006AJ....132.1234C')
trap1.add_photometry('Cousins.I', 14.024, 0.115, '2006AJ....132.1234C')

...and/or retrieved from Vizier catalogs with built-in methods.

trap1.find_2MASS()
trap1.find_WISE()

Spectrum arrays or ASCII/FITS files can also be added to the SED data.

import importlib.resources
spec_file = str(importlib.resources.files('sedkit')/ 'data/Trappist-1_NIR.fits')
import astropy.units as u
trap1.add_spectrum_file(spec_file, wave_units=u.um, flux_units=u.erg/u.s/u.cm**2/u.AA)

Other data which may affect the calculated and inferred fundamantal parameters can be set at any time.

trap1.spectral_type = 'M8', '2006AJ....132.1234C'
trap1.age = 7.6*u.Gyr, 2.2*u.Gyr, '2017ApJ...845..110B'
trap1.radius = 0.121*u.R_sun, 0.003*u.R_sun, '2021PSJ.....2....1A'

Results can be calculated at any time by checking the results property.

trap1.results
param value unc units
name Trappist-1 -- --
ra 346.6223683333333 -- --
dec -5.0413974999999995 -- --
age 7.6 2.2 Gyr
Lbol 2.24e+30 6.49e+28 erg / s
Lbol_sun -3.23 0.013 --
Mbol 12.836 0.031 --
SpT M8V -- --
Teff 2581 37 K
fbol 1.21e-10 3.49e-12 erg / (cm2 s)
logg 5.281466666666667 0.005382456140353042 --
mass 0.0921333333333333 0.0013456140350877333 solMass
mbol 13.308 0.031 --
membership -- -- --
parallax 80.4512 0.12110000103712082 mas
radius 0.121 0.003 solRad
reddening 9.259104263037443e-05 -- --
spectral_type 68.0 0.5 --

A variety of evolutionary model grids can be used to infer fundamental parameters,

trap1.evo_model = 'DUSTY00'
trap1.infer_mass()

Any arbitrary atlas of models (stored in data\models\atmospheric) can be used to fit the data with or without MCMC analysis.

from sedkit import SpexPrismLibrary
trap1.fit_modelgrid(SpexPrismLibrary(), mcmc=True)

Inspect the SED at any time with the interactive plotting method.

trap1.plot(integral=True, best_fit=True)

References for all data can be accessed via the refs attribute.

Entire catalogs of SED objects can also be created and their properties can be arbitrarily compared and analyzed with the sedkit.catalog.Catalog() object.

Please read the full documentation for details on this functionality and much more.

Documentation and Notebooks

Full documentation is available: https://sedkit.readthedocs.io/.

The package also contains detailed Jupyter notebooks highlighting the core functionality of its primary classes, including

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sedkit-2.1.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sedkit-2.1-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file sedkit-2.1.tar.gz.

File metadata

  • Download URL: sedkit-2.1.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sedkit-2.1.tar.gz
Algorithm Hash digest
SHA256 fc6c29e4fb9571fc4ab9918470c81116138f16fd15e732b7283cad0f6381faee
MD5 d8863ef368071c07bec3251e03151c19
BLAKE2b-256 9b724be31d01eedcfa03d06c901e76d18f13e2b59092556c500360d7dd7fd948

See more details on using hashes here.

Provenance

The following attestation bundles were made for sedkit-2.1.tar.gz:

Publisher: publish_pypi.yml on BDNYC/sedkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sedkit-2.1-py3-none-any.whl.

File metadata

  • Download URL: sedkit-2.1-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sedkit-2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1932b71882fde14b347041836171661a1be601c663058a0b01707fc4db4297b
MD5 eef83e6b6d0a89ed5b4c7e80d8bfbbe3
BLAKE2b-256 489806bc19ea91bd22c4d37274b61e5d439356edb6f95544d2543f7e6b7e67d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for sedkit-2.1-py3-none-any.whl:

Publisher: publish_pypi.yml on BDNYC/sedkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page