Skip to content

A tool for suggesting topics related to the project on Github based on packages used in the project

License

Notifications You must be signed in to change notification settings

zuevmaxim/itmo-ibd

Repository files navigation

Github Topic Suggester

License

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.

Demo

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.

Pipeline suggesting topics

The pipeline for processing a new project and suggesting topics for it is as follows.

  1. Clone repository from Github
  2. Apply Lupa analyser for extracting package imports from the project
  3. Made some processing
  4. Predict relative topics
  5. Save suggested topics to file

You can find more information about the pipeline here.

Used technologies

  • 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

Team

  • Dmitry Pogrebnoy
  • Maria Tigina
  • Maxim Zuev
  • Ksenia Razheva

About

A tool for suggesting topics related to the project on Github based on packages used in the project

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published