Skip to content

Latest commit

 

History

History
688 lines (444 loc) · 20.2 KB

CHANGELOG.rst

File metadata and controls

688 lines (444 loc) · 20.2 KB

3.2.19 - 02/03/25

  • Type-hinting: Fix mypy errors in tests/framework/artifact/test_hdf.py

3.2.18 - 01/28/25

  • Type-hinting: Fix mypy errors in tests/framework/artifact/test_manager.py

3.2.17 - 01/24/25

  • Type-hinting: Fix mypy errors in tests/framework/randomness/test_index_map.py
  • Type-hinting: Fix mypy errors in tests/framework/artifact/test_artifact.py

3.2.16 - 01/22/25

  • Type-hinting: Fix mypy errors in tests/framework/randomness/test_manager.py

3.2.15 - 01/10/25

  • Type-hinting: Fix mypy errors in tests/framework/randomness/test_crn.py

3.2.14 - 01/10/25

  • Type-hinting: Fix mypy errors in vivarium/interface/interactive.py
  • Type-hinting: Fix mypy errors in tests/framework/randomness/conftest.py
  • Type-hinting: Fix mypy errors in tests/conftest.py

3.2.13 - 12/27/24

  • Type-hinting: Fix mypy errors in vivarium/examples/boids/

3.2.12 - 12/26/24

  • Type-hinting: Fix mypy errors in vivarium/framework/engine.py

3.2.11 - 12/23/24

  • Type-hinting: Fix mypy errors in vivarium/framework/components/parser.py

3.2.10 - 12/17/24

  • Type-hinting: Fix mypy errors in vivarium/framework/components/manager.py

3.2.9 - 12/17/24

  • Bugfix: Replace certain cases of int or float types with Numeric

3.2.8 - 12/16/24

  • Feature: Update how additional seed is defined in RandomnessManager

3.2.7 - 12/12/24

  • Type-hinting: Fix mypy errors in vivarium/framework/state_machine.py

3.2.6 - 12/12/24

  • Change Jenkins conda env name

3.2.5 - 12/11/24

  • Type-hinting: Fix mypy errors in vivarium/framework/results/interface.py
  • Type-hinting: Fix mypy errors in vivarium/component.py
  • Type-hinting: Fix mypy errors in vivarium/framework/results/observer.py

3.2.4 - 12/03/24

  • Fix type hints for pandas groupby objects

3.2.3 - 11/21/24

  • Feature: Allow users to define initialization weights as LookupTableData or an artifact key
  • Feature: Make State's add_transition function return the Transition
  • Feature: Add triggered argument to State's add_transition function
  • Type-hinting: Introduce DataInput type
  • Type-hinting: Fix mypy errors in vivarium/framework/results/manager.py
  • Type-hinting: Fix mypy errors in vivarium/framework/lookup/manager.py

3.2.2 - 11/14/24

  • Feature: Enable adding transition to a state by defining the output state and the transition probability

3.2.1 - 11/13/24

  • Fix mypy errors in vivarium/framework/results/context.py
  • Fix mypy errors in vivarium/framework/time.py
  • Modernize type hinting
  • Remove unnecessary "from future import annotation" imports

3.2.0 - 11/12/24

  • Feature: Supports passing callables directly when building lookup tables
  • Feature: Enables columns and pipelines to specify dependencies directly, instead of by name
  • Feature: Enables identification of which component produced a Pipeline or RandomnessStream
  • Bugfix: Enables Machine to be used directly to model a state machine
  • Bugfix: Ensures that a Pipeline will always have a name
  • Bugfix: Appropriately declares dependencies in example models
  • Testing: Adds coverage for example DiseaseModel
  • Refactor: Converts resource module into a package
  • Refactor: Converts values module into a package
  • Refactor: Simplifies code to allow Managers to create columns
  • Refactor: Converts ResourceManager __iter__ to a well-named instance method
  • Refactor: Creates ResourceTypes for each type of resource
  • Refactor: Makes Pipeline and RandomnessStream inherit from Resource
  • Refactor: Creates ValueSource and ValueModifier resources and attaches them to Pipelines

