Cucumber-ish BDD for python
Python JavaScript Shell
Clone or download
Pull request Compare This branch is 1 commit ahead, 468 commits behind gabrielfalcao:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Version 0.1.35 - barium

On release names

Lettuce release names will be inspired by any green stuff.

Barium: In form of "barium nitrate" is commonly used to make green fireworks. Such a good name for a first version :)


Lettuce is a BDD tool for python, 100% inspired on cucumber.


  1. Cucumber makes Ruby even more sexy. Python needed something like it.
  2. Testing must be funny and easy.
  3. Most python developers code in python, not ruby.
  4. Ruby has Capistrano, Python has Fabric. Ruby has cucumber, Python has lettuce.
  5. I personally don't like mixing many languages in small projects. Keeping all in python is better.
  6. I love python, and ever did. But I also ever missed something that make writing tests easier and funnier.
  7. I like nose, which is a unittest pythonic framework. However, as the project I work on grows, so do the tests, and it becomes harder to understand them.


you will need to install these dependencies in order to hack lettuce :) all them are used within lettuce tests

you could use a virtualenv:

> mkvirtualenv lettuce
> workon lettuce
> pip install -r requirements.txt

or just install manually:

> sudo pip install -r requirements.txt

or do it really from scratch:

  • nose

    [sudo] pip install nose

  • mox

    [sudo] pip install mox

  • sphinx

    [sudo] pip install sphinx

  • lxml

    [sudo] pip install lxml

  • tornado

    [sudo] pip install tornado

  • django

    [sudo] pip install django


  1. fork and clone the project
  2. install the dependencies above
  3. run the tests with make:

    make unit functional integration doctest

  4. hack at will
  5. commit, push etc
  6. send a pull request

keep in mind

your lack of tests if disturbing the force

that lettuce is a testing software, patches and pull requests must come with automated tests, and if suitable, with proper documentation.

mailing list

for users

for developers

Special thanks

  1. Cucumber crew, for creating such a AWESOME project, and for inspiring Lettuce.
  2. Tatiana for helping a lot with documentation.
  3. Django which documentation structure was borrowed.
  4. Andres Jaan Tack for his awesome contributions
  5. Erlis Vidal for creating a tutorial of how to install lettuce on windows.

Known issues

windows support

erlis have made a awesome job by making lettuce work on windows. He posted here how to install lettuce on windows.


<Lettuce - Behaviour Driven Development for python>
Copyright (C) <2010-2011>  Gabriel Falcão <>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <>.