Version 10 (modified by Jeff Hammel, 10 years ago) (diff)


building blocks for creating Trac projects

Notice: This plugin is unmaintained and available for adoption.


TracLegos is software designed to template trac projects and assist with trac project creation. Its goal is to make project creation easy and flexible, allowing flexibility with regards to creation methodology as well as extensibility as a project factory for environments with advanced needs. TracLegos is not [at least by design, yet] meant for project upgrading or maintainence, but only to setup a project with sensible defaults.

TracLegos can be invoked in a number of ways:

  • through a command-line interface (
  • through a WSGI wrapper around trac (
  • via paster create
  • programmatically

TracLegos also desires to make it easy to turn an existing project into a pastescript template.

Bugs/Feature Requests

This is a new and somewhat experimental plugin so feedback and feature requests are greatly appreciated

Existing bugs and feature requests for TracLegosScript are here.

If you have any issues, create a new ticket.

Download and Source

Download the [download:traclegosscript zipped source], check out using Subversion, or browse the source with Trac.


Example of command line usage:

> create-trac-project 
Usage: create-trac-project [options] project <project2> <...> var1=1 var2=2 ...

assemble a trac project from components

  -h, --help            show this help message and exit
  -c CONF, --conf=CONF  site configuration files
  -d DIRECTORY, --directory=DIRECTORY
                        trac projects directory
  -i INHERIT, --inherit=INHERIT
                        .ini file to inherit from
                        requirements files for plugins
  -s REPOSITORY, --repository=REPOSITORY
                        repository type to use
  -t TEMPLATES          trac.ini templates to be applied in order
  --list-templates      list available TracProject PasteScript templates
  --list-repositories   list repositories available for setup by TracLegos

> create-trac-project --list-templates
Available projects:
topp_trac_project: The Open Planning Project Trac Template

> create-trac-project --list-repositories
Available repositories:
ExistingSVN: Use an existing repository
NewSVN: Create a new SVN repository

> create-trac-project -t topp-trac-project mynewproject # create a new project

Example of turning an existing project into a pastescript template:

> paster create -t trac_project foo
Selected and implied templates:
  TracLegos#trac_project  templatize configuration for a trac project

  egg:      foo
  package:  foo
  project:  foo
Enter file (file or project to templatize) ['']: /home/jhammel/20080519133401/projects/trachours/conf/trac.ini
Enter description (One-line description of the package) ['']: a new trac template based on the trachours .ini file
Creating template trac_project
Creating directory ./foo
  Recursing into +package+
    Creating ./foo/foo/
    Copying to ./foo/foo/
    Copying project.py_tmpl to ./foo/foo/
    Recursing into template
      Creating ./foo/foo/template/
      Recursing into conf
        Creating ./foo/foo/template/conf/
  Copying setup.py_tmpl to ./foo/
Running /home/jhammel/TracLegos/bin/python egg_info

Recent Changes

12984 by rjollos on 2013-04-19 16:30:50
Refs #7262: Point setup,py link to TracSqlHelperScript 0.11 directory rather than anyrelease directory.
8058 by ejucovy on 2010-06-02 17:24:22
apply slinkp's patch for preventing overwriting of existing projects (#7164)
7767 by k0s on 2010-03-10 01:10:24
slightly more verbose handling of the postgres database


Originally developed at The Open Planning Project

Author: k0s

Attachments (4)

Download all attachments as: .zip