Python Cheese Shop

It has been a while since I released a new open source project. The
last time I dealt with the Python project registry it required a highly
manual through-the-web registration process. The Cheese Shop is so
much nicer, and the integration with distutils makes it so easy to
register a project and release that there is no reason in the world not
to do it. There are just a few basic steps to getting started:

  1. Create a user at http://cheeseshop.python.org/pypi by clicking on the
    “Register” link and following the instructions.
  2. Create a setup.py file for your Python project. You’re doing this
    already, aren’t you, so your users can install your app or library
    with disutils?
  3. Type: python setup.py register

The CheeseShopTutorial has more details, but once you’ve registered
it really is just that simple. It turns out they will even host
downloads of the source releases, if you want. I don’t mind hosting my
own releases, and they will only host Python (so none of my AppleScript
projects could go there). But that’s a nice commitment on their part.

Featuritis

My project site is finally online, and I find myself falling into
precisely the trap I was hoping to avoid. I originally wanted to find
some existing software to host the site, so I could concentrate on the
myriad projects cluttering up the back of my brain. Since I opted to
build my own, I’ve found myself focusing on building more features into
the site management tool instead of those other projects.
In any event, today I added Atom feeds to track releases for each
project, as well as a global feed to track all releases from the site.
The feeds include download links to each released software bundle as
enclosures, because it was easy not because it seems especially useful.

code hosting

I spent some time over the weekend building a rough tool with django to
host my code projects. It is only at http://www.doughellmann.com,
though that domain may not be available in your DNS cache, yet. I’m
happy with the schema for the results, but will probably tweak the
colors and layout for a while.

Proctor 1.0

I’ve moved Proctor development from sourceforge to my own server
and released version 1.0.

We have been using proctor successfully for several years now at work,
and it makes automating our nightly tests very easy. The build is
automatic, the software is installed automatically, and then proctor
runs the test suite. All 3000+ tests take several hours to run, mostly
because they aren’t all strictly “unit” tests.

code hosting tool

I am looking for a tool to build out a site to host my code projects.
None of these projects are large enough to warrant anything like the
features provided by SourceForge. I don’t think my requirements are very
strict, but I haven’t been able to find anything to do what I want (sort
of a sourceforge-lite):

  1. I must be able to host the projects under a domain I control myself.
    One domain for all projects is preferable since I don’t want to have
    to edit my apache config every time I think of a new project.
  2. I do not care to expose my svn repository to the world, since it
    contains plenty of stuff besides the projects that I do want to
    release. Releasing source as tarballs or apps as disk images is good
    enough for me.
  3. Each project needs a home page with a summary and links to releases
    and release notes.
  4. Adding new releases should be easy. I will upload the release file
    via ftp or scp, but I want to be able to add the reference to the
    release file without editing a bunch of HTML each time.
  5. A blog is a nice-to-have, but I already have this blog, so it isn’t a
    requirement.
  6. I don’t need an issue tracker, forum or mailing list manager. I may
    maintain an email address for support of all of the projects, or I
    might use a google group.

I thought about Zope for a few minutes, but just don’t want to go
back in that direction. I used to use Zope quite a bit. I haven’t in a
long while, and the zen has left me, I’m afraid. Somehow the relational
model is more persistent in my grey matter. Plus, I’m still not over my
plone upgrade fiasco from a few years ago, which is why I don’t have
much of a site up anymore. I finally gave up trying to make the site
work, pulled the content out to preserve it, and just threw up a
redirect to the photo gallery.

I looked at drupal. It has some nice features, but I don’t like the
default appearance and I’m not that interested in learning another
templating language so I can improve it. WordPress has most of the
features I want, though I would have to edit release pages myself.
Again, though, they have a whole template language that seems like more
than I want to deal with for extensions. Maybe if I was already
PHP-enabled these would seem like stronger contenders.

I was hoping to find something built using django (or at least
parts I could assemble myself), since I am already trying to extend my
skills in that direction. It looks like the django-way to do most
everything is to build your own, though, so I suppose that is what I’ll
end up doing. I should be able to lean heavily on the admin UI for most
of my editing, so I would just need templates for presenting the
results. That’s not too bad.