I have just released salabim 19.0.0, which is a package for discrete event simulation and animation. See www.salabim.org for details.
Queues now register the arrival rate and the departure rate, defined as number of arrivals since last reset / duration since last reset number of departures since last reset / duration since last reset The following methods are available: Queue.arrival_rate() Queue.departure_rate() The registration can be reset with Queue.arrival_rate(reset=True) Queue.departure_rate(reset=True) Note that this functionality is completely independent of the monitoring.
Video production now supports also the creation of a series of individual frames, in .jpg, .png, .tiff or .bmp format. By specifying video with one of these extensions, the filename will be padded with 6 increasing digits, e.g. env.video('test.jpg') will write individual autonumbered frames named test000000.jpg test000001.jpg test000002.jpg ... Prior to creating the frames, all files matching the specification will be removed, in order to get only the required frames, most likely for post-processing with ffmpeg or similar.
Note that individual frame video production is available on all platforms, including Pythonista.
The method Environment.delete_video() can be used to delete all autonumbered files, like env.delete_video('test.jpg') will delete test000000.jpg test000001.jpg test000002.jpg ... If this method is used with any other file type, like .mp4, the file does not need to exist (i.e. no action is taken then).
From this version, salabim uses the CalVer (see www.calver.org) standard for the version number. This means that versions are numbered YY.major.minor, where YY is the year of the release minus 2000 major is the major version number (0 based) minor is the minor version number (0 based)
From this version, legacy Python (<= 2.7) is no longer officially supported.