Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #3566

ANN: Blue 0.5.1 Released

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Grant Jenks <grant.jenks@gmail.com>
Newsgroups comp.lang.python.announce
Subject ANN: Blue 0.5.1 Released
Date Sat, 16 Jan 2021 16:11:03 -0800
Lines 108
Approved python-announce-list@python.org
Message-ID <161084528749.8664.python-announce-list@python.org> (permalink)
Reply-To python-list@python.org
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
X-Trace news.uni-berlin.de XpzfuntKfqe43ZpGiFcVLwHepxpEHIQGJlsXhemDMjYg==
Authentication-Results mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=Nt6ekUzp; dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'url-ip:140.82.121.4/32': 0.03; 'url-ip:140.82.121/24': 0.03; 'url-ip:140.82/16': 0.03; 'skip:= 10': 0.04; 'url:psf': 0.05; 'carefully': 0.07; 'maintainers': 0.07; 'pep': 0.07; 'ticket': 0.07; '===========': 0.09; 'announcing': 0.09; 'considering.': 0.09; 'fork': 0.09; 'namespace': 0.09; 'skip:` 10': 0.09; 'suggestion,': 0.09; 'to:addr:python-announce-list': 0.09; 'url:stable': 0.09; 'looks': 0.12; 'url-ip:140/8': 0.12; 'url:github': 0.15; 'python': 0.15; '====': 0.16; 'barry': 0.16; 'base.': 0.16; 'because,': 0.16; 'better!': 0.16; 'bugs': 0.16; 'characters.': 0.16; 'defaults': 0.16; 'deviations': 0.16; 'experienced,': 0.16; 'inspired': 0.16; 'invoke': 0.16; 'nick': 0.16; 'painful': 0.16; 'received:mail- ej1-x635.google.com': 0.16; 'relatively': 0.16; 'retired.': 0.16; 'somewhat': 0.16; 'strings,': 0.16; 'subject:ANN': 0.16; 'subject:Released': 0.16; 'url:latest': 0.16; 'grant': 0.17; 'python,': 0.17; 'implement': 0.18; 'maybe': 0.20; 'issue': 0.21; 'version': 0.21; 'project.': 0.22; 'idea': 0.22; 'code': 0.23; 'configure': 0.23; 'creates': 0.23; "what's": 0.23; 'command': 0.24; 'probably': 0.24; 'anything': 0.25; 'seems': 0.27; 'leave': 0.27; 'bit': 0.28; 'url-ip:104.17/16': 0.29; "we'll": 0.29; 'single': 0.30; '(and': 0.30; 'but': 0.31; 'using': 0.31; 'code,': 0.31; 'folks': 0.32; 'differences': 0.33; 'intend': 0.33; 'message-id:@mail.gmail.com': 0.33; 'particular': 0.34; 'setting': 0.34; 'suggestions': 0.34; 'received:google.com': 0.34; 'change': 0.35; 'same': 0.35; 'from:addr:gmail.com': 0.35; 'release': 0.35; 'able': 0.36; 'those': 0.37; 'at:': 0.37; 'cases': 0.37; 'something': 0.38; 'use': 0.38; 'list': 0.38; 'url- ip:13.107.42/24': 0.39; 'where': 0.39; 'going': 0.39; 'details': 0.60; 'color': 0.60; 'love': 0.61; 'here': 0.61; 'lot': 0.61; 'replace': 0.62; 'top': 0.62; 'hope': 0.63; 'nearly': 0.63; 'our': 0.63; 'everything': 0.64; 'within': 0.65; 'your': 0.65; 'black': 0.65; 'instead,': 0.65; 'company': 0.66; 'back': 0.66; 'less': 0.67; 'listed': 0.68; 'choice': 0.68; 'exactly': 0.69; 'terms': 0.71; 'reasons': 0.71; 'live': 0.72; 'little': 0.74; 'formatting': 0.77; 'mit': 0.77; 'beat': 0.84; 'disagree': 0.84; 'eventually': 0.84; 'hacks': 0.84; 'license.': 0.84; 'licensed': 0.84; 'socialize': 0.84; 'strings': 0.84; 'taken.': 0.84; 'us!': 0.84; 'largely': 0.91
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=9wDmp25fsylZpXfqZ0sleWMJPpbTt1AR1sj+T0ADEs8=; b=Nt6ekUzpQXXT79GdTUY2B0+Ok7iE42KwqZSN6wg1K2yq5czqK4O0/CdU6KeX41+JF0 eAd1qmmUkyigWUNfRms40FjgzjQ0s1pAklsnHbrIMitBZVkk6RWiC+UCxP1xvqy3d9N0 cuJv06R14JosGNRfSDhXY+WK8HtE3zpl58Q8IyPRrYmFrkx7X4/O2nnsMeIJfIPFtH/1 8RJosW5GrfyEBQaE2vQOmsVr/4l6ESOdSsowXGdA/9n2Nm3bzZtNl/ia7vVcBUW4GO1o /FQv8h1ntj2q8/VqlvcPGrQ1DPoUckMbfGI5ILsQ0RasbIDdFR9Exv+DvGPmCmFzPUa3 sIOA==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=9wDmp25fsylZpXfqZ0sleWMJPpbTt1AR1sj+T0ADEs8=; b=Si+JKeELuJCTMYeHHk1Qseh+5oBkhxwuNkmMY/Gf9zGRIs4i4+wYMzpcb1DcIStHTX Jo8EHN9tQtVSffEqauwEiJyn2nqwnYnvlrcehrV9uJ35GrCJX+j13WysFKbp2HgYc81w Q/YfEc2qEudlapGF8uBNUe/uXK7P7Yj4Y/xuZqnV/fQylZrRKvKdjbtgIJ42u+SKvlAt 51VZl71YIYuUKeZZlJX/Otxk7yyEJkILhIA0pIHBpfxT+bmsCrBqh03XGY0p/Nf+KqeS Xhe8wdJ2dkyP4ja971fDTQVLrikG96T0kRdq99AqSg0Fp36VRFyFGdZorIfix8a1Wjcs 2ptA==
X-Gm-Message-State AOAM532/sEZPi7jNLzVBl+dTN7f8g8vqkX5v6osgzaae6COAqBqdvvD+ 4egp3YlK1ud+Y6yjVWZUJckMhSGEKuQ77Nurn3dDucV32cuwYA==
X-Google-Smtp-Source ABdhPJyt18MrX+Y7qF5Sqh70gCP/1OczV+ki0lOUgYf+g08ooO2YjnJly0yORBe6bwa1uYbEnM9SWYPegAinNWvsGcY=
X-Received by 2002:a17:906:2e16:: with SMTP id n22mr13672902eji.477.1610842279192; Sat, 16 Jan 2021 16:11:19 -0800 (PST)
X-MailFrom grant.jenks@gmail.com
X-Mailman-Rule-Hits emergency
X-Mailman-Rule-Misses dmarc-mitigation; no-senders; approved
Message-ID-Hash 575BUISYGSTF5GIPMFW6RD6RT5BDDDDB
X-Message-ID-Hash 575BUISYGSTF5GIPMFW6RD6RT5BDDDDB
X-Mailman-Approved-At Sat, 16 Jan 2021 20:01:15 -0500
X-Mailman-Version 3.3.3b1
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
Archived-At <https://mail.python.org/archives/list/python-announce-list@python.org/message/575BUISYGSTF5GIPMFW6RD6RT5BDDDDB/>
List-Archive <https://mail.python.org/archives/list/python-announce-list@python.org/>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Owner <mailto:python-announce-list-owner@python.org>
List-Post <mailto:python-announce-list@python.org>
List-Subscribe <mailto:python-announce-list-join@python.org>
List-Unsubscribe <mailto:python-announce-list-leave@python.org>
Xref csiph.com comp.lang.python.announce:3566