3.1.0 - 11/07/24

  • Drop support for python 3.9

3.0.18 - 11/06/24

  • Fix mypy errors in vivarium/framework/logging/manager.py
  • Fix mypy errors in vivarium/framework/results/observations.py

3.0.17 - 11/04/24

  • Fix mypy errors in vivarium/framework/configuration.py
  • Fix mypy errors in vivarium/framework/artifact/manager.py

3.0.16 - 10/31/24

  • Bugfix to prevent a LookupTable from changing order of the value columns
  • Fix mypy errors in vivarium/framework/lookup/table.py
  • Fix mypy errors in vivarium/framework/randomness/manager.py
  • Fix mypy errors in vivarium/interface/utilities.py
  • Typing changes in vivarium/framework/lookup/interpolation.py
  • Fix broken build from LayeredConfigTree typing
  • Fix type handling for clock and step size in vivarium/framework/event.py

3.0.15 - 10/24/24

  • Fix mypy errors in vivarium/framework/event.py
  • Update CI to run from reusable workflow

3.0.14 - 10/18/24

  • Fix mypy errors in vivarium/framework/artifact/artifact.py
  • Fix mypy errors in vivarium/framework/randomness/stream.py

3.0.13 - 10/15/24

  • Fix mypy errors: vivarium/framework/lookup/interpolation.py

3.0.12 - 10/14/24

  • Bugfix for mypy errors: vivarium/framework/values.py

3.0.11 - 10/08/24

  • Fix mypy errors: vivarium/framework/values.py

3.0.10 - 10/07/24

  • Add method to SimulationClock to get number of simulation steps remaining

3.0.9 - 10/04/24

  • Fix mypy errors: vivarium/framework/logging/utilities.py

3.0.8 - 10/03/24

  • Fix mypy errors: vivarium/framework/resource.py
  • Fix mypy errors: vivarium/framework/artifact/hdf.py

3.0.7 - 09/25/24

  • Enable population manager and population view methods to accept strings
  • Fix mypy errors: vivarium/framework/lifecycle.py
  • Fix mypy errors: vivarium/framework/population/manager.py
  • Fix mypy errors: vivarium/framework/population/population_view.p
  • Fix mypy errors: vivarium/framework/plugins.py
  • Fix mypy errors: vivarium/framework/results/stratification.py

3.0.6 - 09/20/24

  • Fix mypy errors: vivarium/framework/randomness/index_map.py

3.0.5 - 09/17/24

  • Pin Sphinx below 8.0

3.0.4 - 09/12/24

  • Introduce static type checking with mypy
  • Add new types for clock time and step-size

3.0.3 - 09/11/24

  • Raise an error if a component attempts to access a non-existent population_view

3.0.2 - 08/27/24

  • Update results docstrings
  • Add a results concepts model doc
  • Docstring cleanup throughout
  • Fix up tutorial docs
  • Strengthen doctests

3.0.1- 08/20/24

  • Create script to find matching dependency branches
  • Add results category exclusion tests

3.0.0 - 08/13/24

Breaking changes:
  • Remove the unnecessary metrics pipeline
  • Refactor lookup table creation and allow configuration of lookup columns
  • Refactor results manager to process results directly
Major changes:
  • Move results controller and interface from managers to default plugins
  • Add a get_configuration method and configuration attribute to Component
  • Enable build_lookup_table to accept a list as input data
  • Implement an Observation dataclass
  • Remove --location/-l option from simulate run command
  • Change the metrics/ folder to results/; refer to "results" instead of "metrics" throughout
  • Implement multiple new interface functions for registering stratifications and observations
  • Implement multiple new Observer types
  • Implement simulation backups
  • Implement excluding results categories via the configuration
Other changes:
  • Use layered-config-tree package instead of local ConfigTree class
  • Add a report emitter to the SimulationContext
  • Check for and log unused stratifications and raise for missing required stratifications
  • Move all steps of running a simulation into a run_simulation instance method
  • Add simulate run e2e test
  • Stop writing seed and draw columns to the results
  • Install matching upstream branches in github builds
  • Automatically run Jenkins builds on push or pull request
  • Add type hints throughout results modules
  • Various other minor updates

