DEV Community

Qiwen Yu
Qiwen Yu

Posted on

Hacktoberfest: Flytesnacks Project "update tuple output examples"

Introduction

This is my second contribution to the flyte source project. Flyte is a workflow automation platform for complex, mission-critical data, and ML processes at scale. Flyte is more than a workflow engine -- it uses workflow as a core concept, and task (a single unit of execution) as a top-level concept. Multiple tasks arranged in a data producer-consumer order creates a workflow. Workflows and Tasks can be written in any language, with out-of-the-box support for Python, Java and Scala.

Project

I chose the flytesnacks project, which is one of the component repos of flyte and is the examples, tips, and tricks of the Flyte project. It is very interesting that this sub-project is still at the incubating stage. Since this project is focus on tutorials and documentation, its documentation contains a lot of materials. The documentation was generated using Sphinx documentation in .rst format.

Issue

The issue was raised here. The second part of the issue is to check all doc files under https://github.com/flyteorg/flytesnacks/tree/master/cookbook.

Challenge

The most challenge part of this issue was to go through the whole cookbook and precisely locate different sites where the problem occurs. As a first time contributor to an opensource project, you have to spend a lot of time to get familiar with the structure of the project.

Solution and Pull Request

To target the locations of problem precised and efficiently, several search methods were used. This project is relatively formal compared with other projects. It requires git commit --signoff, which means every commit must have a GitHub username and email signature. Moreover, it has a thoroughly automation tests. You have to spend sometime to get all tests passed. The PR to solve this issue contains several commits and a lot of comments.

The main problem is the code search engine offerd by GitHub can not index and search code in relatively large code file (roughly larger than 0.5 MB). However, documentation files can be very large. Thus, my first commit did not fully cover all problems in the documentation. At this stage, the comment of the project maintainer is very helpful, and I setup a local working environment and check doc files one by one manually by searching keyword such as def, -> and -> (. Finally, this PR was completed and got merged.

Top comments (0)