Python library with common functionality for other Waikato projects.
Project description
Python library with common functionality for other Waikato projects. Changelog =========
0.0.1 (2019-08-09)
Initial release
0.0.2 (2019-08-09)
Removed restriction that switch only work with enums. Now can switch on any type. Onus is on the user to handle modifications of the switched value during switching.
Added abc package, with utilities for working with abstract classes/methods.
Added decorator package, with custom decorators.
0.0.3 (2019-08-30)
Added load_dir function to file package, which can load all files in a directory.
Added is_hashable to test if an object is hashable.
Added Interval class representing intervals on the number line.
Added exception InvalidStateError for classes that get into an invalid setup.
Added typing module for type-related functionality.
Added first, which finds the first element of an iterable to match a predicate.
Added statistics package with quartile functions.
Added random, which returns the elements of an iterator in random order.
Added meta package, with functions to set and retrieve arbitrary meta-data against objects.
Added ConstantIterator class, which returns the same value over and over again.
Added metadata module to iterate, for working with metadata in iterables of objects.
Modified TwoWayDict so type-inference works with Python-3.7.
0.0.4 (2019-09-13)
Two new iterable functions, all_meet_predicate and any_meets_predicate.
Added meta-functions for determining if methods in base-classes have been overridden by sub-classes.
Rejigged abc package.
Added JSON package, with tools for working with JSON and JSONSchema. Also specifies the configuration class, which allows for easy manipulation of JSON files in an object-oriented manner.
0.0.5 (2019-09-17)
Added interfaces for serialising/deserialising JSON using custom representations.
Added exception package to meta package for processing exceptions. Currently only contains ExceptionChainer, which captures exceptions as a context-manager and then provides methods for processing them.
Added utility interface JSONValidatedBiserialisable.
Refactored configurations and properties to be more understandable.
Added AnyOfProperty.
0.0.6 (2019-09-17)
Fixed bug where Absent was being validated after Property.validate_value had checked it, and therefore failing.
0.0.7 (2019-09-18)
Added meta package for typing functionality.
0.0.8 (2019-09-19)
Fixed bug in get_argument_to_typevar.
Added new property type for configurations, MapProperty, which behaves like a dict from strings to some sub-property type.
Configurations now support: validation of additional properties, initialisation by value or JSON, programmatically getting/setting additional properties.
0.0.9 (2019-10-04)
Added StrictConfiguration, which disables additional properties by default.
Minor fixes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file wai.common-0.0.9.tar.gz
.
File metadata
- Download URL: wai.common-0.0.9.tar.gz
- Upload date:
- Size: 59.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.10.0 pkginfo/1.2.1 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f80af811c3e3b97e5195ac820a824d37383fb247747e535364734f5d48be3018 |
|
MD5 | 583aa9ee6fb165637496fa18bb56bc75 |
|
BLAKE2b-256 | 444926b3a18914417f84680453bb5ea761344f96fdf3edc0b0ed0181ea5fdc9a |