Refactor pyproject.toml to update dependencies to latest versions and improve configuration
This commit is contained in:
		
							
								
								
									
										1386
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1386
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,3 +1,27 @@
 | 
				
			|||||||
 | 
					[project]
 | 
				
			||||||
 | 
					name = "discord-rss-bot"
 | 
				
			||||||
 | 
					version = "1.0.0"
 | 
				
			||||||
 | 
					description = "RSS bot for Discord"
 | 
				
			||||||
 | 
					readme = "README.md"
 | 
				
			||||||
 | 
					requires-python = ">=3.12"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					    "apscheduler",
 | 
				
			||||||
 | 
					    "discord-webhook",
 | 
				
			||||||
 | 
					    "fastapi",
 | 
				
			||||||
 | 
					    "httpx",
 | 
				
			||||||
 | 
					    "jinja2",
 | 
				
			||||||
 | 
					    "lxml",
 | 
				
			||||||
 | 
					    "markdownify",
 | 
				
			||||||
 | 
					    "platformdirs",
 | 
				
			||||||
 | 
					    "python-dotenv",
 | 
				
			||||||
 | 
					    "python-multipart",
 | 
				
			||||||
 | 
					    "reader",
 | 
				
			||||||
 | 
					    "uvicorn",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependency-groups]
 | 
				
			||||||
 | 
					dev = ["pytest"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.poetry]
 | 
					[tool.poetry]
 | 
				
			||||||
name = "discord-rss-bot"
 | 
					name = "discord-rss-bot"
 | 
				
			||||||
version = "1.0.0"
 | 
					version = "1.0.0"
 | 
				
			||||||
@@ -6,23 +30,21 @@ authors = ["Joakim Hellsén <tlovinator@gmail.com>"]
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[tool.poetry.dependencies]
 | 
					[tool.poetry.dependencies]
 | 
				
			||||||
python = "^3.12"
 | 
					python = "^3.12"
 | 
				
			||||||
apscheduler = "^3.10.4"
 | 
					apscheduler = "*"
 | 
				
			||||||
discord-webhook = "^1.3.1"
 | 
					discord-webhook = "*"
 | 
				
			||||||
fastapi = "^0.115.0"
 | 
					fastapi = "*"
 | 
				
			||||||
httpx = "^0.28.0"
 | 
					httpx = "*"
 | 
				
			||||||
jinja2 = "^3.1.4"
 | 
					jinja2 = "*"
 | 
				
			||||||
lxml = "^4.9.4"
 | 
					lxml = "*"
 | 
				
			||||||
markdownify = "^0.14.0"
 | 
					markdownify = "*"
 | 
				
			||||||
platformdirs = "^3.11.0"
 | 
					platformdirs = "*"
 | 
				
			||||||
python-dotenv = "^1.0.1"
 | 
					python-dotenv = "*"
 | 
				
			||||||
python-multipart = "^0.0.20"
 | 
					python-multipart = "*"
 | 
				
			||||||
reader = "^3.14"
 | 
					reader = "*"
 | 
				
			||||||
uvicorn = "^0.34.0"
 | 
					uvicorn = "*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.poetry.group.dev.dependencies]
 | 
					[tool.poetry.group.dev.dependencies]
 | 
				
			||||||
djlint = "^1.35.3"
 | 
					pytest = "*"
 | 
				
			||||||
pre-commit = "^4.0.1"
 | 
					 | 
				
			||||||
pytest = "^7.4.4"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[build-system]
 | 
					[build-system]
 | 
				
			||||||
requires = ["poetry-core>=1.0.0"]
 | 
					requires = ["poetry-core>=1.0.0"]
 | 
				
			||||||
@@ -35,16 +57,17 @@ max_line_length = 120
 | 
				
			|||||||
format_attribute_template_tags = true
 | 
					format_attribute_template_tags = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.ruff]
 | 
					[tool.ruff]
 | 
				
			||||||
fix = true
 | 
					 | 
				
			||||||
unsafe-fixes = true
 | 
					 | 
				
			||||||
preview = true
 | 
					preview = true
 | 
				
			||||||
line-length = 120
 | 
					line-length = 120
 | 
				
			||||||
lint.select = ["ALL"]
 | 
					lint.select = ["ALL"]
 | 
				
			||||||
 | 
					lint.pydocstyle.convention = "google"
 | 
				
			||||||
 | 
					lint.isort.required-imports = ["from __future__ import annotations"]
 | 
				
			||||||
 | 
					lint.pycodestyle.ignore-overlong-task-comments = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
