lsst.utils 
The lsst.utils  module provides common code for tests, interfacing between C++ and Python, and debugging.
Python API reference 
lsst.utils Package 
Functions 
 
 
 
continueClass  (cls) 
Re-open the decorated class, adding any new definitions into the original. 
 
demangleType  (type_name) 
Demangle a C++ type string. 
 
deprecate_pybind11  (obj, reason, version, …) 
Deprecate a pybind11-wrapped C++ interface function, method or class. 
 
doImport  (importable) 
Import a python object given an importable string and return it. 
 
doImportType  (importable) 
Import a python type given an importable string and return it. 
 
getPackageDir  (package_name) 
Find the file system location of the EUPS package. 
 
get_caller_name  (skip) 
Get the name of the caller method. 
 
inClass  (cls[, name]) 
Add the decorated function to the given class as a method. 
 
inheritDoc  (klass) 
Extend existing documentation for a method that exists in another class and extend it with any additional documentation defined. 
 
isEnabled  () 
Check that backtrace is enabled. 
 
suppress_deprecations  (category) 
Suppress warnings generated by deprecated.sphinx.deprecated . 
 
 
 
Classes 
 
 
 
TemplateMeta  
A metaclass for abstract base classes that tie together wrapped C++ template types. 
 
 
 
Class Inheritance Diagram 
Inheritance diagram of lsst.utils.wrappers.TemplateMeta
  
 
 
lsst.utils.tests Module 
Functions 
 
 
 
init  () 
Initialize the memory tester and file descriptor leak tester. 
 
getTempFilePath  (ext, expectOutput) 
Return a path suitable for a temporary file and try to delete the file on success 
 
assertFloatsAlmostEqual  (testCase, lhs, …) 
Highly-configurable floating point comparisons for scalars and arrays. 
 
assertFloatsNotEqual  (testCase, lhs, …) 
Fail a test if the given floating point values are equal to within the given tolerances. 
 
assertFloatsEqual  (testCase, lhs, …) 
Assert that lhs == rhs (both numeric types, whether scalar or array). 
 
debugger  (*exceptions) 
Enter the debugger when there’s an uncaught exception 
 
classParameters  (**settings) 
Class decorator for generating unit tests 
 
methodParameters  (**settings) 
Iterate over supplied settings to create subtests automatically. 
 
temporaryDirectory  () 
Context manager that creates and destroys a temporary directory. 
 
 
 
Classes 
 
 
 
MemoryTestCase  ([methodName]) 
Check for resource leaks. 
 
ExecutablesTestCase  ([methodName]) 
Test that executables can be run and return good status. 
 
TestCase  ([methodName]) 
Subclass of unittest.TestCase that adds some custom assertions for convenience. 
 
 
 
Class Inheritance Diagram 
Inheritance diagram of lsst.utils.tests.MemoryTestCase, lsst.utils.tests.ExecutablesTestCase, lsst.utils.tests.TestCase
  
 
 
lsst.utils.logging Module 
Functions 
 
 
 
getLogger  (name, None] = None, logger, …) 
Get a logger compatible with LSST usage. 
 
getTraceLogger  (logger, logging.Logger, …) 
Get a logger with the appropriate TRACE name. 
 
trace_set_at  (name, number) 
Adjust logging level to display messages with the trace number being less than or equal to the provided value. 
 
 
 
Classes 
 
 
 
LsstLogAdapter  (logger[, extra]) 
A special logging adapter to provide log features for LSST code. 
 
PeriodicLogger  (logger, …) 
Issue log messages if a time threshold has elapsed. 
 
 
 
Class Inheritance Diagram 
Inheritance diagram of lsst.utils.logging.LsstLogAdapter, lsst.utils.logging.PeriodicLogger
  
 
 
lsst.utils.iteration Module 
Functions 
 
 
 
chunk_iterable  (data, chunk_size) 
Return smaller chunks of an iterable. 
 
ensure_iterable  (a) 
Ensure that the input is iterable. 
 
isplit  (string, sep) 
Split a string or bytes by separator returning a generator. 
 
 
 
 
lsst.utils.classes Module 
Functions 
 
 
 
cached_getter  (func, _R]) 
Decorate a method to cache the result. 
 
immutable  (cls) 
Decorate a class to simulate a simple form of immutability. 
 
 
 
Classes 
 
 
 
Singleton  
Metaclass to convert a class to a Singleton. 
 
 
 
Class Inheritance Diagram 
Inheritance diagram of lsst.utils.classes.Singleton
  
 
 
lsst.utils.introspection Module 
Functions 
 
 
 
get_class_of  (typeOrName, str]) 
Given the type name or a type, return the python type. 
 
get_full_type_name  (cls) 
Return full type name of the supplied entity. 
 
get_instance_of  (typeOrName, str], *args, …) 
Given the type name or a type, instantiate an object of that type. 
 
get_caller_name  (stacklevel) 
Get the name of the caller method. 
 
 
 
 
lsst.utils.timer Module 
Functions 
 
 
 
profile  (filename, log) 
Profile the enclosed code block and save the result to a file. 
 
logInfo  (obj, prefix, logLevel, metadata, …) 
Log timer information to obj.metadata  and obj.log . 
 
timeMethod  (_func, None] = None, *, metadata, …) 
Measure duration of a method. 
 
time_this  (log, msg, level, prefix, args, …) 
Time the enclosed block and issue a log message. 
 
 
 
 
lsst.utils.packages Module 
Classes 
 
 
 
Packages  
A table of packages and their versions. 
 
 
 
Class Inheritance Diagram 
Inheritance diagram of lsst.utils.packages.Packages
  
 
 
lsst.utils.threads Module 
 
lsst.utils.ellipsis Module 
A type-annotation workaround for ...  not having an exposed type in Python.
This module provides Ellipsis  and EllipsisType  symbols that are
conditionally defined to point to the built-in “... ” singleton and its type
(respectively) at runtime, and an enum class and instance if
typing.TYPE_CHECKING   is True   (an approach first suggested
here ).
Type checkers should recognize enum literals as singletons, making this pair
behave as expected under is  comparisons and type-narrowing expressions,
such as:
v :  EllipsisType  |  int 
if  v  is  not  Ellipsis : 
    v  +=  2   # type checker should now see v as a pure int 
 
 
This works best when there is a clear boundary between code that needs to be
type-checked and can use  Ellipsis  instead of a literal “... ”, and
calling code that is either not type-checked or uses typing.Any   to accept
literal “... ” values.