* Replace setup files with pyproject.toml
Now we can use poetry to manage the package.
poetry install to install the package in a venv
poetry run ... to launch pylint, pytest or black
* Add CI with GitHub Action
Add a tests and release workflow
Add release drafter
Add dependabot
* Remove old CI based on travis and pylint
* Add linting configuration files
Linting mainly based on flake8 and plugins.
Add specific files for darglint and mypy.
* Update .gitignore
* Add test suite with nox and pre-commit
Test suite inculde pre-commit, safety, mypy, tests, typguard and documentation
checks.
* Add .gitattributes
* Update code coverage target to 80%
* Code style update by Black
* Update poetry lock file
* Deactivate temporarly some linting tests
* Add a contributing guide
* Remove Python 3.6 in GitHub Action
* Patch noxfile.py to be able to test mypy session
* Rebase version to 1.0.0
* Migrate to Python 3.6+
Drop support of Python < 3.6
- remove six + future deps + usage
- update deps
- remove encoding
- remove (object)
* Fix pylint
- pip3 super() style
- remove simplejson dep + usage
* Black format
* lint setup
* Travix CI py version
* Use f string
* Basic Typing
* Revert setup version bump
* API discovery (SYNO.API.Info) + use Exceptions
- remove dsm_version
- use SynologyDSMRequestException for failed requests
* _discover_apis any time
* simplify requests
- Add api.request(api, method, params=None)
* Add connection failed tests
* Finalized ?
* Fix SynologyDSMRequestException not beeing SynologyDSMException
* Fix SynologyDSMAPINotExistsException not beeing SynologyDSMException
* Add Virtual Machine Manager API documentation
* Can get and post request
- Add error handling by API code
* Pylint
* Add get + post tests + SynologyDSMAPIErrorException
* Add tests + some fixes
Fixes:
- [utilization] cpu_total_load returns `None` if one load is 0
- [storage] volume_disk_temp_avg + volume_disk_temp_max were global, not volume related
Add:
- [storage] env
- [storage] storage_pools
Changes:
- api.password is now private
- api.storage_url is now private
- use API_KEY on each of APIs/services
* Fix encoding
* Use future division
* Add test_disk + test_volume to check error handling cases