Home Forums Software Development Python

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
  • #13754

    The Tobii Pro SDK seems to be free… but I’m running some python code and not getting any tracking data. Trying to develop a game.

    Code is from example:
    import time

    import tobii_research as tr

    found_eyetrackers = tr.find_all_eyetrackers()

    my_eyetracker = found_eyetrackers[0]
    print(“Address: ” + my_eyetracker.address)
    print(“Model: ” + my_eyetracker.model)
    print(“Name (It’s OK if this is empty): ” + my_eyetracker.device_name)
    print(“Serial number: ” + my_eyetracker.serial_number)

    def gaze_data_callback(gaze_data):
    # Print gaze points of left and right eye
    print(“Left eye: ({gaze_left_eye}) \t Right eye: ({gaze_right_eye})”.format(

    my_eyetracker.subscribe_to(tr.EYETRACKER_GAZE_DATA, gaze_data_callback, as_dictionary=True)


    my_eyetracker.unsubscribe_from(tr.EYETRACKER_GAZE_DATA, gaze_data_callback)

    Grant [Tobii]

    Hi @drdevil44 and thanks for your query. Indeed the Tobii Pro SDK Python Bindings are free of charge to download and whilst they will work without issue on the Tobii Pro range of eye trackers, in order to use this SDK with the consumer level of Tobii Eye Trackers (such as the 4C) this will require the purchase of a special analytical use licence which comes with an unlock file that will allow proper operation.

    If you are interested in this, then you can read more @ https://analyticaluse.tobii.com/

    Otherwise, for interaction development using the 4C, you will need to use our consumer range of SDK of which we have several which you can download and test @ https://developer.tobii.com/consumer-eye-trackers/

    I would recommend that interaction library for a quick and easy way to get started. Please do let us know if we can provide any further information.



    I’ve written some python bindings for the interaction api. Are there any AUP restrictions on me distributing them?


    Grant [Tobii]

    Hi @drdevil44, unfortunately it is a breach of the Tobii SDK licence agreement to create bindings in this fashion.

    From the full agreement @ http://developer.tobii.com/?wpdmdl=203

    Our Software Development License Agreement states in section 2.2:
    “iii) Your Software may not expose an API which exposes Eye Tracking Data”

    Sorry about this, but if you wish to use python within our licencing framework, you would need to purchase the analytical use licence as I outlined above. Thanks for your understanding.


    OK Thanks for clarification.

    Reading the agreement it seems I can use it in my own python code but cannot share it. As long as my code does not expose an API.

    Presumably, if I develop my own USB driver I’m not bound by any of these restrictions.

    Grant [Tobii]

    Hi @drdevil44, I am not sure what you mean by USB Driver.. could you kindly clarify your intentions in this regard?

    Even if you do not share your wrapping API, if the project intention is for analysis or storage of eye-tracking data, then this is still technically in breach of the SDK licence agreement and requires the purchase of the analytical licence to do so.


    That’s fine, its for interactive use only.

    Re USB – I meant, the restriction on analytical use apply only to the SDK right, not to the hardware. So if I didn’t use the SDK, I could use the hardware for whatever I please?

    Grant [Tobii]

    Hi @drdevil44, okay thanks for letting us know. Interaction based applications developed with our SDK comes with no requirement for the analytical licence, so if your project is for that purpose you need not worry.

    However, the use of the 4C for analytical purposes under any circumstance does require this licence to proceed correctly I’m afraid, regardless of the interface used to gather the gaze data. In fact this requirement extends at all our Tobii Range of Tracks not just the 4C, so is not tied to one particular SDK.

    Paweł Kasprowski

    I purchased Eye Tracker 5 and wanted to use it for creating simple games in Java and Python. Unfortunately it occurs that Tobii does not provide any SDK working with Java or Python. The only SDK available works in C++ and C#. It is very disappointing and I don’t understand why such a big company cannot provide a way to work in two most popular programming languages. Additionally, from what I am reading above, it is illegal to write the software that bridges data to Python or Java! My question is: do you really want to create a market for software developers?
    I want to emphasize that we are not talking about any ‘analytical puprposes’ but about connecting to the eye tracker from Java, Python or Javascript which should be obvious and easy. Why is only C# suppoerted and all other languages illegal?!


    Developing the python bindings from scratch took me about an hour. If you look at the C stuff, you can implement an interface from python to the dll relatively easily using the cdll python package.

    I sold my tobii after this discussion as it wasn’t developer friendly so no longer have the code.


    I don’t know if you are still solving this problem. I noticed that some articles on CHI in 2019 and 2020 show (Retype, codegazer) that someone actually used tobii eye track 4c for java development. I don’t know how they did it.

Viewing 11 posts - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.