A tool for suggesting topics related to the project on Github based on packages used in the project.
The tool uses Lupa analyzer for extract information about the packages used in the project and supports only Python and Kotlin project for now.
This is a demo of the Github Topic Suggester.
The user enters the owner and name of the repository on Github and clicks "Suggest". After a few minutes of waiting, he gets the recommended topics for his project!
Take a look on it!
You can run the demo yourself using the instructions here.
The pipeline for processing a new project and suggesting topics for it is as follows.
- Clone repository from Github
- Apply Lupa analyser for extracting package imports from the project
- Made some processing
- Predict relative topics
- Save suggested topics to file
You can find more information about the pipeline here.
- Docker - runs Lupa and pipeline
- Spark - data processing and pipeline processing
- XGBoost - builds topic predictor
- Flask - builds demonstration app
- Celery - runs the docker container with pipeline on a separate worker
- Dmitry Pogrebnoy
- Maria Tigina
- Maxim Zuev
- Ksenia Razheva