Skip to content

Releases: PSLmodels/ParamTools

ParamTools 0.13.0

11 Apr 16:14
Compare
Choose a tag to compare
  • Add delete method for removing a parameter's value objects. (#95)
  • Round out select module with the select_lte and select_gte functions. (#96)
  • Makes exact_match keyword on Parameters.select_* methods optional. (#96)
  • Fixes bug where select_lt was left out of top-level import. (#96)

ParamTools 0.12.0

02 Apr 15:38
Compare
Choose a tag to compare
  • Streamline steps to add custom types with a new register_custom_type function. This makes it easy to register a custom type that can be used through out the defaults config file. (#93)
  • Add ability to select value objects based on whether a label is less than or equal to some value with the new select_lt function. (#90)
  • Update the docs website with a slick new theme from Material for MkDocs, add the beginnings of an API reference page using mkautodoc, and move the docs website to https://paramtools.dev (#94)
  • Removes warnings that are shown when adjusting a value for a parameter that is not active in the current state of the Parameters instance. (#91)

ParamTools 0.11.1

29 Feb 18:17
Compare
Choose a tag to compare
  • Bug fix for custom fields. This feature was accidentally removed in #72. (#89)

ParamTools 0.11.0

27 Jan 21:13
Compare
Choose a tag to compare
  • Add a warnings distinction to validators. By default, validators throw errors, but you may specify that they emit warnings instead (#86):

    "range": {"min": 0, "max": 10, "level": "warn"}
  • Adds a new when validator, that allows you to specify complex conditional validation logic. Here's an example using Tax-Cruncher's social security parameter (#81):

    {
        "when": {
            "param": "spouse_age",
            "is": {"less_than": 65},
            "then": {
                "when": {
                    "param": "primary_age",
                    "is": {"less_than": 65},
                    "then": { "range": {"min": 0, "max": 0} },
                    "otherwise": { "range": {"min": 0, "max": 9e99} }
                }
            },
            "otherwise": { "range": {"min": 0, "max": 9e99} }
        }
    }
  • A bug fix for the sort_values method and its usage in dump. (#87)

ParamTools 0.10.3

13 Dec 16:10
2a46092
Compare
Choose a tag to compare
  • Add a sort_values method for to re-order value objects that may get shuffled after operations like extend or adjust. The dump method now ensures that the results are sorted by default. (#84, #85)

ParamTools 0.10.2

02 Oct 14:53
Compare
Choose a tag to compare
  • Rename "actions" to "operators". (#83)
  • Fix handling of scalar parameters when array_first is true. (#80)

ParamTools 0.10.1

12 Sep 15:44
Compare
Choose a tag to compare
  • Fix bug where array parameters could not be adjusted when array_first is True. (#76)
  • Add to_dict method that returns a Parameters instance as a Python dictionary. (#76)

ParamTools 0.10.0

11 Sep 22:12
a912df3
Compare
Choose a tag to compare
  • The "schema" object in defaults now undergoes comprehensive validation. (#72)
  • A new "operators" member is added to the "schema" object in defaults. Operators are variables like label_to_extend or array_first which tell ParamTools how a defaults object should be loaded. This makes it easier to dump the data for a Parameters instance in one place and load it in another. (#73)
  • A new approach to doing searches and updates brings performance improvements. (#74)
  • The Parameters class supports iteration similar to Python dictionaries. (#75)

ParamTools 0.9.0

03 Sep 19:45
Compare
Choose a tag to compare
  • Make it easier to customize the adjust method. This allows projects to use custom adjustment formats or apply custom logic. Checkout the custom adjustment docs to learn more. (#70)
  • Enhancements and bug fixes for the extend method. (#71)

ParamTools 0.8.0

28 Aug 02:07
Compare
Choose a tag to compare
  • Add out-of-the-box parameter indexing. This is helpful for projects that have parameters that change at some rate over time. For more information, checkout the indexing docs. (#65)