2.3.8 - 06/17/24

  • Hotfix pin numpy below 2.0

2.3.7 - 03/21/24

  • Add deprecation warning to import ConfigTree from the config_tree package

2.3.6 - 03/07/24

  • Update population keys in testing utilities to be mmore descriptive

2.3.5 - 03/01/24

  • Improves boids example and tutorial

2.3.4 - 02/23/24

  • Fixes parsing in results manager to remove trailing underscore

2.3.3 - 01/29/24

  • Improve readability of api reference docs

2.3.2 - 01/29/24

  • Fix broken readthedocs build

2.3.1 - 01/09/24

  • Update PyPI to 2FA with trusted publisher

2.3.0 - 12/19/23

  • Incorporate Individualized Clocks v1
  • Document how to remove components from an interactive simulation
  • Update code in docs to match current implementation

2.2.1 - 10/24/23

  • Hotfix to expose ScalarValue at the lookup package level

2.2.0 - 10/24/23

  • Refactor Manager configuration defaults
  • Throw an error if simulation attempts to use a component that is not an instance of Component
  • Refactor and simplify LookupTable implementations
  • Enable LookupTable to have source data that is only categorical
  • Enable LookupTables with DataFrame source data to specify value columns

2.1.1 - 10/13/23

  • Enable RandomnessStream to sample from a distribution
  • Refactor ComponentConfigurationParser to create components as they are parsed

2.1.0 - 10/12/23

  • Remove explicit support for Python 3.8
  • Set default value for ConfigNode::get_value to None

2.0.1 - 10/04/23

  • Set pipeline's returned Series' name to the pipeline's name

2.0.0 - 09/22/23

  • Create Component and Manager classes
  • Ensure all managers and components inherit from them
  • Define properties in Component that components can override
  • Define lifecycle methods in Component that components override
  • Refactor all components in vivarium to use and leverage`Component`
  • Warn when using components not inheriting from Component
  • Change the behavior of State.add_transition to take a Transition object rather than another State
  • Add optional argument to State constructor to allow self transitions

1.2.9 - 09/19/23

  • Set default in register_observation

1.2.8 - 09/18/23

  • Unpin pandas

1.2.7 - 09/14/23

  • Allow pandas <2.1.0

1.2.6 - 09/14/23

  • Update state machine to prepare for pandas 2.0

1.2.5 - 09/05/23

  • Update ConfigTree to make it pickleable; raise NotImplementedError on equality calls

1.2.4 - 09/01/23

  • Create LookupTableData type alias for the source data to LookupTables

1.2.3 - 08/28/23

  • Enable allowing self transitions directly in a State's constructor

1.2.2 - 08/04/23

  • Bugfix to include all metrics outputs in results manager

1.2.1 - 07/12/23

  • Adds logging for registering stratifications and observations
  • Changes version metadata to use setuptools_scm

1.2.0 - 06/01/23

  • Stop supporting Python 3.7 and start supporting 3.11
  • Bugfix to allow for zero stratifications
  • Removes ignore filters for known FutureWarnings
  • Refactor location of default stratification definition
  • Bugfix to stop shuffling simulants when drawing common random number

1.1.0 - 05/03/23

  • Clean up randomness system
  • Fix a bug in stratification when a stratum is empty
  • Create a dedicated logging system
  • Fix bug in preventing passing an Iterable to rate_to_probability

1.0.4 - 01/25/23

  • Bugfixes for ResultsContext

1.0.3 - 01/19/23

  • Enhancement to use pop_data.user_data.get pattern in BasePopulation example
  • Mend get_value unhashable argument for Results Manger add_observation()
  • Split randomness into subpackage
  • Remove copy_with_additional_key method from RandomnessStream

1.0.2 - 12/27/22

  • Fix a typo that prevented deployment of v1.0.1

1.0.1 - 12/27/22

  • Remove metrics from the population management system
  • Add a new lifecycle builder interface method for simulation state access
  • Suppress future warnings (temporarily)
  • Update github actions to support python 3.7-3.10
  • Update codeowners

