This module discover the programming languages from a project/repository.
Project description
detect-languages
This module discover the programming languages from a project/repository.
Usage
-
Module
test.py
from detect_languages.detect import DetectLanguages detect_languages = DetectLanguages(debug=False, path=".", language_types=["programming"], exclude_dirs=[".venv", ".tox", "samples"], exclude_dirs_recursively=False) print("Main language: ", detect_languages.main_language) print("All languages: ", detect_languages.all_languages)
$ python test.py
Output:
Main language: Python All languages: {'Python': {'size': 50799, 'percentage': 100.0}}
-
CLI
Help:
$ detect-languages --help
Output:
Usage: detect-languages [OPTIONS] COMMAND [ARGS]... Options: --help Show this message and exit. Commands: all main
Main language help:
detect-languages main --help
Output:
Usage: detect-languages main [OPTIONS] Options: -d, --debug / --no-debug Debug [default: no-debug] -p, --path PATH Path to project [default: .] -lt, --language-types TEXT Language types [default: programming, prose, data, markup] -ed, --exclude-dirs TEXT Exclude dirs -edr, --exclude-dirs-recursively / --no-exclude-dirs-recursively Exclude dirs recursively [default: no- exclude-dirs-recursively] -o, --output [json|tabulate] Output format [default: tabulate] --help Show this message and exit.
All languages help:
detect-languages all --help
Output:
Usage: detect-languages all [OPTIONS] Options: -d, --debug / --no-debug Debug [default: no-debug] -p, --path PATH Path to project [default: .] -lt, --language-types TEXT Language types [default: programming, prose, data, markup] -ed, --exclude-dirs TEXT Exclude dirs -edr, --exclude-dirs-recursively / --no-exclude-dirs-recursively Exclude dirs recursively [default: no- exclude-dirs-recursively] -o, --output [json|tabulate] Output format [default: tabulate] --help Show this message and exit.
Main language example:
detect-languages main -ed .venv -ed .tox -ed .github -ed .pytest_cache -ed .vscode -ed samples -p . -o json
Output:
{'Python': {'size': 52455, 'percentage': 63.51}}
All languages example:
detect-languages all -ed .venv -ed .tox -ed .github -ed .pytest_cache -ed .vscode -ed samples -p . -o json
Output:
{'Python': {'size': 52455, 'percentage': 63.46}, 'JSON': {'size': 24481, 'percentage': 29.62}, 'Markdown': {'size': 4728, 'percentage': 5.72}, 'INI': {'size': 725, 'percentage': 0.88}, 'TOML': {'size': 271, 'percentage': 0.33}}
Debug:
detect-languages all -ed .venv -ed .tox -ed .github -ed .pytest_cache -ed .vscode -ed samples -p . -o json -d
Output:
DEBUG: Detecting languages... DEBUG: Language types: ['programming', 'prose', 'data', 'markup'] DEBUG: no lexer for filename '.gitignore' found DEBUG: file: './.gitignore', language: 'None', size: 111 DEBUG: no lexer for filename 'LICENSE' found DEBUG: file: './LICENSE', language: 'None', size: 1074 DEBUG: file: './README.md', language: 'Markdown', size: 7648 DEBUG: file: './Pipfile.lock', language: 'JSON', size: 24481 DEBUG: file: './setup.py', language: 'Python', size: 1166 DEBUG: file: './tox.ini', language: 'INI', size: 160 DEBUG: file: './requirements.txt', language: 'Text only', size: 426 DEBUG: file: './.bumpversion.cfg', language: 'INI', size: 532 DEBUG: file: './Pipfile', language: 'TOML', size: 271 DEBUG: file: './detect_languages.egg-info/top_level.txt', language: 'Text only', size: 17 DEBUG: file: './detect_languages.egg-info/dependency_links.txt', language: 'Text only', size: 1 DEBUG: file: './detect_languages.egg-info/entry_points.txt', language: 'Text only', size: 63 DEBUG: file: './detect_languages.egg-info/SOURCES.txt', language: 'Text only', size: 378 DEBUG: file: './detect_languages.egg-info/requires.txt', language: 'Text only', size: 63 DEBUG: no lexer for filename 'PKG-INFO' found DEBUG: file: './detect_languages.egg-info/PKG-INFO', language: 'None', size: 8378 DEBUG: file: './tests/test_cli.py', language: 'Python', size: 726 DEBUG: file: './tests/test_detect.py', language: 'Python', size: 1608 DEBUG: file: './detect_languages/languages.py', language: 'Python', size: 37666 DEBUG: file: './detect_languages/cli.py', language: 'Python', size: 3009 DEBUG: file: './detect_languages/detect.py', language: 'Python', size: 6852 DEBUG: Detected main language: Python DEBUG: Detected languages: ['Python', 'JSON', 'Markdown', 'INI', 'TOML'] {'Python': {'size': 51027, 'percentage': 60.66}, 'JSON': {'size': 24481, 'percentage': 29.1}, 'Markdown': {'size': 7648, 'percentage': 9.09}, 'INI': {'size': 692, 'percentage': 0.82}, 'TOML': {'size': 271, 'percentage': 0.32}}
Installation
$ pip install detect-languages
Requirements
Credits/Inspirations
Licence
Author
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
detect-languages-0.1.0b1.tar.gz
(14.0 kB
view hashes)
Built Distribution
Close
Hashes for detect_languages-0.1.0b1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e4ece86162d19e8574be933bdf67e5b5e51dc1e69d92aff5e263a84324798f8 |
|
MD5 | d7d33858f97324d45205eca0b0b878cc |
|
BLAKE2b-256 | 60e9239813ebf3f1da60618c121e5e3d70e2f78f09d632037af74fd36e4a1040 |