Package: decker
Simple development tool that simplifies a pythonist's daily tasks.Deckeris a command line, which aims to optimize some tasks, such as configuration and execution of the tools most used by the community.
In addition, it aims to reduce configuration files and centralize everything on pyproject.toml.FeaturesInstallationGlobal SettingsExtraNext featuresLicenseInstallationThe installation of decker can be viapip,pipenv,poetryor any other tool you prefer:pipenvinstalldeckerNote: We recommend installing only on virtualenv.FeaturesWelcome to Decker!

  Simple development tool that simplifies a pythonist's daily tasks.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  format  Run code style format.Format your codeRun code style format.

Options:
  --exclude TEXT                  Files and directories that should be
                                  excluded on recursive searches.

  -l, --line-length INTEGER       How many characters per line to allow.
                                  [default: 79]

  -b, --backend [autoflake|docformatter|black|unify|isort]
                                  Specify formatting backends.
  --help                          Show this message and exit.Formatting uses several tools, such as:autoflaketo remove unusable variables and imports,docformatterto format docstrings,blackto apply your coding style, format blocks, constants, among other things,unifyto normalize quotes,And last but not least,isortto reorganize your imports.To save and avoid many configurations, decker pre defines some things like:ToolOptionPré definedDescriptionautoflakeexpand-star-importsTrueExpand wildcard star imports with undefined namesautoflakein-placeTrueApply changesautoflakerecursiveTrueRecursive to defined sourcesautoflakeremove-all-unused-importsTrueRemove all unused imports (not just those from the standard library)autoflakeremove-unused-variablesTruedocformatterblankFalseRemove blank line after descriptiondocformatterin-placeTrueApply changesdocformattermake-summary-multi-lineTrueAdd a newline before and after the summary of a one-line docstringdocformatterpre-summary-newlineTrueAdd a newline before the summary of a multi-line docstringdocformatterrecursiveTrueRecursive to defined sourcesdocformatterwrap-summaries79 (from decker global line-length setting)Wrap long summary linesblackline-length79 (from decker global line-length setting)How many characters per line to allowblackskip-string-normalizationFalseSkip string normalization to use unify to normalizeunifyin-placeTrueApply changesunifyquote"'" (Single quote)unifyrecursiveTrueRecursive to defined sourcesisortatomicTrueEnsures the output doesn't save if the resulting file contains syntax errorsisortcase-sensitiveTrueTells isort to include casing when sorting module namesisortcombine-asTrueCombines as imports on the same lineisortline-length79 (from decker global line-length setting)How many characters per line to allowisortlines-after-imports2isortmulti-line3Multi line output (0-grid, 1-vertical, 2-hanging, 3-vert-hanging, 4-vert-grid, 5-vert-grid-grouped, 6-vert-grid-grouped-no-comma).isortorder-by-typeTrueOrder imports by type in addition to alphabeticallyisortremove-import[__future__]Removes the specified import from all filesisortskip-glob*venv*Files that sort imports should skip overisorttrailing-commaTrueIncludes a trailing comma on multi line imports that include parenthesesisortuse-parenthesesTrueUse parenthesis for line continuation on length limit instead of slashesNote: Despite pre-defining all these settings, nothing is MANDATORY. All of these and any other configuration of these tools can be adjusted in pyproject.toml or in each configuration file of these tools.The intention was to save time for those who already know and help those who do not already know.Global SettingsTo ensure ease and centralization of the other configurations, decker searches almost all of them in the pyproject.toml file, if any. Example:[tool.autoflake]
expand-star-imports=false

[tool.black]
line-length=120
...

[tool.docformatter]
blank=false
...

[tool.unify]
quote='"'
...

[tool.isort]
line-length=120
trailing-comma=false
...Decker settings on pyproject.tomlIn addition, there are some that are global, where they are automatically passed on to all tools, such as:[tool.decker]
line-length=79
exclude=same-package
verbose=1
sources=src/Default sources (src/)And to help as well, if the sources were not defined by the command line or pyproject.toml, decker looks for.pyfiles in the directory in question and also for thesrcfolder.Extrapdb++ & ipythonWhen installing decker,pdb++andipythonare also installed to aid development.Better print to pyproject.toml errorsWraps and shows toml errors in a more "human" way, for example:+ Unable to load pyproject.toml:
 |   
 |   [project]
 |   author='Douglas Farinelli'
 |   name='decker'
 |   repository='https://gitlab.com/douglasfarinelli/decker/'
 |   
 |   [tool.black]
 |   line-length=79
 |   skip-string-normalization=true
 |   target-version=
 |   
 + ^ Empty value is invalid
 |   
 |   ['py38']
 |   
 |   [tool.isort]
 |   atomic=true
 |   
 |   [tool.towncrier]
 |   package = 'crm'
 |   package_dir = 'src'
 |   filename = 'CHANGELOG.md'
 |   directory = 'changelog.d'Next features[0.2.0] - Commanddecker checkA command to analyze various things in your code, such as type hints, pep8 and Code quality.[0.3.0] - Commanddecker releaseWhy not automate the flow VCS +bumpversion+towncrier? In other words, automate the generation of tags, changelog and auto-commit them.Example:decker release minorLicenseThis project is licensed under the terms of the MIT license.