Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
319 commits
Select commit Hold shift + click to select a range
db10353
[CORE][NETWORK] Added setup and functionality for edge computation
ShravanTata Oct 9, 2024
8e8b221
[CORE][DATA] Fixed handling network with no edges
ShravanTata Oct 9, 2024
968c3f6
[CORE][OPTIONS] Added linear model and edge options to oscillator
ShravanTata Oct 9, 2024
6a7f4b0
[CORE] Added edge and linear models
ShravanTata Oct 9, 2024
26bfbb6
[CORE] Added edge and linear models
ShravanTata Oct 9, 2024
2088235
[MERGE] Extending previous commit with missing model files
ShravanTata Oct 9, 2024
996068b
[MODELS] Added 2nd order ampltitude equation to oscillator model
ShravanTata Oct 16, 2024
5894276
[MODELS] Fixed linear model equations
ShravanTata Oct 16, 2024
bcc1d36
[MODELS] Fixed edge pointer to list in LI danner models
ShravanTata Oct 16, 2024
7c42c10
[CORE][NODE] Fixed edge pointers to list
ShravanTata Oct 16, 2024
615dfb6
[EXAMPLE] Added ijspeert07 oscillator model network
ShravanTata Oct 17, 2024
23630fa
[CORE] Fixed edge indices in network ode calls
ShravanTata Oct 17, 2024
82dce61
[CORE] Added add_nodes and edges method to network options
ShravanTata Oct 17, 2024
4af56f7
[CORE] Added slope parameter to linear node options
ShravanTata Oct 17, 2024
606ad53
[CORE][OPTIONS] Added 2nd order rate equation to oscillator
ShravanTata Oct 17, 2024
dc26421
[SETUP] Removed farms_container get include call
ShravanTata Oct 21, 2024
3180712
[SETUP] Removed farms_container get_include func calls
ShravanTata Oct 21, 2024
1ef59ac
[EX][IJSPEERT07] Updated plots and network figure for testing
ShravanTata Oct 21, 2024
a67551d
[CORE][OPTIONS] Added basic network and node logging options
ShravanTata Oct 25, 2024
094679f
[CORE][OPTIONS] Replaced print statements with farms-pylog
ShravanTata Oct 25, 2024
a95a9ad
[CORE][OPTIONS] Added iterations and timestep to options
ShravanTata Oct 25, 2024
64696f2
[CORE][OPTIONS] Added fancy arrow edge options
ShravanTata Oct 25, 2024
be80cbd
[CORE][OPTIONS] Fixed nstates for LIDannerNode
ShravanTata Oct 25, 2024
3f0578a
[CORE][DATA] Added basic node data infrastructure
ShravanTata Oct 25, 2024
f06d34b
[DUCKS] Updated core sections and formatting
ShravanTata Oct 25, 2024
ae8986b
[EX] Added log options to ijspeert07
ShravanTata Oct 25, 2024
54588e9
[EX] Added mouse example file
ShravanTata Oct 25, 2024
bd2dcb4
[MAIN] Added requirements file
ShravanTata Oct 25, 2024
2a53d5f
[DUCKS] Reorganized index file contents for better sidebar
ShravanTata Oct 25, 2024
a3c6d6c
[MAIN][CORE] Added external relay node model
ShravanTata Oct 28, 2024
50f5f9a
[EX][MOUSE] Separated generation and run into components module
ShravanTata Oct 28, 2024
13b47ca
[EX][MOUSE] Added basic motor layer connections
ShravanTata Oct 28, 2024
a37f965
[CORE] Added support for logging data
ShravanTata Oct 30, 2024
d7f9f63
[WORKFLOW] Added pip install to build to use cython files for docs
ShravanTata Oct 31, 2024
8da5174
[MAIN] Added farms-core to requirements
ShravanTata Oct 31, 2024
e3a23b2
[WORKFLOW] Added installation for repository requirements
ShravanTata Oct 31, 2024
9ed1919
[WORKFLOW] Downgrading setuptools version to resolve fetch_build_eggs
ShravanTata Oct 31, 2024
0754e0e
[WORKFLOW] Attemp to resolve pip issue with --use-pep517
ShravanTata Oct 31, 2024
be7ab0f
[WORKFLOW] Added explicit cython and numpy pip installation steps
ShravanTata Oct 31, 2024
878a8cf
[WORKFLOW] Explicit installation of farms core
ShravanTata Oct 31, 2024
b64d10c
[WORKFLOW] Replaced pip installation with setuptools for farms-network
ShravanTata Oct 31, 2024
4bb52ce
[WORKFLOW] Fixed dependencies installation path
ShravanTata Oct 31, 2024
6d42dac
[WORKFLOW] Added pip install to farms-core dependency
ShravanTata Oct 31, 2024
27d2b4d
[WORKFLOW] Added pip debug statements
ShravanTata Oct 31, 2024
f14c3a1
[WORKFLOW] Added explicit python versions to fix installation
ShravanTata Oct 31, 2024
56f66e3
[WORKFLOW] Test farms-core install failure again
ShravanTata Oct 31, 2024
ede0c41
[WORKFLOW] Added --no-use-pep517 to force legacy behavior
ShravanTata Oct 31, 2024
b900205
[WORKFLOW] Added setuptools and wheel installation
ShravanTata Oct 31, 2024
012b471
[WORKFLOW] Fixed --no-use-pep517 typo
ShravanTata Oct 31, 2024
1212ad6
[WORKFLOW] Added networkx as install dependency
ShravanTata Oct 31, 2024
bfa16e5
[PAGES] Added CNAME to use subdomains
ShravanTata Nov 1, 2024
69550e3
[CORE][OPTIONS] Added feature to load saved network_options from disk
ShravanTata Nov 8, 2024
58dd906
[IJSPEERT07] Added heatmap to visualize network connections and weights
ShravanTata Nov 11, 2024
21e2a82
[NUMERIC] Added basic runge-kutta4 integration scheme
ShravanTata Nov 12, 2024
6a3c769
[MAIN] Added Pyproject TOML for package setup
ShravanTata Nov 13, 2024
4f8675e
[CORE] Refactored network code to use numeric/integrators
ShravanTata Nov 13, 2024
dd7bae4
[MAIN] Updated metadata and project dependencies in pyproject setup
ShravanTata Nov 13, 2024
e2e9331
[SETUP] Fixed missing comma in pyproject.toml
ShravanTata Nov 13, 2024
30a4e41
[CORE][Network] changed Py_ssize_t to unsigned int
ShravanTata Nov 13, 2024
d4bd9b7
[CORE][DATA] Change array creation to np.full
ShravanTata Nov 13, 2024
e1778a2
[NUMERIC] Fixed hard-coded timestep to be 1.0
ShravanTata Nov 13, 2024
a11119a
[EX][IJSPEERT] Updated run script to changes in core
ShravanTata Nov 13, 2024
729a337
[CORE][OPTIONS] Added support read/write different edge types
ShravanTata Nov 13, 2024
f64053a
[DUCKS] Renamed usage to introduction folder
ShravanTata Nov 13, 2024
7356ea4
[UTILS] Added console script to load and run from config file
ShravanTata Nov 15, 2024
f9f5137
[NUMERIC] Added outline for EulerMaruyamaSolver stochastic integrator
ShravanTata Nov 15, 2024
d51dd89
[CORE][DATA] Added network level noise data structures
ShravanTata Nov 15, 2024
cb1f9b8
[CORE] Added stochastic noise system
ShravanTata Nov 15, 2024
94cc993
[CORE][OPTIONS] Fixed relay node bug to init visual opts
ShravanTata Nov 17, 2024
20a7fb1
[NUMERIC] Added stochastic differential equation system base class
ShravanTata Nov 21, 2024
73ce5ff
[CORE][NUMERIC] Refactored ornstein uhlenbeck SDE system
ShravanTata Nov 21, 2024
47dc47b
[CORE] Added int type assertion for iteration and buffer size
ShravanTata Nov 21, 2024
ed2349c
[CORE][NETWORK] Added buffer_size attribute to match FARMS updates
ShravanTata Nov 21, 2024
c81379a
[CORE][NETWORK] Added support network state initialization
ShravanTata Nov 21, 2024
eb60959
[MOUSE] Working quadruped network model
ShravanTata Nov 21, 2024
21336f1
[MODELS] Added new model files
ShravanTata Nov 21, 2024
858f1b9
[CORE][OPTIONS] Fixed li danner node state option name
ShravanTata Nov 21, 2024
4b886b7
[EX][MOUSE] Adapted state initialization names to changes in core/opt…
ShravanTata Nov 21, 2024
8ae3b57
[SCRATCH] Added test_gui script
ShravanTata Nov 21, 2024
d711270
[CORE][DATA] Added network noise feature
ShravanTata Nov 21, 2024
a02ab46
[NOISE] Moved stochastic model to noise sub-module
ShravanTata Nov 22, 2024
b78034e
[NOISE] Added equations for ornstein uhlenbeck model
ShravanTata Nov 23, 2024
962c991
[NUMERIC] Added support for EulerMaruyama Solver
ShravanTata Nov 23, 2024
1a4b81d
[NUMERIC] Added timestep to SDE system base class
ShravanTata Nov 23, 2024
3b7356e
[DATA] Added drift and diffusion arrays to NoiseData
ShravanTata Nov 23, 2024
cabb3bd
[MAIN][SETUP] Added numeric and noise sub-modules to cython extension
ShravanTata Nov 23, 2024
53dbb9e
[CORE] Added noise options to all node classes
ShravanTata Nov 23, 2024
fb30b88
[SCRATCH][GUI] Added support for changes values in table
ShravanTata Nov 25, 2024
b626827
[NUMERIC] Removed timestep argument in SDE evaluate arguments
ShravanTata Nov 26, 2024
7d35bb3
[NOISE] Fixed ornstein uhlenbeck computation
ShravanTata Nov 26, 2024
f3d8b14
[SCRATCH] Added test script for ornstein noise model
ShravanTata Nov 26, 2024
f81274b
[NUMERIC] Fixed Euler Maruyama Solver integration equation
ShravanTata Nov 26, 2024
01bd3a4
[CORE][NOISE] Added basic support random number seed
ShravanTata Nov 26, 2024
1684ecc
[CORE][WIP] Changed network logging function signature
ShravanTata Nov 26, 2024
5e2b811
[EX][MOUSE] Added noise options to network generation
ShravanTata Nov 26, 2024
0d8cb4c
[DUCKS] Removed contents from li danner page
ShravanTata Dec 1, 2024
d0d2838
[NUMERIC] Removed distutils langauge c++ directive
ShravanTata Dec 1, 2024
3c38674
[NOISE] Added wrappers for cpp random class in ornstein ulhenbeck pro…
ShravanTata Dec 1, 2024
cbdff9e
[CORE][MODELS] Added feature to support noise in nodes
ShravanTata Dec 1, 2024
f206172
[MODELS] Added new ReLU neuron type
ShravanTata Dec 1, 2024
c03e81c
[MAIN] Removed unused dist import in setuptools
ShravanTata Dec 2, 2024
78000d0
[NETWORK] Refactored evaluate func with explicit types
ShravanTata Dec 2, 2024
7dd2803
[EX][MOUSE] Added vestibular and somatosensory systems
ShravanTata Dec 2, 2024
19f924c
[CORE][NODE] Fixed function docstring
ShravanTata Dec 6, 2024
f5cd48e
[EX][IJSPEERT07] Updated to the changes in the core functions
ShravanTata Dec 6, 2024
09ab4fb
[CORE][OPTIONS] Updated oscillator node to handle noise options
ShravanTata Dec 6, 2024
960ee3b
[CORE][DATA] Removed derivatives from node logs
ShravanTata Dec 6, 2024
9bcc7e3
[CORE][NETWORK] Removed saving nodes_data as a network attribute
ShravanTata Dec 6, 2024
37d6918
[EX][IJSPEERT07] Fixed module docstring DOI paper reference
ShravanTata Dec 6, 2024
d0db66e
[EX][MOUSE] Minor code clean up in run file
ShravanTata Dec 6, 2024
97d0dde
[SCRATCH] Refactored test_gui
ShravanTata Dec 6, 2024
1b52a89
[SCRATCH] Udpated test_network script
ShravanTata Dec 6, 2024
1c81f5c
[NUMERIC] Minor refactoring of rk4 integrator
ShravanTata Dec 10, 2024
998195b
[MODELS] Minor refactoring in li danner models output functions
ShravanTata Dec 10, 2024
bc27dd3
[MODELS] Minor refactoring li_danner model ode function
ShravanTata Dec 10, 2024
57aa247
[NOISE] Added random_samples vector to separate computation loops in OU
ShravanTata Dec 11, 2024
dc7e5ef
[CORE][BUG][NETWORK] Fixed issue with states data pointer
ShravanTata Dec 11, 2024
d78ce2f
[NUMERIC] Renamed state to states in rk4 step method for readability
ShravanTata Dec 11, 2024
8377ded
[EX][WIP] Refactoring zhang22 paper model
ShravanTata Dec 11, 2024
4db791e
[GIT] Added cython cpp files to ignore
ShravanTata Dec 11, 2024
70269ca
[EX][MOUSE] Added brainstem circuit
ShravanTata Dec 11, 2024
120255d
[GIT] Added new workflow for testing cross platform installation
ShravanTata Dec 19, 2024
9baa506
[GIT][CI] Disabled building pages for farms-core-integration branch
ShravanTata Dec 19, 2024
64b0633
[GIT][CI] Fixed run command python pip error
ShravanTata Dec 19, 2024
856b26b
[MAIN] Changed farms-core dependency to pyproject toml setup branch
ShravanTata Dec 19, 2024
93b2425
[MAIN] Added package dir and data for setup.py
ShravanTata Dec 19, 2024
922548b
[CORE] Fixed base class parameter property access
ShravanTata Dec 19, 2024
d83436e
[CORE][NODE] Fixed wrong attribute name edge in cinit
ShravanTata Dec 20, 2024
a2978ed
Check for top level struct being null before trying to check members
orrenravid1 Dec 21, 2024
c007775
Merge pull request #25 from orrenravid1/user/orren/farms-core-fixes
ShravanTata Dec 21, 2024
42f8b4f
[MODELS] Added hopf oscillator
ShravanTata Jan 10, 2025
73700d8
[MODELS] Removed unused imports in hopf oscillator pyx
ShravanTata Jan 13, 2025
918a08b
[MODELS] Added Izhikevich preliminary model files
ShravanTata Jan 13, 2025
69acd7f
[MODELS] Added preliminary files for morphed oscillator
ShravanTata Jan 13, 2025
e57f896
[MODELS] Added preliminary missing model files from old framework
ShravanTata Jan 13, 2025
029279e
[EX] Added hopf oscillator righetti 08 scripts
ShravanTata Jan 13, 2025
8e7bfa1
[EX] Removed graphviz dependency from ijspeert07 run script
ShravanTata Jan 13, 2025
43ffe8f
[GUI][SCRATCH] Improved row-col ratios for better gait diagrams
ShravanTata Jan 13, 2025
b1fe298
[GUI][SCRATCH] Fixed implot setup_axis_links limits type issue
ShravanTata Jan 14, 2025
b720231
[GUI][SCRATCH] Added brainstem drive to the controls
ShravanTata Jan 14, 2025
a3848b6
[MAIN] Removed pylog dependency from toml as it is part of farms_core
ShravanTata Jan 14, 2025
3fd437c
[EX][MOUSE] Fixed brainstem drive
ShravanTata Jan 14, 2025
96e6597
[EX][MOUSE] Removed pattern-commissural edges in components
ShravanTata Jan 14, 2025
9fb808f
[EX][MOUSE] Updated main script
ShravanTata Jan 14, 2025
01ed6e6
[MODELS] Added standard leaky integrator model
ShravanTata Jan 15, 2025
ef0109d
[EX] Added example to simulate beer95 leaky integrator model
ShravanTata Jan 15, 2025
c3116f1
[OPTIONS] Made noise optional for li_danner models
ShravanTata Jan 15, 2025
2fe754b
[UTILS] Fixed setup_integrator method in run script
ShravanTata Jan 15, 2025
ceb519e
[CORE] Added analysis module and plot
ShravanTata Jan 15, 2025
5bd655a
[EX] Minor refactor in Beer95
ShravanTata Jan 15, 2025
29a29ed
[MAIN] Changed naming convention for cython and python objs and attrs
ShravanTata Jan 15, 2025
235e0b4
[MAIN] Removed -ffast-math from extra compile args
ShravanTata Jan 18, 2025
8ace591
[CORE] Fixed segfault due to mem free in edge parameters ptr
ShravanTata Jan 18, 2025
dfbf7e8
[MAIN] Added farms-core to runtime dependencies in pyproject toml
ShravanTata Jan 18, 2025
b95511b
[MAIN] Added seasborn to gui dependency in pyproject
ShravanTata Jan 18, 2025
2f80023
[EX][IJSPEERT07] Removed deprecrated farms-pylog import
ShravanTata Jan 18, 2025
4759f41
[CORE] Removed unused main function from options
ShravanTata Jan 18, 2025
8d648e9
[CORE] Separated network into python and cython files
ShravanTata Jan 21, 2025
3ece098
[CORE] Added edge options for each model
ShravanTata Jan 29, 2025
ec505b7
[CORE] Separated node cython implementation
ShravanTata Jan 29, 2025
5e11e7e
[CORE] Separated edge cython implementation
ShravanTata Jan 30, 2025
48efbc6
[CORE][OPTIONS] Refactored node and edge base class options
ShravanTata Feb 20, 2025
69ad966
[CORE][OPTIONS] Removed model specific edge options
ShravanTata Feb 20, 2025
1a45708
[CORE][OPTIONS] Replaced print statements with pylog
ShravanTata Feb 20, 2025
3d583ba
[CORE] Refactored node class
ShravanTata May 25, 2025
2d70a4a
[CORE] Refactored edge class
ShravanTata May 25, 2025
11597d3
[MODELS] Refactored relu and relay nodes
ShravanTata May 25, 2025
63a0346
[MODELS] Fixed relay base node missing inheritence
ShravanTata May 28, 2025
e8072c1
[CORE] Exposed default node properties
ShravanTata May 28, 2025
9d66b39
[MODELS] Added sub-module level enum types for model instances
ShravanTata May 28, 2025
dec678f
[GITHUB] Removed branch from python installer workflow
ShravanTata Jul 17, 2025
8db13e0
[MERGE] branch 'farms-core-integration' of farmsim
ShravanTata Jul 17, 2025
306216a
[NODE] Full refactor
ShravanTata Jul 20, 2025
284c4ea
[MODELS] Refactored ReLU to changes in node refactor
ShravanTata Jul 20, 2025
dac68d5
[NODE] Added state access to input_tf signature
ShravanTata Jul 21, 2025
4fba7cc
[MODELS] Adapted relu to input_tf state access
ShravanTata Jul 21, 2025
6fb6656
[EDGE] Added phase coupling to edge types
ShravanTata Jul 21, 2025
e9f6d11
[NETWORK] Added minimal working ODE
ShravanTata Jul 23, 2025
912f652
[MODELS] Added refactored version of oscillator
ShravanTata Jul 24, 2025
c36a1c9
[MODELS] Added refactored version of li_danner
ShravanTata Jul 24, 2025
7f5ff6a
[MODELS] Added refactored version of li_nap_danner
ShravanTata Jul 24, 2025
b0239a5
[CORE] Refactored node and edge classes to support more models
ShravanTata Jul 24, 2025
18593da
[CORE] Updated options for OscillatorEdge
ShravanTata Jul 24, 2025
83fdcbe
[MODELS] Updated ReLU with processed_inputs in input_tf
ShravanTata Jul 24, 2025
b3e9f05
[MODELS] Added refactored Linear model
ShravanTata Jul 24, 2025
a72c910
[MODELS] Added refactored relay model
ShravanTata Jul 24, 2025
79aec55
[MODELS] Minor typos fixed in relu and linear
ShravanTata Jul 24, 2025
3978dd1
[MODELS] Changed default edge type open to generic
ShravanTata Jul 24, 2025
d39b7a7
[MODELS] Added refactored hopf_oscillator
ShravanTata Jul 27, 2025
23fa417
[MODELS] Added parameters method to oscillator CY
ShravanTata Jul 27, 2025
99b9982
[DATA] Changed network data to be a timeseries
ShravanTata Jul 28, 2025
8933d05
[CORE] Fixed edge class instantiation
ShravanTata Jul 28, 2025
8988abc
[CORE] Updated network with new refactored nodes and data
ShravanTata Jul 28, 2025
a72b7dd
[MODELS] Renamed cython files to new architecture
ShravanTata Jul 28, 2025
e2fdb13
[NUMERIC] Renamed system and integrators to new architecture
ShravanTata Jul 28, 2025
de31e9d
[DUCKS] Added core and introduction chapters
ShravanTata Jul 28, 2025
1308aef
[MODELS] Oscillator added missing property decorator
ShravanTata Jul 29, 2025
3d4a3d3
[CORE] Fixed instantiation of edge class from options
ShravanTata Jul 29, 2025
d74c633
[CORE] Addressed major edge indexing issue
ShravanTata Jul 30, 2025
8ae79ef
[CORE] Removed requirement for tmp_node_outputs storage
ShravanTata Jul 30, 2025
aa98575
[CORE] Added simpler interface to accessing node specific data views
ShravanTata Jul 30, 2025
18163af
[NUMERIC] Updated integrators to use renamed system_cy
ShravanTata Aug 14, 2025
2bf11e3
[CORE] Added checks for network data with additional temp buffers
ShravanTata Aug 21, 2025
7355a43
[CORE] Refactored and separated code data and logs
ShravanTata Aug 23, 2025
d30123b
[MAIN] Improved pyproject setup
ShravanTata Aug 23, 2025
1e25d4f
[CORE] Updated LIDanner state options node default parameters
ShravanTata Aug 23, 2025
f82a326
[MAIN] Fixed license file in pyproject
ShravanTata Aug 23, 2025
f2b9bd1
[MODELS] Refactored factory module
ShravanTata Aug 23, 2025
03adb39
[EX] Updated examples for testing current changes
ShravanTata Aug 23, 2025
73fff2e
[CORE] Updated function signature for input_tf and all associated nodes
ShravanTata Aug 23, 2025
7998f9f
[CORE] Made visuals optional to have lighter configs
ShravanTata Sep 5, 2025
0700c45
[EX] Fixed danner components with latest refactor
ShravanTata Sep 5, 2025
9783d1c
[MODELS] Removed content from to be refactored models
ShravanTata Sep 6, 2025
64096f6
[MAIN] Refactored setup py to compile all core modules
ShravanTata Sep 6, 2025
e599464
[CORE] Added _noise_states_to_output method
ShravanTata Sep 15, 2025
c6371d1
[EX][WIP] Added work in progress mouse running example network
ShravanTata Sep 16, 2025
80df37e
[CORE] Refactored state options base class
ShravanTata Sep 16, 2025
bc61d0a
[EX] Fixed for changes in state options initialization
ShravanTata Sep 16, 2025
2552d04
[PYPROJECT] Added networkx dependency
ShravanTata Sep 17, 2025
4e7becf
[CORE] Fixed gcc const pointer explicit casting issue
ShravanTata Sep 19, 2025
8331ed9
[MAIN] Removed farms_core from dependencies
ShravanTata Sep 22, 2025
088d943
[EX] Refactored ijspeert07 example
ShravanTata Sep 22, 2025
0a69a79
[MAIN] Deleted deprecated legacy code
ShravanTata Sep 23, 2025
49d7ba5
[MODELS] Fixed matsuoka model function signatures
ShravanTata Sep 26, 2025
af27805
[DUCKS] Fixed node class import
ShravanTata Sep 26, 2025
598e2b0
[SCRATCH][WIP] Updates to test functions for changes in network refactor
ShravanTata Sep 26, 2025
19f3c0d
[MAIN] Addressed few cython import warnings
ShravanTata Sep 29, 2025
94ac89d
[CORE] Removed network_options arg to network_cy setup_network
ShravanTata Sep 29, 2025
9e1bafb
[EX] Changed default iterations to 4e3 in mouse/run
ShravanTata Sep 29, 2025
f1f9bf2
[CORE] Network sorted nodes by model during initialization
ShravanTata Sep 29, 2025
1471b66
[EX] Fixed rhythm_generator run state_options initialization
ShravanTata Oct 6, 2025
e2d8c6e
[NOISE] Renamed ornstein noise model files
ShravanTata Oct 28, 2025
13ce595
[DUCKS] Updated copyright attribute
ShravanTata Oct 30, 2025
d7c9fd5
[CORE][WIP] Added basic structure for integrating stochastic noise
ShravanTata Nov 4, 2025
bb16da1
[NOISE] Updated ornstein model to newer farms update
ShravanTata Nov 5, 2025
8dfaf21
[CORE] Updated nodes interface for data logs
ShravanTata Nov 5, 2025
0196e4d
[CORE] Added kwargs to edge_cy params for cinit inheritence
ShravanTata Nov 5, 2025
a79d5c2
[CORE] Improved check for stochastic noise state initialization
ShravanTata Nov 5, 2025
e930d96
[CORE] Removed unused noise_params from node struct
ShravanTata Nov 5, 2025
8c501e4
[CORE] Added preliminary support for Ornstein Uhlenbeck noise
ShravanTata Nov 5, 2025
52e62e1
[EX] Updated ijspeert07 to new changes to network interface
ShravanTata Nov 5, 2025
e975a6d
[EX] Added analysis for mouse network
ShravanTata Nov 5, 2025
991b451
[CORE] Added option to fully disable logging
ShravanTata Nov 6, 2025
e4049b5
[OPTIONS] Added load method for loading from file path
ShravanTata Nov 11, 2025
b0ceec5
[CORE] Added get_node and get_edge helper methods to network options
ShravanTata Nov 17, 2025
c555c80
[CORE] Removed unused derivatives pointer in network_cy
ShravanTata Nov 19, 2025
16c2e47
[DATA] Fixed nodes initialization for core data
ShravanTata Nov 19, 2025
411feb5
[DATA] Refactored for better node level interface
ShravanTata Nov 19, 2025
23ba715
[EX] Adapted examples for changes in data interface
ShravanTata Nov 19, 2025
7661c2b
[EX] Fixed phase difference weight sign in ijspeert
ShravanTata Dec 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 23 additions & 5 deletions .github/workflows/github-page-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,17 @@ on:
push:
branches:
- main
# - farms-core-integration

