Metadata-Version: 2.1
Name: fwtv
Version: 2.0.1
Summary: Verification that attendances comply with german rules. Also provide an integration to the api of FactorialHR
Project-URL: Homepage, https://github.com/leon1995/fwtv
Project-URL: Bug Tracker, https://github.com/leon1995/fwtv/issues
Author-email: Leon Budnick <y6q6ea9w@mail-proxy.org>
License-File: LICENSE
Keywords: FactorialHR,HR,Working time
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Office/Business
Requires-Python: <3.12,>=3.11
Requires-Dist: factorialhr
Requires-Dist: outcome
Requires-Dist: pyside6-essentials
Requires-Dist: tabulate
Requires-Dist: trio
Provides-Extra: dev
Requires-Dist: fwtv[lint,test]; extra == 'dev'
Provides-Extra: lint
Requires-Dist: black; extra == 'lint'
Requires-Dist: flake8; extra == 'lint'
Requires-Dist: isort; extra == 'lint'
Requires-Dist: mypy; extra == 'lint'
Requires-Dist: types-tabulate; extra == 'lint'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Description-Content-Type: text/markdown

# FactorialHR work time verification

This script verifies attendances whether they comply with german law. In particular, the following rules are verified:
- Whether the work time is longer than 6 hours without a break of 30 min
- Whether the work time is longer than 9 hours without a break of 45 min
- Whether the work time is longer than 10 hours without a break of 11 hours

It also provides a way to fetch the attendances of all employees from [FactorialHR](https://apidoc.factorialhr.com/docs) using a [company api-key](https://help.factorialhr.com/how-to-create-api-keys-in-factorial). Its then printed nicely to the console using [tabulate](https://pypi.org/project/tabulate/).

![main_window](./docs/images/main_window.png "Main Window")

## Disclaimer

I do not guarantee that this package complies with german law all the time. Changes may occur anytime. Use at your own risk.

## Usage

- Install the tool with `pip install fwtv`
- Run tool with `factorial-working-time`

### Preconditions

Preconditions errors are syntactical errors like an attendance that starts and end and the same time, or if a `clock_in` or `clock_out` parameter is missing.

## Contributing

Feel free to contribute! Please fork this repository, install the development dependencies with `pip install -e ".[dev]"` and create pull request.