Visualization of the spleeter codebase by ivanmilevtues · Pull Request #939 · deezer/spleeter

Pull request title

  • I read contributing guideline
  • I didn't find a similar pull request already open.
  • My PR is related to Spleeter only, not a derivative product (such as Webapplication, or GUI provided by others)

Description

This PR contains high-level diagrams for the spleeter's codebase. You can see how they render in Github here:
https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/spleeter/on_boarding.md

The goal is to help new people get up-to-speed faster with the codebase. We think that at the beginning seeing the big picture is very important. This said we think that diagrams are the best way to represent initially codebase, this way new contributors will get context and they can focus on the component of interest. I would love to hear what your current process of familiarizing people with the codebase is, can these diagram be integrated in it?

Any feedback is more than welcome! We've just released a free GitHub Action that can automatically update the diagrams and this way keep them always up-to-date.

Full disclosure: we're trying to turn this into a startup, but we're still in a very early stage and figuring out what will actually be useful for people.

I would usually start by opening a discussion, but they are not enabled for this repository so I opened a PR instead!

How this patch was tested

You tested it, right?

Not relevant

  • I implemented unit test whicn ran successfully using poetry run pytest tests/
  • Code has been formatted using poetry run black spleeter
  • Imports has been formatted using `poetry run isort spleeter``

Documentation link and external references

You can see how the diagram and documentation render here: https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/spleeter/on_boarding.md