Cucumber-ish BDD for python
Pull request Compare This branch is 17 commits ahead, 175 commits behind gabrielfalcao:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Parallel Branch

to run in parallel use the -p <number_of_processes>

For example:

lettuce tests -p 4 -v 2

I recommend that number_of_processes = the number of cores you have on your machine


Version 0.2.19 - kryptonite

Build Status tip for next commit Badge

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

note this uses virtualenvwrapper to save some virtualenv handling hassle. you can also use virtualenv the regular way.

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

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-2012>  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 <>.