Woffu API client with access to several endpoints.
Project description
woffu-client
Woffu client with access to several endpoints outside their public API, for those users without access to a Woffu API key.
Installation
PyPI
The build package is publicly available on PyPI:
pip install woffu-client
Development
pip install -e .
Usage
usage: woffu-cli [-h] [--config CONFIG] [--non-interactive] {download-all-documents,get-status,sign,request-credentials,summary-report} ...
CLI interface for Woffu API client
options:
-h, --help show this help message and exit
--config CONFIG Authentication file path (default: /home/mpalacin/.config/woffu/woffu_auth.json)
--non-interactive Set session as non-interactive
actions:
{download-all-documents,get-status,sign,request-credentials,summary-report}
download-all-documents
Download all documents from Woffu
get-status Get current status and current day's total amount of worked hours
sign Send sign in or sign out request based on the '--sign-type' argument
request-credentials
Request credentials from Woffu. For non-interactive sessions, set username and password as environment variables WOFFU_USERNAME and WOFFU_PASSWORD.
summary-report Summary report of work hours for a given time window
Contributing
GitFlow convention
Please follow the GitFlow convention to do contributions to the code.
Linting
Make use of pre-commit git hooks to ensure that the code complies with PEP8 Style Guide for Python Code. Follow pre-commit instructions to ensure you have both the pre-commit python package installed and the environment initialized:
# Install pre-commit package
pip install pre-commit
# Binaries are include in $HOME/.local/bin in Ubuntu
# Ensure that python binaries path are included in the PATH variable
echo 'export PATH="$HOME/.local/bin:$PATH' >> ~/.bashrc
# Close the terminal and open a new one to apply changes or simply reload the .bashrc file
source ~/.bashrc
# Ensure that you have access to the pre-commit binary
pre-commit --version
# Go to the cloned project path and initialize pre-commit with the provided .pre-commit-config.yaml file
cd /path/to/woffu-client
pre-commit install
With this, each commit you do will be checked and auto-fixed by the pre-commit git hook. You'll have to stage the new changes in the files if something has been fixed.
Testing
:warning: TODO: add instructions on how to test code and where to add new tests
Disclaimer
This project has been partially coded using AI (ChatGPT) for handling HTTP sessions and responses as well as almost all unit tests. Expect either duplicated tests or code that can be improved; I intend to use static code analysis tools later on to achieve a cleaner code.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file woffu_client-0.1.7.tar.gz.
File metadata
- Download URL: woffu_client-0.1.7.tar.gz
- Upload date:
- Size: 33.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1abea3d2aa19bda651047cbd3666bc53495bf7b2c47f6fc9be036535cc43a192
|
|
| MD5 |
e1f67bdec3ee03b835e39160e0164801
|
|
| BLAKE2b-256 |
10f6da831292bef9d3b8d4326636ce4e097272e92fd62e7e131dfad869e6fb3c
|
File details
Details for the file woffu_client-0.1.7-py3-none-any.whl.
File metadata
- Download URL: woffu_client-0.1.7-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07e85a67be84e996de44d417c58d8856fa91b62a1e6db8534a057896e2d83486
|
|
| MD5 |
7557c456bd01c088ebf2725d8f7ddf8d
|
|
| BLAKE2b-256 |
6e616a6f91ba09788ce9ca7b2f819af3b59ed51f2b9987958c8776e53cd1078e
|