Added
- Add codecov
- Add CI/CD
- Improve documentation and serve it on GitHub pages
- Add many tests
- Add `ZKSDKError` exception with PULL SDK and WINSOCK text error description
- Implement device and door parameters read/write with datatype control
- Add some enums
- Make event `poll()` method
- Implement connecting by `ZKDevice` object
- Add device search method
- Implement `DocDict` and `DocValue` classes in order to annotate SDK integer values
- Add restart device method
- Add fluent interface for events, readers, relays, aux inputs, doors with indexing support
Changed
- Improve project description in `setup.py`
- Add `ctypes` wrapper module to be able to import the project modules on Linux
- Raise `ZKSDKError` instead of `RuntimeError` on SDK function failure
- BREAKING CHANGE. Keep number fields in `Event` as integers
- Make `EVENT_TYPES` as dict with annotateble values
- BREAKING CHANGE. ZKAccess connstr constructor parameter now must be keyword parameter and be
`str` type instead of `bytes`
- Split project to several files
- BREAKING CHANGE. Split up `ZKAccess` class onto `ZKSDK` (implementation) and
`ZKAccess` (interface). Move `zk*` methods to `ZKSDK`
- BREAKING CHANGE. Convert `ControlOperation`, `RelayGroup`, `VERIFY_MODES` to python `Enum`
Removed
- BREAKING CHANGE. Remove `enable_relay*` and `read_events` methods