I do a lot of Python https://abs.twimg.com/emoji/v2/... draggable="false" alt="🐍" title="Schlange" aria-label="Emoji: Schlange">, but you knew that already, right?

However, there& #39;s something new: the libraries and tools that I use on every single project. Every. Single. One.

Here are 10 of them. The best ones.

https://abs.twimg.com/emoji/v2/... draggable="false" alt="đŸ§”" title="Thread" aria-label="Emoji: Thread">https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="RĂŒckhand Zeigefinger nach unten" aria-label="Emoji: RĂŒckhand Zeigefinger nach unten">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="1⃣" title="Tastenkappe Ziffer 1" aria-label="Emoji: Tastenkappe Ziffer 1">bpython — A lightweight interpreter

I constantly use the interpreter to test ideas or review the syntax of what I want to do.

bpython is a great alternative to the standard REPL. It offers syntax highlighting, expected parameter list, auto-indentation, and autocompletion.

https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="RĂŒckhand Zeigefinger nach unten" aria-label="Emoji: RĂŒckhand Zeigefinger nach unten">
https://abs.twimg.com/emoji/v2/... draggable="false" alt="3⃣" title="Tastenkappe Ziffer 3" aria-label="Emoji: Tastenkappe Ziffer 3">flake8 — Enforcing style consistency

This is the first library I install on every project. It& #39;s a linter that ensures that my code follows good conventions.

This library is a must, especially for teams.

And it supports third-part extensions!

https://flake8.pycqa.org/en/latest/ 

https://flake8.pycqa.org/en/latest... class="Emoji" style="height:16px;" src=" https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="RĂŒckhand Zeigefinger nach unten" aria-label="Emoji: RĂŒckhand Zeigefinger nach unten">
https://abs.twimg.com/emoji/v2/... draggable=flake8 — Enforcing style consistencyThis is the first library I install on every project. It& #39;s a linter that ensures that my code follows good conventions. This library is a must, especially for teams.And it supports third-part extensions! https://flake8.pycqa.org/en/latest... class="Emoji" style="height:16px;" src=" " title="https://abs.twimg.com/emoji/v2/... draggable="false" alt="3⃣" title="Tastenkappe Ziffer 3" aria-label="Emoji: Tastenkappe Ziffer 3">flake8 — Enforcing style consistencyThis is the first library I install on every project. It& #39;s a linter that ensures that my code follows good conventions. This library is a must, especially for teams.And it supports third-part extensions! https://flake8.pycqa.org/en/latest... class="Emoji" style="height:16px;" src=" " class="img-responsive" style="max-width:100%;"/>
https://abs.twimg.com/emoji/v2/... draggable="false" alt="6⃣" title="Tastenkappe Ziffer 6" aria-label="Emoji: Tastenkappe Ziffer 6">logging — The standard logging facility

It might be time to stop cluttering your code with print statements and start using logging like a grown-up https://abs.twimg.com/emoji/v2/... draggable="false" alt="😋" title="Face savouring food" aria-label="Emoji: Face savouring food">

logging is a standard Python module.

You can find more information in this @realpython article: https://realpython.com/python-logging/ 

https://realpython.com/python-lo... class="Emoji" style="height:16px;" src=" https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="RĂŒckhand Zeigefinger nach unten" aria-label="Emoji: RĂŒckhand Zeigefinger nach unten">
https://abs.twimg.com/emoji/v2/... draggable=logging — The standard logging facilityIt might be time to stop cluttering your code with print statements and start using logging like a grown-up https://abs.twimg.com/emoji/v2/... draggable="false" alt="😋" title="Face savouring food" aria-label="Emoji: Face savouring food"> logging is a standard Python module.You can find more information in this @realpython article: https://realpython.com/python-lo... class="Emoji" style="height:16px;" src=" " title="https://abs.twimg.com/emoji/v2/... draggable="false" alt="6⃣" title="Tastenkappe Ziffer 6" aria-label="Emoji: Tastenkappe Ziffer 6">logging — The standard logging facilityIt might be time to stop cluttering your code with print statements and start using logging like a grown-up https://abs.twimg.com/emoji/v2/... draggable="false" alt="😋" title="Face savouring food" aria-label="Emoji: Face savouring food"> logging is a standard Python module.You can find more information in this @realpython article: https://realpython.com/python-lo... class="Emoji" style="height:16px;" src=" " class="img-responsive" style="max-width:100%;"/>
https://abs.twimg.com/emoji/v2/... draggable="false" alt="7⃣" title="Tastenkappe Ziffer 7" aria-label="Emoji: Tastenkappe Ziffer 7">sphinx — Generating documentation

