Box

Python dictionaries with advanced dot notation access

MIT License

Downloads
3.2M
Stars
2.5K
Committers
1
Box - Version 7.2.0 Latest Release

Published by cdgriffith 5 months ago

  • Adding #266 support for accessing nested items in BoxList using numpy-style tuple indexing (thanks to Bit0r)
  • Adding tests and Cython releases for Python 3.12
  • Fixing #251 support for circular references in lists (thanks to Muspi Merol)
  • Fixing #261 altering all __repr__ methods so that subclassing will output the correct class name (thanks to Gabriel Tkacz)
  • Fixing #267 Fix type 'int' not iterable (thanks to YISH)
Box - Version 7.1.1

Published by cdgriffith about 1 year ago

Fixing Cython optimized build deployments for linux

Box - Version 7.1.0

Published by cdgriffith about 1 year ago

  • Adding #255 defer ipython import for large import speed improvements (thanks to Eric Prestat)
  • Adding testing for Python 3.12
  • Fixing #253 merge_update box list merge types not populated to sub dictionaries (thanks to lei wang)
  • Fixing #257 Two test failures due to arguments having incorrect types (thanks to Michał Górny)
  • Fixing stub files to match latest code signatures
  • Removing #251 support for circular references in lists (thanks to d00m514y3r)
Box - Version 7.0.1

Published by cdgriffith over 1 year ago

  • Switching off of poetry due to multiple build issues
Box - Version 7.0.0

Published by cdgriffith over 1 year ago

  • Adding #169 default functions with the box_instance and key parameter (thanks to Коптев Роман Викторович)
  • Adding #170 Be able to initialize with a flattened dict - by using DDBox (thanks to Ash A.)
  • Adding #192 box_dots treats all keys with periods in them as separate keys (thanks to Rexbard)
  • Adding #211 support for properties and setters in subclasses (thanks to Serge Lu and David Aronchick)
  • Adding #226 namespace to track changes to the box (thanks to Jacob Hayes)
  • Adding #236 iPython detection to prevent adding attribute lookup words (thanks to Nishikant Parmar)
  • Adding #238 allow | and + for frozen boxes (thanks to Peter B)
  • Adding new DDBox class (Default Dots Box) that is a subclass of SBox
  • Fixing #235 how | and + updates were performed for right operations (thanks to aviveh21)
  • Fixing #234 typos (thanks to Martin Schorfmann)
  • Fixing no implicit optionals with type hinting
Box - Version 7.0.0rc4

Published by cdgriffith over 1 year ago

Pypi publish test

Box - Version 7.0.0rc3

Published by cdgriffith over 1 year ago

Try to fix CI publish build

Box - Version 7.0.0rc2

Published by cdgriffith over 1 year ago

  • Adding #242 more Cython builds using cibuildwheel (thanks to Jacob Hayes)
Box - Version 7.0.0rc1

Published by cdgriffith over 1 year ago

  • Removing Cython builds for mac until we can build universal2 wheels for arm M1 macs
Box - Version 7.0.0rc0

Published by cdgriffith over 1 year ago

  • Adding #169 default functions with the box_instance and key parameter (thanks to Коптев Роман Викторович)
  • Adding #170 Be able to initialize with a flattened dict - by using DDBox (thanks to Ash A.)
  • Adding #192 box_dots treats all keys with periods in them as separate keys (thanks to Rexbard)
  • Adding #211 support for properties and setters in subclasses (thanks to Serge Lu and David Aronchick)
  • Adding #226 namespace to track changes to the box (thanks to Jacob Hayes)
  • Adding #236 iPython detection to prevent adding attribute lookup words (thanks to Nishikant Parmar)
  • Adding #238 allow | and + for frozen boxes (thanks to Peter B)
  • Adding new DDBox class (Default Dots Box) that is a subclass of SBox
  • Fixing #235 how | and + updates were performed for right operations (thanks to aviveh21)
  • Fixing #234 typos (thanks to Martin Schorfmann)
  • Fixing no implicit optionals with type hinting
