Into the final phase

1 minute read

Hi everyone, this is Vishav and I am here with the 5th iteration of my blog, “Journey to GSoC”. If you haven’t read my previous blog, you can read it here and keep up.

The second phase of Google Summer of Code has been completed. I am done with Buffering and almost done with Caching. The work can be found here.

The final phase of Google Summer of Code has started and this phase will mainly focus on documentation and testing of written codebase during previous two phases. Apart from these, the other goals are to implement different backends and Lazy statepoints Loading.

There were some issues that I faced during the implementation of caching that were discussed in the PR and can also be found on my previous blog. After discussing with mentors, we reached a conclusion that, at design level the main distinction to be made between the old implementation and the new is that rather than having all members access a global variable that is the cache, the cache needs to be stored on a per-object basis. And instead of using a global buffer we will use cache for storing instance.

I worked on the hypothesis issue in this PR. There were a lot of problems with hypothesis in combination with pytest fixtures. So we decided to close this PR and approach the problem at a later date.

I also completed implementing the different backends (redis, zarr, mongodb), during this phase. The work can be found in this PR. While implementing, I faced some issues during the testing of mongo and redis backends. The problem was that the server has to run on the continuous integration environment on CircleCI, but it is somewhat complicated to configure that server process. We decided to have “interactive tests” that users can execute locally (with a local redis / mongo backend) but aren’t executed on CI yet.