Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Setuptools revision control system plugin for Subversion

Project Description

Subversion support for setuptools

Setuptools has built-in support for subversion repositories; it’ll find all files tracked by subversion and include them when building a distribution.

However, this support directly reads the private subversion repository metadata files, and these have been know to change from version to version. For example, subversion 1.7 switched to one top-level .svn directory with a sqlite database, instead of separate directories throughout the working copy with proprietary or XML text files in preceding versions. As of the time of this package development, setuptools does not yet support working copies using the subversion 1.7 sqlite database format.

This package uses the svn list command instead to list files in a repository, avoiding having to know about every version of subversion and it’s particular metadata formats.

Note that when using setuptools on a subversion 1.7 working copy, setuptools itself will complain about not being able to parse the .svn/entries file before it delegates file listing to this plugin. This is just a warning, and can safely be ignored.


  • Python 2.4 or newer (including python 3.x)
  • The svn command line tool. Any version will do.


The project code is hosted on GitHub, feel free to report issues, fork the code and issue pull requests.


BSD (simplified), see: LICENSE.txt


Martijn Pieters <>


3.1 (2012-10-15)

  • Re-introduce NFC normalization when using Python 3. [mj]

3.0 (2012-10-12)

  • Use svn info to avoid a round-trip to the server, and use a SAX parser to read the svn XML output instead of a regular expression. Thanks to Matt Good for the svn info pointer. [mj]

2.1 (2012-08-08)

  • Do not rely on sys.stdout.encoding, use locale.getpreferredencoding() instead; when used as a pipe no encoding is set otherwise. [stefan]

2.0 (2012-08-04)

  • Don’t log an error when the target directory is not a Subversion sandbox. [stefan]
  • Return Unicode strings under Python 3. [stefan]

1.8 (2012-07-11)

  • Fixed compatibility with Python 2.4 once more. [mj]

1.7 (2012-07-11)

  • Fix issue #3: svn ls on Windows may return slashes. [stefan]

1.6 (2011-11-09)

  • Fixed compatibility with Python 3. [mj]

1.5 (2011-11-09)

  • Fixed compatibility with Python 2.4. [maurits]

1.4 (2011-11-02)

  • Return only files, not directories. [stefan]

1.3 (2011-10-19)

  • Metadata and minor documentation updates. [mj]
  • Improve logging output when the svn command fails; lowering it to INFO level and prepending the module name. [mj]

1.2 (2011-10-19)

  • Compatibility with python versions 2.4 and 2.5 (thanks to Maurits van Rees) as well as python 3. [mj]
  • Documentation updates. [mj]

1.1 (2011-10-17)

  • Packaging metadata update.

1.0 (2011-10-17)

  • Initial release.
Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date (10.0 kB) Copy SHA256 Checksum SHA256 Source Oct 15, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting