Efficiency (a virtue) is the child of laziness and greed (both vices), while much of our economic activity is devoted to preventing boredom in the idle time created by increases in efficiency. To be human is to be a strange creature indeed :)
There has been a longstanding gap in the Python packaging ecosystem that has somewhat annoyed me, but not enough to do anything about it: we haven't really had a good way to compose multiple layers of Python virtual environments together, allowing large dependencies (like AI and machine learning libraries) to be shared across multiple different application environments without having to install…
Making sense of "x = a + b" Shorthand notations and shared context The original shared context: Algebra The corresponding Python context: Numbers Another mathematical context: Matrix algebra The corresponding Python context: NumPy Arrays Python's string concatenation context Python's immutable sequence concatenation context Python's mutable sequence concatenation context A brief digression back to…
Who is Python being designed for? Use cases for Python's reference interpreter Which audience does CPython primarily serve? Why is this relevant to anything? Where does PyPI fit into the picture? Why are some APIs changed when adding them to the standard library? Why are some APIs added in provisional form? Why are only some standard library APIs upgraded? Will any parts of the standard library…
From Development to Deployment My core software ecosystem design philosophy The key conundrum Platform management or plugin management? Where do we go next? Sustainability and the bystander effect Migrating PyPI to pypi.org Making the presence of a compiler on end user systems optional Bootstrapping dependency management tools on end user systems Making the use of distutils and setuptools optional…
One of the more puzzling aspects of Python for newcomers to the language is the stark usability differences between the standard library's urllib module and the popular (and well-recommended) third party module, requests , when it comes to writing HTTP(S) protocol clients. When your problem is "talk to a HTTP server", the difference in usability isn't immediately obvious, but it becomes clear as…
The pitch Involved in Australian education, whether formally or informally? Making use of Python in your classes, workshops or other activities? Interested in sharing your efforts with other Australian educators, and with the developers that create the tools you use? Able to get to the Melbourne Convention & Exhibition Centre on Friday August 12th, 2016? Then please consider submitting a proposal…
This is a follow-on from my previous post on Python 3.5's new async / await syntax. Rather than the simple background timers used in the original post, this one will look at the impact native coroutine support has on the TCP echo client and server examples from the asyncio documentation . First, we'll recreate the run_in_foreground helper defined in the previous post. This helper function makes it…
One of the recurring questions with asyncio is "How do I execute one or two operations asynchronously in an otherwise synchronous application?" Say, for example, I have the following code: >>> import itertools , time >>> def ticker (): ... for i in itertools . count (): ... print ( i ) ... time . sleep ( 1 ) ... >>> ticker () 0 1 2 3 ^CTraceback (most recent call last): File "<stdin>", line 1, in…
PyCon Australia launched its Call for Papers just over a month ago, and it closes in a little over a week on Friday the 8th of May. A new addition to PyCon Australia this year, and one I'm particularly excited about co-organising following Dr James Curran's "Python for Every Child in Australia" keynote last year, is the inaugural Python in Education miniconf as a 4th specialist track on the Friday…