Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cadcad-org/cadcad-tools
Tools for improving cadCAD experience
https://github.com/cadcad-org/cadcad-tools
Last synced: about 9 hours ago
JSON representation
Tools for improving cadCAD experience
- Host: GitHub
- URL: https://github.com/cadcad-org/cadcad-tools
- Owner: cadCAD-org
- License: mit
- Created: 2021-03-10T20:06:23.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-22T11:59:23.000Z (about 1 year ago)
- Last Synced: 2024-05-02T04:08:06.046Z (9 months ago)
- Language: Jupyter Notebook
- Size: 2.84 MB
- Stars: 12
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cadCAD-tools
Tools for improving the cadCAD user experience. This library contains
wrappers for executing simulations easily as well as tools for profiling and
typing.## How to use
The best way is by looking into the example notebooks on the `notebooks/` folder
## Setup
Just use pip.
`python -m pip install cadCAD-tools`
## Features
### Easy execution of cadCAD models
Easy enough:
```python
from cadCAD_tools import easy_rundf = easy_run(initial_conditions,
params,
partial_state_update_blocks,
TIMESTEPS,
SAMPLES,
use_labels=True,
assign_params=True,
drop_substeps=False)
```
### cadCAD specific types```python
from cadCAD_tools.types import StateVariable, Parameter, StateUpdateBlock```
### Profiling tools & visualizations
cadCAD-tools includes wrappers for automatically decorating the PSUBs
with time measuring functions. Through the usage of metadata, it is possible
to obtain a clear view of what SUBs are being more expensive.```python
from cadCAD_tools import profile_rundf = profile_run(initial_conditions,
params,
partial_state_update_blocks,
TIMESTEPS,
SAMPLES,
use_labels=True,
assign_params=True)
``````python
from cadCAD_tools.profiling.visualizations import visualize_substep_impactvisualize_substep_impact(df, relative=True)
```![](https://i.imgur.com/50BUEA7.png)
```python
from cadCAD_tools.profiling.visualizations import visualize_elapsed_time_per_tsvisualize_elapsed_time_per_ts(df, relative=False)
```![](https://i.imgur.com/pOBsQoL.png)