# sedlib
A Python library for Spectral Energy Distribution (SED) analysis of single stars.
[](https://doi.org/10.5281/zenodo.17332608)
[](https://opensource.org/licenses/Apache-2.0)
[](https://www.python.org/downloads/)
[](https://www.astropy.org/)
## Table of Contents
- [1. Overview](#1-overview)
- [2. Installation](#2-installation)
- [2.1. Prerequisites](#21-prerequisites)
- [2.2. Install from PyPI (when available)](#22-install-from-pypi-when-available)
- [2.3. Install from source](#23-install-from-source)
- [2.4. Dependencies](#24-dependencies)
- [3. Quick Start](#3-quick-start)
- [3.1. Basic Usage](#31-basic-usage)
- [4. API Reference](#4-api-reference)
- [4.1. SED Class](#41-sed-class)
- [4.1.1. Parameters](#411-parameters)
- [4.1.2. Key Methods](#412-key-methods)
- [4.1.3. Attributes](#413-attributes)
- [4.2. Catalog Class](#42-catalog-class)
- [4.2.1. Key Methods](#421-key-methods)
- [4.3. Filter Class](#43-filter-class)
- [4.3.1. Parameters](#431-parameters)
- [4.3.2. Key Methods](#432-key-methods)
- [4.4. BolometricCorrection Class](#44-bolometriccorrection-class)
- [4.4.1. Parameters](#441-parameters)
- [4.4.2. Key Methods](#442-key-methods)
- [4.4.3. Attributes](#443-attributes)
- [4.5. Project Management](#45-project-management)
- [4.6. Interactive Plotting](#46-interactive-plotting)
- [4.7. Custom Analysis Pipeline](#47-custom-analysis-pipeline)
- [5. Examples](#5-examples)
- [5.1. Complete Analysis Pipeline](#51-complete-analysis-pipeline)
- [6. Contributing](#6-contributing)
- [6.1. Development Setup](#61-development-setup)
- [6.2. Code Style](#62-code-style)
- [7. About](#7-about)
- [7.1. License](#71-license)
- [7.2. Citation](#72-citation)
- [7.3. Acknowledgments](#73-acknowledgments)
- [8. Changelog](#8-changelog)
- [8.1. Version 1.0.0](#81-version-100)
## 1. Overview
sedlib provides comprehensive tools for analyzing stellar spectral energy distributions, including:
- **Photometric data management** with the `Catalog` class
- **Filter handling** with the `Filter` class
- **SED analysis** with the `SED` class
- **Bolometric corrections** for accurate stellar radius determination
- **Advanced optimization** for interstellar extinction correction
- **Integration** with astronomical libraries like astropy and dust_extinction
## 2. Installation
### 2.1. Prerequisites
- Python 3.8 or higher
- pip package manager
### 2.2. Install from PyPI (when available)
```bash
pip install sedlib
```
### 2.3. Install from source
```bash
git clone https://github.com/ookuyan/sedlib.git
cd sedlib
pip install -e .
```
### 2.4. Dependencies
The library requires several scientific Python packages:
- `astropy` - Astronomical utilities
- `numpy` - Numerical computing
- `scipy` - Scientific computing
- `matplotlib` - Plotting
- `pandas` - Data manipulation
- `dust_extinction` - Extinction models
- `astroquery` - Astronomical data queries
- `bokeh` - Interactive plotting
- `corner` - Corner plots for MCMC results
- `joblib` - Parallel processing
- `dill` - Serialization
- `tqdm` - Progress bars
- `beautifulsoup4` - HTML parsing
- `requests` - HTTP requests
## 3. Quick Start
### 3.1. Basic Usage
```python
from sedlib import SED
# initialize the SED object
sed = SED(name='Gaia DR3 145538372736262912')
# run the complete analysis pipeline
sed.run()
```
```
================================================================================
SED ANALYSIS PIPELINE FOR: UCAC4 559-009409
================================================================================
π Pipeline stages to be executed:
1. π§Ή Data Cleaning
2. π Flux Combination
3. π Outlier Filtering
4. β Radius Estimation
5. π«οΈ Extinction Estimation
6. β¨ Bolometric Correction
7. πΎ Save Project
--------------------------------------------------------------------------------
Initial parameters:
π₯ Temperature: 6588.9638671875 K
Β± Temperature error: 16.833251953125 K
β Radius: 1.5003000497817993 solRad
Β± Radius error: 0.02544999122619629 solRad
π Distance: 464.364907135142 pc
Β± Distance error: 3.0629455414607314 pc
π Number of photometric measurements: 165
--------------------------------------------------------------------------------
π STAGE 1/7: π§Ή Data Cleaning
Starting data cleaning...
Removed 3 rows with missing data in 'filter' column(s)
Remaining data points: 162
β
COMPLETED: Stage 1/7 - Data Cleaning in 0.00s
π STAGE 2/7: π Flux Combination
Starting flux combination...
Combined flux measurements using 'median' method
Combined 123 measurements
Unique filters after combination: 39
β
COMPLETED: Stage 2/7 - Flux Combination in 0.04s
π STAGE 3/7: π Outlier Filtering
Starting outlier filtering...
Identified 1 outliers with sigma > 3.0
Remaining valid measurements: 38
Outliers are marked but not removed from the dataset
β
COMPLETED: Stage 3/7 - Outlier Filtering in 0.01s
π STAGE 4/7: β Radius Estimation
Starting radius estimation...
Using mc method for radius estimation
Running with 1000 Monte Carlo samples
MC Sampling: 100%|ββββββββββββββββββββββββββββββββββ| 1000/1000 [00:11<00:00, 89.61it/s]
--------- RADIUS ESTIMATION RESULTS ---------
Radius: 1.3805923531705158 solRad
Uncertainty: 0.009412372349938383 solRad
Method: mc
Valid samples: 1000
--------------------------------------------
β
COMPLETED: Stage 4/7 - Radius Estimation in 11.54s
π STAGE 5/7: π«οΈ Extinction Estimation
Starting extinction estimation...
Using mc method for extinction estimation
Extinction model: G23
Running with 1000 Monte Carlo samples
Batch 1/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 32.19it/s]
Batch 2/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 32.12it/s]
Batch 3/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 32.13it/s]
Batch 4/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 31.97it/s]
Batch 5/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 31.22it/s]
Batch 6/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 32.16it/s]
Batch 7/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 32.25it/s]
Batch 8/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 32.58it/s]
Batch 9/10: 100%|βββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 31.30it/s]
Batch 10/10: 100%|ββββββββββββββββββββββββββββββββββββ| 100/100 [00:03<00:00, 31.98it/s]
-------- EXTINCTION ESTIMATION RESULTS --------
E(B-V): 0.3760
Uncertainty: 0.0087
Method: mc
Valid samples: 1000
-----------------------------------------------
β
COMPLETED: Stage 5/7 - Extinction Estimation in 32.36s
π STAGE 6/7: β¨ Bolometric Correction
Starting bolometric correction...
Computing extinction (A_Ξ») for each filter
Computing absolute magnitudes
Running bolometric correction
Accept radius correction: True
-------- BOLOMETRIC CORRECTION RESULTS --------
Bolometric radius: 1.3815522981780102 solRad
Bolometric radius error: 0.03654157830727994 solRad
-----------------------------------------------
β
COMPLETED: Stage 6/7 - Bolometric Correction in 0.81s
π STAGE 7/7: πΎ Save Project
Starting save project...
Saving SED project to 'sedlib/tmp/20251007222842-Gaia_DR3_145538372736262912.sed.zip'
β
COMPLETED: Stage 7/7 - Save Project in 0.82s
================================================================================
PIPELINE SUMMARY
================================================================================
Stages completed: 7/7
Total execution time: 45.59 seconds
Stage Status:
β
Data Cleaning: SUCCESS
β
Flux Combination: SUCCESS
β
Outlier Filtering: SUCCESS
β
Radius Estimation: SUCCESS
β
Extinction Estimation: SUCCESS
β
Bolometric Correction: SUCCESS
β
Save Project: SUCCESS
Final Results:
Radius: 1.3815522981780102 solRad Β± 0.03654157830727994 solRad
E(B-V): 0.3760 Β± 0.0087
SED project saved to: sedlib/tmp/20251007222842-Gaia_DR3_145538372736262912.sed.zip
================================================================================
```
```python
sed.plot(with_blackbody=True, with_extinction=True, with_outliers=True, show=True)
```

## 4. API Reference
### 4.1. SED Class
The main class for Spectral Energy Distribution analysis.
#### 4.1.1. Parameters
- `name` (str, optional): Name of the astronomical object
- `ra` (str or float, optional): Right ascension
- `dec` (str or float, optional): Declination
- `search_radius` (Quantity, optional): Search radius for queries (default: 1 arcsec)
- `coord` (SkyCoord, optional): Object coordinates
- `frame` (str, optional): Reference frame (default: 'icrs')
- `auto_search` (bool, optional): Auto-search on initialization (default: True)
- `cache` (bool, optional): Enable caching (default: True)
- `timeout` (int, optional): Query timeout in seconds (default: 10)
- `find_basic_parameters` (bool, optional): Find basic parameters from catalogs (default: True)
- `info` (bool, optional): Print summary info (default: True)
#### 4.1.2. Key Methods
- `add_photometry(filter_name, mag, mag_error=None)`: Add photometric data
- `filter_outliers(sigma_threshold=3.0)`: Filter outliers using sigma clipping
- `estimate_radius(accept=False)`: Estimate stellar radius
- `estimate_ebv()`: Estimate interstellar extinction
- `compute_A_lambda()`: Compute extinction at each wavelength
- `compute_absolute_magnitudes()`: Convert to absolute magnitudes
- `plot(with_blackbody=False, with_extinction=False, interactive=False)`: Plot SED
- `save(path, compression=True)`: Save SED project
- `load(path)`: Load saved SED project (class method)
- `run()`: Run complete analysis pipeline
#### 4.1.3. Attributes
- `name`: Object name
- `ra`, `dec`: Coordinates
- `coord`: SkyCoord object
- `parallax`, `parallax_error`: Parallax measurements
- `distance`, `distance_error`: Distance measurements
- `radius`, `radius_error`: Stellar radius
- `teff`, `teff_error`: Effective temperature
- `ebv`, `ebv_error`: Interstellar extinction
- `ext_model`: Extinction model
- `catalog`: Photometric catalog
### 4.2. Catalog Class
Manages photometric data in an Astropy Table format.
#### 4.2.1. Key Methods
- `delete_missing_data_rows(columns)`: Remove rows with missing data
- `delete_rows(conditions)`: Remove rows matching conditions
- `combine_fluxes(method='mean', overwrite=False)`: Combine duplicate filter measurements
- `filter_outliers(sigma_threshold=3.0)`: Apply sigma clipping
- `sql_query(query)`: Execute SQL queries on the catalog
### 4.3. Filter Class
Handles astronomical filter transmission curves from the SVO Filter Profile Service.
> **π For comprehensive Filter class documentation, examples, and advanced usage, visit: [https://github.com/ookuyan/filter](https://github.com/ookuyan/filter)**
#### 4.3.1. Parameters
- `name` (str, optional): Filter identifier (SVO format)
- `method` (str): Interpolation method ('linear' or 'nearest')
- `bounds_error` (bool): Raise errors for out-of-bounds values
- `fill_value` (float or None): Value for out-of-bounds interpolation
- `cache` (bool): Enable caching
- `timeout` (int): Request timeout
#### 4.3.2. Key Methods
- `from_svo(name)`: Load filter from SVO service
- `from_data(name, wavelength, transmission)`: Create filter from custom data
- `search(name, case=False)`: Search filter catalog
- `apply(wavelength, flux, error)`: Apply filter to spectrum
- `plot()`: Plot transmission curve
### 4.4. BolometricCorrection Class
Computes bolometric corrections and stellar radii based on effective temperature. The class implements the methodology from [Eker & BakΔ±Ε (2023, MNRAS)](https://arxiv.org/abs/2305.12538), using fourth-degree polynomial fits for various photometric filters (Johnson B, V; GAIA G, GBP, GRP; TESS). Bolometric magnitudes are computed by applying filter-specific corrections to absolute magnitudes and combining them via inverse-variance weighting to derive stellar radii.
#### 4.4.1. Parameters
- `sed` (SED object): SED object with absolute magnitudes and effective temperature
- `coeff_file` (str, optional): Path to coefficient file
- `accept_radius` (bool): Store computed radius in sed object (default: False)
#### 4.4.2. Key Methods
- `run(verbose=False)`: Execute complete bolometric correction pipeline
- `compute_bolometric_corrections()`: Compute BCs for available filters
- `compute_weighted_abs_bol_mag()`: Compute weighted bolometric magnitude
- `compute_normalized_radius()`: Compute stellar radius in solar units
#### 4.4.3. Attributes
- `abs_bol_mag`, `abs_bol_mag_err`: Weighted bolometric magnitude and uncertainty
- `radius`, `radius_error`: Stellar radius in solar units and uncertainty
### 4.5. Project Management
The `save()` and `load()` methods provide a convenient way to preserve your entire SED analysis in a single file. When you save an SED project, the library uses dill serialization to bundle everything togetherβall stellar parameters, photometric data, analysis results, extinction estimates, and even the processing history. This means you can stop your work at any point and pick up exactly where you left off later, without needing to rerun time-consuming calculations like Monte Carlo simulations. This feature makes it easy to share your analysis with collaborators or archive results for future reference, ensuring reproducibility since the entire state of your analysis is preserved in one portable file. Optional zip compression is available for situations where file size matters, such as when sending analysis results as email attachments.
```python
# Save complete analysis
sed.save('sed_analysis.sedlib')
# Load saved project
loaded_sed = SED.load('sed_analysis.sedlib')
# Access results
print(f"Radius: {loaded_sed.radius:.2f} Β± {loaded_sed.radius_error:.2f}")
print(f"E(B-V): {loaded_sed.ebv:.3f} Β± {loaded_sed.ebv_error:.3f}")
```
```
Radius: 1.29 solRad Β± 0.04 solRad
E(B-V): 0.425 Β± 0.009
```
### 4.6. Interactive Plotting
Create interactive plots with Bokeh:
```python
# Interactive SED plot
sed.plot(
with_blackbody=True,
with_extinction=True,
with_outliers=True,
interactive=True
)
```
### 4.7. Custom Analysis Pipeline
```python
# Define custom pipeline configuration
config = {
'data_cleaning': {
'delete_missing_data_columns': ['filter', 'eflux'],
'combine_fluxes': True,
'filter_outliers': True,
'sigma_threshold': 3.0
},
'radius_estimation': {
'enabled': True,
'method': 'monte_carlo',
'n_samples': 1000
},
'extinction_estimation': {
'enabled': True,
'method': 'monte_carlo',
'n_samples': 1000
}
}
# Run custom pipeline
sed.run(custom_config=config)
```
## 5. Examples
### 5.1. Complete Analysis Pipeline
```python
from sedlib import SED, BolometricCorrection
from astropy import units as u
# Initialize SED object
sed = SED(name='Gaia DR3 164561603226850304')
# Set stellar parameters (from gaia)
sed.teff = 5850.74 * u.K
sed.teff_error = 29.62 * u.K
sed.radius = 1.4948 * u.solRad
sed.radius_error = 0.00840002 * u.solRad
sed.distance = 248.791 * u.pc
sed.distance_error = 0.772802 * u.pc
# Data cleaning
sed.catalog.filter_outliers(sigma_threshold=3.0, over_write=True)
sed.catalog.delete_missing_data_rows(['filter', 'eflux'])
sed.catalog.combine_fluxes(method='mean', overwrite=True)
# Radius estimation with Monte Carlo sampling
sed.estimate_radius(method='mc', n_samples=10000, accept=True)
```
```python
{'method': 'mc',
'n_samples': 10000,
'elapsed_time': 64.39362096786499,
'radius_mean': <Quantity 1.28601477 solRad>,
'radius_median': <Quantity 1.28599561 solRad>,
'radius_std': <Quantity 0.00709151 solRad>,
'success': True}
```
```python
# Extinction estimation with Monte Carlo sampling
sed.estimate_ebv(method='mc', n_samples=10000, accept=True)
```
```python
{'ebv_mean': np.float64(0.4253809724895975),
'ebv_std': np.float64(0.008834504561834948),
'ebv_median': np.float64(0.4255177019864373),
'method': 'mc',
'num_samples': 10000,
'num_valid_samples': 10000,
'elapsed_time': 167.62379121780396,
'success': True}
```
```python
# Plot E(B-V) Monte Carlo results
sed.plot_results(ebv_mc=True)
```

```python
# Compute extinction and absolute magnitudes
sed.compute_A_lambda()
sed.compute_absolute_magnitudes()
# Bolometric correction
bc = BolometricCorrection(sed, accept_radius=True)
bc.run()
# Visualization
sed.plot(with_blackbody=True, with_extinction=True, with_outliers=True, show=True)
```

## 6. Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
### 6.1. Development Setup
1. Fork the repository
2. Clone your fork: `git clone https://github.com/yourusername/sedlib.git`
3. Install in development mode: `pip install -e .`
4. Install development dependencies: `pip install -r requirements.txt`
### 6.2. Code Style
The project follows PEP 8 style guidelines. Please ensure your code is properly formatted.
## 7. About
### 7.1. License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
### 7.2. Citation
If you use sedlib in your research, please cite:
[](https://doi.org/10.5281/zenodo.17332608)
```bibtex
@software{sedlib_zenodo,
author = {OΔuzhan OKUYAN},
title = {sedlib: A Python library for Spectral Energy Distribution analysis},
year = {2024},
publisher = {Zenodo},
version = {[VERSION]},
doi = {10.5281/zenodo.17332608},
url = {https://doi.org/10.5281/zenodo.17332608}
}
```
Or cite the GitHub repository:
```bibtex
@software{sedlib2024,
author = {OΔuzhan OKUYAN},
title = {sedlib: A Python library for Spectral Energy Distribution analysis},
year = {2024},
url = {https://github.com/ookuyan/sedlib},
version = {1.0.0}
}
```
### 7.3. Acknowledgments
- The SVO Filter Profile Service for providing filter transmission curves
- The Astropy community for excellent astronomical tools
- The dust_extinction package for extinction models
- The VizieR service for photometric data access
## 8. Changelog
### 8.1. Version 1.0.0
- Initial release
- Complete SED analysis pipeline
- Filter management via SVO service
- Bolometric correction calculations
- Monte Carlo uncertainty estimation
- Interactive plotting capabilities
- Project save/load functionality
Raw data
{
"_id": null,
"home_page": null,
"name": "sedlib",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "O\u011fuzhan OKUYAN <ookuyan@gmail.com>",
"keywords": "astrophysics, astronomy, spectral-energy-distribution, stellar-physics, photometry, bolometric-correction, extinction, sed-analysis",
"author": null,
"author_email": "O\u011fuzhan OKUYAN <ookuyan@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/2f/4b/8da8a9ea279ea719a57a9684c95fd1e430378dea46c542f5aa8ac74fc060/sedlib-1.0.0.tar.gz",
"platform": null,
"description": "# sedlib\n\nA Python library for Spectral Energy Distribution (SED) analysis of single stars.\n\n[](https://doi.org/10.5281/zenodo.17332608)\n[](https://opensource.org/licenses/Apache-2.0)\n[](https://www.python.org/downloads/)\n[](https://www.astropy.org/)\n\n## Table of Contents\n\n- [1. Overview](#1-overview)\n- [2. Installation](#2-installation)\n - [2.1. Prerequisites](#21-prerequisites)\n - [2.2. Install from PyPI (when available)](#22-install-from-pypi-when-available)\n - [2.3. Install from source](#23-install-from-source)\n - [2.4. Dependencies](#24-dependencies)\n- [3. Quick Start](#3-quick-start)\n - [3.1. Basic Usage](#31-basic-usage)\n- [4. API Reference](#4-api-reference)\n - [4.1. SED Class](#41-sed-class)\n - [4.1.1. Parameters](#411-parameters)\n - [4.1.2. Key Methods](#412-key-methods)\n - [4.1.3. Attributes](#413-attributes)\n - [4.2. Catalog Class](#42-catalog-class)\n - [4.2.1. Key Methods](#421-key-methods)\n - [4.3. Filter Class](#43-filter-class)\n - [4.3.1. Parameters](#431-parameters)\n - [4.3.2. Key Methods](#432-key-methods)\n - [4.4. BolometricCorrection Class](#44-bolometriccorrection-class)\n - [4.4.1. Parameters](#441-parameters)\n - [4.4.2. Key Methods](#442-key-methods)\n - [4.4.3. Attributes](#443-attributes)\n - [4.5. Project Management](#45-project-management)\n - [4.6. Interactive Plotting](#46-interactive-plotting)\n - [4.7. Custom Analysis Pipeline](#47-custom-analysis-pipeline)\n- [5. Examples](#5-examples)\n - [5.1. Complete Analysis Pipeline](#51-complete-analysis-pipeline)\n- [6. Contributing](#6-contributing)\n - [6.1. Development Setup](#61-development-setup)\n - [6.2. Code Style](#62-code-style)\n- [7. About](#7-about)\n - [7.1. License](#71-license)\n - [7.2. Citation](#72-citation)\n - [7.3. Acknowledgments](#73-acknowledgments)\n- [8. Changelog](#8-changelog)\n - [8.1. Version 1.0.0](#81-version-100)\n\n## 1. Overview\n\nsedlib provides comprehensive tools for analyzing stellar spectral energy distributions, including:\n\n- **Photometric data management** with the `Catalog` class\n- **Filter handling** with the `Filter` class\n- **SED analysis** with the `SED` class\n- **Bolometric corrections** for accurate stellar radius determination\n- **Advanced optimization** for interstellar extinction correction\n- **Integration** with astronomical libraries like astropy and dust_extinction\n\n## 2. Installation\n\n### 2.1. Prerequisites\n\n- Python 3.8 or higher\n- pip package manager\n\n### 2.2. Install from PyPI (when available)\n\n```bash\npip install sedlib\n```\n\n### 2.3. Install from source\n\n```bash\ngit clone https://github.com/ookuyan/sedlib.git\ncd sedlib\npip install -e .\n```\n\n### 2.4. Dependencies\n\nThe library requires several scientific Python packages:\n\n- `astropy` - Astronomical utilities\n- `numpy` - Numerical computing\n- `scipy` - Scientific computing\n- `matplotlib` - Plotting\n- `pandas` - Data manipulation\n- `dust_extinction` - Extinction models\n- `astroquery` - Astronomical data queries\n- `bokeh` - Interactive plotting\n- `corner` - Corner plots for MCMC results\n- `joblib` - Parallel processing\n- `dill` - Serialization\n- `tqdm` - Progress bars\n- `beautifulsoup4` - HTML parsing\n- `requests` - HTTP requests\n\n## 3. Quick Start\n\n### 3.1. Basic Usage\n\n```python\nfrom sedlib import SED\n\n# initialize the SED object\nsed = SED(name='Gaia DR3 145538372736262912')\n\n# run the complete analysis pipeline\nsed.run()\n```\n\n```\n================================================================================\nSED ANALYSIS PIPELINE FOR: UCAC4 559-009409\n================================================================================\n\ud83d\ude80 Pipeline stages to be executed:\n 1. \ud83e\uddf9 Data Cleaning\n 2. \ud83d\udcca Flux Combination\n 3. \ud83d\udd0d Outlier Filtering\n 4. \u2b55 Radius Estimation\n 5. \ud83c\udf2b\ufe0f Extinction Estimation\n 6. \u2728 Bolometric Correction\n 7. \ud83d\udcbe Save Project\n--------------------------------------------------------------------------------\nInitial parameters:\n\ud83d\udd25 Temperature: 6588.9638671875 K\n\u00b1 Temperature error: 16.833251953125 K\n\u2b55 Radius: 1.5003000497817993 solRad\n\u00b1 Radius error: 0.02544999122619629 solRad\n\ud83d\udccf Distance: 464.364907135142 pc\n\u00b1 Distance error: 3.0629455414607314 pc\n\ud83d\udcca Number of photometric measurements: 165\n--------------------------------------------------------------------------------\n\n\n\ud83d\udd04 STAGE 1/7: \ud83e\uddf9 Data Cleaning\n Starting data cleaning...\n Removed 3 rows with missing data in 'filter' column(s)\n Remaining data points: 162\n\u2705 COMPLETED: Stage 1/7 - Data Cleaning in 0.00s\n\n\ud83d\udd04 STAGE 2/7: \ud83d\udcca Flux Combination\n Starting flux combination...\n Combined flux measurements using 'median' method\n Combined 123 measurements\n Unique filters after combination: 39\n\u2705 COMPLETED: Stage 2/7 - Flux Combination in 0.04s\n\n\ud83d\udd04 STAGE 3/7: \ud83d\udd0d Outlier Filtering\n Starting outlier filtering...\n Identified 1 outliers with sigma > 3.0\n Remaining valid measurements: 38\n Outliers are marked but not removed from the dataset\n\u2705 COMPLETED: Stage 3/7 - Outlier Filtering in 0.01s\n\n\ud83d\udd04 STAGE 4/7: \u2b55 Radius Estimation\n Starting radius estimation...\n Using mc method for radius estimation\n Running with 1000 Monte Carlo samples\nMC Sampling: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 1000/1000 [00:11<00:00, 89.61it/s]\n --------- RADIUS ESTIMATION RESULTS ---------\n Radius: 1.3805923531705158 solRad\n Uncertainty: 0.009412372349938383 solRad\n Method: mc\n Valid samples: 1000\n --------------------------------------------\n\u2705 COMPLETED: Stage 4/7 - Radius Estimation in 11.54s\n\n\ud83d\udd04 STAGE 5/7: \ud83c\udf2b\ufe0f Extinction Estimation\n Starting extinction estimation...\n Using mc method for extinction estimation\n Extinction model: G23\n Running with 1000 Monte Carlo samples\nBatch 1/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 32.19it/s]\nBatch 2/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 32.12it/s]\nBatch 3/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 32.13it/s]\nBatch 4/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 31.97it/s]\nBatch 5/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 31.22it/s]\nBatch 6/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 32.16it/s]\nBatch 7/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 32.25it/s]\nBatch 8/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 32.58it/s]\nBatch 9/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 31.30it/s]\nBatch 10/10: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 100/100 [00:03<00:00, 31.98it/s]\n -------- EXTINCTION ESTIMATION RESULTS --------\n E(B-V): 0.3760\n Uncertainty: 0.0087\n Method: mc\n Valid samples: 1000\n -----------------------------------------------\n\u2705 COMPLETED: Stage 5/7 - Extinction Estimation in 32.36s\n\n\ud83d\udd04 STAGE 6/7: \u2728 Bolometric Correction\n Starting bolometric correction...\n Computing extinction (A_\u03bb) for each filter\n Computing absolute magnitudes\n Running bolometric correction\n Accept radius correction: True\n -------- BOLOMETRIC CORRECTION RESULTS --------\n Bolometric radius: 1.3815522981780102 solRad\n Bolometric radius error: 0.03654157830727994 solRad\n -----------------------------------------------\n\u2705 COMPLETED: Stage 6/7 - Bolometric Correction in 0.81s\n\n\ud83d\udd04 STAGE 7/7: \ud83d\udcbe Save Project\n Starting save project...\n Saving SED project to 'sedlib/tmp/20251007222842-Gaia_DR3_145538372736262912.sed.zip'\n\u2705 COMPLETED: Stage 7/7 - Save Project in 0.82s\n\n================================================================================\nPIPELINE SUMMARY\n================================================================================\nStages completed: 7/7\nTotal execution time: 45.59 seconds\n\nStage Status:\n \u2705 Data Cleaning: SUCCESS\n \u2705 Flux Combination: SUCCESS\n \u2705 Outlier Filtering: SUCCESS\n \u2705 Radius Estimation: SUCCESS\n \u2705 Extinction Estimation: SUCCESS\n \u2705 Bolometric Correction: SUCCESS\n \u2705 Save Project: SUCCESS\n\nFinal Results:\n Radius: 1.3815522981780102 solRad \u00b1 0.03654157830727994 solRad\n E(B-V): 0.3760 \u00b1 0.0087\n\nSED project saved to: sedlib/tmp/20251007222842-Gaia_DR3_145538372736262912.sed.zip\n================================================================================\n```\n\n```python\nsed.plot(with_blackbody=True, with_extinction=True, with_outliers=True, show=True)\n```\n\n\n\n\n## 4. API Reference\n\n### 4.1. SED Class\n\nThe main class for Spectral Energy Distribution analysis.\n\n#### 4.1.1. Parameters\n\n- `name` (str, optional): Name of the astronomical object\n- `ra` (str or float, optional): Right ascension\n- `dec` (str or float, optional): Declination\n- `search_radius` (Quantity, optional): Search radius for queries (default: 1 arcsec)\n- `coord` (SkyCoord, optional): Object coordinates\n- `frame` (str, optional): Reference frame (default: 'icrs')\n- `auto_search` (bool, optional): Auto-search on initialization (default: True)\n- `cache` (bool, optional): Enable caching (default: True)\n- `timeout` (int, optional): Query timeout in seconds (default: 10)\n- `find_basic_parameters` (bool, optional): Find basic parameters from catalogs (default: True)\n- `info` (bool, optional): Print summary info (default: True)\n\n#### 4.1.2. Key Methods\n\n- `add_photometry(filter_name, mag, mag_error=None)`: Add photometric data\n- `filter_outliers(sigma_threshold=3.0)`: Filter outliers using sigma clipping\n- `estimate_radius(accept=False)`: Estimate stellar radius\n- `estimate_ebv()`: Estimate interstellar extinction\n- `compute_A_lambda()`: Compute extinction at each wavelength\n- `compute_absolute_magnitudes()`: Convert to absolute magnitudes\n- `plot(with_blackbody=False, with_extinction=False, interactive=False)`: Plot SED\n- `save(path, compression=True)`: Save SED project\n- `load(path)`: Load saved SED project (class method)\n- `run()`: Run complete analysis pipeline\n\n#### 4.1.3. Attributes\n\n- `name`: Object name\n- `ra`, `dec`: Coordinates\n- `coord`: SkyCoord object\n- `parallax`, `parallax_error`: Parallax measurements\n- `distance`, `distance_error`: Distance measurements\n- `radius`, `radius_error`: Stellar radius\n- `teff`, `teff_error`: Effective temperature\n- `ebv`, `ebv_error`: Interstellar extinction\n- `ext_model`: Extinction model\n- `catalog`: Photometric catalog\n\n### 4.2. Catalog Class\n\nManages photometric data in an Astropy Table format.\n\n#### 4.2.1. Key Methods\n\n- `delete_missing_data_rows(columns)`: Remove rows with missing data\n- `delete_rows(conditions)`: Remove rows matching conditions\n- `combine_fluxes(method='mean', overwrite=False)`: Combine duplicate filter measurements\n- `filter_outliers(sigma_threshold=3.0)`: Apply sigma clipping\n- `sql_query(query)`: Execute SQL queries on the catalog\n\n### 4.3. Filter Class\n\nHandles astronomical filter transmission curves from the SVO Filter Profile Service.\n\n> **\ud83d\udcd6 For comprehensive Filter class documentation, examples, and advanced usage, visit: [https://github.com/ookuyan/filter](https://github.com/ookuyan/filter)**\n\n#### 4.3.1. Parameters\n\n- `name` (str, optional): Filter identifier (SVO format)\n- `method` (str): Interpolation method ('linear' or 'nearest')\n- `bounds_error` (bool): Raise errors for out-of-bounds values\n- `fill_value` (float or None): Value for out-of-bounds interpolation\n- `cache` (bool): Enable caching\n- `timeout` (int): Request timeout\n\n#### 4.3.2. Key Methods\n\n- `from_svo(name)`: Load filter from SVO service\n- `from_data(name, wavelength, transmission)`: Create filter from custom data\n- `search(name, case=False)`: Search filter catalog\n- `apply(wavelength, flux, error)`: Apply filter to spectrum\n- `plot()`: Plot transmission curve\n\n### 4.4. BolometricCorrection Class\n\nComputes bolometric corrections and stellar radii based on effective temperature. The class implements the methodology from [Eker & Bak\u0131\u015f (2023, MNRAS)](https://arxiv.org/abs/2305.12538), using fourth-degree polynomial fits for various photometric filters (Johnson B, V; GAIA G, GBP, GRP; TESS). Bolometric magnitudes are computed by applying filter-specific corrections to absolute magnitudes and combining them via inverse-variance weighting to derive stellar radii.\n\n#### 4.4.1. Parameters\n\n- `sed` (SED object): SED object with absolute magnitudes and effective temperature\n- `coeff_file` (str, optional): Path to coefficient file\n- `accept_radius` (bool): Store computed radius in sed object (default: False)\n\n#### 4.4.2. Key Methods\n\n- `run(verbose=False)`: Execute complete bolometric correction pipeline\n- `compute_bolometric_corrections()`: Compute BCs for available filters\n- `compute_weighted_abs_bol_mag()`: Compute weighted bolometric magnitude\n- `compute_normalized_radius()`: Compute stellar radius in solar units\n\n#### 4.4.3. Attributes\n\n- `abs_bol_mag`, `abs_bol_mag_err`: Weighted bolometric magnitude and uncertainty\n- `radius`, `radius_error`: Stellar radius in solar units and uncertainty\n\n### 4.5. Project Management\n\nThe `save()` and `load()` methods provide a convenient way to preserve your entire SED analysis in a single file. When you save an SED project, the library uses dill serialization to bundle everything together\u2014all stellar parameters, photometric data, analysis results, extinction estimates, and even the processing history. This means you can stop your work at any point and pick up exactly where you left off later, without needing to rerun time-consuming calculations like Monte Carlo simulations. This feature makes it easy to share your analysis with collaborators or archive results for future reference, ensuring reproducibility since the entire state of your analysis is preserved in one portable file. Optional zip compression is available for situations where file size matters, such as when sending analysis results as email attachments.\n\n```python\n# Save complete analysis\nsed.save('sed_analysis.sedlib')\n\n# Load saved project\nloaded_sed = SED.load('sed_analysis.sedlib')\n\n# Access results\nprint(f\"Radius: {loaded_sed.radius:.2f} \u00b1 {loaded_sed.radius_error:.2f}\")\nprint(f\"E(B-V): {loaded_sed.ebv:.3f} \u00b1 {loaded_sed.ebv_error:.3f}\")\n```\n\n```\nRadius: 1.29 solRad \u00b1 0.04 solRad\nE(B-V): 0.425 \u00b1 0.009\n```\n\n### 4.6. Interactive Plotting\n\nCreate interactive plots with Bokeh:\n\n```python\n# Interactive SED plot\nsed.plot(\n with_blackbody=True,\n with_extinction=True,\n with_outliers=True,\n interactive=True\n)\n```\n\n### 4.7. Custom Analysis Pipeline\n\n```python\n# Define custom pipeline configuration\nconfig = {\n 'data_cleaning': {\n 'delete_missing_data_columns': ['filter', 'eflux'],\n 'combine_fluxes': True,\n 'filter_outliers': True,\n 'sigma_threshold': 3.0\n },\n 'radius_estimation': {\n 'enabled': True,\n 'method': 'monte_carlo',\n 'n_samples': 1000\n },\n 'extinction_estimation': {\n 'enabled': True,\n 'method': 'monte_carlo',\n 'n_samples': 1000\n }\n}\n\n# Run custom pipeline\nsed.run(custom_config=config)\n```\n\n\n## 5. Examples\n\n### 5.1. Complete Analysis Pipeline\n\n```python\nfrom sedlib import SED, BolometricCorrection\nfrom astropy import units as u\n\n# Initialize SED object\nsed = SED(name='Gaia DR3 164561603226850304')\n\n# Set stellar parameters (from gaia)\nsed.teff = 5850.74 * u.K\nsed.teff_error = 29.62 * u.K\n\nsed.radius = 1.4948 * u.solRad\nsed.radius_error = 0.00840002 * u.solRad\n\nsed.distance = 248.791 * u.pc\nsed.distance_error = 0.772802 * u.pc\n\n# Data cleaning\nsed.catalog.filter_outliers(sigma_threshold=3.0, over_write=True)\nsed.catalog.delete_missing_data_rows(['filter', 'eflux'])\nsed.catalog.combine_fluxes(method='mean', overwrite=True)\n\n# Radius estimation with Monte Carlo sampling\nsed.estimate_radius(method='mc', n_samples=10000, accept=True)\n```\n\n```python\n{'method': 'mc',\n 'n_samples': 10000,\n 'elapsed_time': 64.39362096786499,\n 'radius_mean': <Quantity 1.28601477 solRad>,\n 'radius_median': <Quantity 1.28599561 solRad>,\n 'radius_std': <Quantity 0.00709151 solRad>,\n 'success': True}\n```\n\n```python\n# Extinction estimation with Monte Carlo sampling\nsed.estimate_ebv(method='mc', n_samples=10000, accept=True)\n```\n\n```python\n{'ebv_mean': np.float64(0.4253809724895975),\n 'ebv_std': np.float64(0.008834504561834948),\n 'ebv_median': np.float64(0.4255177019864373),\n 'method': 'mc',\n 'num_samples': 10000,\n 'num_valid_samples': 10000,\n 'elapsed_time': 167.62379121780396,\n 'success': True}\n```\n\n```python\n# Plot E(B-V) Monte Carlo results\nsed.plot_results(ebv_mc=True)\n```\n\n\n\n```python\n# Compute extinction and absolute magnitudes\nsed.compute_A_lambda()\nsed.compute_absolute_magnitudes()\n\n# Bolometric correction\nbc = BolometricCorrection(sed, accept_radius=True)\nbc.run()\n\n# Visualization\nsed.plot(with_blackbody=True, with_extinction=True, with_outliers=True, show=True)\n```\n\n\n\n## 6. Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n### 6.1. Development Setup\n\n1. Fork the repository\n2. Clone your fork: `git clone https://github.com/yourusername/sedlib.git`\n3. Install in development mode: `pip install -e .`\n4. Install development dependencies: `pip install -r requirements.txt`\n\n### 6.2. Code Style\n\nThe project follows PEP 8 style guidelines. Please ensure your code is properly formatted.\n\n## 7. About\n\n### 7.1. License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n### 7.2. Citation\n\nIf you use sedlib in your research, please cite:\n\n[](https://doi.org/10.5281/zenodo.17332608)\n\n```bibtex\n@software{sedlib_zenodo,\n author = {O\u011fuzhan OKUYAN},\n title = {sedlib: A Python library for Spectral Energy Distribution analysis},\n year = {2024},\n publisher = {Zenodo},\n version = {[VERSION]},\n doi = {10.5281/zenodo.17332608},\n url = {https://doi.org/10.5281/zenodo.17332608}\n}\n```\n\nOr cite the GitHub repository:\n\n```bibtex\n@software{sedlib2024,\n author = {O\u011fuzhan OKUYAN},\n title = {sedlib: A Python library for Spectral Energy Distribution analysis},\n year = {2024},\n url = {https://github.com/ookuyan/sedlib},\n version = {1.0.0}\n}\n```\n\n### 7.3. Acknowledgments\n\n- The SVO Filter Profile Service for providing filter transmission curves\n- The Astropy community for excellent astronomical tools\n- The dust_extinction package for extinction models\n- The VizieR service for photometric data access\n\n## 8. Changelog\n\n### 8.1. Version 1.0.0\n- Initial release\n- Complete SED analysis pipeline\n- Filter management via SVO service\n- Bolometric correction calculations\n- Monte Carlo uncertainty estimation\n- Interactive plotting capabilities\n- Project save/load functionality\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A Python library for Spectral Energy Distribution (SED) analysis",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/ookuyan/sedlib/issues",
"Documentation": "https://github.com/ookuyan/sedlib",
"Homepage": "https://github.com/ookuyan/sedlib",
"Repository": "https://github.com/ookuyan/sedlib"
},
"split_keywords": [
"astrophysics",
" astronomy",
" spectral-energy-distribution",
" stellar-physics",
" photometry",
" bolometric-correction",
" extinction",
" sed-analysis"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3d63e56e2b9ae915067b0c1c6f87eb1dac521af47ace7b2c4c95f7343d5a6f95",
"md5": "da88726e2b5879df136b2f9d2d14c8cf",
"sha256": "69eeba58816b95f26c8a6c85c787e3529578d018d8dac0d412ad2f785b06dc82"
},
"downloads": -1,
"filename": "sedlib-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da88726e2b5879df136b2f9d2d14c8cf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1626537,
"upload_time": "2025-10-12T13:06:05",
"upload_time_iso_8601": "2025-10-12T13:06:05.740242Z",
"url": "https://files.pythonhosted.org/packages/3d/63/e56e2b9ae915067b0c1c6f87eb1dac521af47ace7b2c4c95f7343d5a6f95/sedlib-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2f4b8da8a9ea279ea719a57a9684c95fd1e430378dea46c542f5aa8ac74fc060",
"md5": "eceda3b8886de7587c4ae412ffac7919",
"sha256": "e544a9e0b3d92fac30aec808a5edfa2efa8e0511333dd9bba903800f8e16300a"
},
"downloads": -1,
"filename": "sedlib-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "eceda3b8886de7587c4ae412ffac7919",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 1618965,
"upload_time": "2025-10-12T13:06:18",
"upload_time_iso_8601": "2025-10-12T13:06:18.841043Z",
"url": "https://files.pythonhosted.org/packages/2f/4b/8da8a9ea279ea719a57a9684c95fd1e430378dea46c542f5aa8ac74fc060/sedlib-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-12 13:06:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ookuyan",
"github_project": "sedlib",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "numpy",
"specs": [
[
">=",
"1.20.0"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.6.0"
]
]
},
{
"name": "astroquery",
"specs": [
[
">=",
"0.4.1"
]
]
},
{
"name": "astropy",
"specs": [
[
">=",
"4.0"
]
]
},
{
"name": "dust-extinction",
"specs": [
[
">=",
"1.0"
]
]
},
{
"name": "beautifulsoup4",
"specs": [
[
">=",
"4.9.3"
]
]
},
{
"name": "lxml",
"specs": []
},
{
"name": "pandas",
"specs": [
[
">=",
"1.2.0"
]
]
},
{
"name": "pyyaml",
"specs": [
[
">=",
"5.4.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.25.0"
]
]
},
{
"name": "bokeh",
"specs": [
[
">=",
"2.3.0"
]
]
},
{
"name": "corner",
"specs": [
[
">=",
"2.2.1"
]
]
},
{
"name": "ipywidgets",
"specs": [
[
">=",
"7.6.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
">=",
"3.3.0"
]
]
},
{
"name": "dill",
"specs": [
[
">=",
"0.3.4"
]
]
},
{
"name": "joblib",
"specs": [
[
">=",
"1.0.0"
]
]
},
{
"name": "psutil",
"specs": [
[
">=",
"5.8.0"
]
]
},
{
"name": "tqdm",
"specs": []
},
{
"name": "ipython",
"specs": [
[
">=",
"7.20.0"
]
]
},
{
"name": "jupyterlab",
"specs": []
}
],
"lcname": "sedlib"
}