jobs:
build:
name: Build Documentation
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
ref: farms-core-integration

- name: Set up Python
uses: actions/setup-python@v2
Expand All @@ -23,14 +26,29 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y make automake gcc g++ subversion python3-dev
pip install sphinx sphinx-rtd-theme cython numpy
python3 -m pip install setuptools wheel
python3 -m pip install --no-use-pep517 pip==23.2.1
python3 -m pip install --no-use-pep517 distlib==0.3.8
python3 -m pip install --no-use-pep517 setuptools==65.5.0
python3 -m pip install --no-use-pep517 cython
python3 -m pip install --no-use-pep517 numpy
python3 -m pip install --no-use-pep517 networkx
python3 -m pip install --no-use-pep517 -r ducks/source/requirements.txt
cd ../
git clone https://github.com/farmsim/farms_core.git
cd farms_core
python3 -m pip install --no-use-pep517 .
python3 -m pip --version
python3 -m pip list
cd ../farms_network
python setup.py build_ext --inplace

- name: Build HTML
run: |
cd docs
cd ducks
make html
cd ..
mv docs/build/html/ public/
mv ducks/build/html/ public/

- name: Cache documentation artifacts
uses: actions/upload-artifact@v4
Expand All @@ -40,7 +58,7 @@ jobs:

