From 12145eab28b28e3e007f32ea5ca7ff51a1e16bfa Mon Sep 17 00:00:00 2001 From: Renato Rosa Date: Fri, 28 Aug 2026 13:06:51 -0300 Subject: [PATCH] Atualizar m4b/pyproject.toml --- m4b/pyproject.toml | 105 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 99 insertions(+), 6 deletions(-) diff --git a/m4b/pyproject.toml b/m4b/pyproject.toml index 1d3dbd3..be9c21c 100644 --- a/m4b/pyproject.toml +++ b/m4b/pyproject.toml @@ -1,8 +1,14 @@ +[build-system] +requires = ["setuptools>=61.0.0", "setuptools-scm[simple]>=9.2"] +build-backend = "setuptools.build_meta" + [project] name = "m4b" dynamic = ['version'] -description = "Audio to M4B binder" +description = "Converts audio content (possibly an EPUB ebook) to M4B (audiobook)" readme = "README.md" +license = "BSD-3-Clause-Clear" +license-files = ["LICENSE"] requires-python = ">=3.11,<3.13" dependencies = [ "mutagen==1.47.0", @@ -10,17 +16,104 @@ dependencies = [ "openlibrary-client @ git+https://github.com/internetarchive/openlibrary-client.git@3f131881358d2c0dba5de79d894b80fae24742c6", ] -[build-system] -requires = ["setuptools>=61.0.0", "setuptools-scm>=8.0"] -build-backend = "setuptools.build_meta" +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", + "Topic :: Text Processing :: Filters", + "Topic :: File Formats" +] -[tool.setuptools_scm] -# Optional: add configuration overrides here if needed [project.optional-dependencies] dev = [ "pytest==9.0.3", "setuptools-scm", + "ruff>=0.4", ] +[project.urls] +Homepage = "https://git.silveirarosa.com/renatoxsr/m4b" +Issues = "https://git.silveirarosa.com/renatoxsr/m4b/issues" + +[project.scripts] +m4b = "m4b.cli:main" + +# SETUPTOOLS +[tool.setuptools.packages.find] +where = ["src"] +exclude = ["vendor*"] + +[tool.setuptools.dynamic] +#version = {attr = "epub_tts.__version__"} + +[tool.setuptools_scm] +# Optional: add configuration overrides here if needed + +# RUFF +[tool.ruff] + +# Target Python version +target-version = "py311" + +# 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