User Tools

Site Tools


Kalibro Help for version 2.5

I will explain the each part and function of the Kalibro below. If you are looking for different version's help page, please check this page.

Main Window

Firstly, Here is a screenshot of main window

List of Devices

There is a “Quick Search” box and a list box on the left side of main window. All devices recorded in program are listed in the “List of Devices” box. Double clicking the records in the box will clear the form and fetch the data of selected device. The list box only contains the “Registry No” of devices. When a device is created, the list is updated automatically. If you cannot see the device you added, try CTRL+U shortcut to update the list manually.

“Quick Search” helps you to search in registry numbers if you type and press enter. Quick search will filter the devices if registry number contains or equals to search term. By clearing “Quick Search” box and pressing enter key or by clicking the cross sign in the box will clear the filter you applied and list all the registry numbers.
Note: All search operations are case-insensitive.

Form and Buttons

There are some predefined fields to create a device as can be seen from the image. Note that, registry numbers for all devices must be unique. Other than registry number, there is not any mandatory fields. If you are viewing a record or empty form, “Registry No” field becomes “readonly”.

Except “Next Calibration Date” and “Device Status” fields, all fields accept text and the character limit is not well defined by SQLite database so very long texts can be inserted if you need. Moreover, while searching, keep in mind that text fields are case-insensitive.

“Device status” field is a combobox and the values are entered by following the associated menu OperationsAdd/Remove Device Status as below.

Device Status

“Device Statuses” must be unique and statuses depend on your needs. There no predefined statuses, you should create them. If you do not need such a field, just do not use it, it is optional. After you save a new status or delete a status, “Device Status” combobox content is updated. Note that, if you want to delete a device status, you should change status of all devices which use that status.

Next Calibration Date

“Next Calibration Date” field is an important field if you want to track the upcoming calibration dates for your devices. Kalibro uses ISO Date format (year-month-day) as default but you can change it from menu SettingsLocalizeDate Format

Calendar window is enabled by clicking “calendar” icon next to “Next Calibration Date” field. After you choose date, press “Get And Close” button to set selected date in form. You can type the date without using the calendar, but you should write it in correct date format.

To see how many days are left for calibration, follow the menu OperationsCalibration Control. Lines in calibration control are colored using how many days left and devices are sorted accordingly.


List of buttons and their functions are listed below.

  1. Additional Fields: There are 4 different additional fields which can used to create new fields in addition to the fields on main form. This button opens a new form to edit the labels and the values of the additional fields. If there is not any active record on the form, button does not open the additional fields form.
  2. Save: Saves the active record on the form. There is an associated menu item for saving that is OperationsSave and the keyboard shortcut is CTRL+S
  3. Clear: Clears main form fields
  4. Delete: Deletes the active record and connected records in different units (history, report, additional fields) on the main form after asking if user wants to perform deletion
  5. Search: Search window is opened for advanced filtering


This grid section is intended to be used as tracking history, comparing planned/realized dates and embedding word, pdf, excel etc. reports for calibration activity and attaching file paths (ex. calibration result reports) associated with each row. There is a popup menu for grid operations which is activated by right clicking on the grid.

“Copy” & “Paste” is to copy grid cell content to clipboard or paste clipboard content to selected cells. Grid section has its own operations like “Save”, “Add Calibration Record”, “Delete Record”. “Save” action triggered from the popup menu only saves the grid section however “Save” in main form CTRL+S saves both form and grid.

“Add Calibration Record” menu item or CTRL+SHIFT+N just creates a new record in grid by assigning an ID and Registry No for row. After you fill the rest of cells or edit the cells on the grid, you must save grid content. There must be an active record on main form before creating new rows in grid.

“Date Picker” menu item creates a calendar window. After “Get And Close” button pressed, selected date is inserted into the cell on which you right clicked to open calendar.

“Open Report Store” menu item is deactivated if there is not any active record on the right clicked row of grid. When it is active, it opens a new window for attaching documents to the rows. Documents are inserted into database.

Different than “Report Store”, which embeds files in database, Kalibro also allows you to add/remove file paths to each grid row. If you drag and drop a file to the grid, file path is taken and put into “File Path” column of associated row. Under file path column, users can only see the file names (no whole path) in blue color but whole path is stored in database. When you put your mouse over file path column not empty, you can see the whole file path. This is an alternative way to store any binary file for calibration activity. Instead of dragging and dropping, users can use the “File” menu under right click menu of the grid. “File” menu allows users to attach/remove file paths and open file or open file's directory.

By using menu OperationsSave Sub Records to File or CTRL+SHIFT+F, you can save active grid content in CSV format.