- name: Deploy
uses: peaceiris/actions-gh-pages@v4
if: github.ref == 'refs/heads/main'
# if: github.ref == 'refs/heads/main'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
45 changes: 45 additions & 0 deletions .github/workflows/python-cross-platform-installer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Python application

on:
push:
branches: [ "main",]
pull_request:
branches: [ "main" ]

permissions:
contents: read

jobs:
build:

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.11", "3.13"]
exclude:
- os: macos-latest
python-version: "3.13"
- os: windows-latest
python-version: "3.13"
- os: ubuntu-latest
python-version: "3.13"

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
# You can test your matrix by printing the current Python version
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Run installation
run: python -m pip install . --verbose
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@ build/
*.so
*.dylib

# Generated cython c-files
# Generated cython c/cpp-files
*.c
*.cpp

# Generated cython perf html files
*.html
Expand Down
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
network.farmsim.dev
78 changes: 0 additions & 78 deletions docs/source/index.rst

This file was deleted.

File renamed without changes.
32 changes: 26 additions & 6 deletions docs/source/conf.py → ducks/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,53 @@

# -- Project information -----------------------------------------------------

project = 'FARMS_NETWORK'
copyright = '2019, BioRob'
project = 'FARMS-NETWORK'
copyright = '2025, Jonathan Arreguit & Shravan Tata Ramalingasetty'
author = 'FARMSIM'
master_doc = 'index'

