Socket
Socket
Sign inDemoInstall

detect-languages

Package Overview
Dependencies
4
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    detect-languages

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


Maintainers
1

Readme

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

FAQs


Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc