Man wandering in the space of non documented REST APIs

GSOC 2020-Week 10

Priyanshu Nayan

--

We are now in the second last week of the Google Summer of Code 2020. I can easily say these two weeks were my favourite so far. We hunted down lot of bugs along with fellow GSOCer Samesh. In the second phase we saw some breaking changes in the core library, so we began this phase by bringing hydrus and the agent at par with the changes in the core and as well as fixing the bugs that occured along the way.

Implementation

While integrating the core library with hydrus, we needed to make some changes in the core. One of the major missing feature was to change of URIs of property of a resource when passing to the create_doc module of core with different parameters. So, we implemented that feature by implementing a check namespace method. If it’s already in the right namespace we move ahead, but if earlier the doc was in different namespace or was having different uri we update it according to the parameters. This feature was implemented in this PR:

Even though the core saw more or less internal changes only, but docs did require some updation as the URIs are now expanded by default. So a PR to update the changes in hydrus :

Core library is one of the most important repo of the ecosystem and it lacked a proper documentation for the developers, so we set up the sphinx documentation that gets autogenerated each time a build is generated. Currently the docs are hosted at: https://hydra-python-core.readthedocs.io/en/docs/

Corresponding PR:

Then we started working on generalising the sync mechanism of the agent. Earlier agent used to work only with sync mechanism with hydrus, But now the agent can be used as a generic client that can work with or without sync mechanism. You just need to pass in another boolean parameter stating True if server supports sync mechanism and False if want to use just as normal HTTP Client. Corresponding PR:

That’s it for this blog. Thank you. 🙏🏻

--

--