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-docs documentation 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-docs and ruff.
    • Removed jupyter, nbqa, black and flake8.
  • Examples: converted from .ipynb to .qmd, stored in user_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

Added

v0.9.0

2026-04-17 · GitHub

Changed

  • Mermaid diagram now has include_resources parameter to toggle circles off in complex diagrams.

Added

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_lognormal updated to static method.

Removed

  • 03_three_node_network_example.ipynb notebook not needed and removed.

Fixed

  • ui patched so that mean and sd of lognormal is converted to underlying normal before passing to updated_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.0
  • example_app.py: added three node example

Changed

  • schema.Distribution now supports “normal” with sample mean and std (ciw auto truncates normal at 0)
  • engine.CiwConverter updated to handle ciw normal 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.Distribution now supports “lognormal” with sample mean and std along with “gamma” (shape, scale)
  • engine.CiwConverter updated to handle ciw lognormal and gamma distributions. Lognormal parameters converted to mu and sigma of underlying normal.

Fixed

  • Included missing distribution type in json2ciw app sidebar.
  • Service distribution now displays mean parameter for the exponential distribution.

v0.5.0

2026-03-27 · GitHub

Added

Changed

  • app.py updated the app to switch dynamically between models.

v0.4.0

2026-03-25 · GitHub

Added

  • json2ciw.ui and render_simulation_app function to automatically create a basic streamlit dashboard interface for a json schema and ciw model.
  • tidy_to_wide_format function added to results module. This provides quick conversion of the tidy format replications data from multiple_replications to wide format.

Changed

  • Added streamlit as package dependency.
  • Added plotly as 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 using joblib).
  • pyproject.toml and environment.ymlupdated to include joblib dependency.

Fixed

  • pyproject.toml updated to include missing pydantic dependency.
  • environment.ymlupdated to include missing rich dependency.
  • call_centre.json inter-arrival distribution fixed to use mean as parameter rather than rate.

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 the pydantic classes describing a valid json ProcessModel
  • Convert a valid ProcessModel to a mermaid diagram.