* refactor: Standardize naming conventions
* chore: Update the version and re-run experiments
* chore: Improve code quality tooling and documentation
- Add pre-commit job to CI workflow for automated linting on PRs
- Update uniface/__init__.py with copyright header, module docstring,
and logically grouped exports
- Revise CONTRIBUTING.md to reflect pre-commit handles all formatting
- Remove redundant ruff check from CI (now handled by pre-commit)
- Update build job Python version to 3.11 (matches requires-python)
* Add BiSeNet face parsing implementation
* Add parsing model weights configuration
* Export BiSeNet in main package
* Add face parsing tests
* Add face parsing examples and script
* Bump version to 1.5.0
* Update documentation for face parsing
* Fix face parsing notebook to use lips instead of mouth
* chore: Update the face parsing example
* fix: Fix model argument to use Enum
* ref: Move vis_parsing_map function into visualization.py
* docs: Update README.md
* ref: Remove type conversion and update face class
* fix: change the type to float32
* chore: Update all examples, testing with latest version
* docs: Update docs reflecting the recent changes
* chore: Style changes and create jupyter notebook template
* docs: Update docstring for detection
* feat: Keyword only for common parameters: model_name, conf_thresh, nms_thresh, input_size
* chore: Update drawing and let the conf text optional for drawing
* feat: add fancy bbox draw
* docs: Add examples of using UniFace
* feat: Add version to all examples
* feat: Update linting and type annotations, return types in detect
* feat: add face analyzer and face classes
* chore: Update the format and clean up some docstrings
* docs: Update usage documentation
* feat: Change AgeGender model output to 0, 1 instead of string (Female, Male)
* test: Update testing code
* feat: Add Apple silicon backend for torchscript inference
* feat: Add face analyzer example and add run emotion for testing