To install all development tools, set up and activate your venv and then run
pip install -e ."[dev,test]"
YaTracker uses the pre-commit tool to check and automatically fix any formatting issue before creating a git commit.
Run the following command to install pre-commit into your git hooks and have it run on every commit:
pre-commit install
For more information on how it works, see the .pre-commit-config.yaml
configuration file.
YaTracker using Conventional Commits - specification for adding human and machine-readable meaning to commit messages.
The commit message should be structured as follows:
Commit message structure:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Examples:
feat: implemented graceful close
BREAKING CHANGE: close method become async
fix: wrong object type
docs: add profile description
YaTracker has a strict formatting policy enforced by the black formatting tool.
YaTracker has a strict typing policy enforced by the mypy. All
functions with static typing must be described with the typing
module. For example:
from typing import List
def collect_integers(a: int, b: int) -> List[int]:
return [a, b]
-
black to make sure your code is correctly formatted.
-
ruff to lint the code with all available best practices.
-
mypy to check that your types correctly assigned and used.
EditorConfig is a standard configuration file that aims to ensure consistent style across multiple programming environments.
YaTracker’s repository
contains an .editorconfig
file
describing our formatting requirements.
Most editors and IDEs support this file either directly or via plugins. See the list of supported editors and IDEs for detailed instructions.
If you make sure that your programming environment respects the contents of this file, you will automatically get correct indentation, encoding, and line endings.
Our changelog is not autogenerated.
If you've changed something matters, don't forget to add it to the [Unreleased]
section of the Changelog