Note 1: Planned Calibration Date and Realized Calibration Date are date fields and the rest is text. You must enter the dates in the format you selected from SettingsLocalizeDate Format.

Note 2: ID and Registry No columns are readonly and values are entered automatically.

Note 3: Grid row color changes after saved.

Calibrarion Result

As can be seen from Grid it has a “Result” column, which different than other columns because this column's values are entered from the menu below. This menu opens a new dialog which allows to create result types like PASS/FAIL. You can enter whatever you need, it is empty at first. This enables users to select different result types from predefined values for a calibration record. There is an example below.

Search Window

All the fields plus additional fields you defined are searchable. Search window is opened by “Search” button on main form. After searching, by clicking on lines of search result (if any) will make the record active on the main form. Additional fields labels changes if you label differently in “Additional Fields” window.

Reporting button is to open reporting window for the records in the search result list. Keyboard shortcuts can be seen from the “Operations” menu of search window.

You can enter any input into the fields and press Search Button. Then Kalibro searches your term in the shown fields and does case-insensitive search. If you do not use any special characters, your search term is searched whether the field contains the term and fetches the result(s) in the list below the form. If you want to do advanced search you should use special characters which are = % ; ! < > <= >= .. _

  • equal== equal-sign ⇒ If you put = before your search term, it means exact match
  • percent=% percent-sign ⇒ If you put % before/after/in your search term, it means zero/one/more characters in that position. Example 1: %def matches def or cdef or bcdef etc. Example 2: abc% matches abc, abcd, abcdef etc. Example 3: a%def matches adef, abdef, abcdef etc.
  • semicolon=; semicolon ⇒ Put semicolon between search terms in the same field to search with OR operator. Example: devicename1;devicename2 ⇒ searches both devicename1 and devicename2
  • exclamation=! exclamation ⇒ Put exclamation mark if you want the results having that field is empty
  • lessthan=< less-than ⇒ For numeric or date fields, matches records having field value less than your term. Example 1: <01-01-2016 Example 2: <20
  • greaterthan=> greater-than ⇒ Opposite of less-than operator
  • lessequal=<= less-than-or-equal-to ⇒ In addition to the less-than operator, it adds equality
  • greaterequal=>= greater-than-or-equal-to ⇒ In addition to the greater-than operator it adds equality
  • dotdot=.. dot-dot ⇒ If you put dot-dot between your terms in a single field, it brings the values between two search terms. It is useful for numeric and date fields. Example 1: 10..20 is between 10 and 20 including 10 and 20 Example 2: 01-01-2015..01-01-2016 is between 01-01-2015 and 01-01-2016
  • underscore=_ underscore ⇒ Matches exactly one character where it appears. Example 1: a_c matches abc or axc or aBc

Additional Fields Window

There may be some cases in which you may need some additional fields to store specific data. When there is an active record on main form, by clicking “Additional Fields” button, you can open the window. There are currently 4 different additional fields. First one is for integer values, second and third one are for text values and fourth one is for date values.

All additional fields' label can be changed by clicking the “Field Labels” button and editing the associated text boxes.

“Save” button saves both “Label Values” and “Field Values”. “Label Values” are same for all devices but “Field Values” are associated with the active device record. If you change the label values, after saving you need to close and reopen the “Addition Fields Window” to see the effect. Reporting and Searching use the label values appropriately.

Note: Clear all values from the fields and press save for deletion.


There are some settings for Kalibro described below.

  1. File encodings: By default, Kalibro uses the system default encoding but you can change it if you like. When you save CSV files, encoding is taken from this setting. If you have problems viewing your CSV file with MS Office Excel or Libre Office (Open Office) Calc, you can set the approptiate encoding till it is successful.
  2. Localize: You can change the language of Kalibro from available translations. If you want to support Kalibro with a different translation or improve translations, please read the instructions in Kalibro's Home Page. If you change the language, you must restart Kalibro to use it in selected language. You can also change the date format per your requirements from the “Date Format” menu and Kalibro handle your date inputs and representation appropriately. Default date format is “YEAR-month-day” (4 digit year).
  3. Version Check: At startup Kalibro checks if there is a newer version if menu item is enabled. (Default checked)
  4. Database Backup: While closing Kalibro, it creates a copy of its database if menu item is enabled. (Default checked)
  5. Splash Window: Kalibro shows its logo at startup. You can disable it if you wish by disabling the menu item. (Default checked)

Settings are saved in kalibro.cfg file in “config” folder of application directory. Please do not edit the file manually if you do not know how to edit python's configuration files.


