Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Devel #11

Open
wants to merge 1,574 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1574 commits
Select commit Hold shift + click to select a range
f4850b5
SampleIterator: Fix incorrect use of curly brackets in error strings …
jvesely Jun 6, 2023
1fbb73b
integratorfunctions: _parse_initializer: cast initializer to numpy array
kmantel Jun 1, 2023
445cc5f
LCAMechanism: _validate_competition: fix reference to component name
kmantel Jun 3, 2023
9e43f11
Parameters: don't suppress AttributeError in _parse/_validate methods
kmantel May 27, 2023
17b896f
Parameters: rework parse and validation method interface
kmantel Jun 2, 2023
1582baa
Merge pull request #2689 from kmantel/parameter-parsing-errors
kmantel Jun 7, 2023
da3c4fa
utilities: Handle numpy 1.24 rugged arrays
jvesely Jun 6, 2023
ec00465
tests/llvm: Don't check newline encoding in the printf test (#2691)
jvesely Jun 7, 2023
51ff068
tests/save_state_before_simulations: Extract mechanism values to form…
jvesely Jun 6, 2023
f4d1bdd
requirements: update numpy requirement
dependabot[bot] May 19, 2023
50fc46f
llvm: Represent integer types as unsigned in ctype
jvesely Jun 7, 2023
5e6febd
requirements: update optuna requirement from <3.2.0 to <3.3.0 (#2683)
dependabot[bot] Jun 8, 2023
3eeea4b
Merge remote-tracking branch 'origin/devel' into numpy
jvesely Jun 8, 2023
59b1b20
dependencies: Update to numpy<1.24.4 (#2693)
jvesely Jun 9, 2023
e86cfa9
Fix/default control allocation (#2692)
jdcpni Jun 9, 2023
90d193e
requirements: update grpcio requirement from <1.43.0 to <1.56.0 (#2676)
dependabot[bot] Jun 9, 2023
7adb1b7
setup: Add Python 3.11 to the list of supported versions
jvesely Jun 7, 2023
a8d8e18
github-actions: Add python 3.11 to docs CI
jvesely Jun 6, 2023
837a5bc
github-actions: Bump top python version 3.10->3.11
jvesely Jun 6, 2023
5ba50bf
Support and test Python 3.11 (#2694)
jvesely Jun 10, 2023
c28769a
requirements: update pytest requirement from <7.3.2 to <7.3.3 (#2696)
dependabot[bot] Jun 13, 2023
e55882d
deps: Restrict contourpy to <1.1.0 on x86 (32-bit) (#2700)
jvesely Jun 15, 2023
c0a896b
tests: illegal kwargs: add missing asserts
kmantel Jun 13, 2023
0979511
Component: _initialize_parameters: simplify user specified check
kmantel Jun 13, 2023
833b759
LearningMechanism: remove unused LEARNED_PARAM
kmantel Jun 14, 2023
467a1eb
ControlMechanism: remove extraneous output_ports arg
kmantel Jun 13, 2023
acf11a5
tests: integrator mech: fix variable->default_variable
kmantel Jun 13, 2023
f83f655
Component: improve illegal argument detection
kmantel Jun 14, 2023
405bb5b
Component: improve param_defaults
kmantel Jun 14, 2023
3b4dc40
Component: fix detecting constructor args during init
kmantel Jun 13, 2023
879f5de
Merge pull request #2697 from kmantel/parameter-constructor-args
kmantel Jun 20, 2023
4768824
Add support for optuna in PEC.
davidt0x Jun 20, 2023
f4ab257
Fix typing import.
davidt0x Jun 20, 2023
a1e94b4
Add check_user_specified to PECOptimizationFunction
davidt0x Jun 20, 2023
2f0cd51
Some code reformat.
davidt0x Jun 20, 2023
8fa73fc
Merge branch 'devel' of https://github.com/PrincetonUniversity/PsyNeu…
davidt0x Jun 21, 2023
e9114b2
Fix explicit returns mixed with implicit
davidt0x Jun 21, 2023
59730b3
ci: Don't build "base" version of docs using python 3.10 or 3.11
jvesely Jun 22, 2023
ac1a41d
ci: Don't use latest python on macos for building docs
jvesely Jun 22, 2023
262fc07
ci: Don't use python 3.7.17 on macos to build docs (#2703)
jvesely Jun 23, 2023
59bafcc
Merge branch 'devel' into pec_optuna
davidt0x Jun 23, 2023
56a2ed7
requirements: update autograd requirement from <1.6 to <1.7 (#2704)
dependabot[bot] Jun 23, 2023
86efffa
requirements: update grpcio requirement from <1.56.0 to <1.57.0 (#2705)
dependabot[bot] Jun 24, 2023
a944ad1
requirements: update pytest requirement from <7.3.3 to <7.4.1 (#2706)
dependabot[bot] Jun 25, 2023
fbc78b5
Merge branch 'devel' into pec_optuna
davidt0x Jun 26, 2023
d4a5c64
Merge pull request #2702 from PrincetonUniversity/pec_optuna
davidt0x Jun 26, 2023
c694bbe
tests/llvm/debug: Remove duplicate 'const_data' debug flag
jvesely Jun 29, 2023
f9346b7
tests: Add a helper to generate power set
jvesely Jun 29, 2023
e971b49
tests: Add helper to generate power set and use it to test compiler d…
jvesely Jun 29, 2023
521d3e7
ci: Disable pytest-xdist in benchmark ci job (#2710)
jvesely Jun 30, 2023
fea6a37
requirements: update pandas requirement from <2.0.3 to <2.0.4 (#2708)
dependabot[bot] Jun 30, 2023
491dd8a
CostFunctions: Use Flags instead of IntFlags for cost function enum
jvesely Jun 28, 2023
3d176b9
tests/TransferFunctions: Style
jvesely Jun 29, 2023
90e4abc
tests/TransferFunctions: Add TransferWithCosts test with all combinat…
jvesely Jun 29, 2023
3cb0ce4
llvm/execution: Improve writeback handling of history and empty struc…
jvesely Jun 30, 2023
2fb72a8
llvm/functions, test: Sync stateful parameters back to Python
jvesely Jun 30, 2023
c0604ae
llvm, functions/TransferWithCosts: Implement compiled support for cos…
jvesely Jun 30, 2023
88b30c2
llvm/CUDA/function: Sync stateful params back to CPU at the end of cu…
jvesely Jul 1, 2023
22d575d
llvm, functions/TransferWIthCosts: Implement cost calculations (#2713)
jvesely Jul 1, 2023
6a08514
tests/TransferWithCost: Do not include CostFunctions.ALL when constru…
jvesely Jul 2, 2023
2608fe6
deps: Restrict pillow to <10.0.0 on x86 (32-bit) (#2716)
jvesely Jul 5, 2023
bcdd1c4
requirements: update pillow requirement from <9.6.0 to <10.1.0 (#2715)
dependabot[bot] Jul 5, 2023
f42d0de
llvm/execution: Do not write back "random_state" parameter
jvesely Jul 5, 2023
f47825c
llvm/execution: Do not construct numpy arrays of empty structures
jvesely Jul 5, 2023
3909d21
llvm: Only write back shareable data (#2718)
jvesely Jul 6, 2023
8d5573c
requirements: update matplotlib requirement from <3.7.2 to <3.7.3 (#2…
dependabot[bot] Jul 6, 2023
fdab14f
ControlMechanism: fix control_allocation initialization
jdcpni Jun 9, 2023
03008f7
Fix/input port spec w mapping projection (#2724)
jdcpni Jul 9, 2023
78c452b
Fix/ parse port spec port as sender or recvr (#2728)
jdcpni Jul 11, 2023
ab25d57
ControlSignal: Do not recalculate costs on Port._update (#2722)
jvesely Jul 11, 2023
caa4802
llvm/execution: Use "state" instead of context/CTX in debug print
jvesely Jul 11, 2023
66124db
llvm/execution: Print information about composition input struct if e…
jvesely Jul 11, 2023
3265c9b
llvm/execution: Print information about "evaluate" output structure i…
jvesely Jul 11, 2023
1397e61
llvm: Add more structure stat messages (#2729)
jvesely Jul 11, 2023
b284911
Fix/mapping projection matrix keyword assignment (#2730)
jdcpni Jul 11, 2023
ba8ebd0
llvm/cuda: Do not upload inputs to shared memory.
jvesely Jul 11, 2023
82fca59
tests/ParameterEstimationComposition: Enable GPU tests
jvesely Jul 11, 2023
a2e75ad
llvm/cuda: Do not use shared memory for inputs (#2731)
jvesely Jul 11, 2023
2f71c4d
tests: add for invalid function_params
kmantel Jul 11, 2023
e0a6f38
AutoAssociativeProjection: only pass initial_shared 'matrix' to function
kmantel Jul 6, 2023
29bcd2c
Component: don't prune args to function init
kmantel Jul 4, 2023
ed45afc
Merge pull request #2726 from kmantel/function-params
kmantel Jul 12, 2023
c458166
Parameters: handle Parameters as dependencies
kmantel Jul 13, 2023
6c781a0
ControlMechanism: correct _parse_output_ports
kmantel Jun 23, 2023
375ab11
ControlMechanism: remove __init__ parsing of monitor_for_control
kmantel Jun 23, 2023
8df2275
ControlMechanism: remove __init__ parsing of control
kmantel Jun 23, 2023
06de22c
Merge pull request #2733 from kmantel/controlmech-parsing
kmantel Jul 17, 2023
b2d22ec
PredictionErrorMechanism: pass up only sample and target
kmantel Jun 23, 2023
b65134e
Feat/em composition (#2735)
jdcpni Jul 19, 2023
78fb45a
Feat/em composition (#2736)
jdcpni Jul 20, 2023
0a5bcbf
Feat/em composition (#2737)
jdcpni Jul 20, 2023
9ce2367
tests: mark em_composition TestExecution as pytorch
kmantel Jul 21, 2023
2814b65
Feat/em composition (#2740)
jdcpni Jul 21, 2023
98c70ed
Feat/em composition learning (#2741)
jdcpni Jul 24, 2023
d8be6be
tests: mark test_import_composition as pytorch
kmantel Jul 25, 2023
df61e95
tests: use overlooked helper function
kmantel Jun 20, 2023
b96db0b
tests: rename test Component
kmantel Jun 30, 2023
1ca7987
Component: don't try copying defaults with value None
kmantel Jun 23, 2023
8a30d83
Component: fully disallow name when constructor arg present
kmantel Jun 22, 2023
cb68b77
Component: rework constructor argument validation
kmantel Jun 26, 2023
0a644ae
Component: parse to combine alt param specifications
kmantel Jun 28, 2023
bb0e0d3
Component: skip assigning defaults of aliases
kmantel Jun 23, 2023
4eeee5c
Merge pull request #2738 from kmantel/constructor-args
kmantel Jul 25, 2023
6daa89b
Feat/em composition learning (#2746)
jdcpni Jul 26, 2023
589e149
requirements: update fastkde requirement (#2747)
dependabot[bot] Jul 27, 2023
b8cd10e
Merge pull request #2748 from PrincetonUniversity/devel
kmantel Jul 27, 2023
4c22a0a
requirements: update beartype requirement from <0.15.0 to <0.16.0 (#2…
dependabot[bot] Jul 27, 2023
2890038
Fix/input port combine (#2755)
jdcpni Jul 29, 2023
26d1386
Feat/em composition refactor learning mech (#2754)
jdcpni Jul 30, 2023
70f0c57
requirements: update dill requirement from <0.3.7 to <0.3.8 (#2743)
dependabot[bot] Jul 31, 2023
f9ddb0c
tests/ParameterEstimationComposition: Provide expected result instead…
jvesely Jun 28, 2023
3218ef9
tests/ParameterEstimationComposition: Reduce the number of estimates …
jvesely Jul 28, 2023
c49c015
tests/ParameterEstimationComposition: Reduce running time (#2753)
jvesely Jul 31, 2023
e3887fc
Merge remote-tracking branch 'origin/devel'
kmantel Aug 1, 2023
ae092cc
requirements: update beartype requirement from <0.15.0 to <0.16.0 (#2…
dependabot[bot] Jul 27, 2023
5cef50b
Fix/input port combine (#2755)
jdcpni Jul 29, 2023
77e3732
Feat/em composition refactor learning mech (#2754)
jdcpni Jul 30, 2023
50b828d
requirements: update dill requirement from <0.3.7 to <0.3.8 (#2743)
dependabot[bot] Jul 31, 2023
6a846db
tests/ParameterEstimationComposition: Provide expected result instead…
jvesely Jun 28, 2023
424971b
tests/ParameterEstimationComposition: Reduce the number of estimates …
jvesely Jul 28, 2023
8355ebb
Merge pull request #2758 from kmantel/master-devel
kmantel Aug 2, 2023
0782d49
requirements: update numpy requirement to allow 1.24.4 (#2759)
jvesely Aug 2, 2023
b1039b4
llvm, OptimizationControlMechanism: Change "input port" -> "output po…
jvesely Jul 3, 2023
0a817aa
llvm, OptimizationControlMechanism: Use more descriptive names for in…
jvesely Jul 3, 2023
1ff3db8
llvm, OptimizationControlMechanism: Execute OCM output ports when ass…
jvesely Jul 3, 2023
66aabcf
tests/control: Wrap composition run to return results and grid search…
jvesely Aug 1, 2023
8a2e2e0
llvm, OptimizationControlMechanism: Reuse calculated costs from Trans…
jvesely Aug 1, 2023
8eca274
tests/control: Consolidate model_based_ocm_{after,before} tests
jvesely Aug 1, 2023
84b9a72
llvm, OptimizationControlMechanism: Reuse costs computed by TransferW…
jvesely Aug 3, 2023
2ba0668
llvm/codegen: Use a new variable name for list of rval operands
jvesely Jun 6, 2023
79ba53b
llvm/execution: Use typing to annotate parameter types
jvesely Jun 6, 2023
9a9ef68
llvm: Type annotation fixes (#2762)
jvesely Aug 3, 2023
3d1ec81
Fix/composition existing projections (#2763)
jdcpni Aug 4, 2023
35c6e0a
llvm, GridSearch: Use get_random_state_ptr helper
jvesely Aug 6, 2023
0398894
llvm/Component: Do not include read-only parameters with custom gette…
jvesely Aug 7, 2023
630f03d
llvm/Component: Drop more parameters from the compiled structures
jvesely Aug 6, 2023
699dfa4
llvm, TransferWithCosts: Use get_state_space instead of get_state_ptr…
jvesely Aug 8, 2023
95cd326
llvm: Reduce size of compiled parameters (#2765)
jvesely Aug 8, 2023
8732aaa
requirements: update optuna requirement from <3.3.0 to <3.4.0 (#2764)
dependabot[bot] Aug 8, 2023
5c7a90f
Feat/backprop fct with multi args (#2766)
jdcpni Aug 9, 2023
693c336
[skip ci] (#2770)
jdcpni Aug 11, 2023
2c59d26
tests/Distance: Consolidate
jvesely Aug 8, 2023
28d3835
Functions/Distance: Do not exit early for for COSINE and CORRELATION …
jvesely Aug 8, 2023
ab973f2
llvm, Distance: Turn "NORMALIZE" into compiled parameter
jvesely Aug 8, 2023
071702f
llvm, Distance: Turn "NORMALIZE" into compiled parameter (#2772)
jvesely Aug 16, 2023
233a0ce
tests/TransferWithCosts: Add missing 'function' mark (#2773)
jvesely Aug 16, 2023
d2a72b9
tests: Add 'pytorch' mark to all 'PyTorch' execution mode variants (#…
jvesely Aug 17, 2023
7260d59
requirements: update grpcio requirement from <1.57.0 to <1.58.0 (#2768)
dependabot[bot] Aug 17, 2023
082040c
Feat/em composition new (#2771)
jdcpni Aug 17, 2023
ff5df04
Feat/integrators/integrator mech reset param (#2778)
jdcpni Aug 18, 2023
a615dc6
setup.cfg: Restore parallel execution of tests by default (#2780)
jvesely Aug 20, 2023
122acf9
composition: Remove incorrect warning (#2781)
jvesely Aug 20, 2023
0daed25
Feat/models/ego mdp (#2782)
jdcpni Aug 20, 2023
94af56d
tests/em_composition: Remove unused benchmark fixtures (#2783)
jvesely Aug 21, 2023
9aa16a1
ci, docs: Use Python 3.11 to generate online docs (#2785)
jvesely Aug 22, 2023
d0ba283
Feat/models/ego mdp (#2787)
jdcpni Aug 25, 2023
81df7b3
Feat/models/ego mdp (#2789)
jdcpni Aug 29, 2023
9edacc3
github-actions(deps): bump actions/checkout from 3 to 4 (#2794)
dependabot[bot] Sep 5, 2023
9c75155
requirements: update pytest requirement from <7.4.1 to <7.4.2 (#2793)
dependabot[bot] Sep 5, 2023
f4d0735
requirements: update pytest requirement from <7.4.2 to <7.4.3 (#2796)
dependabot[bot] Sep 8, 2023
6024762
requirements: update grpcio requirement from <1.58.0 to <1.59.0 (#2797)
dependabot[bot] Sep 10, 2023
f4cb9b4
Feat/learning nested (#2801)
jdcpni Sep 18, 2023
9bf3cae
Feat/learning nested (#2802)
jdcpni Sep 18, 2023
03a6193
requirements: update pandas requirement from <2.0.4 to <2.1.1 (#2792)
dependabot[bot] Sep 20, 2023
716046d
deps: Don't use onnxruntime==1.16 on python 3.11 (#2807)
jvesely Sep 26, 2023
893c3eb
requirements: update llvmlite requirement from <0.41 to <0.42 (#2806)
dependabot[bot] Sep 26, 2023
ca2a82e
requirements: update grpcio requirement from <1.59.0 to <1.60.0 (#2809)
dependabot[bot] Oct 4, 2023
c24135b
Feat/learn nested direct (#2812)
jdcpni Oct 11, 2023
3490214
requirements: update fastkde requirement (#2813)
dependabot[bot] Oct 16, 2023
c00173e
ci/codeql: Reduce disk space usage(#2817)
jvesely Oct 17, 2023
204ac0d
llvm: Add support for fp32 to printf helper (#2816)
jvesely Oct 17, 2023
c283c58
requirements: update pillow requirement from <10.1.0 to <10.2.0 (#2815)
dependabot[bot] Oct 17, 2023
1c74859
LogEntries: Do not store references to owner's owner (#2819)
jvesely Oct 19, 2023
aa71055
requirements: update networkx requirement from <3.2 to <3.3 (#2820)
dependabot[bot] Oct 20, 2023
16b8ff1
deps: Bump minimum version of modeci_mdf to 0.4.3
jvesely Oct 18, 2023
4f59709
deps: Bump minimum version of pytorch to 1.10.0
jvesely Oct 19, 2023
8160d4d
deps: Bump minimum version of numpy to 1.21.0
jvesely Oct 19, 2023
76eeef5
ci/ga: Add a CI run with version restricted dependencies
jvesely Oct 18, 2023
0d1865e
ci/github-actions: Add CI run using the lowest supported version of d…
jvesely Oct 20, 2023
9c827ff
requirements: update pytest requirement from <7.4.3 to <7.4.4 (#2822)
dependabot[bot] Oct 25, 2023
6bd555f
tests/MemoryFunctions: Use more accurate and descriptive expected res…
jvesely Oct 22, 2023
2e42c24
DictionaryMemory: Store key after applying noise
jvesely Oct 22, 2023
3f3c531
llvm, DictionaryMemory: Implement noise application to key before sto…
jvesely Oct 22, 2023
d863b30
llvm, DictionaryMemory: Apply 'rate' value before storing 'key'
jvesely Oct 22, 2023
c46c7b8
tests/MemoryFunctions: Add extra insertion to test 'duplicate_keys'
jvesely Oct 27, 2023
bc409f2
llvm, MemoryFunctions: Drop 'duplicate_keys' and 'previous_value' fro…
jvesely Oct 27, 2023
87fd1a9
llvm, MemoryFunctions: Implement, use or drop unused parameters (#2824)
jvesely Nov 3, 2023
688021c
Refactor/learning pathways using ports (#2827)
jdcpni Nov 4, 2023
4eb8b64
Fix/emcomposition learnable projections (#2828)
jdcpni Nov 5, 2023
8150aca
requirements: Update torch requirement from >=1.10.0,<2.1.0 to >=1.10…
jvesely Nov 6, 2023
0818baa
setup.cfg: Restore parallel execution of tests by default (#2831)
jvesely Nov 6, 2023
77557ad
requirements: update pandas requirement from <2.1.1 to <2.1.3 (#2823)
dependabot[bot] Nov 7, 2023
8bc8bf7
Feat/emcomposition/support storage function (#2833)
jdcpni Nov 10, 2023
ca7e9d7
Test/autodiff without torch (#2836)
jdcpni Nov 11, 2023
ddbaef1
requirements: update pandas requirement from <2.1.3 to <2.1.4 (#2835)
dependabot[bot] Nov 12, 2023
f2b8141
github-actions(deps): bump actions/github-script from 6 to 7 (#2841)
dependabot[bot] Nov 14, 2023
7a82b3e
requirements: update pytest-xdist requirement (#2840)
dependabot[bot] Nov 14, 2023
e32223a
tests/functions: Move test_Stability_squeezes_variable to test_stability
jvesely Oct 20, 2023
cca6031
Functions/Stability: Convert 'normalize' to FunctionParameter
jvesely Nov 12, 2023
b61f894
Functions/Stability: Convert 'normalize' to FunctionParameter (#2838)
jvesely Nov 14, 2023
a947643
Feat/log/nparray executions (#2844)
jdcpni Nov 15, 2023
8843a6c
SoftMax: Switch default one_hot_function to 'None' (#2837)
jvesely Nov 15, 2023
b46308c
broken_trans_deps: Add cattrs==23.2.{1,2} to broken deps list (#2849)
jvesely Nov 28, 2023
8293201
requirements: update pytest-xdist requirement (#2848)
dependabot[bot] Nov 28, 2023
01ecccb
ci/github-actions: Run the main CI job every day (#2850)
jvesely Nov 28, 2023
f7f91b6
llvm, TransferFunction: Remove stale comment
jvesely Nov 30, 2023
3ab96b0
llvm, TransferFunction: Assert that 'max' termination measure does no…
jvesely Nov 27, 2023
53078b5
llvm, Component: Drop 'initializer' from compiled parameters
jvesely Nov 27, 2023
6f9c9e8
llvm, Component: Drop OCM functions from compiled parameters
jvesely Nov 28, 2023
b85e8c2
llvm, Component: Drop 'sample' and 'target' from compiled parameters
jvesely Nov 28, 2023
a133e7a
llvm, Component: Drop 'search_space' from compiled parameters
jvesely Nov 28, 2023
3b3703e
llvm, Mechanism: Drop `_parameter_ports' from compiled structures if …
jvesely Nov 28, 2023
fae7d5c
llvm, Component: Drop 'integrator_function' from compiled structures …
jvesely Nov 30, 2023
cf29608
llvm, Component: Drop 'random_state' from DDM's compiled state if it'…
jvesely Dec 2, 2023
e9dc9af
llvm, Component: Use 'add' to insert single element to a set
jvesely Dec 2, 2023
06a9495
llvm, Component: Drop unused cost functions from compiled structures
jvesely Dec 2, 2023
354b065
llvm, Function, Mechanism: Track used parameters and state
jvesely Nov 16, 2023
62c7084
llvm: Minimize and track parameters used in compiled structures (#285)
jvesely Dec 5, 2023
cf2ab2f
Graph: store cycle_vertices as list of cycles
kmantel Dec 1, 2023
8496390
Composition: node roles: determine INTERNAL by not being INPUT/OUTPUT
kmantel Nov 18, 2023
cefe9a1
Composition: node roles: split use of comp graph and scheduler graph
kmantel Nov 10, 2023
29790e8
Merge pull request #2853 from kmantel/noderoles
kmantel Dec 7, 2023
68aa99b
Composition: correct rebuilding scheduler on graph change (#2856)
kmantel Dec 8, 2023
a6631bd
github-actions(deps): bump actions/setup-python from 4 to 5 (#2854)
dependabot[bot] Dec 9, 2023
9123666
requirements: update pandas requirement from <2.1.4 to <2.1.5 (#2857)
dependabot[bot] Dec 9, 2023
b7cf26c
Models/ego/use emcomposition (#2861)
jdcpni Dec 12, 2023
70ae5c4
Merge master into devel (#2860)
kmantel Dec 13, 2023
80e2586
Merge master into devel
kmantel Dec 13, 2023
1b49504
Merge pull request #2862 from kmantel/master-devel
kmantel Dec 14, 2023
1a880a6
condition: correct Condition class mro dependencies
kmantel Sep 2, 2023
5cfbc78
scheduling: handle empty graph-scheduler object docstring
kmantel Dec 15, 2023
647bee7
Scheduler: use ConditionSet to store user-specified conds
kmantel Nov 20, 2023
ecb1d59
utilities: add toposort_key
kmantel Sep 2, 2023
1869c2e
condition: support graph-scheduler graph structure conditions
kmantel Aug 5, 2023
a38768d
Merge pull request #2864 from kmantel/structural-conditions
kmantel Dec 15, 2023
5a21b89
github-actions(deps): bump github/codeql-action from 2 to 3 (#2863)
dependabot[bot] Dec 15, 2023
f062be4
Merge pull request #2852 from PrincetonUniversity/devel
kmantel Dec 15, 2023
99f9bf1
UserDefinedFunction: do not modify cust_fct_params attr on function call
kmantel Dec 19, 2023
e5b3fbb
Component: _initialize_parameters: allow creating Parameters dynamically
kmantel Dec 19, 2023
39103d5
UserDefinedFunction: rework creation of custom Parameters
kmantel Dec 19, 2023
cb274c2
package: rework python logging
kmantel Jul 8, 2023
7f7878b
llvm: _comp_cached: handle weakref proxy/ref caching
kmantel May 19, 2023
0db186c
output test durations
kmantel Jan 21, 2023
15aec00
Kohonen: fix distance_function validation
kmantel Apr 5, 2023
d48df58
Component: fix silently discarding some ParameterErrors in dot-notation
kmantel Apr 5, 2023
0f8128a
Parameter: add validation on every set call
kmantel Apr 5, 2023
70715ee
tests: use overlooked helper function
kmantel Jun 20, 2023
96dfa6f
remove unneeded logging statements
kmantel Sep 23, 2023
b655fff
Parameters: use toposort_key for dependency ordering
kmantel Sep 2, 2023
b88c620
disable dependabot
kmantel Dec 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
54 changes: 54 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
version: '{build}'
branches:
except:
- gh-pages
skip_tags: true
skip_branch_with_pr: true
clone_depth: 15
image: Ubuntu2004
environment:
PIP_PROGRESS_BAR: off
APPVEYOR_CONSOLE_DISABLE_PTY: true
OMP_NUM_THREADS: 1
OPENBLAS_NUM_THREADS: 1
matrix:
- PYTHON: python3.8

init:
- ps: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends build-essential graphviz git curl $Env:PYTHON-dev $Env:PYTHON-distutils $Env:PYTHON-venv
sudo update-alternatives --install /usr/bin/python python /usr/bin/$Env:PYTHON 10
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/$Env:PYTHON 10
sudo update-alternatives --set python /usr/bin/$Env:PYTHON
sudo update-alternatives --set python3 /usr/bin/$Env:PYTHON

install:
- ps: |
python -m venv venv
venv/bin/Activate.ps1
echo "#!/bin/sh" > venv/bin/xdg-open
chmod +x venv/bin/xdg-open

pip --version
pip install -U pip wheel cython
pip install -U coveralls
pip install -U -e .[dev]

build: off

test_script:
- ps: |
if (Test-Path Env:\COVERALLS_REPO_TOKEN ) {
$Env:COV="--cov=psyneulink"
}
python -m pytest --junit-xml=tests_out.xml $Env:COV --verbosity=0 --capture=sys -o console_output_style=count

on_success:
- ps: |
if (Test-Path Env:\COVERALLS_REPO_TOKEN ) {
coveralls
}

on_finish:
- ps: curl -X POST -F "file=@tests_out.xml" https://ci.appveyor.com/api/testresults/junit/$Env:APPVEYOR_JOB_ID
69 changes: 64 additions & 5 deletions .github/actions/install-pnl/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,75 @@ runs:
run: |
case "$RUNNER_OS" in
macOS*) brew install graphviz ;;
Linux*) sudo apt-get install -y graphviz ;;
Linux*) sudo apt-get update && sudo apt-get install -y --no-install-recommends graphviz ;;
Windows*) choco install --no-progress -y graphviz --version=2.38.0.20190211 ;;
*) echo "Unsupported OS"; exit 1 ;;
esac

- name: Setup Python venv
shell: bash
run: |
case "$RUNNER_OS" in
macOS* | Linux*)
export VIRTUAL_ENV='${{ runner.temp }}/_venv'; export PYTHON_LOC=$VIRTUAL_ENV/bin/ ;;
Windows*)
export VIRTUAL_ENV='${{ runner.temp }}\_venv'; export PYTHON_LOC=$VIRTUAL_ENV\\Scripts ;;
*) echo "Unsupported OS"; exit 1 ;;
esac
python -m venv $VIRTUAL_ENV
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
echo "$PYTHON_LOC" >> $GITHUB_PATH

- name: Update pip and wheel
shell: bash
run: python -m pip install --upgrade pip wheel

- name: Drop pytorch on x86
shell: bash
run: |
echo > env_constraints.txt
if [ $(python -c 'import struct; print(struct.calcsize("P") * 8)') == 32 ]; then
sed -i /torch/d requirements.txt
sed -i /modeci_mdf/d requirements.txt
# pywinpty is a transitive dependency and v1.0+ removed support for x86 wheels
# terminado >= 0.10.0 pulls in pywinpty >= 1.1.0
[[ ${{ runner.os }} = Windows* ]] && pip install "pywinpty<1" "terminado<0.10"
echo "pywinpty<1" >> env_constraints.txt
# jupyter_sever pulls jupyter_server_terminals which depends on in pywinpty >= 2.0.3
echo "jupyter_server<2" >> env_constraints.txt
# scipy >=1.9.2 doesn't provide win32 wheel and GA doesn't have working fortran on windows
echo "scipy<1.9.2" >> env_constraints.txt
# scikit-learn >= 1.1.3 doesn't provide win32 wheel
echo "scikit-learn<1.1.3" >> env_constraints.txt
# countourpy >=1.1.0 doesn't provide win32 wheel
echo "contourpy<1.1.0" >> env_constraints.txt
# pillow >= 10.0.0 doesn't provide win32 wheel
echo "pillow < 10.0.0" >> env_constraints.txt
fi

- name: Install updated package
if: ${{ startsWith(github.head_ref, 'dependabot/pip') && matrix.pnl-version != 'base' }}
shell: bash
id: new_package
run: |
# The branch name pattern is: "dependabot/pip/$TARGET/$PACKAGE{-gt-$MINVERSION,,}{-lt-$MAXVERSION,}{-$VERSION,}
# The expression below extracts just the $PACKAGE part
export NEW_PACKAGE=$(echo '${{ github.head_ref }}' | cut -f 4 -d/ | sed 's/-gt.*//' | sed 's/-lt.*//' | sed 's/-[0-9\.]*$//' )
if grep "$NEW_PACKAGE" *requirements.txt; then
echo "new_package=$NEW_PACKAGE" >> $GITHUB_OUTPUT
# save a list of all installed packages (including pip, wheel; it's never empty)
pip freeze --all > orig
pip install "$(echo $NEW_PACKAGE | sed 's/[-_]/./g' | xargs grep *requirements.txt -h -e | head -n1)" -c env_constraints.txt -c broken_trans_deps.txt
pip show "$NEW_PACKAGE" | grep 'Version' | tee new_version.deps
# uninstall new packages but skip those from previous steps (pywinpty, terminado on windows x86)
# the 'orig' list is not empty (includes at least pip, wheel)
pip uninstall -y $(pip freeze -r orig | sed '1,/## /d')
else
echo "new_package=''" >> $GITHUB_OUTPUT
fi

- name: Python dependencies
shell: bash
run: |
python -m pip install --upgrade pip wheel
pip install -e .[${{ inputs.features }}]
pip install -e .[${{ inputs.features }}] -c env_constraints.txt -c broken_trans_deps.txt

- name: "Cleanup old wheels"
shell: bash
Expand All @@ -51,3 +100,13 @@ runs:
pip cache remove -v $P || true
fi
done

- name: Check updated package
if: ${{ startsWith(github.head_ref, 'dependabot/pip') && matrix.pnl-version != 'base' && steps.new_package.outputs.new_package != '' }}
shell: bash
run: |
if [ $(pip list | grep -o ${{ steps.new_package.outputs.new_package }} | wc -l) != "0" ] ; then
pip show ${{ steps.new_package.outputs.new_package }} | grep 'Version' | tee installed_version.deps
cmp -s new_version.deps installed_version.deps || echo "::error::Package version restricted by dependencies: ${{ steps.new_package.outputs.new_package }}"
diff new_version.deps installed_version.deps
fi
2 changes: 1 addition & 1 deletion .github/actions/on-branch/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ runs:
git describe --always --tags
export ON_BRANCH=$(git branch -a --contains ${{ github.ref }} | grep -q '^ remotes/origin/${{ inputs.branch }}$' && echo "${{ inputs.branch }}" || echo "")
echo "Found out: ${ON_BRANCH}"
echo "::set-output name=on_branch::$ON_BRANCH"
echo "on_branch=$ON_BRANCH" >> $GITHUB_OUTPUT
29 changes: 0 additions & 29 deletions .github/dependabot.yml

This file was deleted.

58 changes: 58 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: "CodeQL"

on:
push:
branches: [ "master", "devel", "codeql" ]
paths-ignore:
- 'docs/**'
pull_request:
branches: [ "master", "devel" ]
schedule:
- cron: "14 21 * * 5"

# run only the latest instance of this workflow job for the current branch/PR
# cancel older runs
# fall back to run id if not available (run id is unique -> no cancellations)
concurrency:
group: ci-${{ github.ref || github.run_id }}-${{ github.workflow }}
cancel-in-progress: true

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ python ]

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 100

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
queries: +security-and-quality

- name: Autobuild
uses: github/codeql-action/autobuild@v3

- name: Cache cleanup
shell: bash
run: |
$CODEQL_PYTHON -m pip cache info
$CODEQL_PYTHON -m pip cache purge

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{ matrix.language }}"
29 changes: 18 additions & 11 deletions .github/workflows/compare-comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,17 @@ jobs:
runs-on: ubuntu-latest
if: github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'success'
permissions:
actions: read
pull-requests: write

steps:

- name: 'Download docs artifacts'
id: docs-artifacts
uses: actions/github-script@v4.0.2
uses: actions/github-script@v7
with:
script: |
var artifacts = await github.actions.listWorkflowRunArtifacts({
var artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{ github.event.workflow_run.id }},
Expand All @@ -32,16 +34,19 @@ jobs:
core.setOutput('DOCS_GEN_ENV', docsSuffix);

var docsArtifacts = artifacts.data.artifacts.filter((artifact) => {
return artifact.name.endsWith(docsSuffix) && artifact.name.startsWith('Documentation-')
return (
(artifact.name.endsWith(docsSuffix) && artifact.name.startsWith('Documentation-'))
|| artifact.name == 'pr_number'
)
});

// check that we got exactly 2 artifacts
console.assert(docsArtifacts.length == 2, docsSuffix, docsArtifacts, artifacts.data.artifacts);
// check that we got exactly 3 artifacts
console.assert(docsArtifacts.length == 3, docsSuffix, docsArtifacts, artifacts.data.artifacts);

var fs = require('fs');
for (artifact of docsArtifacts) {
console.log('Downloading: ' + artifact.name);
var download = await github.actions.downloadArtifact({
var download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: artifact.id,
Expand All @@ -55,6 +60,7 @@ jobs:
run: |
unzip Documentation-base-*.zip -d docs-base/
unzip Documentation-head-*.zip -d docs-head/
unzip pr_number.zip

- name: Compare
shell: bash
Expand All @@ -64,16 +70,17 @@ jobs:
(diff -r docs-base docs-head && echo 'No differences!' || true) | tee ./result.diff

- name: Post comment with docs diff
uses: actions/github-script@v4.0.2
uses: actions/github-script@v7
with:
script: |
var fs = require('fs');
var text = fs.readFileSync("./result.diff").slice(0,16384);
var issue_number = Number(fs.readFileSync('./pr_number.txt'));

console.log('Posting diff to PR: ${{ github.event.workflow_run.pull_requests[0].number }}')
console.log('Posting diff to PR: ' + issue_number);

github.issues.createComment({
issue_number: ${{ github.event.workflow_run.pull_requests[0].number }},
github.rest.issues.createComment({
issue_number: issue_number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'This PR causes the following changes to the html docs (${{ steps.docs-artifacts.outputs.DOCS_GEN_ENV }}):\n```\n' + text + '\n...\n```\nSee CI logs for the full diff.'
Expand Down
Loading
Loading