Changelog
This changelog is generated automatically from GitHub Releases.
v0.11.0 (2026-06-19)
2026-06-19 · GitHub
Code peer review and reformatting/styling by @amyheather and creation of great-docs documentation site.
Added
- Add
CONTRIBUTING.md. - Add
all-contributors. - Add
great-docsdocumentation site. - Add GitHub actions to check for alt-text, deploy documentation, check for linting issues, and run tests.
- Add some basic smoke tests.
Changed
- Set package to require Python 3.11+ as that is required by
great-docs. - Environment:
- Add
great-docsandruff. - Removed
jupyter,nbqa,blackandflake8.
- Add
- Examples: converted from
.ipynbto.qmd, stored inuser_guide/, and moved the explanation to a separate page in the guide, so these now contain less duplicate information. README: tidy up, remove jupyter-lab instructions, remove diagram as easy to go stale.- Citation: add @amyheather.
- Style: Linting and formatting package, tests and documentation to be compliant with a wide range of ruff rules.
Fixed
- Amended ProcessModel.to_mermaid to only return Mermaid, not markdown, as that was very jupyter-specific and didn’t work in quarto site.
v0.10.0
2026-04-20 · GitHub
Added renege functionality to the JSON schema and ciw converter engine.
Changed
- ProcessModel.to_mermaid() refactored. Refactored distribution formatting to function. Added Renege as hexagon with dashed arrow.
- ProcessModel.get_distributions_df() now handles renege distributions
- engine.CiwConverter now handles renege distributions as part of generate_params
uimodified to handle renege distributions.example_app.pynew models demonstrating renege have been added.
Added
schema.Activitynow has a optionalrenege_distributionfield.- Two new examples in
datasets: load_mm1_renege_model and load_renege_call_model 04_call_centre_renege.ipynbexample notebook added.
v0.9.0
2026-04-17 · GitHub
Changed
- Mermaid diagram now has
include_resourcesparameter to toggle circles off in complex diagrams.
Added
- ProcessModel.get_resources_df() returns a
pandas.DataFramecontaining a list of resources, their activities and counts.
v0.8.1
2026-04-09 · GitHub
Fixed
- Mermaid diagram code updated to recognise and display normal distributions.
v0.8.0
2026-04-09 · GitHub
Added
six_node_ucc.json- a simple version of the 6 node treat-sim urgent care treatment centre example with stationary arrivals.
example_app.py: added the example treatment centre model.03_urgent_care_treatment_centre_example.ipynb- example of converting treat-sim json2ciw
Changed
engine.CiwConverter._normal_moments_from_lognormalupdated to static method.
Removed
03_three_node_network_example.ipynbnotebook not needed and removed.
Fixed
uipatched so that mean and sd of lognormal is converted to underlying normal before passing toupdated_params
v0.7.0
2026-04-09 · GitHub
0.7.0
Added
three_node_network.json: example that modifies the basic jackson network and uses lognormal and normal service distributions in v0.7.0example_app.py: added three node example
Changed
schema.Distributionnow supports “normal” with sample mean and std (ciwauto truncates normal at 0)- engine.CiwConverter updated to handle
ciwnormal distribution. Handles standard deviation parameter when expressed as “std”, “sd” or “var” using_extract_std()method.
Fixed
- engine.CiwConverter updated handling log normal. Fixed incorrect parameter “standard_deviation”. Should have been “sd”.
jackson_network.json: updated activity “type” parameter to “activity”.
v0.6.0
2026-03-27 · GitHub
Changed
schema.Distributionnow supports “lognormal” with sample mean and std along with “gamma” (shape, scale)- engine.CiwConverter updated to handle
ciwlognormal and gamma distributions. Lognormal parameters converted to mu and sigma of underlying normal.
Fixed
- Included missing distribution type in
json2ciwapp sidebar. - Service distribution now displays mean parameter for the exponential distribution.
v0.5.0
2026-03-27 · GitHub
Added
- datasets.load_jackson_network_model() to load a open jackson network model in JSON format to convert into a ProcessModel
- ProcessModel has new methods get_distributions_df and get_routing_matrix_df to help with face validation of model.
Changed
app.pyupdated the app to switch dynamically between models.
v0.4.0
2026-03-25 · GitHub
Added
json2ciw.uiandrender_simulation_appfunction to automatically create a basic streamlit dashboard interface for a json schema andciwmodel.- tidy_to_wide_format function added to
resultsmodule. This provides quick conversion of the tidy format replications data from multiple_replications to wide format.
Changed
- Added
streamlitas package dependency. - Added
plotlyas package dependency.
v0.3.0
2026-03-05 · GitHub
json2ciw is sotfware to convert a pydantic specified JSON schema to a functioning ciw discrete-event simulation model.
Changed
- engine.CiwConverter can now handle “Exponential” being passed with mean or rate parameters. If mean is passed them rate is calculated as
1/mean. schemaa.ProcessModel.to_mermaid()updated to handle mean and rate.- engine.multiple_replications now runs using parallel replications for
ciw(implemented usingjoblib). pyproject.tomlandenvironment.ymlupdated to includejoblibdependency.
Fixed
pyproject.tomlupdated to include missingpydanticdependency.environment.ymlupdated to include missingrichdependency.call_centre.jsoninter-arrival distribution fixed to usemeanas parameter rather thanrate.
v0.2.0
2026-02-02 · GitHub
v0.2.0
Added
- Function to run replications and obtain automatic results from all queues and activites in the ciw model
schema: module containing thepydanticclasses describing a valid json ProcessModel- Convert a valid ProcessModel to a
mermaiddiagram.