Usage of Kalibro is very simple. From menu OperationsAdd Device or CTRL+N asks you if you want to create a new record. After accepting, form is cleaned and “Registry No” field becomes editable. You must save the record after you fill the fields otherwise it will not be a permanent record in database. After saved, you cannot change the registry number of the record. The only way is delete the record and create a new one.


Kalibro is able to give HTML and CSV reports. Follow the menu OperationsReporting to open reporting. “Toggle Items” button checks or unchecks all the devices in the list. You can access reporting from “Search Window” which lets you to have reports for filtered devices. Note: Only the checked items in the list is shown in reports.

After you checked the items you wish to see in report, press OK and select appropriate report format from the next dialog.

Note: Additional fields are always shown in CSV reports but in HTML reporting additional fields are shown if you enter data for those fields before reporting.

Calibration Date Control

Most important part is to use Kalibro's Date Control window. This window shows how many days left for calibration and users can print out a report to share with employees.


Kalibro uses SQLite as database. It is an ordinary file in application folder and named as kalibro.sqlite. All things except settings are recorded in this file, so this is the most important file you have in Kalibro. When Database Backup setting is enabled, another file as kalibro.sqlite.bak is created or replaced if exists. Sometimes, you should backup your database file to another location in case of data loss. You can compress your backups if you want to save some space. In future versions, internal backup will be better.


With the version 2.4b1 Kalibro supports importing data from CSV files. Please read the wikipedia page for CSV if you don't have much knowledge about the format. There are 6 different tables in kalibro database but 3 of them include vital data. 1st one is main table (holds form section data), 2nd one is subrecords table (holds grid section data) and 3rd one status table (holds status data). Important tables and their columns are listed below.

Tables Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
main registryNo deviceName deviceManuf manufSerialNo features comingDate description status
subrecords id registryNo plannedDate realizedDate trackingNo method result path
status name
result name

Note: Primary key columns of tables are written in bold.
Table relations are as below;

Columns' orders are almost same as they are seen in Kalibro's user interface (form and grid section). You can view all the tables with an SQLite editor mentioned in home page of Kalibro.

Database tables look like spread sheets with static column names and data types. It seems an easy job to import from CSV format to database however it is not very easy. Firstly, you may google to create/export CSV files from this link

Altough there are some tools on the internet to import data from CSV to other databases, I created one for Kalibro and for my other needs.
It is called csv2db-importer and it is a builtin tool (different executable) in Kalibro's application folder starting from version 2.4b1

Note: Firefox extension SQLite Manager can import from CSV and export to CSV for SQLite databases.

You should run csv2db-importer.exe (in application directory) after exiting Kalibro, if you will import data to Kalibro. Then create a copy of kalibro.sqlite file as kalibro.test.sqlite in case of any error. You should work on “kalibro.test.sqlite” file and after successful import, you can simply rename the file.

Note: If you have never used Kalibro before, running Kalibro one time creates kalibro.sqlite database file.

There is a file called kalibro_main.csv2db in application folder. This file holds the settings to be used in csv2db-importer to import to main table. For other tables check files having extension .csv2db in application directory.

When you open kalibro_main.csv2db file with csv2db-importer, settings will ben seen as shown in screenshot. You should correctly define date/time formats, column separator, string delimiter, etc. After CSV settings are set, you should select the CSV file. In the screenshot, main.csv file is selected as an example. Do not forget to read tool tips.

As shown in the screenshot, kalibro.test.sqlite file is selected to import in database settings tab. Columns can be entered into grid after clicking “Get Table Definition” button assuming table name exists. If table name does not exist, it populates table names in combobox, firstly. “Get Table Definition” button does not define columns' data types, so you should set them appropriately as shown in screenshot.

As can be seen from the screenshot there are two options namely “Insert” and “Update”. “Insert” is used for creating new records in database table, “Update” is used for updating existing records. if you choose both, csv2db-importer tries to create new record at first, if fails due to primary keys or unique constraints, it tries to update existing records. You can use only “Insert” or only “Update” per your requirements. If none of them is checked, grid in Import tab is populated as interpreted using the settings defined but import process does not import data to database. This can be used as a dry-run to test CSV and DB settings.

Finally, it is time to import. Be aware that number of columns in CSV file and number of columns defined in DB Settings tab must be equal and column order in DB Settings tab must be exactly same as the column order in CSV file. That is to say, csv2db-importer maps the CSV columns and database columns according to the order you defined.

kalibro/help/v2.5.txt · Last modified: 2016/08/06 20:55 by ozan