Whenever I need to package all my docstrings as a nice HTML documentation site, I go to sphinx.

There are a ton of things about sphinx! It took me some time to get the hang of it, but now I constantly use it.

https://www.sphinx-doc.org/en/master/ 

https://www.sphinx-doc.org/en/master... class="Emoji" style="height:16px;" src=" https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="RĂŒckhand Zeigefinger nach unten" aria-label="Emoji: RĂŒckhand Zeigefinger nach unten">
https://abs.twimg.com/emoji/v2/... draggable=sphinx — Generating documentationWhenever I need to package all my docstrings as a nice HTML documentation site, I go to sphinx.There are a ton of things about sphinx! It took me some time to get the hang of it, but now I constantly use it. https://www.sphinx-doc.org/en/master... class="Emoji" style="height:16px;" src=" " title="https://abs.twimg.com/emoji/v2/... draggable="false" alt="7⃣" title="Tastenkappe Ziffer 7" aria-label="Emoji: Tastenkappe Ziffer 7">sphinx — Generating documentationWhenever I need to package all my docstrings as a nice HTML documentation site, I go to sphinx.There are a ton of things about sphinx! It took me some time to get the hang of it, but now I constantly use it. https://www.sphinx-doc.org/en/master... class="Emoji" style="height:16px;" src=" " class="img-responsive" style="max-width:100%;"/>
https://abs.twimg.com/emoji/v2/... draggable="false" alt="8⃣" title="Tastenkappe Ziffer 8" aria-label="Emoji: Tastenkappe Ziffer 8">pytest — For testing my code

I do a lot of TDD, so pytest is always there with me.

It& #39;s very simple to get started with it. At the same time, it& #39;s very robust, extensible, and so far, I& #39;ve found everything I ever needed right there.

Site: https://docs.pytest.org/en/stable/ 

https://docs.pytest.org/en/stable... class="Emoji" style="height:16px;" src=" https://abs.twimg.com/emoji/v2/... draggable="false" alt="👇" title="RĂŒckhand Zeigefinger nach unten" aria-label="Emoji: RĂŒckhand Zeigefinger nach unten">
https://abs.twimg.com/emoji/v2/... draggable=pytest — For testing my codeI do a lot of TDD, so pytest is always there with me. It& #39;s very simple to get started with it. At the same time, it& #39;s very robust, extensible, and so far, I& #39;ve found everything I ever needed right there.Site: https://docs.pytest.org/en/stable... class="Emoji" style="height:16px;" src=" " title="https://abs.twimg.com/emoji/v2/... draggable="false" alt="8⃣" title="Tastenkappe Ziffer 8" aria-label="Emoji: Tastenkappe Ziffer 8">pytest — For testing my codeI do a lot of TDD, so pytest is always there with me. It& #39;s very simple to get started with it. At the same time, it& #39;s very robust, extensible, and so far, I& #39;ve found everything I ever needed right there.Site: https://docs.pytest.org/en/stable... class="Emoji" style="height:16px;" src=" " class="img-responsive" style="max-width:100%;"/>
Let me know what are the libraries and tools that you always use in your projects. I& #39;m always looking for ways to improve this setup!
You can follow @svpino.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: