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).
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.
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
- python3
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
For project execution, type:
python cmd/cli/main.py [OPTIONS] COMMAND [ARGS]
- download_repos: mode responsible for downloading the selected repositories from GitHub;
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
- Luana Gribel Ito - Luana
- Mariana Helena Inês Moreira - Mariana
- Sarah Brandão - Sarah
- Sinara Pimenta Medeiros - Sinara
- Phyllipe de Souza Lima Francisco - Phyl
⌨️ with ❤️ by Luana, Mariana, Sarah e Sinara 😊