2021-05-08 18:29:31 -08:00
|
|
|
[tool.poetry]
|
|
|
|
authors = ["Hayden <hay-kot@pm.me>"]
|
2022-11-30 20:20:28 -09:00
|
|
|
description = "A Recipe Manager"
|
2022-07-31 13:10:20 -08:00
|
|
|
license = "AGPL"
|
2022-11-30 20:20:28 -09:00
|
|
|
name = "mealie"
|
|
|
|
version = "1.0.0b"
|
2021-05-08 18:29:31 -08:00
|
|
|
|
|
|
|
[tool.poetry.scripts]
|
|
|
|
start = "mealie.app:main"
|
|
|
|
|
|
|
|
[tool.poetry.dependencies]
|
2022-11-30 20:20:28 -09:00
|
|
|
Jinja2 = "^3.1.2"
|
2023-10-07 16:02:15 -05:00
|
|
|
Pillow = "^10.0.1"
|
2023-07-23 12:53:45 -05:00
|
|
|
PyYAML = "^6.0.1"
|
2023-02-06 18:43:12 -09:00
|
|
|
SQLAlchemy = "^2"
|
2023-02-11 10:41:08 -09:00
|
|
|
aiofiles = "^23.0.0"
|
2023-08-20 16:09:13 -08:00
|
|
|
alembic = "^1.11.3"
|
2023-01-01 15:44:19 -09:00
|
|
|
aniso8601 = "9.0.1"
|
2021-05-08 18:29:31 -08:00
|
|
|
appdirs = "1.4.4"
|
2023-08-20 16:09:13 -08:00
|
|
|
apprise = "^1.4.5"
|
2022-11-30 20:20:28 -09:00
|
|
|
bcrypt = "^4.0.1"
|
2023-01-01 14:47:27 -08:00
|
|
|
extruct = "^0.14.0"
|
2023-11-27 11:13:48 -06:00
|
|
|
fastapi = "^0.104.1"
|
2022-11-30 20:20:28 -09:00
|
|
|
gunicorn = "^20.1.0"
|
2024-01-10 02:08:57 +00:00
|
|
|
httpx = "^0.26.0"
|
2022-01-09 21:04:24 -09:00
|
|
|
lxml = "^4.7.1"
|
2022-11-30 20:20:28 -09:00
|
|
|
orjson = "^3.8.0"
|
|
|
|
passlib = "^1.7.4"
|
2023-10-07 16:02:15 -05:00
|
|
|
psycopg2-binary = { version = "^2.9.1", optional = true }
|
2022-12-30 12:44:54 -08:00
|
|
|
pydantic = "^1.10.4"
|
2022-03-25 10:56:49 -08:00
|
|
|
pyhumps = "^3.5.3"
|
2022-11-30 20:20:28 -09:00
|
|
|
python = "^3.10"
|
2022-10-22 10:44:32 -08:00
|
|
|
python-dateutil = "^2.8.2"
|
2023-02-26 10:13:10 -09:00
|
|
|
python-dotenv = "^1.0.0"
|
2022-11-30 20:20:28 -09:00
|
|
|
python-jose = "^3.3.0"
|
|
|
|
python-ldap = "^3.3.1"
|
2023-03-23 09:20:50 -08:00
|
|
|
python-multipart = "^0.0.6"
|
2023-01-28 16:06:27 -09:00
|
|
|
python-slugify = "^8.0.0"
|
2023-12-19 08:18:56 +00:00
|
|
|
recipe-scrapers = "^14.53.0"
|
2023-08-20 16:09:13 -08:00
|
|
|
requests = "^2.31.0"
|
2022-12-29 16:11:07 -09:00
|
|
|
tzdata = "^2022.7"
|
2023-10-07 16:02:15 -05:00
|
|
|
uvicorn = { extras = ["standard"], version = "^0.21.0" }
|
2023-03-12 15:37:24 -05:00
|
|
|
beautifulsoup4 = "^4.11.2"
|
2023-08-09 21:52:49 -05:00
|
|
|
isodate = "^0.6.1"
|
2023-08-20 16:09:13 -08:00
|
|
|
text-unidecode = "^1.3"
|
2023-09-15 12:19:34 -05:00
|
|
|
rapidfuzz = "^3.2.0"
|
2021-05-08 18:29:31 -08:00
|
|
|
|
2022-12-29 15:21:48 -08:00
|
|
|
[tool.poetry.group.dev.dependencies]
|
2023-08-20 16:09:13 -08:00
|
|
|
black = "^23.7.0"
|
2023-01-01 11:53:51 -09:00
|
|
|
coverage = "^7.0"
|
2022-01-13 13:06:52 -09:00
|
|
|
coveragepy-lcov = "^0.1.1"
|
2023-01-06 21:47:29 -09:00
|
|
|
mkdocs-material = "^9.0.0"
|
2023-08-20 16:09:13 -08:00
|
|
|
mypy = "^1.5.1"
|
|
|
|
pre-commit = "^3.3.3"
|
2022-11-30 20:20:28 -09:00
|
|
|
pydantic-to-typescript = "^1.0.7"
|
|
|
|
pylint = "^2.6.0"
|
|
|
|
pytest = "^7.2.0"
|
2024-01-10 12:29:39 -06:00
|
|
|
pytest-asyncio = "^0.23.0"
|
2023-08-20 16:09:13 -08:00
|
|
|
rich = "^13.5.2"
|
2023-05-05 14:43:23 -08:00
|
|
|
ruff = "^0.0.265"
|
2022-03-15 15:01:56 -08:00
|
|
|
types-PyYAML = "^6.0.4"
|
2022-11-30 20:20:28 -09:00
|
|
|
types-python-dateutil = "^2.8.18"
|
2023-01-01 11:29:49 -09:00
|
|
|
types-python-slugify = "^6.0.0"
|
2022-03-15 15:01:56 -08:00
|
|
|
types-requests = "^2.27.12"
|
|
|
|
types-urllib3 = "^1.26.11"
|
2022-07-09 23:57:09 -05:00
|
|
|
|
2023-01-29 01:43:27 +01:00
|
|
|
|
2021-05-08 18:29:31 -08:00
|
|
|
[build-system]
|
|
|
|
build-backend = "poetry.core.masonry.api"
|
2022-11-30 20:20:28 -09:00
|
|
|
requires = ["poetry-core>=1.0.0"]
|
2021-05-08 18:29:31 -08:00
|
|
|
|
|
|
|
[tool.black]
|
|
|
|
line-length = 120
|
2022-01-13 13:06:52 -09:00
|
|
|
target-version = ["py310"]
|
|
|
|
|
2023-03-23 12:22:06 -05:00
|
|
|
[tool.isort]
|
|
|
|
line_length = 120
|
|
|
|
|
2022-01-13 13:06:52 -09:00
|
|
|
[tool.vulture]
|
|
|
|
exclude = ["**/models/**/*.py", "dir/"]
|
|
|
|
ignore_decorators = ["@*router.*", "@app.on_event", "@validator", "@controller"]
|
|
|
|
make_whitelist = true
|
|
|
|
min_confidence = 60
|
|
|
|
paths = ["mealie"]
|
|
|
|
sort_by_size = true
|
2021-08-28 14:27:56 -08:00
|
|
|
|
2021-05-08 18:29:31 -08:00
|
|
|
[tool.pytest.ini_options]
|
2022-11-30 20:20:28 -09:00
|
|
|
addopts = "-ra -q"
|
2021-05-08 18:29:31 -08:00
|
|
|
minversion = "6.0"
|
|
|
|
python_classes = '*Tests'
|
2022-11-30 20:20:28 -09:00
|
|
|
python_files = 'test_*'
|
2021-05-08 18:29:31 -08:00
|
|
|
python_functions = 'test_*'
|
2023-10-07 16:02:15 -05:00
|
|
|
testpaths = ["tests"]
|
2021-05-08 18:29:31 -08:00
|
|
|
|
|
|
|
[tool.coverage.report]
|
2021-06-12 07:30:06 +08:00
|
|
|
skip_empty = true
|
|
|
|
|
|
|
|
[tool.poetry.extras]
|
2022-03-15 15:01:56 -08:00
|
|
|
pgsql = ["psycopg2-binary"]
|
|
|
|
|
|
|
|
[tool.mypy]
|
|
|
|
follow_imports = "skip"
|
2022-11-30 20:20:28 -09:00
|
|
|
ignore_missing_imports = true
|
2022-10-18 14:49:41 -08:00
|
|
|
plugins = "pydantic.mypy"
|
2022-11-30 20:20:28 -09:00
|
|
|
python_version = "3.10"
|
|
|
|
strict_optional = true
|
|
|
|
|
|
|
|
[tool.ruff]
|
|
|
|
line-length = 120
|
|
|
|
format = "text"
|
|
|
|
|
|
|
|
# Enable Pyflakes `E` and `F` codes by default.
|
2023-10-07 16:02:15 -05:00
|
|
|
ignore = ["F403", "TID252", "B008"]
|
2022-11-30 20:20:28 -09:00
|
|
|
select = [
|
2023-10-07 16:02:15 -05:00
|
|
|
"E", # pycodestyles
|
|
|
|
"F", # pyflakes
|
|
|
|
"I", # isort
|
|
|
|
"T", # flake8-print
|
2022-12-29 14:48:32 -09:00
|
|
|
"UP", # pyupgrade
|
2023-10-07 16:02:15 -05:00
|
|
|
"B", # flake8-bugbear
|
2022-11-30 20:20:28 -09:00
|
|
|
# "ANN", # flake8-annotations
|
|
|
|
# "C", # McCabe complexity
|
|
|
|
# "RUF", # Ruff specific
|
|
|
|
# "BLE", # blind-except
|
|
|
|
]
|
|
|
|
|
|
|
|
# Exclude a variety of commonly ignored directories.
|
|
|
|
exclude = [
|
|
|
|
".bzr",
|
|
|
|
".direnv",
|
|
|
|
".eggs",
|
|
|
|
".git",
|
|
|
|
".hg",
|
|
|
|
".mypy_cache",
|
|
|
|
".nox",
|
|
|
|
".pants.d",
|
|
|
|
".ruff_cache",
|
|
|
|
".svn",
|
|
|
|
".tox",
|
|
|
|
".venv",
|
|
|
|
"__pypackages__",
|
|
|
|
"_build",
|
|
|
|
"buck-out",
|
|
|
|
"build",
|
|
|
|
"dist",
|
|
|
|
"node_modules",
|
|
|
|
"venv",
|
|
|
|
]
|
|
|
|
|
|
|
|
# Assume Python 3.10.
|
|
|
|
target-version = "py310"
|
|
|
|
|
|
|
|
[tool.ruff.per-file-ignores]
|
2023-10-07 16:02:15 -05:00
|
|
|
"__init__.py" = ["E402", "E501"]
|
2022-11-30 20:20:28 -09:00
|
|
|
|
|
|
|
[tool.ruff.mccabe]
|
|
|
|
# Unlike Flake8, default to a complexity level of 10.
|
|
|
|
max-complexity = 10
|