sdss-marvin

Data access and visualization for MaNGA. http://sdss-marvin.readthedocs.io/en/latest/

https://github.com/sdss/marvin

Science Score: 59.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    18 of 32 committers (56.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.0%) to scientific vocabulary

Keywords

astronomy manga marvin sdss
Last synced: 6 months ago · JSON representation

Repository

Data access and visualization for MaNGA. http://sdss-marvin.readthedocs.io/en/latest/

Basic Info
  • Host: GitHub
  • Owner: sdss
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 177 MB
Statistics
  • Stars: 59
  • Watchers: 9
  • Forks: 34
  • Open Issues: 107
  • Releases: 47
Topics
astronomy manga marvin sdss
Created over 9 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog License Code of conduct Codeowners Zenodo

README.rst

Marvin
======

Marvin is the ultimate tool to visualise and analyse MaNGA data. It is
developed and maintained by the MaNGA team.

|Build Package| |Run Test Suite| |CodeCov| |Coverage Status| |PyPI| |DOI| |astropy|
|readthedocs|

Installation
------------

To install Marvin:

::

    pip install sdss-marvin

If you would like to contribute to Marvin's development, you can clone
this git repo, and run pip install in editable mode which will install all the
dev dependencies:

::

    git clone https://github.com/sdss/marvin
    cd marvin
    pip install -e ".[dev,web,db]"

This will install all dependencies needed for development and testing, including for
the Marvin web/api server and the Marvin use of the MaNGA database.

Testing
-------

To run the test suite on Marvin, use ``pytest tests/``.  By default this will run all tests against
Marvin's core file access mode, as well as its database and remote access modes. The test suite uses
the following two galaxies: `8485-1901` and `7443-12701` for testing. To successfully run all tests
you will need:

*  The file data for the two test galaxies
*  A local MaNGA database with the galaxy loaded into it
*  A local Marvin web server running

You can download the necessary test data with the command.
::

   python bin/get_test_data.py

You can run a local Marvin web server with the following command.  This will start a local web server running
in debug mode on port 5000.
::

   cd bin/
   run_marvin -d -p 5000

You can disable database and web server tests by using Pytest markers.  The availble markers and options are:

*  **slow**: Run only slow tests.
*  **uses_db**: Run only tests that use the database.
*  **uses_web**: Run only tests that use the web/api server.
*  **--local-only**: Run only tests that use local data.

To run the test suite minimally against the core marvin package with local file access, use the following command:
::

   pytest --local-only -m "not uses_db and not uses_web and not slow" tests/


What is Marvin?
---------------

Marvin is a complete ecosystem designed for overcoming the challenge of
searching, accessing, and visualizing the MaNGA data. It consists of a
three-pronged approach of a web app, a python package, and an API. The
web app, Marvin-web, provides an easily accessible interface for
searching the MaNGA data and visual exploration of individual MaNGA
galaxies or of the entire sample. The python package, in particular
Marvin-tools, allows users to easily and efficiently interact with the
MaNGA data via local files, files retrieved from the `Science Archive
Server `__, or data directly grabbed from the
database. The tools come mainly in the form of convenience functions and
classes for interacting with the data. An additional tool is a powerful
query functionality that uses the API to query the MaNGA databases and
return the search results to your python session. Marvin-API is the
critical link that allows Marvin-tools and Marvin-web to interact with
the databases, which enables users to harness the statistical power of
the MaNGA data set.

Documentation
-------------

You can find the latest Marvin documentation
`here `__.

Citation and Acknowledgements
-----------------------------

If you use Marvin for work/research presented in a publication (whether
directly, or as a dependency to another package), we ask that you cite
the `Marvin Software `__ (BibTeX). We
provide the following as a standard acknowledgment you can use if there
is not a specific place to cite the DOI:

::

    *This research made use of Marvin, a core Python package and web framework for MaNGA data, developed by Brian Cherinka, José Sánchez-Gallego, Brett Andrews, and Joel Brownstein. (MaNGA Collaboration, 2018).*