lint.ignore = [
 | 
					lint.ignore = [
 | 
				
			||||||
    "ANN201",  # Checks that public functions and methods have return type annotations.
 | 
					    "ANN201",  # Checks that public functions and methods have return type annotations.
 | 
				
			||||||
    "ARG001",  # Checks for the presence of unused arguments in function definitions.
 | 
					    "ARG001",  # Checks for the presence of unused arguments in function definitions.
 | 
				
			||||||
    "B008",    # Allow Form() as a default value
 | 
					    "B008",    # Allow Form() as a default value
 | 
				
			||||||
    "COM812",  # Checks for the absence of trailing commas.
 | 
					 | 
				
			||||||
    "CPY001",  # Missing copyright notice at top of file
 | 
					    "CPY001",  # Missing copyright notice at top of file
 | 
				
			||||||
    "D100",    # Checks for undocumented public module definitions.
 | 
					    "D100",    # Checks for undocumented public module definitions.
 | 
				
			||||||
    "D101",    # Checks for undocumented public class definitions.
 | 
					    "D101",    # Checks for undocumented public class definitions.
 | 
				
			||||||
@@ -57,15 +80,28 @@ lint.ignore = [
 | 
				
			|||||||
    "FBT003",  # Checks for boolean positional arguments in function calls.
 | 
					    "FBT003",  # Checks for boolean positional arguments in function calls.
 | 
				
			||||||
    "FIX002",  # Line contains TODO
 | 
					    "FIX002",  # Line contains TODO
 | 
				
			||||||
    "G002",    # Allow % in logging
 | 
					    "G002",    # Allow % in logging
 | 
				
			||||||
    "ISC001",  # Checks for implicitly concatenated strings on a single line.
 | 
					 | 
				
			||||||
    "PGH003",  # Check for type: ignore annotations that suppress all type warnings, as opposed to targeting specific type warnings.
 | 
					    "PGH003",  # Check for type: ignore annotations that suppress all type warnings, as opposed to targeting specific type warnings.
 | 
				
			||||||
    "PLR6301", # Checks for the presence of unused self parameter in methods definitions.
 | 
					    "PLR6301", # Checks for the presence of unused self parameter in methods definitions.
 | 
				
			||||||
    "RUF029",  # Checks for functions declared async that do not await or otherwise use features requiring the function to be declared async.
 | 
					    "RUF029",  # Checks for functions declared async that do not await or otherwise use features requiring the function to be declared async.
 | 
				
			||||||
    "TD003",   # Checks that a TODO comment is associated with a link to a relevant issue or ticket.
 | 
					    "TD003",   # Checks that a TODO comment is associated with a link to a relevant issue or ticket.
 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.ruff.lint.pydocstyle]
 | 
					    # Conflicting lint rules when using Ruff's formatter
 | 
				
			||||||
convention = "google"
 | 
					    # https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
 | 
				
			||||||
 | 
					    "COM812", # Checks for the absence of trailing commas.
 | 
				
			||||||
 | 
					    "COM819", # Checks for the presence of prohibited trailing commas.
 | 
				
			||||||
 | 
					    "D206",   # Checks for docstrings that are indented with tabs.
 | 
				
			||||||
 | 
					    "D300",   # Checks for docstrings that use '''triple single quotes''' instead of """triple double quotes""".
 | 
				
			||||||
 | 
					    "E111",   # Checks for indentation with a non-multiple of 4 spaces.
 | 
				
			||||||
 | 
					    "E114",   # Checks for indentation of comments with a non-multiple of 4 spaces.
 | 
				
			||||||
 | 
					    "E117",   # Checks for over-indented code.
 | 
				
			||||||
 | 
					    "ISC001", # Checks for implicitly concatenated strings on a single line.
 | 
				
			||||||
 | 
					    "ISC002", # Checks for implicitly concatenated strings that span multiple lines.
 | 
				
			||||||
 | 
					    "Q000",   # Checks for inline strings that use single quotes or double quotes, depending on the value of the lint.flake8-quotes.inline-quotes option.
 | 
				
			||||||
 | 
					    "Q001",   # Checks for multiline strings that use single quotes or double quotes, depending on the value of the lint.flake8-quotes.multiline-quotes setting.
 | 
				
			||||||
 | 
					    "Q002",   # Checks for docstrings that use single quotes or double quotes, depending on the value of the lint.flake8-quotes.docstring-quotes setting.
 | 
				
			||||||
 | 
					    "Q003",   # Checks for strings that include escaped quotes, and suggests changing the quote style to avoid the need to escape them.
 | 
				
			||||||
 | 
					    "W191",   # Checks for indentation that uses tabs.
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.ruff.lint.per-file-ignores]
 | 
					[tool.ruff.lint.per-file-ignores]
 | 
				
			||||||
"tests/*" = ["S101", "D103", "PLR2004"]
 | 
					"tests/*" = ["S101", "D103", "PLR2004"]
 | 
				
			||||||
@@ -74,7 +110,12 @@ convention = "google"
 | 
				
			|||||||
max-complexity = 15 # Don't judge lol
 | 
					max-complexity = 15 # Don't judge lol
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.pytest.ini_options]
 | 
					[tool.pytest.ini_options]
 | 
				
			||||||
 | 
					python_files = ["test_*.py"]
 | 
				
			||||||
log_cli = true
 | 
					log_cli = true
 | 
				
			||||||
log_cli_level = "DEBUG"
 | 
					log_cli_level = "DEBUG"
 | 
				
			||||||
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
 | 
					log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
 | 
				
			||||||
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
 | 
					log_cli_date_format = "%Y-%m-%d %H:%M:%S"
 | 
				
			||||||
 | 
					filterwarnings = [
 | 
				
			||||||
 | 
					    "ignore::bs4.GuessedAtParserWarning",
 | 
				
			||||||
 | 
					    "ignore:functools\\.partial will be a method descriptor in future Python versions; wrap it in staticmethod\\(\\) if you want to preserve the old behavior:FutureWarning",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user