Releases: box/box-python-sdk
Releases · box/box-python-sdk
Release list
Version 2.0.0a2
Breaking Changes
Events.get_events(...)now returns a list ofEventinstances rather than a list ofdict
representing events.Eventinherits fromMappingbut will not have all the same capabilities as
dict.- Your code is affected if you use
Events.get_events(...)and expect a list ofdictrather than a list of
Mapping. For example, if you use__setitem__(event['key'] = value),update(),copy(), or
if your code depends on thestrorreprof theEvent. Use of__getitem__(event['key']),
get(), and otherMappingmethods is unaffected. See
https://docs.python.org/2.7/library/collections.html#collections-abstract-base-classes for methods supported on
Mappinginstances. - Migration: If you still need to treat an
Eventas adict, you can get a deepcopy of the originaldict
using the new property onBaseAPIJSONObject,response_object.
- Your code is affected if you use
Features
- Added more flexibility to the object translation system:
- Can create non-global
Translatorinstances, which can extend or
not-extend the global defaultTranslator. - Can initialize
BoxSessionwith a customTranslator. - Can register custom subclasses on the
Translatorwhich is associated
with aBoxSessionor aClient. - All translation of API responses now use the
Translatorthat is
referenced by theBoxSession, instead of directly using the global
defaultTranslator.
- Can create non-global
- Added an
Eventclass.
Other
- Added extra information to
BoxAPIException. - Added
collaboration()method toClient. - Reworked the class hierarchy. Previously,
BaseEndpointwas the parent ofBaseObjectwhich was the parent
of all smart objects. NowBaseObjectis a child of bothBaseEndpointandBaseAPIJSONObject.
BaseObjectis the parent of all objects that are a part of the REST API. Another subclass of
BaseAPIJSONObject,APIJSONObject, was created to represent pseudo-smart objects such asEventthat are not
directly accessible through an API endpoint. - Fixed an exception that was being raised from
ExtendableEnumMeta.__dir__().
Version 2.0.0a1
Breaking Changes
Events.get_events(...)now returns a list ofEventinstances rather than a list ofdict
representing events.Eventinherits fromMappingbut will not have all the same capabilities as
dict.- Your code is affected if you use
Events.get_events(...)and expect a list ofdictrather than a list of
Mapping. For example, if you use__setitem__(event['key'] = value),update(),copy(), or
if your code depends on thestrorreprof theEvent. Use of__getitem__(event['key']),
get(), and otherMappingmethods is unaffected. See
https://docs.python.org/2.7/library/collections.html#collections-abstract-base-classes for methods supported on
Mappinginstances. - Migration: If you still need to treat an
Eventas adict, you can get a deepcopy of the originaldict
using the new property onBaseAPIJSONObject,response_object.
- Your code is affected if you use
Features
- Added ability to create custom subclasses of SDK objects with
_item_typedefined. - Added an
Eventclass.
Other
- Added extra information to
BoxAPIException. - Added
collaboration()method toClient. - Reworked the class hierarchy. Previously,
BaseEndpointwas the parent ofBaseObjectwhich was the parent
of all smart objects. NowBaseObjectis a child of bothBaseEndpointandBaseAPIJSONObject.
BaseObjectis the parent of all objects that are a part of the REST API. Another subclass of
BaseAPIJSONObject,APIJSONObject, was created to represent pseudo-smart objects such asEventthat are not
directly accessible through an API endpoint.
Version 1.5.3
- Bugfix so that
JWTAuthopens the PEM private key file in'rb'mode.
Version 1.5.2
- Bugfix so that
OAuth2always has the correct tokens after a call torefresh().
Version 1.5.1
- Added a
revoke()method to theOAuth2class. Calling it will revoke the current access/refresh token pair.
Version 1.5.0
Merge pull request #121 from Jeff-Meadows/docs Docs
Version 1.4.2
-
Make sure that
__all__is only defined once, as a list ofstr. Some
programs (e.g. PyInstaller) naively parse init.py files, and if
__all__is defined twice, the second one will be ignored. This can cause
__all__to appear as a list ofunicodeon Python 2. -
Create wheel with correct conditional dependencies and license file.
-
Change the
licensemeta-data from the full license text, to just a short
string, as specified in [1][2].[1] https://docs.python.org/3.5/distutils/setupscript.html#additional-meta-data
-
Include entire test/ directory in source distribution. test/init.py was
previously missing. -
Update documentation.
Version 1.4.1
Merge pull request #114 from Jeff-Meadows/slinkurl Expose file.get_shared_link_download_url method.
Version 1.4.0
Merge pull request #70 from box/jwt-key-rotation Add 'kid' (jwt key id) to JWTAuth header
Version 1.3.4
Merge pull request #103 from Jeff-Meadows/redis_import Bugfixes from dev token release.