vimeotools 0.0.5
Tools for Vimeo
License: MIT License
Requires Python: >=3.8

# vimeotools
These are Python Tools for Vimeo, using the Vimeo API and the official PyVimeo Python package.

##  beta!
This package is very much a beta version, it has no unit tests yet and is not well tested! Use it at your own risk!

## about
This package is aimed at being more convenient than using the Vimeo API or PyVimeo directly:
it provides the classes:

- **VimeoConnection**
- **VimeoData**
- **VimeoVideo**
- **VimeoShowcase** (album)
- **VimeoFolder** (project) 

which invoke the API for you. So you don't have to worry about the intricacies of the data structure or the URIs to use for specific queries or actions.

These classes also store the data internally once they have retrieved them from Vimeo, so as to avoid unnecessary requests if data are queried multiple times. If an instance changes data, the internal data representation is updated accordingly. 

It is of course possible to re-query (*refresh*) the data via the API.

You can also opt to create or set an object in live mode, so everytime a property is queried, the appropriate request is made on Vimeo first.

## documentation
The (Sphinx) documentation is very crude (created with autodoc) currently and will be improved in subsequent versions.

# History
## 0.0.5 (2025-01-23)
- **set_description**: corrected wrong parameter name
- VimeoConnection \__init__ now has a parameter "timeout"

## 0.0.4 (2023-07-16)
- **VimeoBaseItem**: method **set_temp_data** (for use in Restricted Python where methods with the setter-decorator do not work because attributes cannot be changed)
- **VimeoBaseItem**: new attribute *\_temp_attributes* for storing volatile "attributes" on the object and the methods needed:
	- get_attribute
	- get_attributes
	- set_attribute

## 0.0.3 (2023-07-13)
- **VimeoShocase** und **VimeoFolder**: property **nb_videos**
- **VimeoData** changed property names
	- video_count -> nb_videos
	- showcases_count -> nb_showcases
	- folders_count -> nb_folders

## 0.0.2 (2023-07-12)
- VimeoData gets the methods **save** and **load**, to save or load data as json or pickle. 
- the **__init__** of VimeoVideo, VimeoShowcase, VimeoFolder gets a parameter **data**, where the data can be passed when the object is created, so no request is needed.
- Objects have a new attribute **temp_data** (dictionary) where you can store data relevant to your runing program directly on the object.
- The **VimeoData** object can be added to **VimeoVideo**, **VimeoShowcase** and **VimeoFolder** instances. So the data object can be updated if there is a change in one of those instances.
- using **pathlib** (instead of os.path): all filepath parameters accept Path objects.

Still no unit tests, this is still very much in beta!

## 0.0.1 (2023-07-07)
This is the first version. It provides the **VimeoConnection**, **VimeoData**, **Video** and **VimeoShowcase** and **VimeoFolder** classes.

The package is still very much in beta, as many of the possible methods of this classes are not implemented yet and other classes (e.g. for Groups or Portfolios) shall be implemented later. It is also not well tested at the moment. Use it at your own risk!