Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.


Version 0.2.23 - kryptonite

Build Status

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.


See full documentation on


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