
Each release is made as a compressed tar archive. For those wishing to participate in development, or if you just want the most current development code, there are two options, using git or subversion for retrieving the code. The main PythonCAD repo was formerly kept in Subversion but now has switched to git, but the subversion repo still is kept current with whatever changes are applied to the git repository.
The switchover to git allows for a distributed development model, an approach not available out-of-the box with subversion. The initial cloning of the git PythonCAD pulls all the code changes of PythonCAD to your system, giving you the complete history of the project. You can locally create branches to try out ideas, commit any changes you make to your local repo, all the while updating and merging the main development tree. The storage requirements of git are smaller than that of Subversion, and there are other advantages that git offered which made the transition to converting the main repository worthwhile.
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).
Highlights of the thirty-sixth release ...
env[APPDATA]/PythonCADdirectory.
Use the following links to download the thirty-sixth 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 --definebuild_xxx 1PythonCAD-0.1.34.src.rpm
Replace build_xxx
with either build_rhel
, build_suse
,
or build_mdk
.
Git was created by Linus Torvalds to handle the kernel tree source code after the use of Bitkeeper ceased to be an option. Git itself is capable of handling enourmous numbers of files while keeping blazing performance. Git is commonly available in current Linux distributions, or you can download, build, and install it yourself.
$ git clone git://repo.or.cz/pythoncad.git
Once this command finishes you will have a pythoncad.git
directory
with the program source code and web pages. There is also the start
of a regression test suite as well.
You can update your tree by invoking the following command:
$ git pull
Any changes available at the main tree will be pulled down to your copy and merged in, if possible.
Git offers many, many commands for managing source code trees, far too many to list here. The documentation for git is available online here, and more information is available here.
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, KDE, and Gnome) have converted their CVS repositories to Subversion. Most current Linux distros provide Subversion as a standard package, and I suspect most current BSD flavors do the same as well.
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 subversion repository, please send me some mail and I will try to get the problem fixed as soon as possible.