User Tools

Site Tools


Kalibro - Calibration & Maintenance Management


Kalibro is an open source free software to manage devices and tools for calibration and maintenance records. It helps you to keep inventory and reminds you the scheduled dates. Kalibro also help you to satisfy the requirements of the Quality Management Standards like ISO9001, AS9100, TS16949. Manufacturing, Quality and IT departments of small/medium sized companies are targeted to use Kalibro. You do not need to use spread sheet files to save your critical calibration records. Starting from version 2.4b1, you can now import calibration records from CSV files which can be generated from spread sheets.
Kalibro is free and will always be free.

Donations are accepted over crypto currencies. Open Source Free Software does not mean costless 8-)

Bitcoin Address: 1LQWgKfvcaYuV6YYL8B3T1YvPxhYGqzroN

Ethereum Address: 0x292ecea03f775b015a3c028c62863a059a3163e3

If you have other coins let me know and I will add them.

Version 2.7 is available. Why don't you install it now?

Check release notes to see what is new.
Check new Help Page.

Download Kalibro for Calibration & Maintenance

Kalibro, is programmed with Python® programming language and uses SQLite as database.

“Python” is a registered trademark of the Python Software Foundation


Mark Chappell has contributed to create and develop new features, share his user manual with community and he has been helping me improve Kalibro with his continuous process improvement skills within the manufacturing sector. He has a company in United Kingdom and he has been providing training options and customization for United Kingdom companies at competitive prices. Here is his company's logo. Contact him via

Tuğba Yıldız (my funniest friend) has contributed to add new features, fix bugs and translations.
MadCzarls has contributed to Polish translation and fixing translation issues whenever needed.
MadCzarls has contributed to Polish translation and fixing translation issues whenever needed.
Daniel G. Schlickmann has contributed to Portugese-Brazil translation.
Michal Stiglic has contributed to Slovak translation.

On behalf of the community, I thank you very much for your great support.

Bug Reports - Feature Requests

You should use Kalibro's issue tracker for feature requests and bug reports at You may comment, vote and watch the bugs/proposals/enhacements.


GNU General Public License v3

free software license, which guarantees end users (individuals, organizations, companies) the freedoms to run, study, share, copy and modify the software

Note: You cannot use Kalibro in a closed source commercial application with GNU General Public License. If you need to, please contact developer for commercial support and commercial license.


Kalibro currently has English, Polish and Turkish translations. You can help to improve translations or add your native language with the help of Zanata (online open translation) or contact me via discussion below or email. This is Kalibro project's link at Zanata. You can login zanata with your current yahoo/fedora accounts or by creating a new account.


Images may belong to old versions.
Screenshots page


Version 2.7.0 MD5Sums
Version 2.6b1 MD5Sums
Version 2.5 MD5Sums

To see all MD5 hashes, follow this link.

Kalibro has a git repository at Bitbucket. You can checkout the latest version content as below;

git clone --recursive -b v2.7

Requirements For Windows

  1. Supported Operating Systems: Win XP, Vista, 7 or 8
  2. Extract the zip file and run “Kalibro.exe” file

Tested on Windows 7 and 10

Requirements For Linux

  1. Install Python 2.7 (already included in most Linux Distros)
  2. Install wxPython 3.0.2 (apt-get install python-wxgtk3.0)
  3. pip install -r requirements.txt
  4. User must have write permission in application directory

Tested on and Debian 8 (Jessie) GNU/Linux

How to Upgrade

  1. If you use version 2.4 or older, you must upgrade to version 2.5 at first then to newer versions
  2. Backup “kalibro.sqlite” database file in application directory
  3. Copy “kalibro.sqlite” file from old application directory to new application directory
  4. If you changed “report.html” file or images files, backup them before upgrade
  5. Run new application
  6. Do your upgrades version by version. During each version upgrade run the application and see if everything looks alright.

Source Code Installation

  • Extract the tar.gz file and run “” file (make file executable)


$ git clone --recursive
$ chmod +x kalibro/
$ cd kalibro
$ ./

