Skip to content

Commit

Permalink
Add poetry to dev environment (#2352)
Browse files Browse the repository at this point in the history
  • Loading branch information
andrew-codechimp authored Nov 11, 2024
1 parent 8378648 commit dae9cac
Show file tree
Hide file tree
Showing 4 changed files with 149 additions and 54 deletions.
19 changes: 15 additions & 4 deletions .devcontainer/integration/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
{
"name": "BN Integration",
"image": "mcr.microsoft.com/devcontainers/python:3.12",
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {
"installDirectlyFromGitHubRelease": true,
"version": "latest"
},
"ghcr.io/devcontainers/features/node:1": {
"nodeGypDependencies": true,
"version": "lts"
},
"ghcr.io/devcontainers-contrib/features/poetry:2": {
"version": "latest"
},
"ghcr.io/devcontainers/features/rust:1": {}
},
"postCreateCommand": "scripts/setup",
"runArgs": [
"--network=host"
Expand Down Expand Up @@ -44,8 +58,5 @@
}
}
},
"remoteUser": "vscode",
"features": {
"ghcr.io/devcontainers/features/rust:1": {}
}
"remoteUser": "vscode"
}
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ on:
- '**.py' # Run if pushed commits include a change to a Python (.py) file.
- '.github/workflows/lint.yml' # Run if pushed commits include a change to a github actions workflow file.
- 'requirements.txt' # Run if pushed commits include a change to the Python requirements.txt file.
- '.ruff.toml' # Run if ruff configuration file changes.
- '.pyprogject.toml' # Run if project configuration file changes.
pull_request:
branches:
- "main"
paths:
- '**.py' # Run if pushed commits include a change to a Python (.py) file.
- '.github/workflows/lint.yml' # Run if pushed commits include a change to a github actions workflow file.
- 'requirements.txt' # Run if pushed commits include a change to the Python requirements.txt file.
- '.ruff.toml' # Run if ruff configuration file changes.
- '.pyprogject.toml' # Run if project configuration file changes.
workflow_dispatch:

jobs:
Expand Down
48 changes: 0 additions & 48 deletions .ruff.toml

This file was deleted.

132 changes: 132 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
[tool.poetry]
authors = ["Andrew Jackson <[email protected]>"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Framework :: AsyncIO",
"Intended Audience :: Developers",
"Natural Language :: English",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3",
]
description = "HA-Battery-Notes - A Home Assistant integration to provide battery notes of devices"
documentation = "https://github.com/andrew-codechimp/HA-Battery-Notes"
homepage = "https://github.com/andrew-codechimp/HA-Battery-Notes"
license = "MIT"
maintainers = ["Andrew Jackson <[email protected]>"]
name = "HA-Battery-Notes"
packages = []
readme = "README.md"
repository = "https://github.com/andrew-codechimp/HA-Battery-Notes"
version = "0.0.0"

[tool.poetry.dependencies]
homeassistant = "2024.9.0"
python = ">=3.12,<3.13"

[tool.poetry.group.dev.dependencies]
hass-nabucasa = "0.84.0"
pre-commit = "4.0.1"
pre-commit-hooks = "5.0.0"
pylint = "3.1.0"
ruff = "0.7.3"

[tool.poetry.urls]
"Bug Tracker" = "https://github.com/andrew-codechimp/HA-Battery-Notes/issues"
Changelog = "https://github.com/andrew-codechimp/HA-Battery-Notes/releases"

[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core"]

[tool.lint.ruff]
ignore = [
"ANN101", # Self... explanatory
"ANN401", # Opiniated warning on disallowing dynamically typed expressions
"D203", # Conflicts with other rules
"D213", # Conflicts with other rules
"TID252", # Relative imports
"RUF012", # Just broken
"D202", # No blank lines allowed after function docstring
"D203", # 1 blank line required before class docstring
"D213", # Multi-line docstring summary should start at the second line
"D404", # First word of the docstring should not be This
"D406", # Section name should end with a newline
"D407", # Section name underlining
"D411", # Missing blank line before section
"E501", # line too long
"E731", # do not assign a lambda expression, use a def


# Formatter conflicts
"COM812",
"COM819",
"D206",
"E501",
"ISC001",
"Q000",
"Q001",
"Q002",
"Q003",
"W191",
]
select = ["ALL"]
src = ["custom_components/battery_notes"]

[tool.link.flake8-import-conventions.extend-aliases]
"homeassistant.helpers.area_registry" = "ar"
"homeassistant.helpers.config_validation" = "cv"
"homeassistant.helpers.device_registry" = "dr"
"homeassistant.helpers.entity_registry" = "er"
"homeassistant.helpers.issue_registry" = "ir"
voluptuous = "vol"

[tool.lint.isort]
force-sort-within-sections = true
known-first-party = ["homeassistant"]
combine-as-imports = true

[tool.pylint."MESSAGES CONTROL"]
# Reasons disabled:
# format - handled by ruff
# duplicate-code - unavoidable
# used-before-assignment - false positives with TYPE_CHECKING structures
disable = [
"abstract-method",
"duplicate-code",
"format",
"unexpected-keyword-arg",
"used-before-assignment",
]

[tool.mypy]
# Specify the target platform details in config, so your developers are
# free to run mypy on Windows, Linux, or macOS and get consistent
# results.
platform = "linux"
python_version = "3.12"

# show error messages from unrelated files
follow_imports = "normal"

# suppress errors about unsatisfied imports
ignore_missing_imports = true

# be strict
# check_untyped_defs = true
# disallow_any_generics = true
# disallow_incomplete_defs = true
# disallow_subclassing_any = true
# disallow_untyped_calls = true
# disallow_untyped_decorators = true
# disallow_untyped_defs = true
# no_implicit_optional = true
# strict_optional = true
# warn_incomplete_stub = true
# warn_no_return = true
# warn_redundant_casts = true
# warn_return_any = true
# warn_unused_configs = true
# warn_unused_ignores = true

[tool.ruff.lint.mccabe]
max-complexity = 25

0 comments on commit dae9cac

Please sign in to comment.