ZodiPy

ZodiPy: A Python package for zodiacal light simulations - Published in JOSS (2024)

https://github.com/cosmoglobe/zodipy

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: arxiv.org, joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
    Organization cosmoglobe has institutional domain (cosmoglobe.uio.no)
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

astronomy astropy-affiliated infrared-astronomy interplanetary-dust python simulation-physics simulations zodiacal-light

Keywords from Contributors

exoplanet astrophysics astropy sunpy dynamics physics mesh gravitational-lensing standardization

Scientific Fields

Mathematics Computer Science - 88% confidence
Sociology Social Sciences - 87% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Astropy-affiliated package for zodiacal light simulations. Maintainers: @metinsa, @hermda02, @dncnwtts

Basic Info
Statistics
  • Stars: 12
  • Watchers: 2
  • Forks: 10
  • Open Issues: 3
  • Releases: 41
Topics
astronomy astropy-affiliated infrared-astronomy interplanetary-dust python simulation-physics simulations zodiacal-light
Created over 4 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

astropy PyPI - Python Version PyPI Actions Status GitHub Actions Workflow Status Project Status: Active – The project has reached a stable, usable state and is being actively developed. Codecov Ruff pyOpenSci ascl:2306.012 DOI

DOI

ZodiPy is an Astropy affiliated package for simulating zodiacal light in intensity for arbitrary solar system observers.

plot

Documentation

See the documentation for a list of supported zodiacal light models and examples of how to use ZodiPy.

A simple example

```python import astropy.units as u from astropy.coordinates import SkyCoord from astropy.time import Time

import zodipy

Initialize a zodiacal light model at a wavelength/frequency or over a bandpass

model = zodipy.Model(25*u.micron)

Use Astropy's SkyCoord object to specify coordinates

lon = [10, 10.1, 10.2] * u.deg lat = [90, 89, 88] * u.deg obstimes = Time(["2022-01-01 12:00:00", "2022-01-01 12:01:00", "2022-01-01 12:02:00"]) skycoord = SkyCoord(lon, lat, obstime=obstimes, frame="galactic")

Evaluate the zodiacal light model

emission = model.evaluate(skycoord)

print(emission)

> [27.52410841 27.66572294 27.81251906] MJy / sr

```

Related scientific papers

See CITATION - Cosmoglobe: Simulating zodiacal emission with ZodiPy (San et al. 2022). - ZodiPy: A Python package for zodiacal light simulations (San 2024).

Install

ZodiPy is installed with pip bash pip install zodipy

Dependencies

ZodiPy supports all Python versions >= 3.9, and has the following dependencies: - Astropy (>=5.0.1) - NumPy - jplephem - SciPy

For developers

Poetry

ZodiPy uses Poetry for development. To build and commit to the repository with the existing pre-commit setup, developers need to have Poetry (>= 1.8.0) installed. See the Poetry documentation for installation guide.

After poetry has been installed, developers should create a new virtual environment and run the following in the root of the ZodiPy repositry poetry install This will download all dependencies (including dev)from pyproject.toml, and poetry.lock.

Tests, linting and formatting, and building documentation

The following tools should be run from the root of the repository with no errors. (These are ran automatically as part of the CI workflows on GitHub, but should be tested locally first)

pytest

Testing is done with pytest. To run the tests, run the following command from the repository root bash pytest

ruff

Formating and linting is done with ruff. To format and lint, run the following command from the repository root bash ruff check ruff format

mypy

ZodiPy is fully typed. We use mypy as a static type checker. To type check, run the following command from the repositry root

bash mypy zodipy/ Remeber to add tests when implementing new features to maintain a high code coverage.

MkDocs

We use MkDocs to create our documentation. To serve the docs locally on you machine, run the following from the repositry root bash mkdocs serve

Funding

This work has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No 776282 (COMPET-4; BeyondPlanck), 772253 (ERC; bits2cosmology) and 819478 (ERC; Cosmoglobe).

 

Owner

  • Name: Cosmoglobe
  • Login: Cosmoglobe
  • Kind: organization

JOSS Publication

