Metadata-Version: 2.4
Name: echo-python
Version: 0.1.4
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Rust
Classifier: Topic :: Software Development :: Quality Assurance
License-File: LICENSE
Summary: fast style helper for python projects (ruff compatible)
Keywords: cli,linter,python,rust
License-Expression: MIT
Requires-Python: >=3.8
Description-Content-Type: text/plain; charset=UTF-8
Project-URL: Homepage, https://github.com/anyaagarenko/echo-python
Project-URL: Repository, https://github.com/anyaagarenko/echo-python

fast style helper for python projects (ruff compatible)


install in a project:

  pip install echo-python


cli:

  echo-python check .
  echo-python check path/to/file.py
  echo-python check --extend-select ECHO001 .
  echo-python check --ignore ECHO001 .
  echo-python check --select ECHO001 .


rules:

  ECHO001 - use keyword arguments for multi-arg calls when keywords are possible
            https://github.com/anyaagarenko/echo-python/blob/main/docs/rules/echo-001.txt
  ECHO002 - mixed literals are not sorted (numbers then words)
            https://github.com/anyaagarenko/echo-python/blob/main/docs/rules/echo-002.txt
  ECHO003 - numeric literals are not sorted
            https://github.com/anyaagarenko/echo-python/blob/main/docs/rules/echo-003.txt
  ECHO004 - word literals are not sorted
            https://github.com/anyaagarenko/echo-python/blob/main/docs/rules/echo-004.txt
  ECHO005 - keyword-only parameters are not sorted
            https://github.com/anyaagarenko/echo-python/blob/main/docs/rules/echo-005.txt
  ECHO006 - restricted variable names
            https://github.com/anyaagarenko/echo-python/blob/main/docs/rules/echo-006.txt
  ECHO007 - empty line inside method
            https://github.com/anyaagarenko/echo-python/blob/main/docs/rules/echo-007.txt


configure in pyproject.toml:

  [tool.echo-python.lint]
  extend-select, ignore, select


ignore a finding:

  use noqa


development:

  install mise https://github.com/jdx/mise#1-install-mise
  see Makefile


contributions welcome


publishing:

  bump version in Cargo.toml on main
  github → actions → pypi → run workflow (branch: main)

