astro-mmdc
Python SDK for the MMDC astrophysics platform: multi-wavelength SED data, on-demand Swift UVOT/XRT analysis and blazar broadband emission modeling.
The Markarian Multiwavelength Data Center (MMDC) gathers multi-wavelength, multi-epoch observations of blazars and other sources from dozens of catalogues and archives. It also models their broadband emission with SSC, EIC and hadronic models, and this SDK gives Python access to all of it.
Installation
pip install astro-mmdc
Or with uv:
uv pip install astro-mmdc
Requires Python 3.10+. Plotting needs the extra: pip install "astro-mmdc[plot]".
Quick start
from astro_mmdc import MMDC
client = MMDC()
# The SED of 3C 273: source info plus every point
sed = client.sed.get(ra=187.2779, dec=2.0524, name="3C 273")
print(sed.source.redshift, sed.points)
sed.to_csv("3c273.csv")
# A synchronous SSC model spectrum
result = client.modeling.infer(
z=0.158, ebl=True, model_type="SSC",
parameters={"log_B": -1.5, "log_electron_luminosity": 44.0,
"log_gamma_cut": 5.0, "log_gamma_min": 2.0,
"log_radius": 16.0, "lorentz_factor": 20.0,
"spectral_index": 2.2},
)
print(result.nu, result.nuFnu)
The Getting started page has more examples, including a full SED-to-fit pipeline.
What you can do
- SED data: the SED at any sky position, with filters, unit conversion, CSV export and plots. See the SED data guide.
- Observations and light curves: filtered queries and cone searches over the unified observations catalogue (Fermi, Swift, NuSTAR, ZTF, ASAS-SN, ...). See the observations guide.
- Swift UVOT/XRT analysis: on-demand photometry and XRT spectral fits through the MADAM pipeline, with a coverage cache. See the Swift guide.
- Blazar emission modeling: SSC, EIC and hadronic model fits and synchronous inference. See the modeling guide.
- Async jobs: submit SED, modeling and Swift jobs, then poll them yourself. See Advanced.
Links
- Documentation: docs.mmdc.am
- MMDC platform: mmdc.am
- Paper: Sahakyan et al. 2024, AJ, 168, 289, doi:10.3847/1538-3881/ad8231
- Software DOI (Zenodo): doi:10.5281/zenodo.22999175
- Issues: github.com/icranet/astro-mmdc/issues
Citing
If you use MMDC data, models or this SDK in your research, please cite the MMDC paper (Sahakyan et al. 2024, AJ, 168, 289; doi:10.3847/1538-3881/ad8231):
@article{Sahakyan_2024,
title = {Markarian Multiwavelength Data Center (MMDC): A Tool for Retrieving and Modeling Multitemporal, Multiwavelength, and Multimessenger Data from Blazar Observations},
author = {Sahakyan, N. and Vardanyan, V. and Giommi, P. and B{\'e}gu{\'e}, D. and Israyelyan, D. and Harutyunyan, G. and Manvelyan, M. and Khachatryan, M. and Dereli-B{\'e}gu{\'e}, H. and Gasparyan, S.},
journal = {The Astronomical Journal},
publisher = {American Astronomical Society},
volume = {168},
number = {6},
pages = {289},
year = {2024},
month = nov,
doi = {10.3847/1538-3881/ad8231},
eprint = {2410.01207},
archivePrefix = {arXiv}
}
Data retrieved through MMDC is licensed under CC BY 4.0
and requires attribution. The SDK itself is archived on Zenodo, doi:10.5281/zenodo.22999175 (all versions); its citation metadata is in CITATION.cff.
License
BSD-3-Clause, see LICENSE.
Metadata
Release files for astro-mmdc 0.2.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| astro_mmdc-0.2.11.tar.gz | 32.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| astro_mmdc-0.2.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.9 kB
Release files / astro_mmdc-0.2.11.tar.gz
| Download URL | astro_mmdc-0.2.11.tar.gz |
|---|---|
| Size | 32.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de56566c9742182a81637c2b34c5a601e90718d23cc4177164a81a60e6377087
|
|
BLAKE2b-256 checksum How to use checksums |
cb8375a7fddb695a0eb64735251c0d59f3313108d050ecd66a447bddd089a546
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / astro_mmdc-0.2.11-py3-none-any.whl
| Download URL | astro_mmdc-0.2.11-py3-none-any.whl |
|---|---|
| Size | 38.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51ad9edc6ce70694f14fb276b43afaebd2b602a1cb0e103f2595a55132ff8431
|
|
BLAKE2b-256 checksum How to use checksums |
84995d982f1e406c713f5d5170d2290bbf98408d6fc31019f265e91687046626
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency log