🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

detect-languages

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

detect-languages

This module discover the programming languages from a project/repository.

0.1.0b3
PyPI
Maintainers
1

detect-languages

Latest PyPI version GitHub Actions status Python versions Code style License

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

MIT

Author

Alex Graciano

Keywords

detect

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts