Skip to content
PyDev Code formatter
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
.settings
docs
pydevf
tests
.editorconfig
.gitignore
.pre-commit-hooks.yaml
.project
.pydevproject
.travis.yml
AUTHORS.rst
CONTRIBUTING.rst
HISTORY.rst
LICENSE
MANIFEST.in
Makefile
README.rst
requirements_dev.txt
setup.cfg
setup.py
tox.ini

README.rst

PyDev Formatter

Features

This package provides a command line API to use the PyDev Code Formatter (the PyDev Code formatter is created by extracting the engine for code formatting provided by PyDev: http://www.pydev.org).

The PyDev Formatter is a conservative python code formatter and will try to keep the structure of the code as close as possible to the original sources, while fixing many common issues such as:

  • Keep a space after commas
  • Trim spaces inside parenthesis
  • Right-trim lines
  • Add a space before and after operators
  • Keep 2 lines before top level classes/methods
  • Keep 1 line before inner classes/methods
  • Add new line at end of file
  • Format comments to have 2 spaces before a comment and 1 space inside the comment

Note that it does not try to break statements to fit any pre-specified line length (as gofmt).

Command line

Basic use of the formatter is:

python -m pydevf <filename_or_directory>

python -m pydevf -h may be used to see the help for additional parameters.

Installing

Requisites

  • java 8+ (so, make sure java is installed and in your PATH)
  • python 2.7 or 3.4 onwards
  • click 6+

Install with pip

To install the PyDev Formatter use:

pip install pydevf

Using with pre-commit

To use it with pre-commit, just add the following repo to your .pre-commit-config.yaml:

-   repo: https://github.com/fabioz/PyDev.Formatter
    rev: ''  # Use the sha or tag you want to point at
    hooks:
    -   id: pydevf

Dealing with big lines

Note that in PyDev there are tools to help on those manual cases. i.e.:

Wrap docstrings/comments with Ctrl+2, W -- See: http://pydev.blogspot.com/2015/04/wrapping-docstringscomments-in-pydev.html.

Wrap/unwrap lists/calls with Ctrl+1, Wrap expression/Unwrap expression (used with cursor inside the list/call).

Daemon mode

By default the formatter will create a daemon and will reuse it among multiple invocations (because the formatter is very fast but its startup is slow). If you don't want to use this mode use the --no-daemon parameter.

License

  • EPL (Eclipse Public License) 2.0

Releasing

  • Update versions on setup.py and version.py
  • git tag {{version}} (i.e.: v0.1.2)
  • git push --tags (travis should build and deploy)

Local release

  • Update versions on setup.py and version.py
  • python setup.py sdist bdist_wheel
  • python -m twine upload dist/*
You can’t perform that action at this time.