[Pulp-dev] black

Kersom kersom at redhat.com
Tue Jun 4 13:28:56 UTC 2019

We have been using black code style for a while now together with
pre-commit hooks[0] and it has been great.

There are some good reasons to adopt black - even in beta:

1 - Standard - This makes life easier to anyone that wants to contribute to
a certain project.
     Same standard across all code basis maintained by the pulp-team, it
could make life easier for new contributors.
2 - Code Review - Focus on the logic, not in code styles.

For example, pytest[1] adopted black as well.

[0] https://github.com/pre-commit/pre-commit-hooks
[1] https://docs.pytest.org/en/latest/contributing.html

On Tue, Jun 4, 2019 at 8:45 AM Dana Walker <dawalker at redhat.com> wrote:

> I think it's important to note that Django voted to adopt it once it is
> out of beta and stable, which is not yet the case.
> I was surprised they went for it instead of autopep8 or other options
> given the reason the pulp_python team closed the PR for black was that it
> was not pep8 compliant.  Maybe black has since improved in that area, but
> it's another downside to keep in mind and discuss/look into.
> Given that there would still be the need for checking flake8 and pep8 in
> addition and it only adds yet another requirement and does not eliminate
> the need for other tools, I'm slightly opposed, but certainly open to any
> auto formatter if folks feel the consistency and lack of worry on context
> switching is worth it.
> --Dana
> Dana Walker
> She / Her / Hers
> Software Engineer, Pulp Project
> Red Hat <https://www.redhat.com>
> dawalker at redhat.com
> <https://www.redhat.com>
> On Tue, Jun 4, 2019 at 8:27 AM David Davis <daviddavis at redhat.com> wrote:
>> I wanted to get feedback from the Pulp community on using black[0] to
>> auto-format our Pulp 3 code. I have some mixed feelings about it as I see
>> some potential benefits of using it but also some downsides as well.
>> For potential upsides, I think it would be nice if all our projects in
>> Pulp conformed to the same style. It would make switching between projects
>> much easier. I've worked on other projects where each repository had its
>> own code style and it added a mental tax switching from one project to
>> another. Granted, this was in Ruby whose design incorporates the TMTOWTDI
>> philosophy[1] while Python's design is based around the principle "there
>> should be one way to do it"[2].
>> Moreover, using black would effectively take style comments/noise out of
>> PR reviews and we could just focus on logic. It integrates with a lot of
>> IDEs[3] and you can also set up a git pre-commit hook[4] so it would also I
>> think free developers from having to worry about formatting their code
>> while developing.
>> The main downside to black I see is that not everyone is going to love
>> it. It's highly opinionated and even personally, I don't like all the
>> stylistic decisions they've made. I guess it's a question if we can all
>> live with it or not. I feel much more confident in it since other projects
>> like django[5] have adopted it as well as Pulp QE.
>> There's a PR open currently against pulp_rpm[6] and one that was closed
>> against pulp_python[7]. I think if enough people are interested in using
>> black, we would update pulpcore, the plugin template, and possibly
>> pulp_file to use black. We could also recommend it to plugins but of course
>> we wouldn't/couldn't enforce its use.
>> [0] https://github.com/python/black
>> [1] https://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it
>> [2] https://www.python.org/dev/peps/pep-0020/#id3
>> [3] https://github.com/python/black#editor-integration
>> [4] https://github.com/python/black#version-control-integration
>> [5] https://github.com/django/deps/blob/master/accepted/0008-black.rst
>> [6] https://github.com/pulp/pulp_rpm/pull/1355
>> [7] https://github.com/pulp/pulp_python/pull/177
>> David
>> _______________________________________________
>> Pulp-dev mailing list
>> Pulp-dev at redhat.com
>> https://www.redhat.com/mailman/listinfo/pulp-dev
> _______________________________________________
> Pulp-dev mailing list
> Pulp-dev at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20190604/5e04d6a5/attachment.htm>

More information about the Pulp-dev mailing list