#127 That Python code is on fire!
Python Bytes - A podcast by Michael Kennedy and Brian Okken - Mondays
   Categories:
Sponsored by Datadog: pythonbytes.fm/datadog
Special guest: Kenneth Reitz
Brian #1: inline_python (for rust)
- “I just made a Frankenstein's monster: Python code embedded directly in rustlang code. Should I kill it before it escapes the lab?” - Mara Bos
 - Writing some rust, and need a little Python?
 - Maybe want to pop open a matplotlib window?
 - This may be just the thing you need.
 - see also:
- https://pypi.org/project/bash/
 
 
Kenneth #2: Requests3: Under Way!
- Requests 2.x that you know and love is going into CVE-only mode (which it has been for a long time).
 - Requests III is a new project which will bring async/await keywords to Requests.
 - installable as 
requests3. - Type-Annotations
 - Python 3.6+
 
Michael #3: 🔥 Pyflame: A Ptracing Profiler For Python
- Pyflame is a high performance profiling tool that generates flame graphs for Python.
 - Pyflame is implemented in C++, and uses the Linux ptrace(2) system call to collect profiling information.
 - It can take snapshots of the Python call stack without explicit instrumentation
 - Capable of profiling embedded Python interpreters like uWSGI.
 - Fully supports profiling multi-threaded Python programs.
 - Why use it?
- Pyflame usually introduces significantly less overhead than the builtin 
profile(orcProfile) modules, and emits richer profiling data. - The profiling overhead is low enough that you can use it to profile live processes in production.
 
 - Pyflame usually introduces significantly less overhead than the builtin 
 
Brian #4: flit + src
- Currently a WIP PR.
 flitis easy.- Given a module or a source package.
 flit initcreatespyproject.tomlandLICENSEfiles.- commit those to git
 flit buildcreates a wheelflit publish(builds and) publishes to whatever you have in your[.pypirc](https://docs.python.org/3/distutils/packageindex.html#the-pypirc-file)
- Changes in this PR
- The flit project already has 2 types of projects.
- just a module, like foo.py
 - a package (directory with 
__init__.py), likefoo/__init__.py 
 - This would add a 3rd and 4th.
- just a module, but in src, like 
src/foo.py - a package in src, like 
src/foo/__init__.py 
 - just a module, but in src, like 
 
 - The flit project already has 2 types of projects.
 - May be cracking open a can of worms, but I’m ok with that.
 
Kenneth #5: $ pipx install pipenv
Michael #6: cheat.sh
- via Jon Bultmeyer
 - Nothing to install, but works on the CLI
 - Has a CLI client too with a proper shell
 - Get started with http cht.sh/python/:learn
 - Has a funky stealth mode too
 - Editor integration VS Code & Vim
 - cheat.sh uses selected community driven cheat sheet repositories and information sources, maintained by thousands of users, developers and authors all over the world
 
Extras
Brian:
- vi is good for beginners - fun read, for all you haters out there. 
- But use vim, not vi.
 - Better yet, IdeaVim for PyCharm or VSCodeVim for VS Code.
 
 - nbstripout - command line tool to strip output from Jupyter Notebook files.
 - We covered pyodide on episode 93, but here’s a cool article on it
 
Michael:
- PyCon AU CFP
 - LIGO Blackhole collision follow up: https://www.youtube.com/watch?v=BXID4teFfDc
- via Dave Kirby and Matthew Feickert
 
 - https://github.com/kylebebak/questionnaire like Bullet but for windows too
- via Sander Teunissen
 
 
Kenneth (optional):
- PyColorado CFP
 - PyOhio CFP
 - PyRemote!
 
Jokes
Don’t know if I’ll do all of these, but I like them. 🙂 Brian and Kenneth, feel free to add yours if you have some!
MK: Ubuntu users are apt to get these jokes. MK: How many programmers does it take to kill a cockroach? Two: one holds, the other installs Windows on it. MK: A programmer had a problem. He thought to himself, 'I know, I'll solve it with threads!'. has Now problems. two he
(mildly offensive) KR: What’s the difference between a musician and a pizza? A pizza can feed a family of four.
(In collaboration with Jonatan Skogsfors) Python used to be directed by the BDFL, Guido. Now it’s directed by a steering council, GUIDs[0:4].
