Skip to main content

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.

Release files for lavender 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lavender 0.2.1
File Size Uploaded
lavender-0.2.1.tar.gz 102.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lavender 0.2.1
File Interpreter ABI Platform
lavender-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 211.1 kB

Release files / lavender-0.2.1.tar.gz

Download URL lavender-0.2.1.tar.gz
Size 102.8 kB
Tags Source
SHA-256 checksum
How to use checksums
00cf477a7debb060164d1cac510f500c96e63ed5938585b22d1d432f1cdd33ee
BLAKE2b-256 checksum
How to use checksums
4b74b8ed474472e7c86bbad9430cc353dd0625549c94fce7846091c472904271
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.9.1 Linux/5.4.0-58-generic

Release files / lavender-0.2.1-py3-none-any.whl

Download URL lavender-0.2.1-py3-none-any.whl
Size 108.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a3e6901983f161854ee7f7b7ba04814b3415afd63d3e3f08f5344370457159f6
BLAKE2b-256 checksum
How to use checksums
f657e30c1e77df96d881a9ff91ba5efc6469575ad9a1e23de9749086f4c2ef71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.9.1 Linux/5.4.0-58-generic

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page