- Using shallow copies instead of deepcopies.
- Massive performance and memory improvements on simulations with highly nested variables.
- Known side-effects: keeping track of the history of nested objects must be done manually. Eg, you must pass a
copy()
or adeepcopy()
before mutating it.
- Multiprocessing pools instead of multi-threading pools.
- Will allow to make full use of the CPUs during the simulations
- Known side-effects: care must be taken when generating random numbers, else they can be all equal. Mitigate by generating the random state manually:
np.random.RandomState().random
- Progress bars for simulation execution
___________ ____
________ __ ___/ / ____/ | / __ \
/ ___/ __` / __ / / / /| | / / / /
/ /__/ /_/ / /_/ / /___/ ___ |/ /_/ /
\___/\__,_/\__,_/\____/_/ |_/_____/
by cadCAD ver. 0.4.28
======================================
Complex Adaptive Dynamics
o i e
m d s
p e i
u d g
t n
e
r
cadCAD is a Python package that assists in the processes of designing, testing and validating complex systems through simulation, with support for Monte Carlo methods, A/B testing and parameter sweeping.
Change Log: ver. 0.4.28
Previous Stable Release (No Longer Supported)
0. Pre-installation Virtual Environments with venv
(Optional):
If you wish to create an easy to use virtual environment to install cadCAD within, please use python's built in venv
package.
Create a virtual environment:
$ python3 -m venv ~/cadcad
Activate an existing virtual environment:
$ source ~/cadcad/bin/activate
(cadcad) $
Deactivate virtual environment:
(cadcad) $ deactivate
$
Requires >= Python 3.6.13
Option A: Install Using pip
pip3 install cadCAD
Option B: Build From Source
pip3 install -r requirements.txt
python3 setup.py sdist bdist_wheel
pip3 install dist/*.whl
- Simulation Configuration
- Simulation Execution
- Policy Aggregation
- Parameter Sweep
- Display System Model Configurations
- Website: https://www.cadcad.org
- Discord: https://discord.gg/DX9uH8m4qY
- Twitter: https://twitter.com/cadcad_org
- Forum: https://community.cadcad.org
- Github: https://github.com/cadCAD-org
- Telegram: https://t.me/cadcad_org
Follow this document to start contributing!