From b491e8848d638560d6b14a0c933e4310e2017c4b Mon Sep 17 00:00:00 2001 From: Renato Rosa Date: Thu, 17 Sep 2026 10:02:47 -0300 Subject: [PATCH] Adicionar pyproject.toml --- pyproject.toml | 115 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..201fd1a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,115 @@ +[build-system] +requires = ["setuptools>=61.0.0", "setuptools-scm[simple]>=9.2"] +build-backend = "setuptools.build_meta" + +[project] +name = "renatoxsr" +dynamic = ['version'] +description = "RenatoXSR's Python Utilities (monorepo)" +readme = "README.md" +license = "BSD-3-Clause-Clear" +license-files = ["LICENSE"] +#requires-python = ">=3.11,<3.13" +requires-python = ">=3.14" +dependencies = [ + "mutagen", + "requests", +] + +authors = [ + { name = "Renato Xavier da Silveira Rosa", email = "renatoxsr@gmail.com" } +] + + +classifiers = [ + "Programming Language :: Python :: 3", + "Development Status :: 3 - Alpha", + "Operating System :: OS Independent", + "Environment :: Console", +] + + + +[project.optional-dependencies] +dev = [ + "ruff>=0.4", +] + +[project.urls] +Homepage = "https://git.silveirarosa.com/renatoxsr/monorepo" +Issues = "https://git.silveirarosa.com/renatoxsr/monorepo/issues" + +[project.scripts] +composectl = "scripts.composectl.main" + +# SETUPTOOLS +[tool.setuptools.packages.find] +where = ["src/renatoxsr-py"] +exclude = ["src/vendor*"] + +[tool.setuptools.dynamic] +#version = {attr = "__version__"} + +[tool.setuptools_scm] +# Optional: add configuration overrides here if needed + +# RUFF +[tool.ruff] + +# Target Python version +target-version = "py314" + +# Same as Black default +indent-width = 4 + +# # Standard Line Length Limits +# - 79 Characters: The strict PEP 8 official standard for code. It prevents horizontal wrapping or scrolling on older terminals and ensures high code readability. +# - 72 Characters: The PEP 8 official standard strictly reserved for docstrings and comments. +# - 88 Characters: The default standard used by Black, a highly popular, uncompromising Python code formatter. +# - 99 Characters: The maximum limit permitted by PEP 8 for internal or team-based projects if the team explicitly agrees to a longer limit. +# - 100 to 120 Characters: A very common relaxed standard used in enterprise environments, large open-source projects, and default setups for modern IDEs like JetBrains +line-length = 88 + +# Exclude a variety of commonly ignored directories. +exclude = [ + ".bzr", + ".direnv", + ".eggs", + ".git", + ".git-rewrite", + ".hg", + ".ipynb_checkpoints", + ".mypy_cache", + ".nox", + ".pants.d", + ".pyenv", + ".pytest_cache", + ".pytype", + ".ruff_cache", + ".svn", + ".tox", + ".venv", + ".vscode", + "__pypackages__", + "_build", + "buck-out", + "build", + "dist", + "node_modules", + "site-packages", + "venv", +] + +[tool.ruff.lint] +# select = [...] # See the Default Rules page for the full listing. +ignore = ["E501"] +fixable = ["ALL"] # Allow fix for all enabled rules (when `--fix`) is provided. +unfixable = [] +select = ["E", "F", "I"] # Enable Pyflakes (F) and Flake8 (E/W) codes +dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" # Allow unused variables when underscore-prefixed. + +[tool.ruff.format] +quote-style = "double" # Use double quotes (like Black) +indent-style = "space" # Like Black, indent with spaces, rather than tabs. +skip-magic-trailing-comma = false # Like Black, respect magic trailing commas. +line-ending = "auto" # Like Black, automatically detect the appropriate line ending. \ No newline at end of file