Build Exe from Source Code for Windows

  1. Requirements: Python 2.7 , wxPython 3.0.2 , and py2exe 0.6.9 and pip install -r requirements.txt
  2. UPX is (optional) to compress DLL files
    set UPX_PATH environment variable to path of upx.exe
  3. Run “” in source code and “dist” directory is created under same directory

How to use Kalibro

Please check Help Page.

How to backup Data:

Simply, copy the “kalibro.sqlite” file under your installation folder to any place.

How to backup HTML report:

If you have changed the HTML report of Kalibro (report.html file under application directory), back it up before upgrade


Kalibro supports English, Polish and Turkish languages with the help of GNU gettext. If you want Kalibro to speak your mother tongue,

you can follow the following steps;

1 - Get the “Kalibro.pot” file under “locale” folder of Kalibro source code.

2 - Use an editor to edit PO file generated from POT file, for example, you can use Poedit.

3 - Submit your PO file after you have completed translation to me.

or use Zanata

Recommended SQLite Browsers/Managers:

SQLite Manager - Firefox Extension
SQLite Database Browser

Release Notes

Kalibro v2.7 (2018-04-21)
    - fixed some bugs
    - added new translations (Slovak and Portuguese-Brazil) by Michal and Daniel
    - added donation window

Kalibro v2.6b1 (2016-10-16)

    - added unit tests
    - improved code for testing
    - added appveyor Continuous Integration support
      for testing and building on windows
    - added "User Management" feature
    - added "Device Owner" feature
    - added history log tables and triggers
      for main, subrecords, mainAddField, mainFieldLabel tables
    - added history log reports for device status and owner
    - improved UX
    - improved search window UI
    - removed simple backup feature
      Do not use kalibro.sqlite.bak file, it is not updated anymore
      You can use windows task scheduler or
      Linux cron jobs to get backups to another location
    - new translations under locale folder are auto discovered
    - code cleanup/refactoring

Kalibro v2.5 (2016-08-06)
    - added print feature to calibration control window
    - added new columns to calibration control window
    - calibration result types can now be defined and selected
    - UI improved for files stored in report store for easier access
    - add new columns to Grid ("result" and "file path")
      instead of embedding reports into database, file paths can be attached to calibration records
    - fixed critical bug causing overwrite while adding new record
    - fixed current working directory bug in report store
    - fixed additional fields search bug

For release notes of older versions, click this link.


Karol, 2016/02/10 18:09

Hi, really useful program ;)

Can you tell me how can I submit my translation (into polish)?


Ozan HACIBEKIROGLU, 2016/02/11 13:19

Hello, thank you for your concern. There are two ways to add translations to Kalibro. You can login to Zanata and find Kalibro then translate it with an online editor as I wrote in “Translation” section above. Second way, there is a “Kalibro.pot” file under application directory of Kalibro. You can add your translations to this file with the help of a “po file editor software” (for example: poedit, which is free as well) then submit it to me either by email or by pull request from bitbucket if you are accustomed to. Let me know if you have any problem with any tool so I can help you.


Rex, 2016/03/16 17:04

How do we import data from excel?

Ozan HACIBEKIROGLU, 2016/03/17 23:00

Hello, sorry for my late reply, I had an operation so I have not been available for about 1 month. Importing from excel or csv file is an already requested feature, so I will work on that when I am OK. I cannot assure you about the exact release date but I can promise you that it will be released at the start of May. Please follow this page to get the latest news.

YewPing Ling, 2016/05/26 13:31

Hi, just wondering if the excel or csv import function is available

Ozan HACIBEKIROGLU, 2016/06/02 20:01

Hello, new version will include an importer and I started work on it today so at the end of next week probably.

Ozan HACIBEKIROGLU, 2016/06/17 14:25

It is available now ;-)

dring, 2016/10/08 09:45

First, version 2.5 can be installed, and works, with “python-wxgtk3.0 (” available for Debian 8 jessie? v.2.5 needs absolutely the 3.0.2 version? I'm interested to transalate in italian language.

Ozan HACIBEKIROGLU, 2016/10/08 12:23

Hi, wx 3.0.1 is also OK. Version 2.6 is about to be released next week. Thank you for your interest, If you send your email address I will send you the instructions and we can solve Linux specific problems and requirements too.

Aditya, 2017/04/23 11:24

Can this be installed on a server for multi user support? Also is there a provision for automated email notifications to custodians for items that are due for action?

Thanks. Aditya

Ozan HACIBEKIROGLU, 2017/04/24 16:54

Hello Aditya,

Kalibro is a serverless program for now but it can be changed in the future. However, you can create multiple users from Kalibro and share kalibro installation directory in your network so that anyone having read/write permission to shared directory use Kalibro with predefined Kalibro user account. Kalibro's database is a single SQLite file as “kalibro.sqlite” and it is located in the directory where kalibro.exe is. You must backup this file frequently. Moreover, email notification feature will be in the next release however I do not have time to develop it since I am very busy recently. Let me know if you have any questions.

syahbudin, 2017/04/25 09:36

translate with indonesia, thank you

Ozan HACIBEKIROGLU, 2017/04/27 07:52

Hello syahbudin,

Sorry, I don't know Indonesian. I will be glad if you can help to translate. Translation instructions are in this page.

Sandeep, 2017/05/08 08:13


Give me the detailed prceducre to install on ubuntu13.04

Sandeep , 2017/05/08 10:42


It can be possible to install version 2.5 on Ubuntu 13.04 ?

Ozan HACIBEKIROGLU, 2017/05/08 11:09

Hello Sandeep,

Linux installation is described in installation section. Briefly,

1) Download .tar.gz file from bitbucket for appropriate version and extract it to a folder

2) Install required Debian/Ubuntu package (wxPython)

apt-get install python-wxgtk3.0
apt-get install python-pip

3) Install Python requirements (cd into kalibro folder)

pip install -r requirements.txt

Note: you can ignore pip installation errors because some python packages are for windows and pip does not install them.

4) make executable and run

chmod +x

I use Debian (Jessie/8) and If some packages have different names in Ubuntu, you should figure it out to find appropriate packages.

Sandeep, 2017/05/10 07:35


Installed the Kalibro 2.5 on Ubuntu 17.04 and it's working fine but I don't know how to access from network PC's windows or linux 

Thanks Sandeep

Ozan HACIBEKIROGLU, 2017/05/11 12:04

Hello Sandeep,

Kalibro is a serverless application so it has not client/server architecture. The database of Kalibro is in the installation folder, named kalibro.sqlite. In order to share Kalibro with other users you can share the installation folder of Kalibro with other users as samba or nfs share.

Have a nice day.

Sandeep , 2017/05/12 09:52


I trying  to install Kalibro2.5 on my live RDP server Ubuntu 14.04 but it shows the following error
[email protected]:/home/sandy# apt-get install python-wxgtk3.0

Reading package lists… Done

Building dependency tree

Reading state information… Done

E: Unable to locate package python-wxgtk3.0

E: Couldn't find any package by regex 'python-wxgtk3.0'

[email protected]:/home/sandy#

Ozan HACIBEKIROGLU, 2017/05/12 13:07, 2017/05/12 13:10

Hi Sandeep,

It looks like Ubuntu 14.04 does not have python-wxgtk3.0 package, you may try python-wxgtk2.8. However, I have not tested Kalibro with 2.8 so you can come across with errors, I am not sure.

Brian Penny, 2017/06/07 12:02

Hello Sandeep Congratulations on a very successful program. Thank you very much. Please tell me, is there any way to sort the gauges according to when they were last calibrated? I sometimes need this for reporting. I can go to “Operations” and select “Calibration control” but this only tells me how many days until the gauges are next due. Can this be modified to select other data, such as how many gauges are overdue, how many are due next 30 days, how many calibrated in the last 30 days . Thank you very much Kind regards Brian

Ozan HACIBEKIROGLU, 2017/06/07 13:10

Hello Brian,

I am Ozan :-) I am going to add your feature request to issues list and you can track it from there. Thank you for your interest and input. Regards. Ozan.

Ozan HACIBEKIROGLU, 2017/07/12 09:38

Hello Chase;

I accidentially deleted your comment with SPAM comments. Sorry about that. Fortunately, comments are emailed when entered. Your original comment is below;

