Features and Improvements
- Update
keywords
for the package. - Add Python 3.11 to the list of supported versions.
Bugfixes
The
Media
class did not have thearchived
(bool
) field, which was resulting in errors whenlist_project()
was called.Therefore, moved over this field from
Video
toMedia
instead (which is the super-class) so that this issue can be resolved.
Features and Improvements
- Update model classes to support new populated fields, such as
archived
(abool
field), as otherwise it breaks de-serialization by default -- credits to @KaneDM. - Upgrade dependencies in
requirements-dev.txt
.
Bugfixes
- Update to replace plain
dict
annotation withdict[str, str]
, as previously it was resulting in errors when parsing the class annotations.
Features and Improvements
- Refactor any model classes that would be returned in list API
calls to subclass from
JSONListWizard
instead ofJSONWizard
, simply so thatContainer
objects will be returned by default. - Refactor to import
Container
from thedataclass-wizard
library instead. For backwards compatibility reasons, themodels
module still exports the Container namespace.
Breaking Changes
- Wystia has officially dropped support for Python versions 3.5 and 3.6.
The support for 3.6 needed to be dropped primarily because of the
from __future__ import annotations
usage in the code. - Refactored all API helper classes to return model class objects as a result,
rather than Python
dict
objects. In the case of any list- related API responses, we now return aContainer
object so that it can be easier to print or display the result for debugging purposes. - All inputs to the API helper methods that previously accepted a
dict
object, have in general been refactored to accept a model dataclass instance as an input instead. - Renamed some error classes; for example,
NoSuchMedia
instead ofNoSuchVideo
. - Renamed some model classes; for example,
MediaStatus
instead ofVideoStatus
.
Features and Improvements
- Added
WistiaApi
to the list of public exports, which is aliased to theWistiaDataApi
helper class. - Added new methods to the
WistiaDataApi
class for more explicitly interacting with medias instead of videos. For example, alist_medias
method is added as an alternative to callinglist_videos
. - Refactored the CI process to use GitHub Workflows instead of Travis CI.
- Added 3.10 to the list of supported Python versions.
- Updated the project status from Beta to Production/Stable.
- Added an
examples/
folder in the project repo on GitHub, which contains Python scripts to demonstrate sample usage. - Updated docs and added a new Quickstart section.
Features and Improvements
- Add compatibility changes to extend support to Python 3.5 and 3.6
- WistiaHelper: Add method
project_details
to retrieve info on a particular Wistia project - WistiaEmbedApi: Update to parse the
.json
response rather than the.jsonp
version - Makefile: Add new command
init
, which can be used to install Dev dependencies for the project- Ensure the new command is compatible with Python 3.5, which has dependencies on separate
package versions; here we should use
requirements-py35-dev.txt
instead.
- Ensure the new command is compatible with Python 3.5, which has dependencies on separate
package versions; here we should use
- Makefile: Update
coverage
command to run unit tests by default
Bugfixes
- models.VideoData: The parameter to the
process_captions
method is now correctly type-annotated to accept aList
ofDict
- WistiaHelper: Add method
enable_captions_and_ad
- Remove
.format
usage in log statements - Remove an unnecessary method
ad_needed
fromVideoData
- Update readme and Sphinx
docs/
- Fully implement all sections in the Wistia Data API
- Add more methods to the
WistiaHelper
class - Request Count and API Token should now be globally shared by all API sub-classes
- Lot of code refactoring
- Exclude
.mp4
files from dist, to reduce total package size - Add more test cases
- Update docs with better examples
- First release on PyPI.