Skip to main content

The slightly more compromising code formatter.

Project description

Lavender

PyPI

A slightly more compromising Python code formatter, based on the latest stable release of Black (20.8b10 at the time of writing).

Differences from Black

  • The default line length is 99 instead of 88 (configurable with --line-length).
  • Single quoted strings are preferred (configurable with --string-normalization none/single/double).
  • Empty lines between classes and defs are treated no differently from other code. The old behavior, which sometimes inserts double empty lines between them, remains available via --special-case-def-empty-lines.
  • The Vim plugin configuration variable for line length is named g:lavender_line_length instead of g:lavender_linelength, for consistency with the other configuration variable names.

Documentation

Read up on Black, but replace black with lavender in your head.

Development

Poetry is recommended for managing Python development tooling.

To initialize an isolated Python development environment for Lavender:

poetry install

Code Formatting

Code formatting for Python is handled by Lavender itself.

To check that the code is correctly formatted:

poetry run lavender --check .

To auto-format the code:

poetry run lavender .

Type Checking

Type checking for Python is handled by mypy.

To check that the code is correctly typed:

poetry run mypy .

License

Lavender is Copyright (c) 2019-2021 Michael Smith <michael@spinda.net>

Black, the software on which it was based, is Copyright (c) 2018-2020 Łukasz Langa

This program is free software: you can redistribute it and/or modify it under the terms of the MIT License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MIT License for more details.

You should have received a copy of the MIT License along with this program. If not, see http://opensource.org/licenses/MIT.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this work by you shall be licensed as above, without any additional terms or conditions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for lavender, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size lavender-0.2.1.tar.gz (102.8 kB) File type Source Python version None Upload date Hashes View
Filename, size lavender-0.2.1-py3-none-any.whl (108.2 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page