Changelogs » Paramtools

Paramtools

0.10.1

- 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)

0.10.0

- 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)

0.9.0

- 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](https://paramtools.org/api/custom-adjust/) to learn more. (70)
- Enhancements and bug fixes for the `extend` method. (71)

0.8.0

- 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](https://paramtools.org/api/indexing/). (65)

0.7.3

- Make updates for Marshmallow 3 compatibility. (68)

0.7.2

- Update custom fields for Marshmallow 3.0.0rc7 API changes. (66)

0.7.1

- Bug fixes related to extend capability and its interactions with the `Parameters` instance's state. (63)

0.7.0

- Apply extend capability to user adjustments. (60)
- Add flexibility to the `Parameters.extend` by extending at the value object level instead of the `label_to_extend` value level. (60)
- Refactor `Parameters._select` method into the `select` module. This refactor allows the user to implement custom comparison functions similar to what can be done with `pandas.DataFrame.loc`. (60)

0.6.0

- Add array extension capability. This is helpful for filling out a parameter's values without having to specify redundant data in `defaults.json`. Check out the [extend docs](https://paramtools.org/api/extend/) to learn more about this feature. (58)
- Add [API guide](https://paramtools.org/api/guide/). (58, 59)

0.5.4

- Preserve order of parameters. (7a4f949d4adabe0eab47e4627452bcf01b07bdcc)

0.5.3

- Add serializable flag to specification method. (54)
- Rename schema 'builder' to schema 'factory.' (55)

0.5.2

- Fixes bug where the original `defaults` dictionary was modified by a `pop` command. 53

0.5.1

- Make "validators" and "additional_parameters" optional. (52)

0.5.0

- Drop `schema.json`, and move it into a top-level `schema` member in `defaults.json`. (49)
- Rename `dims` to `labels`. (47)
- Rename `optional`—>`additional_members`. (49)
- Set a default value of zero for `number_dims` . (44)
- Handle simple parameter values. (45)
- Revamp documentation. (51)
- Documentation is now hosted at [paramtools.org](https://paramtools.org)

0.4.1

- Adds several example config piles to `MANIFEST.in` (42).

0.4.0

- Promotes the tax parameters to be the prominent example in the documentation (35).
- Behavior-Responses parameter example and cleaner error messages (37).
- Add ability to delete parameter value objects by setting their value to `None` (38).
- Fix a bug where a parameter name specified in the defaults collides with a name used by the `Parameters` class (39).
- Use conda to set up the paramtools development environment and for packaging (41).

0.3.3

This release improves the format of the README files and adds fields and validator documentation.

0.3.2

ParamTools 0.3.2 contains a bug fix that specifies that the data files should be included in the ParamTools package.

0.3.1

ParamTools 0.3.1 contains a bug fix that stores the example JSON config files in the ParamTools package. This way, the examples work correctly without extra configuration.

0.3.0

ParamTools 0.3.0 enables users to more easily access the values of each parameter as NumPy arrays. The shape of the array is determined by the validators set in `schema.json` and the state of the `Parameters` instance which can be set via `Parameters.set_state`. The final piece was to provide a flag `array_first` which allows the user to specify whether the values should be accessed as NumPy arrays by default or not.

- ParamTools now requires NumPy to be installed. (21)
- Dimension validation information in `schem.json` is used to define the default array shape for each parameter's value objects. (22)
- `paramtools.Parameters` now has a "state" concept which is used to activate parameter values that lie in the cross section of the dimensions specified with `Parameters.set_state`. (23)
- `paramtools.Parameters` has an array first option which allows the user to access the parameter values as arrays by default. (24)

Install with: `pip install -U paramtools`

0.3.0rc1


      

0.2.0

- Display the bad value in all error messages. Previously, the bad value was not displayed in type error messages.
- Validation errors are raised via the `paramtools.ValidationError` class instead of `marshmallow.ValidationError`
- A bug that did not allow array parameters to use choice validation was resolved. Now, ParamTools checks that each element of the "value" array is in the choices list.
- Automated testing is set up.
- [Pre-commit][1] is used to [Black][2] changed code.

[1]: https://pre-commit.com/
[2]: https://github.com/ambv/black

0.2.0rc1

This is the first release candidate for the 0.2.0 release:
- Display the bad value in all error messages. Previously, the bad value was not displayed in type error messages.
- Validation errors are raised via the `paramtools.ValidationError` class instead of `marshmallow.ValidationError`
- A bug that did not allow array parameters to use choice validation was resolved. Now, ParamTools checks that each element of the "value" array is in the choices list.
- Automated testing is set up.
- [Pre-commit][1] is used to [Black][2] changed code.

[1]: https://pre-commit.com/
[2]: https://github.com/ambv/black

0.1.1

Features:
- Use 'title' instead of 'long_name'.
- Add `to_array` and `from_array` to convert data from the Value object structure to an array structure.
- Add Order object to the spec. This is necessary for the first implementation of the array conversion methods.
- Revamp the docs to follow the Mozilla WOT API spec structure.
- Add automating testing with Travis CI.

0.1.0