stan-dev / cmdstanpy

CmdStanPy is a lightweight interface to Stan for Python users which provides the necessary objects and functions to compile a Stan program and fit the model to data using CmdStan.
BSD 3-Clause "New" or "Revised" License
149 stars 67 forks source link

Feature Request: Pass Stan model as string to CmdStanModel #757

Open fonnesbeck opened 1 month ago

fonnesbeck commented 1 month ago

Summary:

Add an optional argument for passing Stan model as string to CmdStanModel

Description:

It would be a huge convenience to be able to pass a Stan model to CmdStanModel as a string, rather than first having to write it to a file. Adding boilerplate code to write a string to a file from Python only to load it back for the model to use seems unnecessary from a user's standpoint. Happily you can pass the data to the model directly as a dict; you should be able to do the same for the model.

Current Version:

1.2.2

WardBrian commented 1 month ago

This was last discussed here: https://github.com/stan-dev/cmdstanpy/issues/513

The discussion at the time mainly focused on how Stan code is code, so it makes sense to live in its own files that can be separately version controlled etc.

I think the way we would implement this would also force you to re-compile each time Python got restarted, which is also downside to allowing this