# vim: set ft=toml ts=4 sw=4 et: fenc=utf-8 # SPDX-FileCopyrightText: 2025-present RenatoXSR # SPDX-License-Identifier: BSD-3-Clause-Clear [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 = [ "base58", "colorlog", "dotenv", "rich", ] 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", ] i18n = [ "Babel", ] audio = [ "mutagen", "selenium", ] web = [ "httpx", "Jinja2", "python-datauri", "requests", ] webdav = [ "icalendar", #"gcsa", #"caldav", ] data = [ "numpy", "openpyxl", "pandas[excel,html,output-formatting,hdf5,compression,parquet,feather]", "xlrd", ] [project.urls] Homepage = "https://git.silveirarosa.com/renatoxsr/monorepo" Issues = "https://git.silveirarosa.com/renatoxsr/monorepo/issues" [project.scripts] composectl = "renatoxsr.scripts.composectl:main" bulk-jsonl = "renatoxsr.scripts.bulk_jsonl:main" avaliar-dataset = "renatoxsr.scripts.avaliar_dataset:main" prompt = "renatoxsr.scripts.prompt:main" # SETUPTOOLS [tool.setuptools.packages.find] where = ["src-py"] exclude = ["vendor*"] # See: https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#src-layout # # Reserved package names # FlatLayoutPackageFinder.DEFAULT_EXCLUDE: ClassVar[tuple[str, ...]] = ('ci', 'ci.*', 'bin', 'bin.*', 'debian', 'debian.*', 'doc', 'doc.*', 'docs', 'docs.*', 'documentation', 'documentation.*', 'manpages', 'manpages.*', 'news', 'news.*', 'newsfragments', 'newsfragments.*', 'changelog', 'changelog.*', 'test', 'test.*', 'tests', 'tests.*', 'unit_test', 'unit_test.*', 'unit_tests', 'unit_tests.*', 'example', 'example.*', 'examples', 'examples.*', 'scripts', 'scripts.*', 'tools', 'tools.*', 'util', 'util.*', 'utils', 'utils.*', 'python', 'python.*', 'build', 'build.*', 'dist', 'dist.*', 'venv', 'venv.*', 'env', 'env.*', 'requirements', 'requirements.*', 'tasks', 'tasks.*', 'fabfile', 'fabfile.*', 'site_scons', 'site_scons.*', 'benchmark', 'benchmark.*', 'benchmarks', 'benchmarks.*', 'exercise', 'exercise.*', 'exercises', 'exercises.*', 'htmlcov', 'htmlcov.*', '[._]*', '[._]*.*') # # Reserved top-level module names # FlatLayoutModuleFinder.DEFAULT_EXCLUDE: ClassVar[tuple[str, ...]] = ('setup', 'conftest', 'test', 'tests', 'example', 'examples', 'build', 'toxfile', 'noxfile', 'pavement', 'dodo', 'tasks', 'fabfile', '[Ss][Cc]onstruct', 'conanfile', 'manage', 'benchmark', 'benchmarks', 'exercise', 'exercises', '[._]*') [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.