https://github.com/fabioz/pydev.formatter
PyDev Code formatter
https://github.com/fabioz/pydev.formatter
code-formatter python
Last synced: 7 months ago
JSON representation
PyDev Code formatter
- Host: GitHub
- URL: https://github.com/fabioz/pydev.formatter
- Owner: fabioz
- License: epl-2.0
- Created: 2018-06-12T18:09:22.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-06-27T14:23:18.000Z (almost 8 years ago)
- Last Synced: 2024-12-20T04:08:59.450Z (over 1 year ago)
- Topics: code-formatter, python
- Language: Python
- Homepage: http://www.pydev.org
- Size: 2.77 MB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
===============
PyDev Formatter
===============
.. image:: https://img.shields.io/pypi/v/pydevf.svg
:target: https://pypi.python.org/pypi/pydevf
.. image:: https://img.shields.io/travis/fabioz/PyDev.Formatter.svg
:target: https://travis-ci.org/fabioz/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 ``
``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
.. _pre-commit: https://pre-commit.com/
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/*``