Box - Version 6.1.0

Published by cdgriffith almost 2 years ago

  • Adding Python 3.11 support
  • Adding #195 box_from_string function (thanks to Marcelo Huerta)
  • Changing the deprecated toml package with modern tomllib, tomli and tomli-w usage (thanks to Michał Górny)
  • Fixing mypy ior type (thanks to Jacob Hayes)
  • Fixing line endings with a pre-commit update
  • Fixing BoxList was using old style of super in internal code usage

Co-authored-by: Jacob Hayes [email protected]
Co-authored-by: Michał Górny [email protected]

Box - Version 6.0.2

Published by cdgriffith over 2 years ago

  • Fixing that the typing pyi files were not included in the manifest (thanks to Julian Torres)
Box - Version 6.0.1

Published by cdgriffith over 2 years ago

  • Fixing #218 Box dots would not raise KeyError on bad key (thanks to Cliff Wells)
  • Fixing #217 wording in readme overview needed updated (thanks to Julie Jones)
Box - Version 6.0.0

Published by cdgriffith over 2 years ago

  • Adding Cython support to greatly speed up normal Box operations on supported systems
  • Adding #161 support for access box dots with get and checking with in (thanks to scott-createplay)
  • Adding #183 support for all allowed character sets (thanks to Giulio Malventi)
  • Adding #196 support for sliceable boxes (thanks to Dias)
  • Adding #164 default_box_create_on_get toggle to disable setting box variable on get request (thanks to ipcoder)
  • Changing #208 repr to produce eval-able text (thanks to Jeff Robbins)
  • Changing #215 support ruamel.yaml new syntax (thanks to Ivan Pepelnjak)
  • Changing update and merge_update to not use a keyword that could cause issues in rare circumstances
  • Changing internal _safe_key logic to be twice as fast
  • Removing support for ruamel.yaml < 0.17
Box - Version 6.0.0rc4

Published by cdgriffith over 2 years ago

  • Hopefully fixing manylinux publish
  • Updating pre-commit to latest versions
Box - Version 6.0.0rc3

Published by cdgriffith almost 3 years ago

  • Add ability to set attributes to ruamel.yaml class
  • Fix pytest working with underscore functions
  • Fix for pyinstaller
  • Fix python publish version issues
Box - Version 6.0.0rc2

Published by cdgriffith almost 3 years ago

  • Fixing releases for linux to use manylinux as -linux as not supported by pypi
Box - Version 6.0.0rc1

Published by cdgriffith almost 3 years ago

  • Adding Cython support to greatly speed up normal Box operations on supported systems
  • Adding #161 support for access box dots with get and checking with in (thanks to scott-createplay)
  • Adding #183 support for all allowed character sets (thanks to Giulio Malventi)
  • Adding #196 support for sliceable boxes (thanks to Dias)
  • Changing #208 repr to produce eval-able text (thanks to Jeff Robbins)
  • Changing #215 support ruamel.yaml new syntax (thanks to Ivan Pepelnjak)
  • Changing update and merge_update to not use a keyword that could cause issues in rare circumstances
  • Fixing internal _safe_key logic to be twice as fast
  • Removing support for 3.6 as it is EOL
  • Removing support for ruamel.yaml < 0.17

This is a pre-release and under testing, do not use in production

Box - Version 5.4.1

Published by cdgriffith about 3 years ago

  • Fixing #205 setdefault behavior with box_dots (thanks to Ivan Pepelnjak)
Box - Version 5.4.0

Published by cdgriffith about 3 years ago

  • Adding py.typed for mypy support (thanks to Dominic)
  • Adding testing for Python 3.10-dev
  • Fixing #189 by adding mappings for mypy
  • Fixing setdefault behavior with box_dots (thanks to ipcoder)
  • Changing #193 how magic methods are handled with default_box (thanks to Rexbard)