This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Woodpecker is a Python package that aims to be a lightweight — but complete — load generator and analysis tool for various environments.

While other far more famous tools like HP LoadRunner(R) or Apache JMeter either propose a complex and heavy application to perform load tests or require a very expensive license to work, Woodpecker’s main focus is on easiness of use, small memory footprint and smartness in data analysis — and, most of all, it is an Open Source Software since is released under the GNU LGPL version 3 license.

This project is still in development phase, but first benchmarks shows that the memory footprint for each Virtual User (here called spawn) is about 516 Kb. When the first development phase will be completed, this package will become publicly available for download from PyPi.


At the moment the libraries required to run Woodpecker are the following:

  • python-dateutil
  • colorama
  • click
  • psutil
  • requests

All of them are hosted on PyPi and can be installed using pip or easy_install:

pip install -r requirements.txt

Planned features

  • Command-line interface to initialize scenarios, create transactions from HAR files, start/stop controller and remote spawners and analyze results

  • Fully portable results storage in a single SQLite3 file

  • Generic load profile generation by combination of basic ramp elements

  • Capability to generate load on:
    • Web pages using HTTP protocol
    • SOA services
    • Databases
    • Web Video Streams
    • Sockets
  • Powerful HTML report creation using the Jinja2 templating engine (with PDF output, too)

  • SLA support and real-time or a posteriori check

  • Easy parameters retrieval and reuse, also in different transactions

  • Custom transactions support

  • Requests result assertions

  • Different spawning logic (using threads or sub-processes) to optimize memory consumption different architectures

  • Easily switch between different load configurations by changing one parameter in command-line invocation

  • Embedded system monitor (CPU and memory usage) for both controller and spawners

Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting