setuptools_git 0.3
My gitlsfiles plugin is dead: it was a silly name. It
has reborn with the really sexy name of setuptools_git.
Setuptools_git 0.3
has better documentation and is more portable than
gitlsfiles.
There are 2 posts tagged with gitlsfiles.
There is an Atom feed
for
posts tagged with gitlsfiles.
My gitlsfiles plugin is dead: it was a silly name. It
has reborn with the really sexy name of setuptools_git.
Setuptools_git 0.3
has better documentation and is more portable than
gitlsfiles.
Explicit is better than implicit. It's in the Zen of Python.
Who could disagree? Setuptools
has a feature that would prevent me from reaching peace of mind. You
can tell it to include in your package all the files that you track
with a revision control system. I used to prefer being explicit by
using MANIFEST.in,
until I started to heavily refactor a package layout. This is one
thing that Git does really well. You just add all the new files
recursively and it will figure out which files are really new and
which are new names for old files. But updating
MANIFEST.in can become quite a pain.
What happens in practice is that rules in MANIFEST.in
have an extremely broad scope. The
latest Pylons
recursively includes everything in the template
directory. It would be a pain to make the right rule; you need to
include all the templates for all the templating languages supported
by Buffet and each engine is really permissive on the file extension
used to name its template. The current rule will match all Emacs
backup files and a lot of junk that most people don't want to
distribute. When I switched to include the files tracked by a
revision control, the only file that I don't explicitly wanted in
there was .gitignore. In this case, being explicit on
what we don't want is a lot cleaner than being explicit on what we
do want.
"Oh wait," you may ask. I mentioned using Git but Setuptools has no Git plugin. Until now. Here is gitlsfiles (2.4 egg, 2.5 egg), a plugin to have Setuptools packages all the files tracked by Git. You just need to install it and Setuptools will figure out the rest.