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.


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.