1.0.0 - 12/20/22

  • Added Results Manager feature.

0.10.21 - 12/20/22

  • Cleaned up warnings in artifact test code.
  • Updated codeowners and pull request template.

0.10.20 - 12/20/22

  • Update CI versions to build on python versions 3.7-3.10

0.10.19 - 10/04/22

  • Fix bug on simulate run CLI introduced in 0.10.18

0.10.18 - 09/20/22

  • Standardize results directories
  • Adds ability to run without artifact
  • Specify correct permissions when creating directories and files

0.10.17 - 07/25/22

  • Fix bug when initializing tracked column

0.10.16 - 06/30/22

  • Fix a bug in adding new simulants to a population
  • Add CODEOWNERS file

0.10.15 - 06/29/22

  • Added performance reporting
  • Added support for empty initial populations
  • Refactor population system

0.10.14 - 05/16/22

  • Fixed pandas FutureWarning in randomness.get_draw

0.10.13 - 05/05/22

  • Improved error message when component dependencies are not specified.
  • Fix faulty set logic in PopulationView.subview

0.10.12 - 02/15/22

  • Reformat code with black and isort.
  • Add formatting checks to CI.
  • Add current_time to interactive context.
  • Squash pandas FutureWarning for Series.append usage.
  • Add a UserWarning when making a new artifact.

0.10.11 - 02/12/22

  • Update CI to make a cleaner release workflow
  • Add PR template

0.10.10 - 10/29/21

  • Update license to BSD 3-clause
  • Replace authors metadata with zenodo.json
  • Updated examples
  • Doctest bugfixes

0.10.9 - 08/16/21

  • Add flag to SimulationContext.report to turn off results printing at sim end.

0.10.8 - 08/10/21

  • Set Python version in CI deployment to 3.8

0.10.7 - 08/10/21

  • Hotfix to re-trigger CI

0.10.6 - 08/10/21

  • Fix bug in deploy script

0.10.5 - 08/10/21

  • Update builder documentation
  • Update build process
  • Add check for compatible python version

0.10.4 - 04/30/21

  • Reapply location and artifact path changes

0.10.3 - 04/30/21

  • Revert location and artifact path changes

0.10.2 - 04/27/21

  • Remove dependency on location and artifact path in configuration files
  • Add location and artifact path arguments to simulate run
  • Fix bug that broke simulations running on Windows systems

0.10.1 - 12/24/20

  • Move from travis to github actions for CI.

0.10.0 - 10/2/20

  • Fix bug in copying a RandomnessStream with a new key
  • Add documentation of randomness in vivarium
  • Add validation to LookupTable, InterpolatedTable, Interpolation, and Order0Interp
  • Fix bug writing invalid artifact keys
  • Fix EntityKey eq and ne functions
  • Remove dependency on graphviz
  • Move get_seed from RandomnessStream to RandomnessInterface
  • Remove random_seed from output index and add random_seed and input_draw to output columns
  • Raise a PopulationError when trying to access non-existent columns in a PopulationView
  • Fix validation issues in Travis config
  • Fix typing issues in ComponentManager and Event

0.9.3 - 12/7/19

  • Bugfix in population type conversion.

0.9.2 - 12/3/19

  • Bugfix in artifact configuration management.
  • Bugfix in population query.

0.9.1 - 11/18/19

  • Be less restrictive about when get_value can be called.

