Should we "read" the models as code, or actually have an env where they run?
My gut feel is for simplicity, feasibility, and security is we do static analysis, or at least start here
The downsides are
- Some models are constructed over multiple python modules which makes single file analysis hard, but I think this is a rare case
 
- It makes parsing certain thing likes number of variables hard, especially with dims coords etc
 
- Means we cant use the pymc functionality itself for analysis
 
The upsides are
- PyMC models aren't really isolated from their env, for dynamic analysis we have to get the data, load it correctly etc and thats a headache
 
- No needing to worry about versions or code security
 
- Makes it simple for anyone to run themselves
 
- Computationally faster
 
Assuming static analysis this library would then behave like a linter. It gets a reference to a .py or .ipynb file and then it outputs a bunch of metrics