mangadap.survey.mangampl module

Defines a class to keep track of MaNGA MPL dependencies and versioning.

Note

This class was created for the survey-level execution of the DAP. The dependencies will necessarily grow, and will be handled using module files. So, even as it is, this class has little utility.

Todo

Deprecate this. I’m not sure it’s actually used (or useful) anymore.

Revision history

2015: Original Implementation by K. Westfall (KBW)
Apr 2015: (KBW) Added MPL-3
20 May 2015: (KBW) Documentation and Sphinx tests. Change default to MPL-3
27 Aug 2015: (KBW) Added (temporary) MPL-4 dependencies
06 Oct 2015: (KBW) Changed DRP version for MPL-4 to v1_5_0
22 Oct 2015: (KBW) Changed DRP version for MPL-4 to v1_5_1. Added version dependency for mangacore and sdss_access.
13 May 2016: (KBW) Added MPL-5 (for now trunk).
10 Oct 2016: (KBW) Updated for MPL-6 (DAP is trunk temporarily).
11 Oct 2016: (KBW) Moved version checking to here (previously in rundap.py).
11 May 2017: (KBW) Update MPL-6 dependencies; remove module_file function

License

Copyright © 2019, SDSS-IV/MaNGA Pipeline Group


class mangadap.survey.mangampl.MaNGAMPL(version=None, strictver=True)[source]

Bases: object

Create an object that keeps track of IDLUTILS, SDSS_ACCESS, MANGACORE, and MANGADRP dependencies for a given MPL and other intermediate analyses. Dependencies are selected by the “MPL” version as provided in the following table:

SDSS dependencies +——–+————-+————+——–+——–+——–+ | MPL | SDSS_ACCESS | IDLUTILS | CORE | DRP | DAP | +========+=============+============+========+========+========+ | MPL-1 | None | v5_5_16 | v1_0_0 | v1_0_0 | None | +——–+————-+————+——–+——–+——–+ | MPL-2 | None | v5_5_17 | v1_0_0 | v1_1_2 | None | +——–+————-+————+——–+——–+——–+ | v1_2_0 | None | v5_5_19 | v1_1_0 | v1_2_0 | None | +——–+————-+————+——–+——–+——–+ | MPL-3 | None | v5_5_22 | v1_1_0 | v1_3_3 | v1_0_0 | +——–+————-+————+——–+——–+——–+ | MPL-4 | 0.0.0 | v5_5_23 | v1_2_0 | v1_5_1 | 1.1.1 | +——–+————-+————+——–+——–+——–+ | MPL-5 | 0.2.0 | v5_5_26 | v1_3_1 | v2_0_1 | 2.0.2 | +——–+————-+————+——–+——–+——–+ | MPL-6 | None | v5_5_30 | v1_6_0 | v2_3_1 | 2.1.3 | +——–+————-+————+——–+——–+——–+ | MPL-7 | None | v5_5_32 | v1_6_2 | v2_4_3 | 2.2.1 | +——–+————-+————+——–+——–+——–+

Python versions +——–+——–+——–+——–+————+———+——-+—————-+ | MPL | python | numpy | scipy | matplotlib | astropy | pydl | Fwd compatible | +========+========+========+========+============+=========+=======+================+ | MPL-5 | 3.5.1 | 1.11.0 | 0.17.1 | None | 1.1.2 | 0.5.0 | yes | +——–+——–+——–+——–+————+———+——-+—————-+ | MPL-6 | 3.6.3 | 1.13.3 | 1.0.0 | None | 2.0.2 | 0.6.0 | N/A | +——–+——–+——–+——–+————+———+——-+—————-+ | MPL-7 | 3.6.3 | 1.13.3 | 1.0.0 | None | 2.0.2 | 0.6.0 | N/A | +——–+——–+——–+——–+————+———+——-+—————-+

Note

  • “Fwd compatible” means that you can run this version of the DAP with the most recent version without needed to revert the python packages to their previous versions.
  • Only the survey-level routines are dependent on MANGACORE; the core DAP processing software only depends on the listed python packages.

Todo

  • Change python dependencies to “minimum” versions?

Warning

  • SDSS_ACCESS dependencies are only because of the plotting package that has since moved into Marvin.
  • For MPL-1, the MANGACORE version was set to trunk. Here it defaults to v1_0_0.
  • Explicit dependence on matplotlib was introduced in MPL-6.
Parameters:
  • version (str) – (Optional) Version as selected via matching to the “MPL” string in the table listed above. Default: MPL-6.
  • strictver (bool) – (Optional) Strictly check the version requirements for this version of the dap. Default is True, meaning the code will raise an exception if the expected version are not the same as the environment.
Raises:

ValueError – Raised if the provided version is not one of the MPL values in the above table.

mplver

Version as selected via matching to the “MPL” string in the table listed above. Default: MPL-5.

Type:str
accessver

SDSS_ACCESS version.

Type:str
idlver

IDLUTILS version.

Type:str
corever

MANGACORE version.

Type:str
drpver

MANGADRP version.

Type:str
dapver

MANGADAP version.

Type:str
pythonver

Python version

Type:str
numpyver

Numpy version

Type:str
scipyver

Scipy version

Type:str
matplotlibver

Matplotlib version

Type:str
astropyver

Astropy version

Type:str
pydlver

Pydl version

Type:str
strictver

Strictly check the version requirements for this version of the dap. If True, an exception is raised if the expected version are not the same as the environment.

Type:bool
_available_mpls(write=False)[source]

Return a list of the available MPLs to analyze, and printing it if requested.

Parameters:
  • write (bool) – Write the list of available MPLs to the
  • stdout.
Returns:

A string array with the MPL dependencies

Return type:

numpy.array

_version_mismatch(package, required_ver, environment_ver, quiet=False)[source]

A version mismatch was detected. Handle based on strictver.

get_environment_versions()[source]
show()[source]

Print the available MPL versions to stdout.

verify_versions(quiet=True)[source]

Verify that the defined MPL versions are consistent with the system where the DAP is being run.