Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book

#258: Python built us an anime dog!

Published Thu, Nov 11, 2021, recorded Wed, Nov 10, 2021

Watch the live stream:

Watch this episode on YouTube
Play on YouTube
Watch the live stream replay

About the show

Sponsored by Shortcut - Get started at shortcut.com/pythonbytes

Special guest: Karen Dalton

Brian #1: stale : github bot to “Close Stale Issues and PRs”

  • Was one response to a question by Will McGugan
  • Something like “An issue filed on an open source project, I’ve asked a followup question about the issue, and filer doesn’t respond. Is there an easy way to close the issue after a set time period of inactivity.”
    • Just trying to get a reference to Will out of the way early in the episode.
  • stale does this:
    • Warns and then closes issues and PRs that have had no activity for a specified amount of time.
    • The configuration must be on the default branch and the default values will:
      • Add a label "Stale" on issues and pull requests after 60 days of inactivity and comment on them
      • Close the stale issues and pull requests after 7 days of inactivity
      • If an update/comment occur on stale issues or pull requests, the stale label will be removed and the timer will restart
  • If defaults seem too short or harsh, everything is configurable

Michael #2: jut - JUpyter notebook Terminal viewer

  • via kidpixo
  • The command line tool view the IPython/Jupyter notebook in the terminal.
  • Even works against remote ipynb files (via http)

Karen #3: JupyterLyte

Brian #4: Feature comparison of ack, ag, git-grep, GNU grep and ripgrep

  • ack now, supplies are limited!
  • Tangent for those unfamiliar with grep
    • grep is an essential tool for many developers that prints lines that match a pattern
    • grep foo *.py - list all lines containing “foo” in this directory
    • grep -l foo **/*.py | grep -v venv
      • **``*/**``.py Recursively find all Python files this directory and all subdirectories
      • -l Print just the name of the file if it contains a “foo” in it.
      • | grep -v venv Exclude virtual environments, because there’s a lot of “foo” in there. (There’s gotta be a better way to do this, someone suggest a better way, please).
  • Article compares ack, ag “The silver Searcher”, git-grep, grep, and rg “ripgrep”
    • Language, Licence, and regex versions
    • Features like parallelism, config, etc.
    • Fine grain feature comparisons
      • searching capability
      • regular expression style
      • search output
      • file presentation
      • file finding
      • inclusion, exclusion
      • file type specification
      • random other features
  • This is on the ack website, and kinda makes my want to try ripgrep.

Michael #5: Python Client for Airtable: pyairtable

  • by Gui Talarico
  • What is Airtable? Hmm kind of like:
    • Excel
    • Trello boards
    • CI Pipelines
  • A big player on nocode/lowcode community
  • Check out the quickstart to see how it works.

Karen #6: Black can now format notebooks

  • via Marco Gorelli gh: MarcoGorelli (creator of nbQA [isort, pyupgrade, mypy, pylint, flake8, and more on Jupyter Notebooks])
  • pip install black[jupyter]
  • black mynotebook.ipynb
  • “…it should be significantly more robust than the current third-party tools”

Extras

Michael

Karen

  • Volunteer in your local Python community (or volunteer to speak)

Joke:


Want to go deeper? Check our projects