1.1 (Dec 21, 2020)¶
New Features¶
utilipy.tests.helper¶
BaseClassDependentTests: Unit tests for classes are often best organized into a class structure. This is a baseclass for these unit-tests so that they accept an argument to the class specifying the class to test. [#27]
PDB and close-to-zero safe element-wise |Quantity| array comparisons [#27]
phase-wrap support
utilipy.utils.pickle¶
Added configuration for using dill over pickle [#26] Changed default from True to False
utilipy.decorators¶
API Changes¶
adopted Astropy’s configuration system, removing the old
configmodule.utilipy.cfg sets the template
each module has the specific config code in the
setup_package.py(preferred),__init__.py, or the relevant python file.
Rename
data_utils/shuffleto datadata_utils/shuffler[#17]Deprecate custom
format_docin favor or Astropy’s [#17]Changed default from True to False in dill-over-pickle config [#26]
Change argument
dtypeDecoratorBasefor iterating over all function arguments from ‘all’ toEllipsis[#19]
Bug Fixes¶
Module
ipythonis not imported to top-level namespace [#20] because this is not always used in an ipython environment.
Other Changes and Additions¶
1.0.1 (2020-04-05)¶
Bug Fixes¶
fixed import inspect in
utilipy.decorators.func_iofrom buit-in to utilipy’s inspect module (utilipy.utils.inspect) since the functionstore_function_inputneeds`fuller_signature<https://utilipy.readthedocs.io/en/latest/api/utilipy.decorators.store_function_input.html#utilipy.decorators.store_function_input>`_.
1.0 (2020-04-01)¶
New Features¶
Version 1.0 is a reboot of utilipy, so all features can be considered new.
utilipy.__init__¶
utilipy.config¶
utilipyhas a config file.utilipyrcthat governs import verbosity, warnings verbosity, and what type of frozen constants to use.all the configurations can be get / set during run-time.
there is a
withversion of all the configurations, for running code with a temporarily changed configurations.
utilipy.astro¶
distance modulus functions (
distanceModulus,distanceModulus_distance,distanceModulus-magnitude)angular separation function (
max_angular_separation)parralax functions (
parallax,parallax_angle,parallax_distance)fast and SkyCoord versions of these functions
utilipy.astro.instruments¶
filter transformation functions
MegaCam to PanSTARRS
utilipy.constants¶
Astropy constants, with a frozen version for reproducibility.
float versions of the constants accessible through values module this includes frozen version for reproducibility to access frozen version, set frozen-constants=True in utilipy config.
FrozenConstantsfor frozen constantsConstantsValuesfor the values of constants.
utilipy.data_utils¶
idxDecoratorto control whether a fnction returns boolean arrays or indices.inRange: multidimensional box selection.outRange: multidimensional box exclusion.ioRange: multidimensional box selection and exclusion.ellipse: elliptical selection of data in many dimensions.circle: circular selection of data in many dimensions.
utilipy.data_utils.fitting¶
scipy_residual_to_lmfitdecorator to make scipy residual functions compatible with lmfit.
utilipy.decorators¶
Decorators
utilipy.decorators.baseclass¶
A set of baseclasses to make improved decorators. This module requires further testing.
utilipy.decorators.docstrings¶
astropy’s “format_doc”
utilipy.decorators.func_io¶
Function input / output.
function
store_function_inputto store all the input to a function as a BoundArgumentfunction
add_folder_backslashto add a backslash to directory path inputs.dtypeDecoratorMakerfunction to make a dtype decorator.dtypeDecoratorfunction to ensure arguments are type dtype.boolDecorator,intDecorator,floatDecorator,strDecorator,ndarrayDecorator,ndfloat64Decorator, which enforce their respective dtypes.
utilipy.imports¶
This module provides a variety of files that can be *-imported to provide basic set of imports.
The quick imports are base_imports, extended_imports, astropy_imports, matplotlib_imports, galpy_imports and amuse_imports.
utilipy.imports.base¶
helper function base_imports_help
Base imports
os, sys, time, pdb, warnings,
numpy -> np, scipy,
tqdm -> TQDM, tqdm, .tqdm_notebook -> tqdmn
IPython imports
display, Latex, Markdown, set_trace,
printmd, printMD, printltx, printLaTeX,
set_autoreload, aimport,
run_imports, import_from_file,
add_raw_code_toggle
utilipy imports
LogFile
ObjDict
utilipy.imports.extended¶
helper function extended_imports_help
Numpy imports
linalg.norm
Scipy imports
stats.binned_statistic->binned_stats
utilipy.imports.matplotlib¶
helper function matplotlib_imports_help
Matplotlib imports
pyplot->plt
matplotlib->mpl, .cm, .colors
mpl_toolkits.mplot3d.Axes3D
utilipy imports
ipython.plot.configure_matplotlib
utilipy.imports.plotly¶
helper function plotly_imports_help
plotly imports
plotly
express -> px
graph_objs -> go
io -> pio
subplots -> make_subplots
utilipy.imports.astropy¶
helper function astropy_imports_help
Astropy imports
units->u,
coordinates->coords, SkyCoord,
table.Table, QTable
visualization.quantity_support, astropy_mpl_style
utilipy.imports.galpy¶
helper function galpy_imports_help
Galpy imports
potential, .MWPotential2014
galpy.orbit.Orbit
galpy.util: bovy_conversion, bovy_coords
utilipy.imports.amuse¶
helper function amuse_imports_help
imports
amuse,amuse.lab,amuse.units.units,amuse.units.constants,amuse.couple.bridgeprovides a help function,
amuse_imports_help
utilipy.ipython¶
Functions for interacting with the IPython environment. If in the IPython, sets the ast_node_interactivity to “all” and configures matplotlib, via configure_matplotlib, to an inline backend and retina resolution.
loads into the top-level namespace:
help function
modules:
autoreload,imports,notebook,plot,printingfunctions:
set_autoreload,aimport,run_imports,import_from_file,add_raw_code_toggle,configure_matplotlib,printMD,printLTX
utilipy.ipython.autoreload¶
If in an IPython environment, sets the autoreload state to 1 (autoreload anything imported by aimport).
set_autoreloadfunction to change the global imports setting.aimportfor autoreloading individual modules
utilipy.ipython.imports¶
Module for running utilipy.imports in an IPython environment.
import_from_filefunction to run any import file, fromutilipyor a custom file.run_importsfunction to import a file using IPython magic. Usesimport_from_fileon custom files. Has built-in options for a set of basic imports (by keywordbase), extended imports (by keywordextended), astropy, matplotlib, plotly, galpy, and amuse import sets by the respective keywords.
utilipy.ipython.notebook¶
Functions for Jupyter notebook / lab / hub.
add_raw_code_togglefunction to show/hide code cells when Notebook is exported to HTML
utilipy.ipython.plot¶
configure_matplotlibfunction to control plotting in an IPython environment.
utilipy.ipython.printing¶
printMDfunction to print in Markdown.printLTXfunction to print in Latex.
utilipy.math¶
quadrature, arguments summed in quadrature.
utilipy.plot¶
created folder, nothing implemented yet. See What’s Planned for utilipy?.
utilipy.scripts¶
created folder, nothing implemented yet. See What’s Planned for utilipy?.
utilipy.utils¶
1 2 3 4 5 6 7 8 9 10 11 12 | from .logging import LogPrint, LogFile
from .collections import ObjDict
from . import functools, pickle
# import top level packages
from . import (
collections,
doc_parse_tools,
logging,
metaclasses,
)
|
utilipy.utils.exceptions¶
utilipyWarningutilipyWarningVerbose
utilipy.utils.functools¶
makeFunction: make a function from an existing code object.copy_function: Copy a function.update_wrapper: this overrides the defaultfunctoolsupdate_wrapperand adds signature and docstring overridingwraps: overrides the defaultfunctoolsupdate_wrapperand adds signature and docstring overriding
utilipy.utils.inspect¶
added FullerArgSpec which better separates parts of a signature, like arguments with and without defaults. Also a FullerSignature object which has much finer control over signatures and itself appears to have the signature of the function to which it is a signature.
POSITIONAL_ONLYPOSITIONAL_OR_KEYWORDVAR_POSITIONALKEYWORD_ONLYVAR_KEYWORD_void_empty_placehold_is_empty_is_void_is_placehold_is_placeholderFullerArgSpecgetfullerargspecget_annotations_from_signatureget_defaults_from_signatureget_kwdefaults_from_signatureget_kwonlydefaults_from_signatureget_kinds_from_signaturemodify_parameterreplace_with_parameterinsert_parameterprepend_parameterappend_parameterdrop_parameterFullerSignaturefuller_signature
utilipy.utils.pickle¶
dump and load many objects
utilipy.utils.typing¶
array_like: typing.Sequence
utilipy.utils.logging¶
Basic loggers that can both print and/or record to a file.
LogPrint: print logger
LogFile: This class uses
open
utilipy.utils.doc_parse_tools¶
Docstring inheritance-style implementations. Supports numpy and google docstrings.
To implement your own inheritance file, simply write a function that fits the template
def your_style(prnt_doc, child_doc):
''' Merges parent and child docstrings
Parameters
----------
prnt_cls_doc: Optional[str]
child_doc: Optional[str]
Returns
------
Optional[str]
The merged docstring that will be utilized.'''
return final_docstring
and log this using custom_inherit.add_style(your_style).
To permanently save your function
define your function within
custom_inherit/_style_store.pylog it in
custom_inherit.style_store.__all__.
utilipy.utils.collections¶
ObjDict: Dictionary-like object intended to store information. Instantiated with a name (str)
API Changes¶
Everything