Skip to content

A Python CLI tool (Written in Rust) that finds all third-party packages imported into your Python project

License

Notifications You must be signed in to change notification settings

saadmk11/python-third-party-imports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-third-party-imports

This is a Python CLI tool built with Rust that finds all third-party packages imported into your Python project.

Install

You can install this package via pip.

pip install third-party-imports

Usage

Run:

Check a directory:

third-party-imports path/to/project/dir

Check a directory with extra files:

third-party-imports --extra-file-paths path/to/project/dir/foo.sh path/to/project/dir

Note: You can use --extra-file-paths option to include files that do not contain .py or .pyi extension.

Check a file:

third-party-imports --project-root path/to/project/dir/ path/to/project/dir/foo/main.py

Note: If the file is not located in the project root directory, then you need to use --project-root option to specify where the project root directory is located.

Help:

Find all third-party packages imported into your python project.

Usage: third-party-imports [OPTIONS] <PATH>

Arguments:
  <PATH>  Path to a file or directory to check

Options:
  -p, --project-root <PROJECT_ROOT>          Path to the project's root directory
  -e, --extra-file-paths <EXTRA_FILE_PATHS>  Extra file paths to check
  -h, --help                                 Print help
  -V, --version                              Print version

Example

third-party-imports examples/

Output:

Found '4' third-party package imports in '5' files. (Took 920.50µs)

celery
django
pandas
requests

Development

Run using Cargo

cargo +nightly run -- path/to/project/dir

Code Format

cargo +nightly fmt

Run Tests

cargo +nightly test

Install Package in current virtualenv

maturin develop

License

The code in this project is released under the MIT License.