Show key headers only | View raw


Announcing the release of Blue version 0.5.1

====
Blue
====

Some folks like `black <https://black.readthedocs.io/en/stable/>`_ but I
prefer `blue <https://blue.readthedocs.io/en/latest/>`_.


What is blue?
=============

``blue`` is a somewhat less uncompromising code formatter than ``black``,
the OG of Python formatters.  We love the idea of automatically formatting
Python code, for the same reasons that inspired ``black``, however we take
issue with some of the decisions ``black`` makes.  Kudos to ``black`` for
pioneering code formatting for Python, and for its excellent
implementation.

Where the ``blue`` maintainers disagree with the stylistic (and
unconfigurable) choices made by ``black``, we monkeypatch to change these
decisions to our own liking.  We intend for these differences to be
minimal; even in cases where we'd prefer something different, there's a lot
we can live with for the sake of consistency.

We'd prefer not to fork or monkeypatch.  Instead, our hope is that
eventually we'll be able to work with the ``black`` maintainers to add just
a little bit of configuration and merge back into the ``black`` project.
We'd be ecstatic if ``blue`` eventually were retired.  Until then, we'll
maintain our small set of hacks on top of ``black`` and carefully consider
what other deviations are needed to assuage our sensitive, but experienced,
eye.


How do I use blue?
==================

