diff --git a/custom_components/azure_openai_conversation/const.py b/custom_components/azure_openai_conversation/const.py index 36f1f23..eda8001 100644 --- a/custom_components/azure_openai_conversation/const.py +++ b/custom_components/azure_openai_conversation/const.py @@ -1,4 +1,4 @@ -"""Constants for the Azure OpenAI Conversation Integration""" +"""Constants for the Azure OpenAI Conversation Integration.""" DOMAIN = "azure_openai_conversation" CONF_PROMPT = "prompt" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..a50943e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +colorlog==6.7.0 +homeassistant==2023.4.0 +pip>=21.0,<23.1 +ruff==0.0.261 +openai==0.27.2 \ No newline at end of file diff --git a/ruff.toml b/ruff.toml new file mode 100644 index 0000000..7a8331a --- /dev/null +++ b/ruff.toml @@ -0,0 +1,48 @@ +# The contents of this file is based on https://github.com/home-assistant/core/blob/dev/pyproject.toml + +target-version = "py310" + +select = [ + "B007", # Loop control variable {name} not used within loop body + "B014", # Exception handler with duplicate exception + "C", # complexity + "D", # docstrings + "E", # pycodestyle + "F", # pyflakes/autoflake + "ICN001", # import concentions; {name} should be imported as {asname} + "PGH004", # Use specific rule codes when using noqa + "PLC0414", # Useless import alias. Import alias does not rename original package. + "SIM105", # Use contextlib.suppress({exception}) instead of try-except-pass + "SIM117", # Merge with-statements that use the same scope + "SIM118", # Use {key} in {dict} instead of {key} in {dict}.keys() + "SIM201", # Use {left} != {right} instead of not {left} == {right} + "SIM212", # Use {a} if {a} else {b} instead of {b} if not {a} else {a} + "SIM300", # Yoda conditions. Use 'age == 42' instead of '42 == age'. + "SIM401", # Use get from dict with default instead of an if block + "T20", # flake8-print + "TRY004", # Prefer TypeError exception for invalid type + "RUF006", # Store a reference to the return value of asyncio.create_task + "UP", # pyupgrade + "W", # pycodestyle +] + +ignore = [ + "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 +] + +[flake8-pytest-style] +fixture-parentheses = false + +[pyupgrade] +keep-runtime-typing = true + +[mccabe] +max-complexity = 25 \ No newline at end of file