Hub is a data optimization package that enables users to stream unlimited amounts of data from the cloud to any machine without sacrificing performance compared to local storage.
It is an individual package that comes with its own set of APIs. Therefore, if a user wants to incorporate Hub into their project they must first get comfortable with these APIs and understand how to use them.
The primary reason why users would use libraries and packages in their projects is to simplify the coding process and make it much faster. The packages’ main purpose would be to skip the manual implementation of everything in the codebase. Hence, it only makes sense when I say that learning how to use Hub should be faster than having to finish the project without using Hub.
The idea of “Learn” is to provide a much more interesting and faster way of learning how to use Hub. The goal is achieved by serving interactive code-along tutorials, much like DataCamp, that the user can take from the comfort of their local terminals. “Learn” comes with a single command that starts the whole course engine and the rest works based on user feedback.
The way it works is that there exists a course library that contains all of the course content in YAML files. The content is divided into small bits of information we call “Snippets”. The course engine contains a YAML Parser that reads the information from these files and presents the same to the user one snippet at a time. Currently, we have 3 types of snippets to add variety to the way information is presented:
- Text Snippet: Purely meant for reading, does not expect user feedback.
- MCQ Snippet: Poses a multiple choice question for the user and expects them to enter an answer.
- Code Snippet: Provides a prompt and expects the user to code along.
The API has been designed in such a way that more types of Snippets can easily be added.
Writing new courses is also really simple should a user want to add their courses. A full guide can be found at https://learn-hub.readthedocs.io/en/latest/course.html. In short, it just involves writing one Snippet at a time following a particular format. With this package, learning how to use Hub is a much faster process now, we hope to make it as easy as possible for newcomers to start using Hub. Moreover, the package is completely extendable and community-driven, if you feel like writing a course on a topic, feel free to do so!