Reinvent no more forever
Python as a community is plagued by massive amounts of wheel-reinvention. The infamous web framework proliferation problem is just the most egregious example.
Why is Python "blessed" with so much reinvention? Because it's often cheaper to rewrite than to reuse. Python code is easy to write, but hard to depend on. You pretty much have to:
Well, seriously, there are lots of little improvements still on my list -- like documentation, for example. A tutorial on how to convert a package to using setuptools would be awesome. I also want to add some support for automatically detecting whether a package can be safely installed as a zipped .egg file, using a conservative algorithm based on the absence of data files outside the metadata directory.
But for right now, I plan to start by putting my dependencies where my mouth is. I will bundle no more forever, for I am tired of keeping them up-to-date with their upstream maintainers. I shall rend my monolithic packages into smaller projects, so that people can make use of cool parts of PEAK without having to install anything but the part they want. I will find out if this stuff really works. From where the setuptools now stand, I will bundle no more forever.
Why is Python "blessed" with so much reinvention? Because it's often cheaper to rewrite than to reuse. Python code is easy to write, but hard to depend on. You pretty much have to:
- limit yourself to platforms with a suitable packaging system,
- bundle all your dependencies into your distribution, or
- make your users do all the work themselves
Well, seriously, there are lots of little improvements still on my list -- like documentation, for example. A tutorial on how to convert a package to using setuptools would be awesome. I also want to add some support for automatically detecting whether a package can be safely installed as a zipped .egg file, using a conservative algorithm based on the absence of data files outside the metadata directory.
But for right now, I plan to start by putting my dependencies where my mouth is. I will bundle no more forever, for I am tired of keeping them up-to-date with their upstream maintainers. I shall rend my monolithic packages into smaller projects, so that people can make use of cool parts of PEAK without having to install anything but the part they want. I will find out if this stuff really works. From where the setuptools now stand, I will bundle no more forever.





<< Jul 01: It's log, log, log
>> Jul 08: Let there be docs...
^^ Home