Exactly the same as you would use ``black``.  Invoke and configure ``blue``
as you would ``black`` -- just replace the ``black`` command with ``blue``,
sit back, and enjoy even betterly formatted Python code!  You can refer to
`black's <https://black.readthedocs.io/en/stable/>`_ documentation for
anything not listed here.


So what's different?
====================

Here is a brief list of differences between ``blue`` and ``black``:

* ``blue`` defaults to single-quoted strings.  This is probably the most
  painful ``black`` choice to our eyes, and the thing that inspired
  ``blue``.  We strongly prefer using single quoted strings over double
  quoted strings for everything *except* docstrings.  Don't ask us why we
  prefer double quoted strings for docstrings; it just looks better to us!
  For all other strings, ``blue`` defaults to single quoted strings.

* ``blue`` defaults to line lengths of 79 characters. Nearly every project
  creates a pyproject.toml just to change this one setting so making it
  consistent with PEP 8 seems relatively harmless.

We are `accumulating <https://github.com/grantjenks/blue/issues/2>`_ a list
of other deviations we are considering.  As we decide to implement any
particular suggestion, we'll turn those into individual issues and tackle
them one-by-one.  If you have suggestions for other deviations from
``black``'s choices, please open a separate ticket on our tracker, and
we'll see how it goes!


Why "blue"?
===========

Several reasons!  If your formatter is going to beat up your code, it'll
leave it black and blue, or maybe in this case, black *or* blue.  Blue is
better!

We also thought about "tan" because, yum!  But that project name was
already taken.  Frankly, "blue" was also taken, but largely unused.  Our
thanks to Nick Ficano for donating the project namespace to us!

Blue is also the color of `LinkedIn <https://www.linkedin.com/>`_, the
authors' gracious employer, and we intend to socialize its use within our
company code base.


Contributors
============

``blue`` thanks this list of contributors for all its wonderful goodness.

* The `wonderful folks <https://github.com/psf/black#authors>`_ from the
  ``black`` project.

* Grant Jenks
* Barry Warsaw

``blue`` is licensed under the terms of the Apache License Version 2.0.
``black`` is `licensed <https://github.com/psf/black#license>`_ under the
terms of the MIT license.


Project details
===============

* Project home: https://github.com/grantjenks/blue
* Report bugs and suggestions at: https://github.com/grantjenks/blue/issues
* Code hosting: https://github.com/grantjenks/blue.git
* Documentation: https://blue.readthedocs.io/en/latest

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

ANN: Blue 0.5.1 Released Grant Jenks <grant.jenks@gmail.com> - 2021-01-16 16:11 -0800

csiph-web