Hello Ozan,
I have a question on the maintenance portion of the software. Currently I only see the ability to add records/dates for calibration events. Is it possible to add maintenance records and schedules for equipment? These would be different dates for the same item. For instance if you calibrate a device annually, you may perform maintenance on a quarterly basis. I don't currently see how to do that.

My first intention about Kalibro was handling maintenance and calibration as you expressed. However, no request has come from community to add such functionality so I have not done anything about it. Currently, it does not support multiple or generated planned dates for devices. In the future it will have it. Regards.

Chase H., 2017/08/02 17:39

Thanks for the feedback. Do you have a timeline for when something like this might be implemented?

Ozan HACIBEKIROGLU, 2017/08/12 06:36

Hello Chase,

New changes will be in 2018 due to my current job.

ady, 2017/08/11 07:15

Hi ozan,

how to install kalibro on window 10? I cant open after install it, it show “you do not have write permission …” .

Ozan HACIBEKIROGLU, 2017/08/12 06:42

Hello Ady,

I think you installed it in program files folder which requires administrative privileges so if you uninstall it and install it to a different folder, e.g. documents, you can use it without extra permission. Let me know if you need help.

Alexandros, 2018/01/30 15:37


I have about 250 records that i want to insert to your software. My excel columns are underneath. Is there a way to import my records with these criteria?


PRESSURE GAUGE / EN183 / 125475V-2 / CERTIFICATE OF CALIBRATION / R-123456 / ATT - 001 CAL / SERVICEABLE / ATH STATION / TOOL / WIKA / 16/01/2018 / 16/1/2019

Regards Alex

Dan, 2018/02/19 00:20

Hello Ozan, I have written something very similar to this in c#. Could I offer it to you for cross examination? If you would like the help, I can try to contribute to what you are working on now.

I am self-taught in c# just for the purpose of writing my software. I handle the Gauge Calibrations and tracking thereof for my employer. We used excel when i got the position.

I am only familiar in c#. I am currently working on porting a mobile version of my software to android.

Ozan HACIBEKIROGLU, 2018/02/20 11:28

Hello Dan, it is nice to hear that you work on a similar project. If you share your program with me, I can share my experiences.

Recently I master my GoLang skills with other programs I need. I hope within this year I will code Kalibro as a web application with Go+HTML+JS from scratch.

I am open to any help and cooperation. Please send email. Have a good day.

Tristan, 2018/05/08 02:48

Great program.

Are there any addins for a device booking system where we can check in/check out equipment and it and provides a historical log?

Ozan HACIBEKIROGLU, 2018/05/09 06:58

Hello Tristan,

Unfortunately there is not check in/check out feature however when you change the device owner and status, it collects the data and shows the current/old statuses and owners. Try this by changing/saving owner and then check the report in Operations>History Log>Device Owner Duration Report. I hope this helps.

ed, 2018/07/10 16:39

Hi Ozan,

Is there any current way to receive an email notification of gages approaching a cal date? Perhaps an upgraded feature in a new release?

Thx, Ed

Ozan HACIBEKIROGLU, 2018/08/12 20:08

Hi Ed,

Sorry for late response. I am planning to release a new version within 3-4 months. I am writing code from scratch and it will include such features. You can request new features using

Kurt, 2018/08/10 16:03

When i try to run the importer I keep getting errors. I have the 8 columns listed in the order listed.

I keep getting this error OperationalError: (sqlite3.OperationalError) unknown function: get_user() [SQL: u'INSERT INTO main (“registryNo”, “deviceName”, “deviceManuf”, “manufSerialNo”, features, “comingDate”, description, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: (u'M216 ', u'M16X2 PLUG GAGE', u, u'N/A', u'INSP. DESK - DWR F2', '2018-08-16 00:00:00.000000', u'Sent Out for Calibration 8-8-18', u)]

ERROR While Adding record={u'status': u, u'deviceName': u'M16X2 PLUG GAGE', u'features': u'INSP. DESK - DWR F2', u'comingDate':, 8, 16), u'registryNo': u'M216 ', u'deviceManuf': u, u'manufSerialNo': u'N/A', u'description': u'Sent Out for Calibration 8-8-18'} Line No=1 ROLLBACK

