Summary: I've been writing and maintaining Open Source Software for over
8 years now and it has been simultaneously the catalyst for the success I've
had professionally and the misery I feel on a daily basis.
Open Source Software (a.k.a, Free and Open Source Software, F/OSS) has …
Posted on 14 February 2019 by Ian Stapleton Cordasco
Back in December, when I released rush, I struggled to figure out the
appropriate way to signal that the library was shipping with type annotations
built-in. I've also been working on adding type annotation stub files to
github3.py as a result, I've had to look around quite a bit …
Posted on 03 February 2019 by Ian Stapleton Cordasco
Everyone has a different motivation when working on Open Source Software.
That motivation can change over time both in quantity and in actual
motivation. When the Free and Open Source Software (a.k.a., F/OSS) movement
began, the motivation was clear: I have hardware and I should be able …
Posted on 28 January 2019 by Ian Stapleton Cordasco
There are a lot of companies that rely on Free and Open Source Software
(a.k.a, F/OSS) and adoption of their solution within various language
communities. Often times, these companies are providing some kind of software
or solution as a service and they're basically packaging up the existing …
Posted on 27 January 2019 by Ian Stapleton Cordasco
GitHub has made changes lately that are trending towards fulfilling the
"Social" part of their "Social Coding" tagline. Recently
this has taken two forms:
- They have made unlimited private repositories free for everyone and
anyone who was paying them for private repositories gets a special badge
for social caste status …
Posted on 11 January 2019 by Ian Stapleton Cordasco
Most people who start using Kotlin are already familiar with Java and its
ecosystem. I, on the other hand, am not one of those people and have been
looking for easier ways into the Java ecosystem. I found that Kotlin was
probably that softer path back. (I wrote Java in …
Posted on 01 January 2019 by Ian Stapleton Cordasco
Recently, I have had the opportunity to work on some APIs that were
implementing rate limiting for users. The idea we started with was
to implement a limit algorithm that reset after a period of time, e.g.,
one hour. I researched rate limiting a bit more, and found another …
Posted on 24 December 2018 by Ian Stapleton Cordasco
Recently, I had the (genuine) joy of helping port a Python library with a
C extension to work on Python 2 and Python 3. C was my first language that I
really understood pretty well and I have some (possibly misplaced) nostalgia
for the time when I only ever wrote …
Posted on 07 January 2018 by Ian Stapleton Cordasco
Over the last few months I've been assigned to work on a project called
Craton . The project will be an inventory system that can integrate with
most of our popular configuration management tools (Ansible, Chef, Puppet,
Salt, etc.) and perform automated remediation. My team started Craton and
moved it …
Posted on 19 February 2017 by Ian Cordasco
Every API client is different. They are shaped by many things, including:
- the author's personal tastes
- the language and its conventions
- the API itself
- the underlying HTTP library
People have told me that they love github3.py and how I designed it.
Personally, I feels there is room for significant …
Posted on 22 January 2017 by Ian Cordasco
As someone who has written a few API client libraries and works on Requests a
bit, I realize I have some overlapping knowledge that I need to share. There
are some patterns I've found from building my own API client libraries and
helping developers of other client libraries. I hesitate …
Posted on 11 January 2017 by Ian Cordasco
In my position at Rackspace, I tend to spend a lot of time using OpenStack's
instance of Gerrit to review proposed changes. When reviewing OpenStack
changes, I prefer keyboard shortcuts and terminal interfaces so I can explore
the affect of a change via my preferred text editor.
To accommodate this …
Posted on 05 January 2017 by Ian Cordasco
After setting up a home server running Fedora 25, we wanted to use it's large
amounts of storage for images and such. Naturally, we reached for Samba to
enable network file storage. We installed and configured it, but neither from
macOS, nor from Linux could access files after mounting the …
Posted on 31 December 2016 by Ian Cordasco
I have started to notice a trend. More and more people are aggressively
attempting to integrate themselves into open source projects. Some are doing
so spectacularly, while others are struggling. And the people who struggle
seem to become agitated, aggressive, and their attempts to contribute
discourage everyone involved.
Often, when …
Posted on 15 November 2016 by Ian Cordasco
Today, I released Flake8 3.0.0b1. You can try it out by running:
pip install --pre flake8
This marks the start of the culmination of several months worth of work and a
couple years of hammock driven development (mostly spent ruminating). You
can read about the list of changes …
Posted on 25 June 2016 by Ian Cordasco
I have been working on Open Source Software (in one way or another) since 2011
(just over 4 years since my first open source commit on a project). When I
started writing open source software it was for fun. I was not a Computer
Science/Engineering student. Programming was a …
Posted on 02 November 2015 by Ian Cordasco
Tonight marks the release of Betamax 0.5.0. Beyond just reworking the
documentation, it also marks the addition of two integrations with popular
testing frameworks. Betamax now ships with a pytest fixture that provides an
instantiated Session that is being recorded by Betamax. Let's look at how we
might …
Posted on 15 July 2015 by Ian Cordasco
tl;dr pep8's repository has moved from Johann Rocholl's account to the
Python Code-Quality Authority organization.
It's my great pleasure to announce that the pep8 project has moved to the
PyCQA organization on GitHub and will hopefully enjoy an expanded team of
maintainers as a result. This comes after …
Posted on 11 July 2015 by Ian Cordasco
This year I gave the talk "Cutting Off the Internet: Testing Applications
that Use Requests" at PyTennessee and PyCon. The recording of the
talk is already online with my slides.
At the end of my talk, I promised to write a blog post going into far more
detail and covering …
Posted on 14 June 2015 by Ian Cordasco
You may have already heard about this, but Guido van Rossum has co-authored
PEP 484 to standardize a
basic set of Type Hints. If you've heard of PEP 484 already, this probably
isn't the one-line summary you've heard about. In fact, if you've heard about
this already, you've probably …
Posted on 24 April 2015 by Ian Cordasco
This year was my second year attending PyCon North America (a.k.a., PyCon US)
and once again I loved every second of it.
tl;dr I didn't see a lot of talks in person but I spoke to a large
number of people this year and made some great …
Posted on 13 April 2015 by Ian Cordasco
It is my distinct pleasure to announce the 0.4.0 release of the requests
toolbelt. This version comes almost a year after the release of 0.3.1.
A lot of work was put into the toolbelt in those 10 months though. We
reorganized the documentation to make it …
Posted on 03 April 2015 by Ian Cordasco
Lately, I found a new amount of energy and decided to help SQLObject add
compatibility with Python 3. If you look at the Python 3 Wall of
Superpowers you will notice that currently SQLObject is currently listed as
Python 2 only (which is indicated by the lock symbol). While talking …
Posted on 28 December 2014 by Ian Cordasco
On August 2nd, 2013 I opened issue 122 on github3.py's issue tracker.
The driving force behind the "Roadmap for 1.0" was to clean up an API that I
fundamentally disliked. Yesterday, on December 7th, 2014, I released the
first alpha version of 1.0. The following is …
Posted on 08 December 2014 by Ian Cordasco
This is the second in what I hope will be a series of explorations of advanced
features in requests.
Websites and servers sometimes, misbehave. They can misbehave in a number of
ways:
- read errors
- large numbers of redirects
- failure to connect
- 500 errors
What most people don't know is that …
Posted on 01 December 2014 by Ian Cordasco