Python Data Processing - JSON to Dataclasses

Apply now »

Date: May 23, 2025

Location: Kortrijk, BE

Company: Barco

 

During installation of a Barco CTRL desk or wall the devices communicate over a configuration system called Spider. This system shares JSON configuration data with all devices in the desk or wall. The Spider server is responsible for distributing the configuration while a Spider agent is present on all devices to parse, store and apply them. Additionally, each agent reports their device’s status of the device back to the server. The Spider network uses JSON data structures to transfer data. 

On the Barco CTRL decoder, the Spider agent is written in Python and (for the most part) currently parses, handles, and stores the raw JSON data. Part of the data is parsed and stored as Python dataclass objects. The purpose of dataclasses is to represent, validate, and store data efficiently.

 

Request: 

Improve the data structure used to parse and store device configurations in the Spider agent. All JSON data should be parsed, validated, and reported using dataclasses. 

Technologies: Python, dataclasses, JSON, pytest, Jenkins, git, VS Code, Copilot 

 

Key Responsibilities: 

  • Analyze current implementation: Review the existing codebase to understand how Python dataclasses are currently used in processing parts of the configuration. 

  • Implement:

  •     Extend functionality: Adapt the entire configuration handling to fully parse and store the configuration using Python dataclasses. 

  •     Status reporting: Implement the use of Python dataclasses to report the current device status to the configuration server. 

  • Validate: Develop and execute tests to ensure the new data structure works correctly and efficiently. 

  • Document: Document the changes made, including the new data structure and any modifications to the existing code. 

 

Qualifications: 

  • Enrolled in a Bachelor's or master's program in Computer Science, Informatics, Electronics, or a related field. 

  • Strong knowledge of Python programming language. 

  • Bonus: Experience with Python dataclasses and handling JSON structures. 

  • Excellent analytical and problem-solving skills. 

  • Effective communication and teamwork abilities. 

 

 

D&I Statement


At Barco, innovation drives everything we do. We believe that diversity fuels creativity, bringing us closer to our colleagues and customers. Inclusion and equity aren't just values—they're core capabilities that propel us toward our shared goals and mission.

Read here how we do this

Apply now »