Any suggestions?

Ozan HACIBEKIROGLU, 2018/08/12 20:11

Hi Kurt,

Send me your email address or post this issue to so I can check what is wrong and post the fix if applicable.

Moisés , 2018/11/15 11:46

Hi Sir,

Can you add some fields like this program too? []

Thank you and best Regards


Ozan HACIBEKIROGLU, 2018/12/11 11:26

Hello Moises,

Can you please write the each field in an email and send me what exactly you want to have please? Regards.


Robert Niro, 2018/12/10 05:54

Dear kalibro Team,

I'm supposed to make a donation for this great software. Can I ask you for paypal account maybe. I dont hv any cryptopcurrency acc. Sorry and thank you


Ozan HACIBEKIROGLU, 2018/12/11 10:36

Hello Robert, Thank you. Paypal is not allowed in Turkey so I prefer crypto. If you don't have a cryto account, it is OK. May be later. Regards.

Robert Niro, 2018/12/11 07:59

Dear Ozan,

I appreciate your software. It's such an amazing work.

But I hv some issue when trying importing from csv, it said: “ Traceback (most recent call last):

File "csv2dbimporter\core.pyc", line 249, in read_csv_line
File "csv2dbimporter\core.pyc", line 40, in conv_int

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

Importing to database is cancelled due to errors ”

Does the error comes from my CSV original file, or is it from the CSVimporter itself? Your help would be very mean for me. Thank you in advance

Ozan HACIBEKIROGLU, 2018/12/11 10:31

Hello Robert, The problem is most probably because of the CSV file is not encoded in UTF8. You can open the file with an editor like Notepad++ and convert the file encoding to UTF8(without BOM) and try importing again. If you still get error, send me an email. My email is in text file or in about menu. Regards.

Dean, 2019/01/18 04:34

Hi Ozan.

Thank you for sharing this brilliant calibration tool! Is there a way to customize the calibration history headings in the table? I'd like to change “Report No” to “Calibrated By” if possible. Thanks again for sharing your program!

Ozan HACIBEKIROGLU, 2019/01/18 07:16

Hi Dean, I am glad it is useful for you. You can change the headings by changing the translation files under locale folder. I used GNU gettex functions in Python for translations so editing “.po” file and compiling it to “.mo” file under english translation folder will change the heading when you start the program. Let me know by sending email if you cannot do it. Regards.

ismail inci, 2019/01/18 12:18

Merhaba Ozan bey

Ben bir kalibrasyon ve validasyon firmasına destek vermekteyim. Firma içinden Met/CAL Fluke yazılımı kullanılmakta. Bu yazılım cihaz kalibrasyonları yapmanın yanı sıra ayrıca Cİhaz kabul ve cihaz return işlemlerinide kayıt altında tutmakta.

Bahsettiğim Kabul ve Teslimat işlerini programınız da yapıp Met/CAL ile online iletişim kurması için bir çözüm geliştirebilirmiyiz. Teşekkürler.

Ozan HACIBEKIROGLU, 2019/02/21 16:43

Merhaba İsmail Bey, bahsettiğiniz yazilimi bilmedigim icin destek olamiyorum kusura bakmayin. Developer dokumani varsa Met/Cal ın fizibilitesine bakabilirim. Iyi gunler dilerim.

Rameez, 2019/02/21 04:43

Hello, First of all Kalibro is a great software which has helped me a lot. Thanks to its developer(s) from the bottom of my heart.

Now the problem i face is…when I generate any reports, I see “Kalibro - Reporting” at the top. Is it possible to edit that and put my company name over there.

Any help will be highly appreciated.. Thanks a ton

rameez ajmeri, 2019/02/21 05:32

Hello there,

any possibility of changing heading “Kalibro - Reporting” to custom name?

If yes, please guide me.

Thanks & Best Regards

Ozan HACIBEKIROGLU, 2019/02/21 16:40

Hello Rameez, you can customise report.html file in application directory to edit the report title and icon. Regard

Enter your comment. Wiki syntax is allowed:
python/misc/kalibro.txt · Last modified: 2018/04/24 09:03 by ozan