Psyneulink

Latest version: v0.16.1.0

Safety actively analyzes 715032 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 11

0.16.1.0

ArgumentTherapy

- Fix Parameter, numeric errors on construction

Bug Fixes

- Fix softmax in apply_softmax and pytorch

- Fix test in softmax_choice

- Fix softmax masking

- Fix softmax masking

- Fix softmax masking

- Fix softmax masking


Composition

- Fix feedback_projections property (3192)
- Set most_recent_context in execute (3195)
- Fix incorrect target parsing due to input order (3208)

InteractiveActivationIntegrator

- Handle 0d np arrays

OptimizationFunction

- Wrap itertools.product in a generator (3191)

ParameterPort

- Handle more getter errors during enumeration

Refactor

- Refactor/transferfunction/scale_and_offset (3184)

• transferfunctions.py:
* Add bounds to Linear (docs are wrong and code doesn't implement them)
* Refactor bounds to use getter, and to list dependencies on scale and offset, and to use "natural bounds" or the like
- rename bounds -> range
- add DeterministicTransferFunction subclass of TransferFunction:
- scale and offset Parameters used by all subclasses
- add _range_setter() that adjusts range based on scale and/or offset

Testing

- Cleanup use of per-node compilation mode
- Consolidate check for compiled execution of large test instances
- Re-enable TransferFunction tests
- Re-enable clip tests
- Re-enable TransferFunction related tests (3186)
- Cleanup test_clip_with_respect_to_fct_bounds (3187)
- Allow selecting variant for Function execution
- Move function specific params to test arguments
- Use more precise results for DriftOnASphereIntegrator
- Allow selecting variant of mechanism execution.

UserDefinedFunction

- Raise error on None custom_function

Ci/ga

- Setup.py generates sdist packages with .tar.gz extension (3189)

Condition

- Simplify output for GraphStructureConditions

Llvm

- Rename ExecutionMode.PTX -> ExecutionMode._PTX
- Rename ExecutionMode.LLVMExec -> ExecutionMode._LLVMExec
- Add _LLVMPerNode mode
- Refactor ExecutionMode handling (3182)
- Add debug output when invoking node reset (3183)
- Return initialized values as output from "reset" function execution variants (3188)

Llvm/ExecutionMode

- Add is_*_compiled helper functions
- Use identity comparisons

Llvm/SoftMax

- Enable MAX_VAL and MAX_INDICATOR output types

Requirements

- Update pycuda requirement from <2025,>2018 to >2018,<2026 (3198)

Utilities

- Allow Numpy warning from numpy.exceptions (3173)
- Make get_global_seed private (3190)
- Add get_stacklevel_skip_file_prefixes

0.16.0.0

Documentation

- State need for both python and system graphviz

Features

- Feat/add_bias_node (3151)

test_composition.py:
- add TestBIAS and refactor tests

Mechanism

- Fix no-input execute causing shared default variable memory (3148)

PytorchMechanismWrapper

- Throw function unavailable error more strictly

Refactor

- Refactor/transfermech_and_fct/clip_scale_offset (3171)

• transferfunctions.py:
- TransferFunction: add _set_bounds() to be compatible with any assignments to scale and/or offset
- Logistic(): modify offset to be vertical vs. horizontal

• transfermechanism.py:
- clip: add setter, which checks against bounds of function

• test_transfer_mechanism.py:
- add test_clip_with_respect_to_fct_bounds()

SoftMax

- Use last dimension for pytorch softmax

Testing

- Models: find model script paths relative to psyneulink root (3141)
- Mark as llvm
- Drop unnecessary use of np.asfarray

Ci/ga

- Remove Python3.7 CI jobs

Ga/install_pnl

- Restrict win32 pandas to < 2.1.0
- Restrict win32 llvmlite to < 0.42

Llvm

- Use np.asarray instead of asfarray if dtype is provided
- Add support for LLVM-15 typed pointers (3167)
- Remove deprecated AST callbacks
- Use known operand type if available
- Cleanup (3172)

Mdf

- Catch more pint parsing errors

Models/MontagueDayanSejnowski

- Use versioned seaborn style (2808)

Pytorch

- Implement input port function execution
- Implement input port function execution (3146)

Requirements

- Update pillow requirement from <11.1.0 to <11.2.0 (3152)
- Update scipy requirement (3154)
- Update grpcio requirement from <1.69.0 to <1.70.0 (3156)
- Bump minimum rich version to >=10.2
- Update matplotlib requirement from <3.7.6 to <3.10.1 (3145)
- Update optuna requirement from <4.2.0 to <4.3.0 (3166)
- Update llvmlite requirement from <0.44 to <0.45 (3165)
- Update pint requirement from <0.22.0 to <0.25.0
- Update pint requirement from <0.22.0 to <0.25.0 (3162)
- Update grpcio requirement from <1.70.0 to <1.71.0 (3168)
- Update psyneulink-sphinx-theme requirement (3175)

Setup

- Drop support for Python3.7

Showgraph

- Give more information when system graphviz not found

Treewide

- Use asarray(dtype=float) instead of asfarray
- Don't use numpy asfarray (3158)

Utilities

- Change seed type to unsigned integer

0.15.3.0

Bug Fixes

- Fix/standard_output_ports_calculate (3114)

- - recurrenttransfermechanism.py
- _instantiate_attributes_after_function(): fix assignment of StabilityFunction, and force update of default_variable for output_port

- _instantiate_attributes_after_function:
revise call to _update_default_variable to use energy.variable instead of value

- - test_recurrent_transfer_mechanism.py
- TestStandardOutputPorts:
test_rtn_energy()
test_rtn_entropy()

- - recurrenttransfermechanism.py
_instantiate_attributes_after_function():
refactor to assign functions for ENERGY and ENTROPY standard_output_ports before call to super()
- Fix/lccontrolmechanism_objectivemechanism (3134)

- - composition.py
- suppress warning about adding CONTROL_OBJECTIVE NodeRole if ObjectiveMechanism is already associated with a ControlMechanism

- lccontrolmechanism.py
- _instantiate_objective_mechanism(): implement default ObjectiveMechanism with CombineMeans
- _instantiate_control_signals:
complete implementation of ALL

- - test_control_mechanism.py
test_lc_control_monitored_and_modulated_mechanisms_composition(): augmented to test implementation of ObjectiveMechanism


Component

- Make deprecated arg error via illegal args; deprecate 'size' (3123)

Functions/OneHot

- Fix "DETERMINISITC" typo
- Use local PRNG to randomly select extreme index

Mechanism

- If any port has default_input, get variable from input_ports

Parameter

- Correct .set post-initialization check (3116)

Port

- Use default_input before checking projections

Refactor

- Refactor/emcomposition_field_handling (3122)

- - emcomposition.py
_parse_fields: clean up assignment of self.num_fields

- test_emcomposition.py
add test_assign_field_weights_and_0_vs_None()
add test_field_weights_all_None_and_or_0

- emcomposition.py
- revamp docstring to document new mods
- add fields arg to specify field_naes, field_weights, learn_field_weights
- implement fields arg to specify field_names, field_weights, learn_field_weights in dict format
- implement support for field-specific learn_field_weight specifications
- _identify_target_nodes():
refactor to use target_fields instead of learn_field_weights
- add target_fields to fields specification dict
- add dict spec for entries in fields arg
- start adding field_idx to all components
- add self._field_index_map

- pytorchEMcompositionwrapper.py
- store_memory(): use self._field_index_map to assign memories to fields

- test_emcomposition.py
- test_backpropagation_of_error_in_learning(): use EGO model to test for error backpropagation through EMCompoistion
- test_field_args_and_map_assignments(): flesh out _field_index_map validation

- - emcomposition.py
- update docstring figs
- add purge_by_field_weights Parameter

- - autodiffcomposition.py
- infer_backpropagation_learning_pathways(): add NodeRole.BIAS to pathways consructed for learning


Testing

- Split softmax_choice test
- Add mode=DETERMINISTIC tests
- Test more int32 samples in MT builtin test
- Use array_equal to test integer results

Broken_trans_deps

- Block coverage==7.6.5 (3118)

Ci

- Test-release: add matrix.dist to test result artifact
- Test-release: exclude macos-11 on py3.7

Ci/ga

- Use console_output_style=count (3132)

Llvm

- Convert recursive array iterator into contextmanager
- Implement range integer generation to match Numpy's
- Implement range integer generation to match old Numpy's

Llvm/Component

- Allow 'indicator' and 'abs_val' parameters in OneHot DETERMINISTIC mode

Llvm/DictionaryMemory

- Remove OneHot mode workarounds

Llvm/Mechanism

- Reinit integrator_function in Mechanism reset if present (3112)

Llvm/OneHot

- Isolate handling of PROB and PROB_INDICATOR modes
- Refactor to match Python behaviour for modes != DETERMINISTIC
- Add basic implementation of DETERMINISTIC mode
- Implement support for RANDOM tie resolution
- Simplify PROB/PROB_INDICATOR implementation
- Implement all modes (3124)

Requirements

- Update optuna requirement from <4.1.0 to <4.2.0 (3110)
- Update grpcio requirement from <1.68.0 to <1.69.0 (3120)
- Update pytest-profiling requirement from <1.8.1 to <1.8.2 (3135)
- Update pytest requirement from <8.3.4 to <8.3.5 (3138)

0.15.2.0

Bug Fixes

- Fix/ego_update_figs (3108)

- EGO CSW Model: update figures

CombineMeans

- Avoid creating unecessary object dtype for means

Component

- Only explicitly set new parameter defaults
- Check for existing parameter by name before getattr
- _initialize_parameters: allow creating Parameters dynamically
- _get_current_parameter_value: pass modulated=True to _get
- Always shallow copy owner
- Handle hybrid copy in __deepcopy__
- __deepcopy__ remove no_shared in memo
- __deepcopy__ add copy to memo
- Copy default variable if not passed to execute
- _validate_variable: copy default variable if used
- Copy matrix default value if used
- Store set of containing Compositions
- Rework size argument to accept and validate numpy shapes

Composition

- Inherit Parameters from parent class
- Fix bug storing results
- Do not delete value Parameter
- Remove compiled writeback of matrix during learning

CompositionInterfaceMechanism

- Use standard default_variable assignment

DDM

- Codestyle

DictionaryMemory

- Consolidate default entry creation

Documentation

- Fix table formatting
- Extend short title underlines
- Fix "strong" markup
- Fix literal markup
- Fix Inline emphasis markup
- Fix external links
- Fix inline interpreted markup
- Fix table vs. substitution conflict
- Fix basic rst formatting errors (2958)
- Rename figure to match docstring reference (3009)
- Add quotation to pip install (3051)
- Use pattern rule to execute generator scripts (3087)

DriftDiffusionAnalytical

- Specify dependence of bias on starting_value, threshold

DriftOnASphereIntegrator

- Fix initializer assignment
- Correct default initializer

EMComposition

- Reduce calls to memory_getter in __init__

EMStorageMechanism

- Add 'fields' as Parameter
- Do not set value in _execute
- Fix dot-notation access
- Explicitly update field_projection matrices

EMstorageMechanism

- Replace internal use of Parameter.get with _get

Function

- Copy variable on external .function call
- Do not process the value, or reset PRNG when syncing seed

Function_Base

- Don't catch and re-raise ValueError

IntegratorMechanism

- Correct broken size argument (3046)

MDF

- Condition: handle np.number and np.array types as arguments
- Handle parameters/args in list and dict format

MaskedMappingProjection

- Also set matrix parameter port value

Mechanism

- Use np ones instead of list multiplication
- Copy defaults before executing with them
- Drop beartype decorator on internal function

OptimizationControlMechanism

- Correct non-stateful use of num_estimates

OptimizationFunction

- Make grid stateful

PECOptimizationFunction

- Make initial_seed shared and use context

Parameter

- Fix arg comment
- _set_default_value: add 'directly' to bypass parse/validate
- Bypass any setters when making uninherited
- __deepcopy__: always deepcopy non-inherited default_value
- Store source and final_source as self
- Faster __contains__
- __getattr__: call _parent fewer times
- Replace equivalent code with copy_parameter_value
- _set, _set_value: reformat arg list
- _set: make skip_delivery kwarg explicit
- On set, update compatible numpy arrays in place

ParameterEstimationComposition

- Make seed parameters shared
- Empty results on new run, not clear

ParameterPortList

- Reduce excess slow str formats

Parameters

- Clean up getter dev docs
- Check for alias using name

ParametersBase

- Cache names of attrs that do not exist
- Break throw_attr into separate method
- Do not getattr on parent for missing parameter attrs

ParametersTemplate

- Replace _children with WeakSet
- Add _params check in _is_parameter

Port

- Refactor is_modulated -> has_modulation

Projection_Base

- Copy sender default value if used as default

RecurrentTransferMechanism

- Make recurrent_projection a Parameter (2940)

Refactor

- Refactor/emcomposition_softmax_after_dot (3095)

- - emcomposition.py
- move softmax operation to after combining weighted dot products
- update use_gating_for_weighting and softmax CONTROL option to work with refactoring
- validate that use_gating_for_weighting is False when learn_field_weights is True
- docstring updates

- Update Environment.py

- test_emcomposition.py
- update test_execution

- Refactor/linearmatrix_matrixtransform (3101)

- combinationfunctions(.py) -> transformfunctions(.py)

- transferfunctions.py:
- rename LinearCombination as MatrixTransform and move to transformfunctions.py

- transformfunctions:
- MatrixTransform: add operation parameter

- recurrenttransfermechanism.py
- correct names for standard_outputports ENERGY and ENTROPY

- lccontrolmechanism.py:
- add keywords for modulable fitzhugh-nagumo params
- emcomposition.py:
- use MatrixTransform(operation=L0) w/o normalization for retrieval if len(key)==1

- 'EGO Model - CSW with Simple Integrator.py':
- Younes' script corrections, now functions propery!

Report

- Store report parameters on the instance instead of the class

SampleIterator

- Make generate_current_value instance-method-like

Scheduler

- Fix false add_condition replace warning (3107)

StatefulFunction

- Correct previous_value shape with ragged variable

Testing

- Replace some assert == with numpy.testing.assert_array_equal
- Correct assert shape mismatch
- TestControlTimeScales: correct silent shape mismatch in results
- Check shape of results as well as the values
- Check shape of results as well as the values
- Use assert_array_equal to check array shape and values (2922)
- Fix AVX512 detection on Numpy>=1.26 (2932)
- Allow writeback on compiled tests.
- Remove result shape workaround
- Add test of dependency after DDM finished
- Control: split result assertions
- Auto test all numeric values wrapped in np array
- Add missing 'composition' marks (2967)
- Narrow down the allowed exceptions in compilation fallback test
- Codestyle
- Use numpy prod instead of product
- Use fixture to preserve environment (2987)
- Add leak check test (2992)
- Remove leftover debug code
- Test show_graph in the leak test
- Fix show_graph leak and extend the leak test (2997)
- Skip running ExecutionMode.LLVM instead of xfail
- Clarify failure in xfail test
- Cleanup some xfail tests (2998)
- Adjust expected result based on scipy version
- Update OCM controller tests
- Use numpy arrays for fixed size arguments
- Use numpy arrays for fixed size arguments
- Use numpy arrays for fixed size arguments
- Use numpy arrays for fixed size arguments
- Cleanup
- Cleanup use of ExecutionMode.Python
- Cleanup
- Add llvm_not_implemented mark.
- Add llvm_not_implemented mark (3075)
- Use issubclass to check Function class
- Convert dict test arguments to an immutable MappingProxyType
- Use MappingProxyType to pass dict test parameters (3076)
- Drop unused ctypes import
- Use top level module import of ExecutionMode
- Drop unused import of core.llvm
- Comment out imports only used in commented out code
- Drop unused imports
- Drop unused imports (3083)
- Move condition construction args to test parametrization
- Enable testing in per-node compiled mode

UserDefinedFunction

- Do not modify cust_fct_params attr on function call
- Rework creation of custom Parameters
- Use external Parameter.set for custom parameters

Broken_trans_deps

- Block beartype==0.17.1 (2914)

Ci

- Split windows x86 job (2943)
- Test-release: add --verbose to twine upload
- Test-release: use github cli to create github release
- Test-release: include python 3.10, 3.11, 3.12

Ci/ga

- Use native python architecture for macos python 3.8 job
- Use native python version on macos-arm64 runners (2953)
- Simplify documentaitons ci jobs (2957)
- Use single variable to check for self-hosted runners availability (2965)
- Drop python-3.7 macos documentation build
- Require custom runners to have "enabled" flag (2989)

Ci/ga/docs

- Use default python-architecture for each platform to build docs
- Represent correct os version in matrix.os
- Generate version matrix dimension based on GA event

Ci/github-actions

- Add python 3.12 docs building jobs
- Add python 3.12 jobs

Composition

- Create a copy of 'controller_condition'

Condition

- Add python interface from graph_scheduler
- Fix pnl-specific names in condition.py stub and __all__ (3089)

Conditions

- Add When alias for Condition
- Explicitly specify pnl Conditions in __all__

Conftest

- Clear graph scheduler cache in test teardown
- Inherit the original class of the benchmark fixture (3093)

Dependabot

- Allow up to 25 open pull requests (2944)

Deps/fastkde

- Bump minimum version to >=2.0.0

Fitfunctions

- Try using underscore name to construct fastKDE object

Function

- Replace FunctionOutputType.RAW_NUMBER with NP_0D_ARRAY

Functions

- Return numpy array as output for multi-item functions

Ga

- Move wheel/sdist creation to install-pnl action (3085)

Llvm

- Move matrices of learnable projections to compiled state
- Move learnable matrices from RO params to RW params (2933)
- Enable state writeback on all compiled Functions and Mechanisms (2938)
- AutoassociativeProjection is a PNL param of the owning Mechanism (2941)
- Add cleanup destruction check
- Consolidate construction and sync of compiled structures (2973)
- Rearrange members of the Mersenne-Twister state structure
- Use int16 instead of int1 for flag in Philox state
- Use known type instead of int32_ty if available
- Codestyle
- Tweaks to structure layout and codestyle (2994)
- Create numpy structures of all params/state before syncing to Parameters (2995)
- Fix processing of enum values after compilation sync (2996)
- Track and clear active CompExecution instances (2999)
- Rename node_wrapper -> node_assembly
- Remove workaround, rename node assembly (3016)
- Store only pointee types in byref_arg_types for pointer arguments (3017)
- Construct numpy dtypes of compiled argument structures
- Move numpy buffer allocation to LLVMBinaryFunction
- Use numpy ndpointer for fixed size arguments of compiled functions (3027)
- Remove support for running multiple contexts
- Remove 'wrap_call'
- Rename np_params -> np_arg_dtypes
- Use Numpy ndpointer by default
- Use Numpy ndpointer as default for pointer/array arguments (3028)
- Use zero extend to promote integers
- Improve test coverage of compilation helpers (3029)
- Use numpy array for dynamically sized output arguments (3033)
- Use per jit-engine printf pointer
- Add env variable control over debugging output
- Control debug output via PNL_LLVM_DEBUG env var (3092)
- Bring compiled scheduler implementation closer to the Python one (3096)
- Drop PTXExec execution mode
- Use more aggressive optimizations for GPU target (3109)

Llvm/Composition

- Add debugging output to scheduled node executions

Llvm/ConditionGenerator

- Use IntEnum to index the timestamp structure

Llvm/Functions/GridSearch

- Remove duplicate/dead code
- Use Numpy structures for fixed sizes arguments

Llvm/LLVMBinaryFunction

- Allow setting argument types to numpy ndpointer
- Enforce contiguous arrays as Numpy inputs
- Add support for dynamically sized inputs

Llvm/OneHot

- Codestyle cleanup
- Use sharp inequalities and unordered comparison
- Return absolute value in MIN_ABS_VAL mode
- Return first extreme value rather than the last (3066)

Llvm/Scheduler

- Do not use precomputed locations of execution counts

Llvm/builder_context

- Remove used parameters workaround
- Merge conversion of lists and tuples

Llvm/cleanup

- Run GC only if needed

Llvm/codegen

- Factor out resetting of execution counts to a helper function

Llvm/compiler

- Use node num_executions to implement AllHaveRun condition
- Use TimeIndex enum to determine the size of the timestamp structure

Llvm/component

- Explicitly check for numpy array functions (2905)

Llvm/cuda

- Always upload param structure to GPU mem
- Always download "data" buffer after GPU execution
- Download an free mutable GPU buffers after kernel execution
- Synchronize CPU and GPU buffers (2969)

Llvm/execute

- Move cuda_execute for Function and Mechanism to FuncExecution

Llvm/execution

- Restrict writeback API to state structures
- Skip "ring_memory" parameter.
- Skip writeback of special RTM params
- Consolidate recursion points in writeback
- Use ctypes type in sizeof call
- Skip writeback of "optimizer" and "num_executions"
- Remove writeback condition parameter
- Make parameter and state writeback private
- Retrieve PNL parameter value only once
- Do stricter checks when reshaping synced parameters
- Covert compiled structures to numpy before sync to PNL params
- Cache both ctype and numpy compiled structures
- Cache numpy struct of execution conditions
- Remove byref calls
- Don't use wrap_call to execute "run"
- Use converted dtype to construct compiled numpy structures
- Use numpy structures for param, state and data arguments
- Use numpy structures for Function and Mechanism outputs
- Use numpy structures for Function and Mechanism inputs
- Use numpy structure for 'conditions' argument
- Use numpy structures for frozen values
- Use numpy structures to extract data
- Use numpy structure to insert output data
- Do not store ctype structure of frozen values
- Drop 'context' argument
- Use numpy structure for execution input
- Simplify and remove dead code
- Consolidate shared code between CPU and GPU 'run'
- Consolidate shared code between CPU and GPU 'evaluate'
- Use Context instance in the CompExecution constructor
- Use numpy arrays to return results of LLVM/PTX Run
- Use numpy arrays to return result of compiled evaluate
- Drop unused import

Llvm/execution/cuda

- Use numpy argument handlers to access compiled structures
- Use numpy arrays and arg handlers to extract results
- Create numpy stuructres for compiled input
- Drop upload/download counter
- Always use pycuda ArgumentHandler as cached buffer (3010)

Llvm/execution/run

- Use numpy structures for input and execution counts

Llvm/gpu

- Use more aggressive optimizations for GPUs

Llvm/helpers

- Assert on invalid floating point conversion
- Always assume that the Treshold target is an array
- Assert if printf is not found

Llvm/scheduler

- Drop tracking of the number of node executions
- Assert that enabled controller uses TRIAL time scale
- Use position in consideration queue to honor data dependencies
- Move compiled scheduler to its own file

Llvm/thread_evaluate

- Reuse type-cast parameters (2923)

Mdf

- Encode numpy functions the same as Python functions (2909)

Parameters

- Sync numeric values with compiled structures
- On incompatible value, only delete necessary compiled struct

Requirements

- Bump pycuda to <2025 (2902)
- Update numpy requirement from <1.24.5,>=1.21.0 to >=1.21.0,<1.25.3 (2906)
- Update numpy requirement (2904)
- Update llvmlite requirement from <0.42 to <0.43 (2910)
- Update pytest requirement from <8.0.1 to <8.0.2 (2917)
- Update grpcio requirement from <1.61.0 to <1.63.0 (2919)
- Update pandas requirement from <2.2.1 to <2.2.2 (2920)
- Update pytest requirement from <8.0.2 to <8.0.3 (2921)
- Update matplotlib requirement from <3.7.3 to <3.7.6 (2925)
- Update packaging requirement from <24.0 to <25.0 (2926)
- Update pytest requirement from <8.0.3 to <8.1.2 (2928)
- Update pytest-cov requirement from <4.1.1 to <5.0.1 (2934)
- Update beartype requirement from <0.18.0 to <0.19.0 (2949)
- Update torch requirement from >=1.8.0,<2.2.0 to >=1.8.0,<2.3.0 (2950)
- Update torch requirement from >=1.8.0,<2.3.0 to >=1.8.0,<2.4.0 (2951)
- Update pandas requirement from <2.2.2 to <2.2.3 (2952)
- Update pillow requirement from <10.3.0 to <10.4.0 (2954)
- Update networkx requirement from <3.3 to <3.4 (2955)
- Update pytest requirement from <8.1.2 to <8.1.3 (2956)
- Update pytest requirement from <8.1.3 to <8.2.1 (2960)
- Update pytest-xdist requirement (2959)
- Update grpcio requirement from <1.63.0 to <1.64.0 (2961)
- Update grpcio requirement from <1.64.0 to <1.65.0 (2970)
- Update pytest requirement from <8.2.2 to <8.2.3 (2974)
- Update llvmlite requirement from <0.43 to <0.44 (2978)
- Update pillow requirement from <10.4.0 to <10.5.0 (2990)
- Update grpcio requirement from <1.65.0 to <1.66.0 (3000)
- Update pytest requirement from <8.2.3 to <8.3.2 (3004)
- Update pytest requirement from <8.3.2 to <8.3.3 (3012)
- Set minimum scipy version to 1.7.3
- Update scipy requirement from <1.12 to <1.14
- Update scipy requirement from <1.14 to <1.15
- Update scipy requirements from <1.12 to >=1.7.3, < 1.14.0 (3018)
- Update grpcio requirement from <1.66.0 to <1.67.0 (3034)
- Update jupyter requirement from <1.0.1 to <1.1.1 (3039)
- Update torch requirement from >=1.8.0,<2.4.0 to >=1.8.0,<2.5.0 (3040)
- Update jupyter requirement from <1.1.1 to <1.1.2 (3041)
- Update pytest requirement from <8.3.3 to <8.3.4 (3045)
- Update pandas requirement from <2.2.3 to <2.2.4 (3049)
- Update beartype requirement from <0.19.0 to <0.20.0 (3050)
- Update dill requirement from <0.3.9 to <0.3.10 (3054)
- Update pytest-pycodestyle requirement (3061)
- Update pytest-pydocstyle requirement from <2.4.0 to <2.5.0 (3064)
- Update networkx requirement from <3.4 to <3.5 (3067)
- Update pillow requirement from <10.5.0 to <11.1.0 (3070)
- Update grpcio requirement from <1.67.0 to <1.68.0 (3072)
- Update pytest-profiling requirement from <1.7.1 to <1.8.1 (3074)
- Update torch requirement from >=1.10.0,<2.5.0 to >=1.10.0,<2.6.0 (3077)
- Update pytest-benchmark requirement from <4.0.1 to <5.1.1 (3091)
- Update optuna requirement from <3.4.0 to <4.1.0 (3042)
- Update pytest-cov requirement from <5.0.1 to <6.0.1 (3097)
- Update fastkde requirement to <2.0.2
- Bump fastkde to 2.x (3103)

Sampleiterator

- Store numeric attrs as numpy arrays

Setup

- Advertise support for python 3.12
- Convert PEP3118 size mismatch warnings to errors

Showgraph

- Make default subdirectory name consistent
- Rename default subdirectory
- Use pathlib to create output dirs instead of str append
- Do not store output files in site-packages

Treewide

- Use Python's all() instead of Numpy's alltrue
- Avoid some deprecated numpy constructs (2913)
- Convert all external numeric parameter values into ndarray
- Change all internal non-torch numeric values to numpy array
- Remove numpy matrix references from docs
- Remove numpy matrix in favor of numpy ndarray
- Add space around operator in f-strings
- Qualify calls to itertools.product/combinations
- Qualify calls to `product` function (2981)
- Use ndarray.item() to convert single element numpy arrays to scalars (3063)
- Allow Mapping type for 'params' in Component construction
- Rename Component arg size -> input_shapes

Utilities

- Convert_all_elements_to_np_array: fix crash on arr containing 0 dim arr
- Convert_all_elements_to_np_array: create fewer unnecessary internal arrays
- Add helper functions using numpy
- Add extended numpy array comparison function
- Copy_iterable_with_shared: handle weakref types
- Copy_iterable_with_shared: handle ContentAddressableList
- Is_iterable: simplify and allow option to exclude str
- Get_deepcopy_with_shared: handle object __dict__ modification
- Contains_type: handle infinite recursion for numpy matrix
- Copy_iterable_with_shared: support numpy array
- Add update_array_in_place function
- Add array_from_matrix_string

Versioneer

- Updated embedded versioneer to 0.29

0.15.1.0

Functions/MemoryFunctions

- Do not use comparisons to empty list

Functions/UniformToNormalDist

- Do not check for scipy at runtime

MDF

- Write_mdf_file: clarify documentation on fmt arg
- Write_mdf_file: fix bug in detecting filename extension
- Add NodeRole.LEARNING as an exclusion for mechanisms
- Fix bug in detecting imported modules in script

PECOptimizationFunction

- Use opt_func instead of self.method to construct optuna study

Port/_parse_port_spec

- Convert value to string to compare to keyword

Security

- Only purge python cache if CODEQL_PYTHON is set (2888)

Testing

- Use fixed seed for optuna sampler instances
- Seed optuna samplers (2875)
- Check that running/executing with no inputs produces a warning
- Enable node_spec_types test.
- Add invocation wrapper to use in benchmark fixture
- Only consider first 10 values in checks
- Remove spurious return statement
- Don't use deprecated pytest.warns(None)
- Escape special characters in regexp
- MDF: correct implicit use of locals in exec
- MDF: test equivalence using np assert_array_equal
- MDF: standardize model_backprop object naming
- MDF: rework. share code. correct shared state
- MDF: replace use of json-named functions with mdf-named
- MDF: use tempfile instead of manually named files
- MDF: rename
- Use matrix.modulated or get_mod_matrix() instead of mod_matrix
- Do not apply marks to a fixture (2901)

Broken_trans_deps

- Block sphinxcontrib-applehelp>=1.0.8
- Block sphinxcontrib-devhelp>=1.0.6
- Block sphinxcontrib-htmlhelp>=2.0.5
- Block sphinxcontrib-serializinghtml>=1.1.10
- Block sphinxcontrib-qthelp>=1.0.7

Ci/ga

- Upload pr_number only once
- Do not upload distfile for version restricted run
- Add version restriction to test artifact name
- Bump versions of actions/{download,upload}-artifact (2893)
- Print additional CPU and memory info on all runners (2898)
- Use all logical cores to run tests (2900)

Ci/github-actions

- Make sure the uploaded artifacts are unique (2892)

Deps

- Block sphinxcontrib-* that silently depend on sphinx >=5 (2880)

Github-actions

- Bump actions/download-artifact from 3 to 4 (2865)
- Bump actions/cache from 3 to 4 (2879)

Llvm

- Codestyle
- Use checked/universal API to access binary structures (2873)

Requirements

- Update grpcio requirement from <1.60.0 to <1.61.0 (2855)
- Bump pycuda to <2024 (2869)
- Update pytest requirement from <7.4.4 to <7.4.5 (2870)
- Update pillow requirement from <10.2.0 to <10.3.0 (2872)
- Add scipy to requirements file
- Update beartype requirement from <0.16.0 to <0.17.0 (2804)
- Update pandas requirement from <2.1.5 to <2.2.1 (2890)
- Update dill requirement from <0.3.8 to <0.3.9 (2891)
- Update pytest requirement from <7.4.5 to <8.0.1 (2896)

Setup

- Remove stale warning filter.
- Error on SyntaxWarnings

Treewide

- Assign values to ".base" attribute of a modulated Parameter

0.15.0.0

Features
- add handling of partial differentials ("covariates") for BackPropagation learning (2766)
- support learning nested AutodiffCompositions (2801)
- support graph-scheduler graph structure conditions (2864)
- add form of episodic / external memory with EMComposition (2735)

Fixes
- log: nparray, nparray_dictionary: add report_all_executions option that reports all executions for a given TIME_STEP (2844)

Page 1 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.