GSOC-2018 — Python Hydra: First year as independent organisation
After the first year spent under Python Software Foundation’s umbrella, Python Hydra became a top-level organisation for Google Summer Of Code. This meant that we Mentors and Administrators became directly accountable with Google for the activities and the outcome of the Summer. Thanks to PSF for facilitating our transition. You can read a wider presentation of our previous activities in my post about GOSC-2017.
This year the challenge has been hard but we managed to deliver two new students/contributors, Sandeep and Vaibhav, to Open Source. You can read in details about the activities carried on by students in other posts in this publication.
Most evident improvements are in the documentation, with the addition of a proper entry point for our tools at hydraecosystem.org. We have realized a good blending by adding some fluent documents that take a developer from Linked Data basics (also here) to Hydra-specific information (here and here), through real-world examples, finally to hands-on guidelines; taking resources from the official specification repository and providing some basic research explaining how the system has been designed and engineered.
The improvements directly implemented in the codebase are:
- the possibility of parsing automatically an OpenAPI documentation into a Hydra documentation, that leads to having an automatic workflow to define-setup-spin an Hydra-ready server (using our flagship server hydrus). This allows the functionality of the most popular REST standard for APIs description (OpenAPI) to be leverage to generate an Hydra description that allows the server to be fully ready to serve Smart Clients (generic automated clients that establish resilient connected data networks leveraging knowledge graphs). This is one of the keys to allow a better access for developers that wants to create connected networks. Documentation available here;
- a new dedicated generic Web client (python-hydra-agent) that is the key to adoption as provides client-side storing/querying capabilities. A client of this kind needs to be pointed to an Hydra server’s entry point to start representing-consuming the data. Its generality and “soft-coded” nature allows the re-usability of the very same client over as many entry points/servers needed. The client generates its own semantic representation of the network of servers it visits, creating a proper querying layer over a network of services. This is at the time just a proof-of-concept but very promising one, as built on top of industry-level standards like Python 3 (urllib), Redis (redisgraph) and OpenCypher. Documentation available here.
You can read detailed accounts of how each week has been tackled by Sandeep and Vaibhav in their blog posts published in this very same Community Publication.
These achievements are very relevant for an organisation at its first year! Considering the young age of these technologies and the wide horizon that they encompass, this outcome is more than promising; especially now that we are supported by GSOC in attracting more talents to contribute and adopt our tools.
We are already eager to keep going to the next year’s GSOC to complete the job and make the client-server system more featured and move on to an alpha implementation. We are also excited to listen to the feedback we are going to receive from the Open Source community. Stay tuned.