Episode #15: Digging into Python packaging

Published Tues, Feb 28, 2017, recorded Mon, Feb 27, 2017.

This is Python Bytes, Python headlines and news delivered directly to your earbuds: episode 15, recorded on February 27, 2017.

#1 Brian: Packaging A Simple Guide for Python Packaging *by *Jie Feng, @flyfengjie

  • very simple bare bones example and tutorial
  • When you create a ‘.py’ file, that is a module.
  • One or more modules in a folder with add a __init__.py file is a package (named via the folder)

How To Package Your Python Code **by Scott Torborg, @storborg

  • The example from the previous article comes from this.
  • The best mid level explanation I’ve run across so far to describe packaging and distribution.
  • Read the whole thing in a very short time.

#2 Michael: elasticpypi by Kyle Hornberg

  • A mostly functional simple pypi service running on AWS.
  • Runs over Elastic Search and AWS Lambda
  • Compare to
    • pypiserver: https://pypiserver.readthedocs.io/en/latest/
    • devpi: http://doc.devpi.net/latest/
    • pypiserver: https://pypi.python.org/pypi/pypiserver

#3 Brian: How to get Python new*s (our process)*

#4 Michael: Curio - The coroutine concurrency library, by David Beazley, @dabeaz

  • Curio is a library for performing concurrent I/O and common system programming tasks such as launching subprocesses and farming work out to thread and process pools.
  • It uses Python coroutines and the explicit async/await syntax introduced in Python 3.5.
  • Based on cooperative multitasking and existing programming abstractions such as threads, sockets, files, subprocesses, locks, and queues.
  • Only works on POSIX systems
  • The Big Question: Why?
    • Python 3.4 and 3.5 have added major new paradigms for async programming.Curio takes full advantage of these features and is not encumbered by issues of backwards compatibility with legacy Python code written 15 years ago.
      • Curio is a ground-up implementation that takes a different approach to the problem while relying upon known programming techniques involving sockets and files.
      • The implementation of Curio aims to be simple. The API for using Curio aims to be intuitive.

#5 Brian: Pandas switching to use pytest as testing framework

  • Interesting look at the challenges and discussion of moving a large, highly visible project

#6 Michael: Talk Python #100: Python past, present, and future with Guido van Rossum

  • Excellent look back and forward with Guido
  • Conversation on reddit
  • Conversation on hackernews
  • We touch on
    • How he got started
    • Early influences on Python
    • Why Python succeeded
    • How are we doing with: Diversity and moving to Python 3?
    • His favorite features of Python 3
    • Converting legacy code via mypy: http://mypy-lang.org/

In other news (as in our news)

  • Test & Code 27 is out, a great talk with Mahmoud Hashemi on different levels of testing, the role of testing in SW development, TDD, and what he’s been up to lately. Test & Code migrating to testandcode.com, to separate writing and podcast into two sites. When it gets cleaned up a little, I’ll forward podcast related links from pythontesting to testandcode.

  • The pytest book got sent out to a few reviewers, and we have a title and some cover art options. It’s getting exciting. The rest of the reviewers will get the book when all chapters have gone through at least one editor iteration.


Want to go deeper? Check our projects