Suitable for MRP, CRP, Master Planning, ... frePPLe
a Free Production Planning Library

Frepple aims at building a lightweight open source framework that easily and quickly delivers a solution for production planning problems. The initial focus is on small to medium sized planning problems for the discrete manufacturing industry.

Production planning software traditionally has been an area with plenty of home-grown, extremely specialised and/or very primitive solutions.
Strangely enough, while creative and innovative open source solutions pop up in all computing areas, production planning software still tends to be a very closed world full of academic, proprietary and expensive solutions. Till now...
Frepple is the first open source production planning toolkit for your day-to-day planning problems.

For the developer community, the project is also trying to establish a common ground framework for planning applications. Rather than rebuilding the basic foundation from scratch over and over again, developers can now leverage a proven framework to extend with their own extension modules.
New workflows and functionality can now be built much quicker and easier.

The word "free" in the project name refers to liberty, not price. Think of "freedom of speech" rather than "free beer": see the free software definition.

The software is still young. The functionality and API are enhanced very quickly.
Plenty of feedback is required to move the project forward. So, browse the site, have a look at the software and please mail us your feedback.
While there's plenty of work left, the software is quickly getting into a state where real-life problems can be handled efficiently.


The main features in brief:

FrePPLe has two main components.

  1. The first one is a core library containing the model and the solving algorithms.
    It is generic and can be used in a number of applications.
  2. A second component is a flexible user interface and database layer to support the core library.
    It takes care of the maintenance of input data, reporting of the plan results, and data integration to other systems.

The key features of each component are:

  1. FrePPLe core library

    • FrePPLe comes as a 'library' developed in C++.
      It has no graphical user interface and requires to be deployed as part of another application.
      Different applications are envisioned:
      • Standalone application for use on the command line
      • Microsoft Excel frontend
      • Accessable from programming languages such as java, python, perl or visual basic
      • Can be linked into your own C or C++ application

    • Modeling and solving framework for discrete manufacturing environments.
      Key modeling constructs are:
      • Item
      • Buffer
      • Resource
      • Operation
      • Demand

    • Heuristic "MRP-like" solving algorithm respecting capacity, material and leadtime constraints.

    • XML-based data input and output, in addition to the public C++ API.

    • Very fast! Performance and scalability have been a consideration from day one...

    • Extensible and customizable architecture.
      New modeling constructs and solving algorithms can be developed in C++ and loaded as a plugin module.

    • Embeds Python as scripting language.
      The embedded interpreter has access to the frepple objects in memory, combined with the rich functionality of the Python libraries. The powerful combination allows flexible and performant scripting, integration and customization.

    • Supported on Linux and Windows environments.

    • Licenced under the GNU lesser general public license.

  2. FrePPLe user interface and database layer
    A planning solution consist of much more than the core solver algorithms...
    It includes data maintenance, reporting, data integration to other systems, workflows, job schedules, etc...
    A front-end for the core library is required to meet these requirements with a maximum of flexibility.

    • Based on the Django web application framework.
      Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design.
      For frePPLe it provides an excellent toolkit:
      • Flexible and portable modeling of database layer: powerful and intuitive object-relational mapper
      • Flexible and performant framework for web applications: auto-generated administration user interface, template system, cache system, internationalization, ...
      • Performant and scalable

    • Highly customizable and extendible.

    • The web application can be deployed on a web server, supported by a backend database.
      It can also be installed as a desktop application for a single user.

    • Supports the PostgreSQL, MySQL, SQLite and Oracle databases.

    • Full support for internationalization and localization.
      The user interface supports Unicode, allowing characters of any language to be handled.
      Reports can be translated to the user's local language.

    • Supported on Linux and Windows environments.

    • Licenced under the GNU lesser general public license.


How can you contribute?

We need your help: developers, testers, writers, implementers and, most of all, users. No matter which 'er' you happen to be, or how much time you can provide, you can make valuable contributions.

  • Provide feedback:
    Suggest a needed feature, report a bug, tell us what you think...

  • Spread the word:
    Reference frePPLe on your site, suggest improvements to the website, use frePPLe in your own projects, ...

  • Join in:
    Review the code, fix a bug, improve the documentation, submit a test, implement a new feature, ...

In short, we're just getting started. There's still plenty to do.
All contributors are recognized in the authors list.

NEWS                Subscribe

3 May 2008: Release 0.5.0 available
*** Modeling enhancements
- Support for date-effective entities
- Improved calendar model
*** Solver enhancements:
- Improved resource solver and problem detection logic
*** Much more powerfull and sophisticated Python interface
*** More consistent and cleaner API, including plenty of backward incompatible changes
*** Usability improvements in the user interface
- Same look and feel for input and output reports
- Easy selection of of time bucket
- Improved CSV export and import
- Updated to use the latest Django version, including the refactoring of querysets and paginators
*** Cleanup:
- removed Excel-based user interface
- removed support for object level locking
*** Beta enhancements:
- more generic linear programming solver

1 January 2008: Release 0.4.0 available
- Improved plan quality: smarter solver...
- Better planning performance: up to x3 for some models
- Plenty of enhancements in the user interface: filtering and sorting, new kpi report, improved demand and forecast report, ...
- Added (experimental) webservice module.
- The release has significant backwards incompatible changes that are required to make the API and data model more consistent and generic.

25 Oktober 2007: Release 0.3.2 available
- Performance improvements and reduced memory consumption
- Support for internationalization in the engine and the user interface (prototype in Dutch only now)
- Plenty of enhancements in the user interface.

29 August 2007: Release 0.3.1 available
- Improved user interface: sorting, filtering, drilldowns, csv export, ...
- Improved solver logic and much better plan quality
- Improved installer: now allows selection of the database parameters, possibility to start the server after the installation
- Forecast module now has logic to handle discreteness during forecast editing and forecast netting
- Improved logging: Added support to appending rather than overwriting, bug fix on windows.

20 July 2007: Release 0.3.0 available
-Major update in the user interface: All-in-one installation of user interface, python, web server and database!
- Big performance improvements of the user interface.
- Support for PostgreSQL, MySQL and SQLite databases.
- Forecast module greatly improved: allows for forecast distribution and netting of orders against forecast.

3 June 2007: Release 0.2.3 available
Changes include a greatly improved django user interface, a new buffer model to model a reorderpoint inventory policy, support for time based safety inventory, ...

22 May 2007: Mailing list
A mailing list is set up to notify developers about all commits to the Subversion repository.
Click here to subscribe...

4 march 2007: New web site!!!
Frepple now has it's own place on the web. The web site moves from http://frepple.sourceforge.net