# Github
github_username = "farmsim"
github_repository = "farms_network"

# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ["sphinx.ext.autodoc",]
extensions = [
"sphinx.ext.autodoc",
"sphinxcontrib.bibtex",
"sphinxcontrib.youtube",
"sphinx_copybutton",
"sphinx_favicon",
"sphinx_reredirects",
"sphinx_toolbox.collapse",
"sphinx_toolbox.sidebar_links",
"sphinx_toolbox.github",
]

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
exclude_patterns = [
'_build',
'Thumbs.db',
'.DS_Store'
]

# Bibtex references for sphinxcontrib.bibtex
bibtex_bibfiles = ["references.bib"]

# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
# sphinx_rtd_theme
html_theme = "furo"

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
Expand Down
8 changes: 8 additions & 0 deletions ducks/source/core/data.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.. automodule:: farms_network.core.data
:platform: Unix, Windows
:synopsis: Provides Node C-Structure and Python interface for nodes in a dynamical system.
:members:
:show-inheritance:
:private-members:
:special-members:
:noindex:
8 changes: 8 additions & 0 deletions ducks/source/core/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Core
====

.. toctree::
:hidden:

options
node
85 changes: 85 additions & 0 deletions ducks/source/core/node.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
Node
====

This documentation describes the Node structure and Python interface provided in the `node_cy.pyx` and `node_cy.pxd` files.

Contents
--------

- Node C Structure
- Node Python Class
- Functions (ODE and Output)

Node C Structure
----------------

The Node C structure defines the internal state and behavior of a node in a dynamical system.
It contains generic attributes like state variables, inputs, and parameters.
All nodes are many-inputs-single-output (MISO).
The simplest case would be a node with one input and one input.
A node can have N-states that will be integrated by a numerical integrator over time.
A stateless node will have zero states and is useful in using the node as a transfer function.


Node
====

.. autoclass:: farms_network.core.node.Node
:members:

The Node class provides a high-level interface for neural network nodes.

Constructor
----------

.. code-block:: python

Node(name: str, **kwargs)

**Parameters:**

- ``name`` (str): Unique identifier for the node
- ``**kwargs``: Additional configuration parameters passed to NodeCy

Class Methods
------------

from_options
^^^^^^^^^^^

Create a node from configuration options.

.. code-block:: python

@classmethod
def from_options(cls, node_options: NodeOptions) -> Node

**Parameters:**

- ``node_options`` (NodeOptions): Configuration options

**Returns:**

- Node: Configured node instance

Examples
--------

Creating a node:

.. code-block:: python

# Direct instantiation
node = Node("neuron1")

# From options
options = NodeOptions(name="neuron1")
node = Node.from_options(options)


.. automodule:: farms_network.core.node_cy
:platform: Unix, Windows
:synopsis: Provides Node C-Structure for nodes in a dynamical system.
:members:
:show-inheritance:
:noindex:
Loading