ZodiPy: A Python package for zodiacal light simulations
Published
April 20, 2024
Volume 9, Issue 96, Page 6648
Authors
Metin San ORCID
University of Oslo, Norway
Editor
Dan Foreman-Mackey ORCID
Tags
astronomy cosmology zodiacal light interplanetary dust

Citation (CITATION.bib)

@article{San2022,
  author        = {{San}, M. and {Herman}, D. and {Erikstad}, G.~B. and {Galloway}, M. and {Watts}, D.},
  title         = {{COSMOGLOBE: Simulating zodiacal emission with ZodiPy}},
  journal       = {\aap},
  keywords      = {interplanetary medium, cosmic background radiation, zodiacal dust, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
  year          = 2022,
  month         = oct,
  volume        = {666},
  eid           = {A107},
  pages         = {A107},
  doi           = {10.1051/0004-6361/202244133},
  archiveprefix = {arXiv},
  eprint        = {2205.12962},
  primaryclass  = {astro-ph.EP},
  adsurl        = {https://ui.adsabs.harvard.edu/abs/2022A&A...666A.107S},
  adsnote       = {Provided by the SAO/NASA Astrophysics Data System}
}

@article{San2024,
  doi       = {10.21105/joss.06648},
  url       = {https://doi.org/10.21105/joss.06648},
  year      = {2024},
  publisher = {The Open Journal},
  volume    = {9},
  number    = {96},
  pages     = {6648},
  author    = {Metin San},
  title     = {ZodiPy: A Python package for zodiacal light simulations},
  journal   = {Journal of Open Source Software}
} 

GitHub Events

Total
  • Create event: 7
  • Release event: 2
  • Issues event: 14
  • Delete event: 3
  • Issue comment event: 17
  • Push event: 15
  • Pull request review event: 4
  • Pull request event: 9
  • Fork event: 4
Last Year
  • Create event: 7
  • Release event: 2
  • Issues event: 14
  • Delete event: 3
  • Issue comment event: 17
  • Push event: 15
  • Pull request review event: 4
  • Pull request event: 9
  • Fork event: 4

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 485
  • Total Committers: 6
  • Avg Commits per committer: 80.833
  • Development Distribution Score (DDS): 0.029
Past Year
  • Commits: 11
  • Committers: 4
  • Avg Commits per committer: 2.75
  • Development Distribution Score (DDS): 0.545
Top Committers
Name Email Commits
Metin San m****n@g****m 471
hermda02 d****2@g****m 7
dependabot[bot] 4****] 4
Takatho T****o@g****m 1
P. L. Lim 2****m 1
Dan F-M f****y@g****m 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 29
  • Total pull requests: 34
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 3 days
  • Total issue authors: 9
  • Total pull request authors: 7
  • Average comments per issue: 1.72
  • Average comments per pull request: 0.85
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 7
Past Year
  • Issues: 9
  • Pull requests: 10
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 7 hours
  • Issue authors: 7
  • Pull request authors: 4
  • Average comments per issue: 2.11
  • Average comments per pull request: 0.8
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 3
Top Authors
Issue Authors
  • MetinSa (13)
  • pllim (7)
  • dncnwtts (2)
  • asabyr (2)
  • Hellseher (1)
  • hamogu (1)
  • jdtsmith (1)
  • Borlaff (1)
  • ValSPb (1)
Pull Request Authors
  • MetinSa (17)
  • dependabot[bot] (9)
  • pllim (2)
  • Takatho (2)
  • hermda02 (2)
  • dncnwtts (2)
  • dfm (1)
Top Labels
Issue Labels
enhancement (11) good first issue (3) bug (3) help wanted (1)
Pull Request Labels
dependencies (9) enhancement (6) github_actions (2)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 161 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 55
  • Total maintainers: 2
pypi.org: zodipy

A Python package for zodiacal light simulations

  • Versions: 53
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 152 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 15.5%
Stargazers count: 17.1%
Average: 17.4%
Dependent repos count: 21.6%
Forks count: 22.7%
Maintainers (2)
Last synced: 4 months ago
pypi.org: quadcube

Python bindings for `pix2vec` for converting between quadcube res15 pixel number to ecliptic unit vectors.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 9 Last month
Rankings
Dependent packages count: 7.0%
Average: 18.7%
Dependent repos count: 30.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

poetry.lock pypi
  • astunparse 1.6.3 develop
  • atomicwrites 1.4.0 develop
  • attrs 21.4.0 develop
  • black 22.3.0 develop
  • cfgv 3.3.1 develop
  • click 8.1.3 develop
  • colorama 0.4.5 develop
  • coverage 6.4.1 develop
  • distlib 0.3.4 develop
  • exceptiongroup 1.0.0rc8 develop
  • filelock 3.7.1 develop
  • ghp-import 2.1.0 develop
  • hypothesis 6.47.5 develop
  • identify 2.5.1 develop
  • importlib-metadata 4.11.4 develop
  • iniconfig 1.1.1 develop
  • jinja2 3.0.3 develop
  • markdown 3.3.7 develop
  • markdown-include 0.6.0 develop
  • markupsafe 2.1.1 develop
  • mergedeep 1.3.4 develop
  • mkdocs 1.3.0 develop
  • mkdocs-autorefs 0.2.1 develop
  • mkdocs-material 7.3.0 develop
  • mkdocs-material-extensions 1.0.3 develop
  • mkdocstrings 0.15.2 develop
  • mypy 0.910 develop
  • mypy-extensions 0.4.3 develop
  • nodeenv 1.6.0 develop
  • pathspec 0.9.0 develop
  • platformdirs 2.5.2 develop
  • pluggy 1.0.0 develop
  • pre-commit 2.19.0 develop
  • py 1.11.0 develop
  • pygments 2.11.2 develop
  • pymdown-extensions 8.2 develop
  • pytest 6.2.5 develop
  • pytest-cov 3.0.0 develop
  • pytkdocs 0.11.1 develop
  • pyyaml-env-tag 0.1 develop
  • sortedcontainers 2.4.0 develop
  • toml 0.10.2 develop
  • tox 3.25.0 develop
  • virtualenv 20.14.1 develop
  • watchdog 2.1.9 develop
  • zipp 3.8.0 develop
  • astropy 5.1
  • cplot 0.9.1
  • cycler 0.11.0
  • fonttools 4.33.3
  • healpy 1.15.2
  • jplephem 2.17
  • kiwisolver 1.4.3
  • matplotlib 3.5.2
  • matplotx 0.3.7
  • mpmath 1.2.1
  • ndim 0.1.6
  • networkx 2.8.4
  • npx 0.1.1
  • numpy 1.23.0
  • orthopy 0.8.92
  • packaging 21.3
  • pillow 9.1.1
  • pyerfa 2.0.0.1
  • pyparsing 3.0.9
  • pypng 0.0.21
  • python-dateutil 2.8.2
  • pyyaml 6.0
  • quadpy 0.16.16
  • scipy 1.6.1
  • setuptools-scm 7.0.2
  • six 1.16.0
  • sympy 1.10.1
  • tomli 2.0.1
  • typing-extensions 4.2.0
  • x21 0.3.3
pyproject.toml pypi
  • Jinja2 <3.1.0 develop
  • black ^22.3.0 develop
  • coverage ^6.4.1 develop
  • hypothesis ^6.47.5 develop
  • markdown-include ^0.6.0 develop
  • mkdocs ^1.2.1 develop
  • mkdocs-material ^7.1.10 develop
  • mkdocstrings ^0.15.2 develop
  • mypy ^0.910 develop
  • pre-commit ^2.19.0 develop
  • pygments >=2.10, <2.12 develop
  • pymdown-extensions <9.4 develop
  • pytest ^6.2.4 develop
  • pytest-cov ^3.0.0 develop
  • tox ^3.24.3 develop
  • astropy >=5.0.1
  • healpy ^1.15.0
  • jplephem ^2.17
  • numpy ^1.22.3
  • python >=3.8
  • quadpy ^0.16.13
  • typing-extensions ^4.1.1
.github/workflows/mkdocs-deploy.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • snok/install-poetry v1.3.3 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v3 composite
  • snok/install-poetry v1.3.3 composite