Notes for httpstan developers are collected here.
Updating CmdStan Sampler Parameter Defaults¶
If CmdStan changes default values for arguments, pipe the output of
modelbinary --help-all to a
file and then point
scripts/parse_cmdstan_help.py at that file. The output
should replace the file
If the environment variable
HTTPSTAN_DEBUG is set to
call to the stan::services sampling function will block until finished instead
of being run in the background. This should make debugging crashes with
much easier. There is, however, one complication. The number of samples drawn
must be set to be a very low number (e.g.,
10) otherwise the call to the
sampling function will freeze up. The call will freeze up because the socket
used to communicate from C++ to Python will fill up. If the socket runs out of
buffer space the stan::services call will never return.
The signing key for httpstan is the same as for pystan.
The key has id
Git tags are signed with this key.
Accounts with Continuous Integration, PyPI, and Readthedocs¶
Making a release of httpstan¶
The following assumes you are releasing httpstan version 4.8.0. Adjust as needed.
Update version in pyproject.toml.
Tag a release: git tag -u 85107A96512971B8C55932085D5D0CFF0A51A83D -m “httpstan 4.8.0” 4.8.0
Push the tag to upstream: git push upstream 4.8.0
Wait a few days, the stan-dev/httpstan-wheels repository tries to build (and publish) new wheels every two days.
If no wheels appear, check <https://github.com/stan-dev/httpstan-wheels/actions>.