0.9.0 - 11/16/19

  • Clean up event emission.
  • Make events immutable.
  • Stronger validation around model specification file.
  • Move the data artifact from vivarium public health to vivarium.
  • Update the ConfigTree str and repr to be more legible.
  • Be consistent about preferring pathlib over os.path.
  • Add some ConfigTree specific errors.
  • Refactor ConfigTree and ConfigNode to remove unused functionality and make the interface more consistent.
  • Extensively update documentation for configuration system.
  • Restructure component initialization so that all simulation components are created at simulation initialization time. Previous behavior had sub-components created at setup time.
  • Introduce lifecycle management system to enforce events proceed in the correct order and ensure framework tools are not misused.
  • Remove results writer.
  • Overhaul simulation creation to be significantly less complex.
  • Update privacy levels for simulation context managers.
  • Update context creation and usage tutorials.
  • Ditch the 'omit_missing_columns' argument for PopulationView.get. Subviews should be used instead.
  • Consistent naming for rates in data, pipelines, and configuration.
  • Introduce resource management system for users to properly specify component dependencies for population initialization.
  • Switch age_group_start and age_group_end to age_start and age_end, making the naming scheme for binned data consistent.
  • Use loguru for logging.
  • Fix a bug in transition probability computation.
  • Raise error when component attempts to update columns they don't own instead of silently ignoring them.
  • Use consistent data bin naming to make using lookup tables less verbose.
  • Rename value system joint_value_postprocessor to union_postprocessor.
  • Docs and concept note for values system.
  • Be consistent about manager naming on builder interfaces.
  • Updated concept docs for entry points.
  • Lookup table docs and concept note.
  • Bugfix in randomness to handle datetime conversion on Windows.
  • Constrain components to only have a single population initializer.

0.8.24 - 08/20/19

  • Bugfix to prevent component list from not including setup components during setup phase.
  • Bugfix to dot diagram of state machine.

0.8.23 - 08/09/19

  • Move handle_exceptions() up to vivarium to eliminate duplication

0.8.22 - 07/16/19

  • Bugfix for lookup table input validation.
  • Event subsystem documentation.

0.8.21 - 06/14/19

  • Add names and better reprs to some of the managers.
  • ConfigTree documentation
  • Yaml load bugfix.
  • Documentation for simulate run and the interactive context.
  • Tutorials for running a simulation interactively and from the command line.
  • Headers for API documentation.
  • Component management documentation.
  • Enforce all components have a unique name.
  • Add get_components_by_type and get_component(name) to the component manager.
  • Bugfix in the lookup table.

0.8.20 - 04/22/19

  • Add simulation lifecycle info to the simulant creator.
  • Bugfix in simulate profile.

0.8.19 - 03/27/19

  • Update results writer to write new hdfs instead of overwriting.

0.8.18 - 02/13/19

  • Fix numerical issue in rate to probability calculation
  • Alter randomness manager to keep track of randomness streams.

0.8.17 - 02/13/19

  • Fix branch/version synchronization

0.8.16 - 02/11/19

  • Remove combined sexes from the "build_table".

0.8.15 - 01/03/19

  • Add doctests to travis
  • Update population initializer error message

0.8.14 - 12/20/18

  • Standardize the population getter from the the interactive interface.
  • Added "additional_key" argument to randomness.filter for probability and for rate.
  • Added a profile subcommand to simulate.
  • Separated component configuration from setup.
  • Vectorize python loops in the interpolation implementation.

0.8.13 - 11/15/18

  • Fix broken doc dependency

0.8.12 - 11/15/18

  • Remove mean age and year columns

0.8.11 - 11/15/18

  • Bugfix where transitions were casting pandas indices to series.
  • Add better error message when a none is found in the configuration.

0.8.10 - 11/5/18

  • Added add_components method to simulation context.
  • Added typing info to interactive interface.

0.8.9 - 10/23/18

  • Accept .yml model specifications
  • Redesign interpolation. Order zero only at this point.

0.8.8 - 10/09/18

  • Raise error if multiple components set same default configuration.
  • Loosen error checking in value manager

0.8.7 - 09/25/18

  • Distinguish between missing and cyclic population table dependencies.
  • Initial draft of tutorial documentation

0.8.6 - 09/07/18

  • Workaround for hdf metadata limitation when writing dataframes with a large number of columns

0.8.5 - 08/22/18

  • Add integration with Zenodo to produce DOIs
  • Added default get_components implementation for component manager

0.8.4 - 08/02/18

  • Standardized a bunch of packaging stuff.

0.8.2 - 07/24/18

  • Added test command to verify and installation
  • Updated README with installation instructions.

0.8.1 - 07/24/18

  • Move to source layout.
  • Set tests to install first and then test installed package.
  • Renamed test_util to resolve naming collision during test.

0.8.0 - 07/24/18

  • Initial release