Available templates

Here is a list of all the templates, but also collectors, integrated into Projy at the moment. Of course, you can propose new templates, they’ll be integrated into Projy.

Project templates

Project templates are used to create a files/directories structure. That’s the second argument of the command line. For this list, the projects we create are all called TowelStuff. They are somewhat ordered by the programming language they use.

Python

These are Python or Django templates.

Django project

The command:

$ projy DjangoProject TowelStuff

produces:

TowelStuff/
    CHANGES.txt                 - PythonPackageCHANGESFileTemplate
    fabfile.py                  - DjangoFabfileTemplate
    LICENSE.txt                 - GPL3FileTemplate
    Makefile                    - DjangoMakefileTemplate
    manage.py                   - **generated by Django**
    README.txt                  - READMEReSTFileTemplate
    .gitignore                  - DjangoGitignoreTemplate

TowelStuff/conf/
    nginx.conf                  - DjangoNginxConfTemplate
    requirements_base.txt       - DjangoRequirementsBaseTemplate
    requirements_dev.txt        - DjangoRequirementsDevTemplate
    requirements_production.txt - DjangoRequirementsProdTemplate
    supervisord.conf            - DjangoSupervisorConfTemplate

TowelStuff/static/

TowelStuff/TowelStuff/
    __init__.py                 - **empty file**
    urls.py                     - **generated by Django**
    wsgi.py                     - **generated by Django**

TowelStuff/TowelStuff/settings/
    __init__.py                 - **empty file**
    base.py                     - **generated by Django as settings.py and renamed**
    dev.py                      - DjangoSettingsDevTemplate
    prod.py                     - DjangoSettingsProdTemplate

TowelStuff/TowelStuff/templates/

TowelStuff/TowelStuff/venv/
    ...

Directories TowelStuff/static/ and TowelStuff/TowelStuff/templates/ are created but empty. They are here to make a coherent and usable structure. The directory TowelStuff/TowelStuff/venv/ contains the virtual environment created for the project.

Python package

The command:

$ projy PythonPackage TowelStuff

produces:

TowelStuff/
    bootstrap               - BootstrapScriptFileTemplate
    CHANGES.txt             - PythonPackageCHANGESFileTemplate
    LICENSE.txt             - GPL3FileTemplate
    MANIFEST.in             - PythonPackageMANIFESTFileTemplate
    README.txt              - READMEReSTFileTemplate
    setup.py                - PythonPackageSetupFileTemplate

TowelStuff/docs/
    index.rst

TowelStuff/towelstuff/
    __init__.py

Python script

The command:

$ projy PythonScript TowelStuff

produces:

TowelStuff/
    TowelStuff.py           - PythonScriptFileTemplate

LaTeX

These are LaTeX templates.

LaTeX book

The command:

$ projy LaTeXBook TowelStuff

produces:

TowelStuff/
    TowelStuff.tex          - LaTeXBookFileTemplate
    references.bib          - BibTeXFileTemplate
    Makefile                - LaTeXMakefileFileTemplate

Note: the Makefile uses Latexmk.

Fabric file

The command:

$ projy Fabfile TowelStuff

produces:

/
    fabfile.py              - FabfileFileTemplate

This one is probably not generic enough, I added some stuff I use. Feel free to customize it.

Bootstrap

The command:

$ projy Bootstrap TowelStuff

produces:

/
    bootstrap               - BootstrapScriptFileTemplate

Yes, the name has no impact on the produced file. Don’t hesitate to make it short!

Projy itself!

Finally, a bit of a special template, which lets you create a Projy template and an empty file template from Projy itself. Call it meta if you want :-) See Extending Projy to know how such templates are meant to be written.

The command:

$ projy ProjyTemplate TowelStuff

produces:

/
    TowelStuffTemplate.py       - ProjyTemplateFileTemplate
    TowelStuffFileTemplate.txt

Collectors

Here is the list of currently available collectors: