lsst.utils¶
The lsst.utils module provides common code for tests, interfacing between C++ and Python, and debugging.
Changes¶
Contributing¶
lsst.utils is developed at https://github.com/lsst/utils.
You can find Jira issues for this module under the utils component.
Python API reference¶
lsst.utils Package¶
Functions¶
  | 
Re-open the decorated class, adding any new definitions into the original.  | 
  | 
Deprecate a pybind11-wrapped C++ interface function, method or class.  | 
  | 
Import a python object given an importable string and return it.  | 
  | 
Import a python type given an importable string and return it.  | 
  | 
Find the file system location of the EUPS package.  | 
  | 
Add the decorated function to the given class as a method.  | 
  | 
Extend existing documentation for a method that exists in another class and extend it with any additional documentation defined.  | 
  | 
Suppress warnings generated by   | 
Classes¶
  | 
A metaclass for abstract base classes that tie together wrapped C++ template types.  | 
Class Inheritance Diagram¶
digraph inheritance427d8f8179 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "TemplateMeta" [URL="../../../py-api/lsst.utils.TemplateMeta.html#lsst.utils.TemplateMeta",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A metaclass for abstract base classes that tie together wrapped C++"]; }lsst.utils.tests Module¶
Functions¶
  | 
Initialize the memory tester and file descriptor leak tester.  | 
  | 
Return a path suitable for a temporary file and try to delete the file on success.  | 
  | 
Highly-configurable floating point comparisons for scalars and arrays.  | 
  | 
Fail a test if the given floating point values are equal to within the given tolerances.  | 
  | 
Assert that lhs == rhs (both numeric types, whether scalar or array).  | 
  | 
Enter the debugger when there's an uncaught exception.  | 
  | 
Class decorator for generating unit tests.  | 
  | 
Iterate over supplied settings to create subtests automatically.  | 
Context manager that creates and destroys a temporary directory.  | 
Classes¶
  | 
Check for resource leaks.  | 
  | 
Test that executables can be run and return good status.  | 
  | 
Test that the named packages can be imported and all files within that package.  | 
  | 
Subclass of unittest.TestCase that adds some custom assertions for convenience.  | 
Class Inheritance Diagram¶
digraph inheritancea7d49b55f8 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ExecutablesTestCase" [URL="../../../py-api/lsst.utils.tests.ExecutablesTestCase.html#lsst.utils.tests.ExecutablesTestCase",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Test that executables can be run and return good status."]; "TestCase" -> "ExecutablesTestCase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ImportTestCase" [URL="../../../py-api/lsst.utils.tests.ImportTestCase.html#lsst.utils.tests.ImportTestCase",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Test that the named packages can be imported and all files within"]; "TestCase" -> "ImportTestCase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "MemoryTestCase" [URL="../../../py-api/lsst.utils.tests.MemoryTestCase.html#lsst.utils.tests.MemoryTestCase",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Check for resource leaks."]; "TestCase" -> "MemoryTestCase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TestCase" [URL="../../../py-api/lsst.utils.tests.TestCase.html#lsst.utils.tests.TestCase",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Subclass of unittest.TestCase that adds some custom assertions for"]; "TestCase" -> "TestCase" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TestCase" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="A class whose instances are single test cases."]; }lsst.utils.logging Module¶
Functions¶
  | 
Get a logger compatible with LSST usage.  | 
  | 
Get a logger with the appropriate TRACE name.  | 
  | 
Adjust logging level to display messages with the trace number being less than or equal to the provided value.  | 
Classes¶
  | 
A special logging adapter to provide log features for LSST code.  | 
  | 
Issue log messages if a time threshold has elapsed.  | 
Class Inheritance Diagram¶
digraph inheritance072fe32b5f { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "LoggerAdapter" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="An adapter for loggers which makes it easier to specify contextual"]; "LsstLogAdapter" [URL="../../../py-api/lsst.utils.logging.LsstLogAdapter.html#lsst.utils.logging.LsstLogAdapter",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A special logging adapter to provide log features for LSST code."]; "LoggerAdapter" -> "LsstLogAdapter" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PeriodicLogger" [URL="../../../py-api/lsst.utils.logging.PeriodicLogger.html#lsst.utils.logging.PeriodicLogger",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Issue log messages if a time threshold has elapsed."]; }lsst.utils.iteration Module¶
Functions¶
  | 
Return smaller chunks of an iterable.  | 
Ensure that the input is iterable.  | 
|
  | 
Split a string or bytes by separator returning a generator.  | 
  | 
Convert a list of integers or strings into a compact string representation by merging consecutive values or sequences.  | 
lsst.utils.classes Module¶
Functions¶
  | 
Decorate a method to cache the result.  | 
  | 
Decorate a class to simulate a simple form of immutability.  | 
Classes¶
Metaclass to convert a class to a Singleton.  | 
Class Inheritance Diagram¶
digraph inheritancee6726f6b2b { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "Singleton" [URL="../../../py-api/lsst.utils.classes.Singleton.html#lsst.utils.classes.Singleton",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Metaclass to convert a class to a Singleton."]; }lsst.utils.introspection Module¶
Functions¶
  | 
Given the type name or a type, return the python type.  | 
  | 
Return full type name of the supplied entity.  | 
  | 
Given the type name or a type, instantiate an object of that type.  | 
  | 
Get the name of the caller method.  | 
  | 
Find the stacklevel for outside of the given module.  | 
Count the number of existing objects, by type.  | 
|
  | 
Find the chain(s) of references that make(s) objects of a class reachable.  | 
lsst.utils.timer Module¶
Functions¶
  | 
Profile the enclosed code block and save the result to a file.  | 
  | 
Log timer information to   | 
  | 
Measure duration of a method.  | 
  | 
Time the enclosed block and issue a log message.  | 
lsst.utils.packages Module¶
Functions¶
  | 
Determine the version of a python module.  | 
Get imported python packages and their versions.  | 
|
  | 
Get products and their versions from the environment.  | 
Get products and their versions from the conda environment.  | 
Classes¶
A table of packages and their versions.  | 
Class Inheritance Diagram¶
digraph inheritanceed80ad38d5 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "Packages" [URL="../../../py-api/lsst.utils.packages.Packages.html#lsst.utils.packages.Packages",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A table of packages and their versions."]; }lsst.utils.usage Module¶
Functions¶
Report current memory usage.  | 
|
Report peak memory usage.  | 
lsst.utils.threads Module¶
Functions¶
  | 
Set common threading environment variables to the given value.  | 
Do whatever is necessary to try to prevent implicit threading.  |