Changelog
All releases
Release are now tracked on GitHub <https://github.com/shakefu/pytool/releases>_. Please visit there to see changes from 3.4.2 and later.
Older releases
Here you’ll find a record of the changes in each version of pytool.
3.4.2
Preserves @staticmethod functions on
pytool.lang.singleton()andpytool.lang.hashed_singleton()decorated classes.
Released March 19, 2018.
3.4.1
Released August 4, 2015.
3.4.0
Adds Python 3 compatibility to Pytool! Hooray! Please submit an issue if you find any bugs in Python 3. Due to the dependency on simplejson, only Python 3.3 and later is supported.
Released August 4, 2015.
3.3.0
Adds
pytool.time.ago(), which is a convenient helper for getting times relative to a timestamp or the current time.
Released August 3, 2015.
3.2.0
Adds
pytool.textandpytool.text.wrap()which helps wrap text and remove or add indentation, and does so in a paragraph and whitespace aware fashion.Adds
pytool.cmd.Command.describe()to make it easier to add verbose descriptions to your command’s--help.
3.1.1
Depend on canonical version of simplejson again instead of github fork.
3.1.0
Add
pytool.time.Timerfor easy timing of things.
3.0.1
Fix bug with setup.py which broke installs.
3.0.0
Changed to depend on simplejson (
>=3.2.0) for the_asdict()andfor_json()hooks. This may break backwards compatability.
2.4.1
Fix bug where
for_json()hook was ignored on classes that subclass the basic types.Fix bug where
pytool.json.as_json()would leave a trailing space on timestamps if there is no timezone associated with them.
2.4.0
Improve documentation.
Add
for_json()hook inpytool.json.as_json().Add
__repr__()topytool.time.UTCto make it prettier.Add support for
_asdict()hook (implemented bynamedtuple) even when not usingsimplejson.Fix
pytool.time.is_dst()test.Add
for_json()hook topytool.proxy.DictProxyandpytool.proxy.ListProxy.
2.3.2
Fix descriptor protocol in iteritems.
2.3.1
Implement a instance-descriptor read-only protocol for
pytool.lang.Namespaceobjects. This means you can assign descriptor instances to Namespace instances, and their values can be read, but not set.This differs from normal python descriptor behavior, where the descriptor instance must be present in the class rather than the instance.
2.3.0
Make
pytool.lang.Namespaceinstances evaluate asFalsewhen empty and cast as abool().
2.2.0
Added
pytool.proxy.DictProxyandpytool.proxy.ListProxy.
2.1.0
Added
pytool.lang.hashed_singleton.
2.0.1
Update setup.py to include classifiers.
2.0.0
Add
pytool.time.floor_minute()andpytool.time.floor_week().Change
pytool.time.floor_month()andpytool.time.floor_day()to preserve timezone information.
Pre-2.0.0
Sorry, I was lazy and didn’t keep a Changelog until 2.0. Apologies!