diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..0e73f13 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "python.analysis.diagnosticSeverityOverrides": { + "reportOptionalMemberAccess": "warning", + "reportArgumentType": "information", + "reportAttributeAccessIssue": "warning" + } +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 89bfed0..0b03a2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,7 @@ -FROM python:3.11.9-slim +FROM python:3.12.3-slim + +# install uv +COPY --from=ghcr.io/astral-sh/uv:0.6.5 /uv /uvx /bin/ WORKDIR /home @@ -8,6 +11,6 @@ COPY pyproject.toml pyproject.toml COPY cogs cogs/ -RUN pip install --upgrade pip && pip install poetry && poetry export -f requirements.txt --output requirements.txt && pip install -r requirements.txt +RUN uv sync --frozen --no-dev -CMD ["python3", "-u", "./main.py"] \ No newline at end of file +CMD ["uv", "run", "./main.py"] \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 6732c23..572a70d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,21 +1,24 @@ -[tool.poetry] +[project] name = "${REPO_NAME}" version = "0.1.0" description = "" -authors = ["${REPO_OWNER}"] +authors = [{name="${REPO_OWNER}", email=""}] readme = "README.md" +dependencies = [ + "cryptography>=43.0.3", + "nextcord>=2.6.0", + "pandas>=2.2.3", + "pymysql>=1.1.1", + "python-dotenv>=1.0.1", + "setuptools>=75.3.0", + "sqlmodel>=0.0.22", +] +requires-python = ">=3.12" -[tool.poetry.dependencies] -python = "^3.11" -hydra-core = "1.3.2" -nextcord = "2.6.1" -python-dotenv = "1.0.0" +[tool.uv] +dev-dependencies = ["ruff>=0.7.2"] -[build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" - [tool.ruff] # Exclude a variety of commonly ignored directories. exclude = [ @@ -58,8 +61,28 @@ target-version = "py38" # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default. # Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or # McCabe complexity (`C901`) by default. -select = ["E4", "E7", "E9", "F", "D100", "D1"] -ignore = ["D107"] +select = ["ALL"] +ignore = [ + "B008", # I build SlashOptions as arguments. + "COM812", + "COM819", + "D107", # don't want docstrings on init functions + "D203", + "D206", + "D212", + "D300", + "E111", + "E114", + "E117", + "ISC001", + "ISC002", + "PD011", # doesn't like me using '.values' on embeds.... + "Q000", + "Q001", + "Q002", + "Q003", + "W191", +] # Allow fix for all enabled rules (when `--fix`) is provided. fixable = ["ALL"] diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..18c1a75 --- /dev/null +++ b/renovate.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "lockFileMaintenance": { + "automerge": true + }, + "major": { + "automerge": false, + "automergeType": "pr" + }, + "minor": { + "automerge": true, + "automergeType": "branch" + }, + "patch": { + "automerge": true, + "automergeType": "branch" + }, + "pin": { + "automerge": true, + "automergeType": "branch" + }, + "ignoreTests": true, + "dockerfile": { + "minor": { + "automerge": false, + "automergeType": "pr" + } + } +} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 3a68d82..0000000 --- a/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -nextcord==2.4.2 -hydra-core==1.3.2