Marvin's Bibtex entry to use:

::

    @ARTICLE{2019AJ....158...74C,
           author = {{Cherinka}, Brian and {Andrews}, Brett H. and
             {S{\'a}nchez-Gallego}, Jos{\'e} and {Brownstein}, Joel and
             {Argudo-Fern{\'a}ndez}, Mar{\'\i}a and {Blanton}, Michael and
             {Bundy}, Kevin and {Jones}, Amy and {Masters}, Karen and
             {Law}, David R. and {Rowlands}, Kate and {Weijmans}, Anne-Marie and
             {Westfall}, Kyle and {Yan}, Renbin},
            title = "{Marvin: A Tool Kit for Streamlined Access and Visualization of the SDSS-IV MaNGA Data Set}",
          journal = {\aj},
         keywords = {astronomical databases: miscellaneous, methods: data analysis, surveys, Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Astrophysics of Galaxies},
             year = 2019,
            month = aug,
           volume = {158},
           number = {2},
              eid = {74},
            pages = {74},
              doi = {10.3847/1538-3881/ab2634},
    archivePrefix = {arXiv},
           eprint = {1812.03833},
     primaryClass = {astro-ph.IM},
           adsurl = {https://ui.adsabs.harvard.edu/abs/2019AJ....158...74C},
          adsnote = {Provided by the SAO/NASA Astrophysics Data System}
    }



License
-------

Marvin is licensed under a 3-clause BSD style license - see the
``LICENSE.md`` file.

.. |Build Package| image:: https://github.com/sdss/marvin/actions/workflows/build.yml/badge.svg
   :target: https://github.com/sdss/marvin/actions/workflows/build.yml
.. |Run Test Suite| image:: https://github.com/sdss/marvin/actions/workflows/test.yml/badge.svg
   :target: https://github.com/sdss/marvin/actions/workflows/test.yml
.. |CodeCov| image:: https://codecov.io/gh/sdss/marvin/branch/main/graph/badge.svg
   :target: https://codecov.io/gh/sdss/marvin
.. |Coverage Status| image:: https://coveralls.io/repos/github/sdss/marvin/badge.svg?branch=master
   :target: https://coveralls.io/github/sdss/marvin?branch=master
.. |PyPI| image:: https://img.shields.io/pypi/v/sdss-marvin.svg
   :target: https://pypi.python.org/pypi/sdss-marvin
.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.596700.svg
   :target: https://doi.org/10.5281/zenodo.596700
.. |astropy| image:: http://img.shields.io/badge/powered%20by-AstroPy-orange.svg?style=flat
   :target: http://www.astropy.org/
.. |readthedocs| image:: https://readthedocs.org/projects/docs/badge/
   :target: http://sdss-marvin.readthedocs.io/en/latest/

Owner

  • Name: SDSS
  • Login: sdss
  • Kind: organization
  • Email: admin@sdss.org

GitHub Events

Total
  • Create event: 8
  • Release event: 3
  • Issues event: 9
  • Watch event: 3
  • Delete event: 1
  • Issue comment event: 10
  • Push event: 25
  • Pull request event: 7
  • Fork event: 1
Last Year
  • Create event: 8
  • Release event: 3
  • Issues event: 9
  • Watch event: 3
  • Delete event: 1
  • Issue comment event: 10
  • Push event: 25
  • Pull request event: 7
  • Fork event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 5,310
  • Total Committers: 32
  • Avg Commits per committer: 165.938
  • Development Distribution Score (DDS): 0.677
Past Year
  • Commits: 18
  • Committers: 1
  • Avg Commits per committer: 18.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Brian Cherinka h****3@h****m 1,716
José Sánchez-Gallego g****j@u****u 1,191
Brett Andrews b****s@g****m 888
bac29 b****9@D****u 455
bac29 b****9@b****u 446
j.sanchezgallego j****o@b****u 165
bandrews b****s@D****u 86
joelbrownstein j****n@b****u 75
joelbrownstein j****n@D****u 75
José Sánchez-Gallego j****o@u****u 56
bandrews b****s@b****u 33
CKrawczyk c****k@g****m 23
Brian Cherinka c****a@d****a 15
Héctor Hernández Toledo h****r@i****l 14
Tobias t****n@g****m 10
margudo m****o@p****l 10
Michael Talbot m****l@b****u 6
Karen Masters k****s@g****m 6
Jianhui Lian j****i@l****k 5
Michael Talbot m****t@a****u 4
Justus Neumann j****o@g****m 4
Antonio Vazquez 3****7 4
N Benjamin Murphy n****y@a****u 3
Kyle Westfall k****l@g****m 3
Joel Brownstein j****n@a****u 3
David d****k@h****u 3
zpace z****1@g****m 3
Maria Argudo Fernandez m****o@u****l 2
Tim Haines t****s@a****u 2
Antoine j****7@L****l 2
and 2 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 87
  • Total pull requests: 47
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 6 days
  • Total issue authors: 52
  • Total pull request authors: 5
  • Average comments per issue: 2.23
  • Average comments per pull request: 0.23
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 7
  • Pull requests: 10
  • Average time to close issues: 2 months
  • Average time to close pull requests: 16 minutes
  • Issue authors: 5
  • Pull request authors: 2
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 6
Top Authors
Issue Authors
  • havok2063 (21)
  • TheRealEKL (5)
  • bretthandrews (3)
  • astrosteph (3)
  • bp572 (3)
  • CptnN3MO (2)
  • KuabNad (2)
  • KEERTHI-K66 (2)
  • hplana (2)
  • margudo (2)
  • albireox (2)
  • prajwel (1)
  • khrrubin (1)
  • CalebRichardson2001 (1)
  • karenlmasters (1)
Pull Request Authors
  • havok2063 (39)
  • dependabot[bot] (6)
  • CKrawczyk (2)
  • dvstark (1)
  • jusneuma (1)
Top Labels
Issue Labels
enhancement (16) bug (12) marvin-web (9) testing (5) vetting (5) question (5) marvin-queries (3) epic (3) marvin-tools (2) needs-reproduction (2) documentation (2) authentication (2) priority-science (2) priority-difficult (1) wontfix (1) database (1) priority-low (1) priority-high (1)
Pull Request Labels
enhancement (18) code-health (9) bug (6) dependencies (6) sustainability (2) python (2) database (1) marvin-web (1) testing (1) marvin-api (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 529 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 48
  • Total maintainers: 2
pypi.org: sdss-marvin

Toolsuite for dealing with the MaNGA dataset

  • Versions: 48
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 529 Last month
Rankings
Forks count: 6.8%
Stargazers count: 9.3%
Dependent packages count: 10.1%
Average: 12.6%
Downloads: 15.0%
Dependent repos count: 21.6%
Maintainers (2)
Last synced: 6 months ago

Dependencies

python/marvin/web/lib/package.json npm
  • babel-preset-es2015 ^6.24.1 development
  • grunt ^1.0.4 development
  • grunt-babel ^6.0.0 development
  • grunt-bootlint ^0.11.1 development
  • grunt-contrib-concat ^1.0.0 development
  • grunt-contrib-cssmin ^3.0.0 development
  • grunt-contrib-imagemin ^3.1.0 development
  • grunt-contrib-sass ^1.0.0 development
  • grunt-contrib-uglify ^1.0.1 development
  • grunt-newer ^1.3.0 development
  • load-grunt-tasks ^3.5.0 development
.github/workflows/build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/test.yml actions
  • actions/cache v3 composite
  • actions/checkout v2 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
  • extractions/netrc v1 composite
setup.py pypi
docker/Dockerfile docker
  • python 3.10-slim build
docker/docker-compose.yml docker
  • marvin ${MARVIN_TAG
  • nginx latest
  • redis latest
.github/workflows/docker.yml actions
  • actions/checkout v4 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
docker/docker-compose-dev.yml docker
  • marvin ${MARVIN_TAG
  • nginx latest
  • redis latest
pyproject.toml pypi
requirements.txt pypi
  • alabaster ==0.7.16
  • appnope ==0.1.4
  • astropy ==6.1.7
  • astropy-iers-data ==0.2025.2.3.0.32.42
  • asttokens ==3.0.0
  • attrs ==25.1.0
  • babel ==2.17.0
  • beautifulsoup4 ==4.13.1
  • bleach ==6.2.0
  • blinker ==1.9.0
  • brotli ==1.1.0
  • cachelib ==0.9.0
  • certifi ==2025.1.31
  • charset-normalizer ==3.4.1
  • click ==8.1.8
  • codecov ==2.1.13
  • comm ==0.2.2
  • configparser ==7.1.0
  • contourpy ==1.3.1
  • coverage ==7.6.10
  • coveralls ==4.0.1
  • cycler ==0.12.1
  • daemonocle ==1.2.3
  • debugpy ==1.8.12
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • doc8 ==1.1.2
  • docopt ==0.6.2
  • docutils ==0.19
  • dogpile-cache ==1.0.2
  • execnet ==2.1.1
  • executing ==2.2.0
  • fast-histogram ==0.14
  • fastjsonschema ==2.21.1
  • flake8 ==7.1.1
  • flask ==2.1.3
  • flask-caching ==2.3.0
  • flask-classful ==0.16.0
  • flask-compress ==1.17
  • flask-cors ==5.0.0
  • flask-featureflags ==0.6
  • flask-httpauth ==4.8.0
  • flask-limiter ==2.3.3
  • flask-login ==0.6.3
  • flask-profiler ==1.8.1
  • flask-session ==0.4.1
  • flask-testing ==0.8.1
  • fonttools ==4.55.8
  • fuzzywuzzy ==0.18.0
  • h11 ==0.14.0
  • idna ==3.10
  • imagesize ==1.4.1
  • infinity ==1.5
  • iniconfig ==2.0.0
  • intervals ==0.9.2
  • invoke ==2.2.0
  • ipdb ==0.13.13
  • ipykernel ==6.29.5
  • ipython ==8.32.0
  • isort ==6.0.0
  • itsdangerous ==2.2.0
  • jaraco-classes ==3.4.0
  • jaraco-context ==6.0.1
  • jaraco-functools ==4.1.0
  • jedi ==0.19.2
  • jinja2 ==3.1.5
  • jsonschema ==4.23.0
  • jsonschema-specifications ==2024.10.1
  • jupyter-client ==8.6.3
  • jupyter-core ==5.7.2
  • jupyterlab-pygments ==0.3.0
  • keyring ==25.6.0
  • kiwisolver ==1.4.8
  • levenshtein ==0.26.1
  • limits ==2.4.0
  • markdown-it-py ==3.0.0
  • markupsafe ==3.0.2
  • marshmallow ==3.26.1
  • marvin-brain ==0.3.0
  • marvin-sqlalchemy-boolean-search ==0.2.2
  • marvin-wtforms-alchemy ==0.18.0
  • matplotlib ==3.10.0
  • matplotlib-inline ==0.1.7
  • mccabe ==0.7.0
  • mdurl ==0.1.2
  • mistune ==3.1.1
  • more-itertools ==10.6.0
  • mpl-scatter-density ==0.8
  • msgpack ==1.1.0
  • msgpack-numpy ==0.4.8
  • nbclient ==0.10.2
  • nbconvert ==7.16.6
  • nbformat ==5.10.4
  • nbsphinx ==0.9.6
  • nest-asyncio ==1.6.0
  • networkx ==3.4.2
  • nh3 ==0.2.20
  • numpy ==1.26.4
  • numpyencoder ==0.3.0
  • outcome ==1.3.0.post0
  • packaging ==20.9
  • page-objects ==1.1.0
  • pandas ==2.2.3
  • pandocfilters ==1.5.1
  • parso ==0.8.4
  • passlib ==1.7.4
  • pbr ==6.1.0
  • pexpect ==4.9.0
  • pgpasslib ==1.1.0
  • photutils ==2.1.0
  • pillow ==11.1.0
  • pkginfo ==1.12.0
  • platformdirs ==4.3.6
  • pluggy ==1.5.0
  • prompt-toolkit ==3.0.50
  • psutil ==6.1.1
  • psycopg2 ==2.9.10
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.3
  • pycodestyle ==2.12.1
  • pyerfa ==2.0.1.5
  • pyflakes ==3.2.0
  • pygments ==2.19.1
  • pympler ==1.1
  • pyparsing ==2.4.7
  • pysocks ==1.7.1
  • pytest ==8.3.4
  • pytest-cov ==6.0.0
  • pytest-flask ==1.3.0
  • pytest-mock ==3.14.0
  • pytest-remotedata ==0.4.1
  • pytest-split ==0.10.0
  • pytest-sugar ==0.9.6
  • pytest-timeout ==2.3.1
  • pytest-xdist ==3.6.1
  • python-dateutil ==2.9.0.post0
  • python-json-logger ==3.2.1
  • python-levenshtein ==0.26.1
  • pytz ==2025.1
  • pyyaml ==6.0.2
  • pyzmq ==26.2.1
  • rapidfuzz ==3.12.1
  • raven ==6.10.0
  • readme-renderer ==43.0
  • redis ==5.2.1
  • referencing ==0.36.2
  • requests ==2.32.3
  • requests-toolbelt ==1.0.0
  • restructuredtext-lint ==1.4.0
  • rfc3986 ==2.0.0
  • rich ==13.9.4
  • rpds-py ==0.22.3
  • scipy ==1.15.1
  • sdss-access ==3.0.5
  • sdss-tree ==4.0.7
  • sdsstools ==1.9.1
  • selenium ==4.28.1
  • setuptools ==75.8.0
  • simplejson ==3.19.3
  • six ==1.17.0
  • sniffio ==1.3.1
  • snowballstemmer ==2.2.0
  • sortedcontainers ==2.4.0
  • soupsieve ==2.6
  • sphinx ==5.1.1
  • sphinx-bootstrap-theme ==0.8.1
  • sphinx-issues ==5.0.0
  • sphinx-rtd-theme ==2.0.0
  • sphinxcontrib-applehelp ==2.0.0
  • sphinxcontrib-devhelp ==2.0.0
  • sphinxcontrib-htmlhelp ==2.1.0
  • sphinxcontrib-httpdomain ==1.8.1
  • sphinxcontrib-jquery ==4.1
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==2.0.0
  • sphinxcontrib-serializinghtml ==2.0.0
  • sqlalchemy ==1.3.24
  • sqlalchemy-utils ==0.41.2
  • stack-data ==0.6.3
  • stevedore ==5.4.0
  • termcolor ==2.5.0
  • tinycss2 ==1.4.0
  • tornado ==6.4.2
  • tqdm ==4.67.1
  • traitlets ==5.14.3
  • trio ==0.28.0
  • trio-websocket ==0.11.1
  • twine ==6.0.1
  • typing-extensions ==4.12.2
  • tzdata ==2025.1
  • urllib3 ==2.3.0
  • validators ==0.34.0
  • wcwidth ==0.2.13
  • webargs ==5.5.3
  • webencodings ==0.5.1
  • websocket-client ==1.8.0
  • werkzeug ==2.1.2
  • wheel ==0.45.1
  • wsproto ==1.2.0
  • wtforms ==3.2.1
  • wtforms-components ==0.11.0
  • yamlordereddictloader ==0.4.2
  • zstandard ==0.23.0