Open source
Tools for FET
Tools for FET is a set of developer tools for FET timetable files.
FET (Free Timetabling Software) is the timetable program by Liviu Lalescu and Volker Dirr: lalescu.ro/liviu/fet.
The tools have no screens. A program sends data in, and the tools send data out as JSON.
FET Viewer uses these tools. The tools are not part of FET. The FET authors do not support them.
Download
Size
374 KB (383,091 bytes)
Date
3 November 2026
SHA-256
1d786213cba677ab866949b03d55f58f6b4e249886d0078d4c2672e65da0903b
What it contains
1. A command-line tool (PHP): bin/fet-tools
| Command | What it does |
|---|---|
version | Gives the tool version and the FET version that the tool matches. |
catalogue | Gives FET's facts for each rule type: the number ranges, the limits, the modes, and the fields that name a teacher, a room or other items. |
labels | Gives FET's own name of each rule type, in English and in FET's 25 translations. |
parse | Reads a .fet file into one JSON model. |
export | Writes a .fet file from that JSON model. |
check | Checks a timetable model and gives the problems that it finds. |
delete | Shows what FET does to the activities and the lists when you delete a teacher, a student set, a subject, an activity tag, a room or a building. |
remove | Shows which rules FET removes or changes when you delete an activity, a name, a day or an hour. |
limits | Gives the least value, the highest value and the default of each number field, for one timetable size. |
broken-rules | Lists the rules that a timetable with placed activities breaks. It can also write a copy of the file with those rules switched off. |
batch | Runs many requests in one call, and gives one answer for each request. |
2. A browser library (JavaScript): js/fet-tools.js
The library runs in a Web Worker. It reads the text of a .fet file and checks it in the browser.
3. Label files for the browser: js/fet-labels.<code>.js
One file for each language. Each file holds FET's names of the rule types in that language.
All answers hold codes and values, not sentences. Your program writes the text for people.
What you need
- PHP 8.3 or later for the command-line tool. Some commands also need the PHP extensions ctype and dom. The INSTRUCTIONS file lists them for each command.
- A browser with Web Workers for the browser library.
Quick start
php bin/fet-tools version
php bin/fet-tools limits --mode=Official --days=5 --hours=8 --types=ConstraintTeacherMaxHoursDaily
php bin/fet-tools parse school.fet
php bin/fet-tools labels --lang=de --types=ConstraintTeacherMaxHoursDailyThe command-line check reads a model in the tool's own JSON format. The browser library reads .fet files.
The archive has an INSTRUCTIONS file. It says what each command reads and what it answers.
The download contains no .fet files. Use your own files.
Licence and credit
Tools for FET is free software under the GNU Affero General Public License, version 3 only (AGPL-3.0-only). The archive holds the LICENSE file.
Some files are based on FET's source code, © Liviu Lalescu and Volker Dirr. The rule names in the label files are FET's own text, translated by FET's translators. The NOTICE file in the archive lists these files.
Versions
Each release is one archive. This page has the latest version. If fetviewer.com uses an older version, that version also stays on this page.
| Version | FET | Date | Archive |
|---|---|---|---|
| 0.3.0 | 7.12.0 | 3 November 2026 | tools-for-fet-0.3.0.zip |