Dependency management Link to heading

uv Link to heading

# create a project
uv init 
# add dependency
uv add boto3
uv add "boto3>=@2.38.1"  # in specific version
uv add boto3 --dev  # as developer dependency

poetry Link to heading

# add dependency
poetry add boto3
poetry add boto3@2.38.1  # in specific version
poetry add moto[dynamodb] --group dev  # as developer dependency

# update dependency
poetry update aiohttp

# remove dependency
poetry remove checkov --group dev

pyenv Link to heading

Linter / Formatter Link to heading

ruff Link to heading

pylint Link to heading

black Link to heading

Logging Link to heading

Testing Link to heading

pytest Link to heading

# executing specific test in a specific folder
pytest ./path/to/folder -k 'name_of_test'

# with coverage (depends on pytest-cov)
pytest --cov=. --cov-report=xml:coverage.xml

# combining multiple coverage files 
COVERAGE_FILE=.coverage.file1 pytest --cov=. --cov-append path/to/test_folder_1 && \
COVERAGE_FILE=.coverage.file2 pytest --cov=. --cov-append path/to/test_folder_2 && \
coverage combine && \
coverage xml -o coverage.xml