PythonCAD Code Retrieval

The code is currently available as either an extracted archive from the master source repository, or from the read-only copy of the repository through Subversion. There are no mirror sites as yet, but if and when they become available, links to them will be provided here.

Read-write access to the master repository is not possible at this time. It is simply not possible for me at this time to make my Subversion repository available over the Internet. In the future, if some site is willing to host the master repository, then the repository may get moved. Moving to a remote master site will depend on who is hosting the site, where the repository is located, etc. I want to emphasize that I have no problem at all with having multiple developers commit changes to the master repository. Projects like KDE, GNOME, and Apache are all examples of projects that do this successfully. I believe that giving multiple developers read-write access is vital for the long-term success of this project, and having several people that can commit changes will distribute the work load and speed the inclusion of patches into the core code.

A quick word or two about version number. The initial plan is to use a version numbering scheme like DS-#-R-#, where the DS means Development Series, the R is for Release, and the # characters are replaced with numbers. As the development of PythonCAD has just begun, the releases are all part of development series 1 (DS1). Each release will be tagged in the master repository. When the day comes for the first official release, it was be released with a version string of SS-#-R-#, with the SS meaning Stable Series. After a few stable releases, the development series releases will resume again, this time at development series 2 (DS2).

Current Release

Highlights of the thirty-fifth release ...

Use the following links to download the thirty-fifth PythonCAD release:

Note: Users of PythonCAD with the Cocoa-based front end should not use this release. The Cocoa front-end is not functional as the main developer no longer has time to maintain the code. Various patches have been applied to attempt to resuscitate the Cocoa code, but there is still more work needing to be done. I do not have a machine running Mac OS X so I cannot test any patches for this front end. If you are interested in reviving the Cocoa front end, please install Subversion, check the code out from the public repository, and send patches.

A spec file used to create RPM packages was added to PythonCAD with the nineteenth release. Links to built RPM packages for the current release will be added to this page if the packages are created by someone and they notify me.

D. Scott Barninger <barninger at fairfieldcomputers dot com>, author of the .spec file, contributed RPM packages for the thirty-fourth release. They are available below by clicking on one of the links in the table.

RPM Packages
Distribution File
Mandrake PythonCAD-0.1.34-1.mdk.python24.noarch.rpm
Fedora, Redhat [Python2.2] PythonCAD-0.1.34-1.redhat.python22.noarch.rpm
Fedora, Redhat [Python2.4] PythonCAD-0.1.34-1.redhat.python24.noarch.rpm
SuSE [Python2.3] PythonCAD-0.1.34-1.suse.python23.noarch.rpm
SuSE [Python2.4] PythonCAD-0.1.34-1.suse.python24.noarch.rpm
Source RPM PythonCAD-0.1.34-1.src.rpm

The key used to generate and sign these packages is here: RPMKey Anyone with questions about thes packages should contact him via the e-mail address above. For those of you wishing to download the source package and built it yourself, he provided the following instruction:

$ rpmbuild --rebuild --define build_xxx 1 PythonCAD-0.1.34.src.rpm

Replace build_xxx with either build_rhel, build_suse, or build_mdk.

For the time being I will stop making patches for moving from one release to another. The compressed archives are tiny compared to many programs, so even for those people downloading PythonCAD with a dialup connections the retrieval of the entire archive should not be a problem. Also, the code can be taken from Subversion, and getting the changes that way is very fast. See below for details.

Subversion Repository Access

Subversion installation instructions can be found at their website, as well as documentation about program usage. If you have used CVS, then using Subversion should seem familiar, and various projects (such as Apache) have been converting their CVS repositories to Subversion. As of the twentieth release of PythonCAD, the current official release of subversion is 1.0.9 on the 1.0 branch, and the 1.1 branch is at release 1.1.2.

Once you get Subversion installed, retrieve the PythonCAD code with the following command:

$ svn co http://subversion.pythoncad.org:9000/svn/pythoncad/trunk pythoncad

This command will create a pythoncad directory, and the code will be found there. The directory will also contain the copy of these web pages and a directory with some regression testing code. These tests are all based on the unittest module from Python. The test suite is not complete, and many tests should be added. The existing tests can be thought of as a starting point for a full test suite.

After checking out the code from the repository, you will need to periodically update your copy. Change back into the pythoncad directory and run this command:

$ svn update

Any changes in the master repository should then make their way to your local copy. See the Subversion documentation for details about resolving any possible conflicts.

If you wish to create a patch for PythonCAD, use the following command to generate the patch:

$ svn diff foo.py > foo.diff

Replace foo.py with the filename you want to patch, obviously, then mail me the patch. It will get reviewed and possibly applied, hopefully very soon after the patch is received.

If you have a problem accessing the repository, please send me some mail and I will try to get the problem fixed as soon as possible.

Rsync Repository Access

As the repository is now mirrored, the possibility for accessing it through rsync can be considered. More information about this will be posted here as it becomes available.