Skip to content

PySniffer is a tool to analyze OpenSource Python projects hosted on GitHub, looking for the modules used .

License

Notifications You must be signed in to change notification settings

SinaraPimenta/PySniffer

Repository files navigation

PySniffer 🕵

PySniffer is a tool to analyze Open-Source Python projects hosted on GitHub, looking for the modules used (from the Standard Library as well as from external libraries), in order to generate statistics about the usage of Python modules.

The project was made for the Undergraduate Thesis on Computer Engineering of Instituto Nacional de Telecomunicações (INATEL).

🎯 Application Goal

The goal of the tool is to extract the most used modules in Python projects hosted on GitHub. Afterwards we can compare this empirically obtained list with the information posted on blogs and websites about which Python modules/libraries are the most popular or which are the most used. In addition, the tool is intended to allow the comparison of any* Python project hosted on GitHub with the collected results. This comparison is very interesting, once the developer can check and to question if the used packages are the best for a given task.

*Currently, the tool can only process projects written in Python 3. And these projects cannot contain syntax or indentation errors. In addition to these criteria, there is a restriction regardingthe search for modules. If the developer uses the module name in some file or folder, the module is disregarded by the pipreqs tool. Because the name of the modules themselves are the names of the .py scripts.

📊 Results

🚀 Starting

To get a copy of the project in order to run/test it, clone the repository into a folder on your machine:

git clone https://github.com/SinaraPimenta/PySniffer.git

📋 Pre-Requisites

  • python3

🔧 Installing dependencies

It is recommended to install the dependencies inside a virtualenv.

virtualenv venv 

To install the project dependencies it's necessary, after activate virtualenv, to type the command in terminal:

python setup.py develop 

👩‍💻 Running the project

For project execution, type:

python cmd/cli/main.py [OPTIONS] COMMAND [ARGS]

💻 Functionalities

python cmd/cli/main.py download_repos
  • analysing_repos: obtains which modules are the most used in the downloaded projects;
python cmd/cli/main.py analyzing_repos
  • analysing_my_project: compares the used modules from a given GitHub repository with the results obtained in the previous mode.
python cmd/cli/main.py analyzing_my_project --link https://github.com/{user}/{repository}.git

✒️ Authors

  • Luana Gribel Ito - Luana
  • Mariana Helena Inês Moreira - Mariana
  • Sarah Brandão - Sarah
  • Sinara Pimenta Medeiros - Sinara

👨‍🏫 Advisor

  • Phyllipe de Souza Lima Francisco - Phyl

⌨️ with ❤️ by Luana, Mariana, Sarah e Sinara 😊

About

PySniffer is a tool to analyze OpenSource Python projects hosted on GitHub, looking for the modules used .

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published