Skip to main content

← Credits

Open source

Tools for FET

Version 0.3.0 · for FET 7.12.0 · free software (AGPL-3.0-only)

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

tools-for-fet-0.3.0.zip

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

CommandWhat it does
versionGives the tool version and the FET version that the tool matches.
catalogueGives 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.
labelsGives FET's own name of each rule type, in English and in FET's 25 translations.
parseReads a .fet file into one JSON model.
exportWrites a .fet file from that JSON model.
checkChecks a timetable model and gives the problems that it finds.
deleteShows 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.
removeShows which rules FET removes or changes when you delete an activity, a name, a day or an hour.
limitsGives the least value, the highest value and the default of each number field, for one timetable size.
broken-rulesLists the rules that a timetable with placed activities breaks. It can also write a copy of the file with those rules switched off.
batchRuns 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=ConstraintTeacherMaxHoursDaily

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

VersionFETDateArchive
0.3.07.12.03 November 2026tools-for-fet-0.3.0.zip

There is no warranty and no promise of support. Copyright © 2026 FET Viewer.