diff --git a/pyproject.toml b/pyproject.toml index 16b03e029..0c8a834c0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,46 +6,46 @@ authors = [{ name = "Hayden", email = "hay-kot@pm.me" }] license = "AGPL-3.0-only" requires-python = ">=3.12,<3.13" dependencies = [ - "Jinja2>=3.1.2,<4.0.0", - "Pillow>=12.0.0,<13.0.0", - "PyYAML>=6.0.1,<7.0.0", - "SQLAlchemy>=2.0.0,<3.0.0", - "aiofiles>=25.0.0,<26.0.0", - "alembic>=1.11.3,<2.0.0", + "Jinja2==3.1.6", + "Pillow==12.0.0", + "PyYAML==6.0.3", + "SQLAlchemy==2.0.44", + "aiofiles==25.1.0", + "alembic==1.17.1", "aniso8601==10.0.1", "appdirs==1.4.4", - "apprise>=1.4.5,<2.0.0", - "bcrypt>=5.0.0,<6.0.0", - "extruct>=0.18.0,<1.0.0", - "fastapi>=0.120.0,<1.0.0", - "httpx>=0.28.0,<1.0.0", - "lxml>=6.0.0,<7.0.0", - "orjson>=3.8.0,<4.0.0", - "pydantic>=2.6.1,<3.0.0", - "pyhumps>=3.5.3,<4.0.0", - "python-dateutil>=2.8.2,<3.0.0", - "python-dotenv>=1.0.0,<2.0.0", - "python-ldap>=3.3.1,<4.0.0", - "python-multipart>=0.0.20,<1.0.0", - "python-slugify>=8.0.0,<9.0.0", - "recipe-scrapers>=15.0.0,<16.0.0", - "requests>=2.31.0,<3.0.0", - "tzdata>=2025.2,<2025.3", - "uvicorn[standard]>=0.38.0,<1.0.0", - "beautifulsoup4>=4.11.2,<5.0.0", - "isodate>=0.7.0,<1.0.0", - "text-unidecode>=1.3,<2.0", - "rapidfuzz>=3.2.0,<4.0.0", - "authlib>=1.3.0,<2.0.0", - "html2text>=2025.0.0,<2026.0.0", - "paho-mqtt>=1.6.1,<2.0.0", - "pydantic-settings>=2.1.0,<3.0.0", - "pillow-heif>=1.0.0,<2.0.0", - "pyjwt>=2.8.0,<3.0.0", - "openai>=2.0.0,<3.0.0", - "typing-extensions>=4.12.2,<5.0.0", - "itsdangerous>=2.2.0,<3.0.0", - "ingredient-parser-nlp>=2.0.0,<3.0.0", + "apprise==1.9.5", + "bcrypt==5.0.0", + "extruct==0.18.0", + "fastapi==0.120.3", + "httpx==0.28.1", + "lxml==6.0.2", + "orjson==3.11.4", + "pydantic==2.12.3", + "pyhumps==3.8.0", + "python-dateutil==2.9.0.post0", + "python-dotenv==1.2.1", + "python-ldap==3.4.5", + "python-multipart==0.0.20", + "python-slugify==8.0.4", + "recipe-scrapers==15.9.0", + "requests==2.32.5", + "tzdata==2025.2", + "uvicorn[standard]==0.38.0", + "beautifulsoup4==4.14.2", + "isodate==0.7.2", + "text-unidecode==1.3", + "rapidfuzz==3.14.2", + "authlib==1.6.5", + "html2text==2025.4.15", + "paho-mqtt==1.6.1", + "pydantic-settings==2.11.0", + "pillow-heif==1.1.1", + "pyjwt==2.10.1", + "openai==2.6.1", + "typing-extensions==4.15.0", + "itsdangerous==2.2.0", + "ingredient-parser-nlp==2.4.0", ] [project.scripts] @@ -53,31 +53,31 @@ mealie = "mealie.main:main" [project.optional-dependencies] pgsql = [ - "psycopg2-binary>=2.9.1,<3.0.0" + "psycopg2-binary==2.9.11" ] [dependency-groups] dev = [ - "coverage>=7.0,<8.0", - "coveragepy-lcov>=0.1.1,<1.0.0", - "mkdocs-material>=9.0.0,<10.0.0", - "mypy>=1.5.1,<2.0.0", - "pre-commit>=4.0.0,<5.0.0", - "pylint>=4.0.0,<5.0.0", - "pytest>=9.0.1,<9.1.0", - "pytest-asyncio>=1.0.0,<2.0.0", - "rich>=14.0.0,<15.0.0", - "ruff>=0.14.0,<1.0.0", - "types-PyYAML>=6.0.4,<7.0.0", - "types-python-dateutil>=2.8.18,<3.0.0", - "types-python-slugify>=8.0.2.0,<8.1.0", - "types-requests>=2.27.12,<3.0.0", - "types-urllib3>=1.26.11,<2.0.0", - "pydantic-to-typescript2>=1.0.4,<2.0.0", + "coverage==7.11.0", + "coveragepy-lcov==0.1.2", + "mkdocs-material==9.6.22", + "mypy==1.18.2", + "pre-commit==4.3.0", + "pylint==4.0.2", + "pytest==9.0.1", + "pytest-asyncio==1.3.0", + "rich==14.2.0", + "ruff==0.14.3", + "types-PyYAML==6.0.12.20250915", + "types-python-dateutil==2.9.0.20251008", + "types-python-slugify==8.0.2.20240310", + "types-requests==2.32.4.20250913", + "types-urllib3==1.26.25.14", + "pydantic-to-typescript2==1.0.6", ] [build-system] -requires = ["setuptools>=77.0.0"] +requires = ["setuptools==80.9.0"] build-backend = "setuptools.build_meta" [tool.setuptools] diff --git a/uv.lock b/uv.lock index a507e8281..5b10d5ebb 100644 --- a/uv.lock +++ b/uv.lock @@ -864,68 +864,68 @@ dev = [ [package.metadata] requires-dist = [ - { name = "aiofiles", specifier = ">=25.0.0,<26.0.0" }, - { name = "alembic", specifier = ">=1.11.3,<2.0.0" }, + { name = "aiofiles", specifier = "==25.1.0" }, + { name = "alembic", specifier = "==1.17.1" }, { name = "aniso8601", specifier = "==10.0.1" }, { name = "appdirs", specifier = "==1.4.4" }, - { name = "apprise", specifier = ">=1.4.5,<2.0.0" }, - { name = "authlib", specifier = ">=1.3.0,<2.0.0" }, - { name = "bcrypt", specifier = ">=5.0.0,<6.0.0" }, - { name = "beautifulsoup4", specifier = ">=4.11.2,<5.0.0" }, - { name = "extruct", specifier = ">=0.18.0,<1.0.0" }, - { name = "fastapi", specifier = ">=0.120.0,<1.0.0" }, - { name = "html2text", specifier = ">=2025.0.0,<2026.0.0" }, - { name = "httpx", specifier = ">=0.28.0,<1.0.0" }, - { name = "ingredient-parser-nlp", specifier = ">=2.0.0,<3.0.0" }, - { name = "isodate", specifier = ">=0.7.0,<1.0.0" }, - { name = "itsdangerous", specifier = ">=2.2.0,<3.0.0" }, - { name = "jinja2", specifier = ">=3.1.2,<4.0.0" }, - { name = "lxml", specifier = ">=6.0.0,<7.0.0" }, - { name = "openai", specifier = ">=2.0.0,<3.0.0" }, - { name = "orjson", specifier = ">=3.8.0,<4.0.0" }, - { name = "paho-mqtt", specifier = ">=1.6.1,<2.0.0" }, - { name = "pillow", specifier = ">=12.0.0,<13.0.0" }, - { name = "pillow-heif", specifier = ">=1.0.0,<2.0.0" }, - { name = "psycopg2-binary", marker = "extra == 'pgsql'", specifier = ">=2.9.1,<3.0.0" }, - { name = "pydantic", specifier = ">=2.6.1,<3.0.0" }, - { name = "pydantic-settings", specifier = ">=2.1.0,<3.0.0" }, - { name = "pyhumps", specifier = ">=3.5.3,<4.0.0" }, - { name = "pyjwt", specifier = ">=2.8.0,<3.0.0" }, - { name = "python-dateutil", specifier = ">=2.8.2,<3.0.0" }, - { name = "python-dotenv", specifier = ">=1.0.0,<2.0.0" }, - { name = "python-ldap", specifier = ">=3.3.1,<4.0.0" }, - { name = "python-multipart", specifier = ">=0.0.20,<1.0.0" }, - { name = "python-slugify", specifier = ">=8.0.0,<9.0.0" }, - { name = "pyyaml", specifier = ">=6.0.1,<7.0.0" }, - { name = "rapidfuzz", specifier = ">=3.2.0,<4.0.0" }, - { name = "recipe-scrapers", specifier = ">=15.0.0,<16.0.0" }, - { name = "requests", specifier = ">=2.31.0,<3.0.0" }, - { name = "sqlalchemy", specifier = ">=2.0.0,<3.0.0" }, - { name = "text-unidecode", specifier = ">=1.3,<2.0" }, - { name = "typing-extensions", specifier = ">=4.12.2,<5.0.0" }, - { name = "tzdata", specifier = ">=2025.2,<2025.3" }, - { name = "uvicorn", extras = ["standard"], specifier = ">=0.38.0,<1.0.0" }, + { name = "apprise", specifier = "==1.9.5" }, + { name = "authlib", specifier = "==1.6.5" }, + { name = "bcrypt", specifier = "==5.0.0" }, + { name = "beautifulsoup4", specifier = "==4.14.2" }, + { name = "extruct", specifier = "==0.18.0" }, + { name = "fastapi", specifier = "==0.120.3" }, + { name = "html2text", specifier = "==2025.4.15" }, + { name = "httpx", specifier = "==0.28.1" }, + { name = "ingredient-parser-nlp", specifier = "==2.4.0" }, + { name = "isodate", specifier = "==0.7.2" }, + { name = "itsdangerous", specifier = "==2.2.0" }, + { name = "jinja2", specifier = "==3.1.6" }, + { name = "lxml", specifier = "==6.0.2" }, + { name = "openai", specifier = "==2.6.1" }, + { name = "orjson", specifier = "==3.11.4" }, + { name = "paho-mqtt", specifier = "==1.6.1" }, + { name = "pillow", specifier = "==12.0.0" }, + { name = "pillow-heif", specifier = "==1.1.1" }, + { name = "psycopg2-binary", marker = "extra == 'pgsql'", specifier = "==2.9.11" }, + { name = "pydantic", specifier = "==2.12.3" }, + { name = "pydantic-settings", specifier = "==2.11.0" }, + { name = "pyhumps", specifier = "==3.8.0" }, + { name = "pyjwt", specifier = "==2.10.1" }, + { name = "python-dateutil", specifier = "==2.9.0.post0" }, + { name = "python-dotenv", specifier = "==1.2.1" }, + { name = "python-ldap", specifier = "==3.4.5" }, + { name = "python-multipart", specifier = "==0.0.20" }, + { name = "python-slugify", specifier = "==8.0.4" }, + { name = "pyyaml", specifier = "==6.0.3" }, + { name = "rapidfuzz", specifier = "==3.14.2" }, + { name = "recipe-scrapers", specifier = "==15.9.0" }, + { name = "requests", specifier = "==2.32.5" }, + { name = "sqlalchemy", specifier = "==2.0.44" }, + { name = "text-unidecode", specifier = "==1.3" }, + { name = "typing-extensions", specifier = "==4.15.0" }, + { name = "tzdata", specifier = "==2025.2" }, + { name = "uvicorn", extras = ["standard"], specifier = "==0.38.0" }, ] provides-extras = ["pgsql"] [package.metadata.requires-dev] dev = [ - { name = "coverage", specifier = ">=7.0,<8.0" }, - { name = "coveragepy-lcov", specifier = ">=0.1.1,<1.0.0" }, - { name = "mkdocs-material", specifier = ">=9.0.0,<10.0.0" }, - { name = "mypy", specifier = ">=1.5.1,<2.0.0" }, - { name = "pre-commit", specifier = ">=4.0.0,<5.0.0" }, - { name = "pydantic-to-typescript2", specifier = ">=1.0.4,<2.0.0" }, - { name = "pylint", specifier = ">=4.0.0,<5.0.0" }, - { name = "pytest", specifier = ">=9.0.1,<9.1.0" }, - { name = "pytest-asyncio", specifier = ">=1.0.0,<2.0.0" }, - { name = "rich", specifier = ">=14.0.0,<15.0.0" }, - { name = "ruff", specifier = ">=0.14.0,<1.0.0" }, - { name = "types-python-dateutil", specifier = ">=2.8.18,<3.0.0" }, - { name = "types-python-slugify", specifier = ">=8.0.2.0,<8.1.0" }, - { name = "types-pyyaml", specifier = ">=6.0.4,<7.0.0" }, - { name = "types-requests", specifier = ">=2.27.12,<3.0.0" }, - { name = "types-urllib3", specifier = ">=1.26.11,<2.0.0" }, + { name = "coverage", specifier = "==7.11.0" }, + { name = "coveragepy-lcov", specifier = "==0.1.2" }, + { name = "mkdocs-material", specifier = "==9.6.22" }, + { name = "mypy", specifier = "==1.18.2" }, + { name = "pre-commit", specifier = "==4.3.0" }, + { name = "pydantic-to-typescript2", specifier = "==1.0.6" }, + { name = "pylint", specifier = "==4.0.2" }, + { name = "pytest", specifier = "==9.0.1" }, + { name = "pytest-asyncio", specifier = "==1.3.0" }, + { name = "rich", specifier = "==14.2.0" }, + { name = "ruff", specifier = "==0.14.3" }, + { name = "types-python-dateutil", specifier = "==2.9.0.20251008" }, + { name = "types-python-slugify", specifier = "==8.0.2.20240310" }, + { name = "types-pyyaml", specifier = "==6.0.12.20250915" }, + { name = "types-requests", specifier = "==2.32.4.20250913" }, + { name = "types-urllib3", specifier = "==1.26.25.14" }, ] [[package]]