| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
File identification library for Python.
Given a file (or some information about a file), return a set of standardized tags identifying what the file is.
pip install identifyIf you have an actual file on disk, you can get the most information possible (a superset of all other methods):
>>> from identify import identify
>>> identify.tags_from_path('/path/to/file.py')
{'file', 'text', 'python', 'non-executable'}
>>> identify.tags_from_path('/path/to/file-with-shebang')
{'file', 'text', 'shell', 'bash', 'executable'}
>>> identify.tags_from_path('/bin/bash')
{'file', 'binary', 'executable'}
>>> identify.tags_from_path('/path/to/directory')
{'directory'}
>>> identify.tags_from_path('/path/to/symlink')
{'symlink'}When using a file on disk, the checks performed are:
>>> identify.tags_from_filename('file.py')
{'text', 'python'}>>> identify.tags_from_interpreter('python3.5')
{'python', 'python3'}
>>> identify.tags_from_interpreter('bash')
{'shell', 'bash'}
>>> identify.tags_from_interpreter('some-unrecognized-thing')
set()$ identify-cli --help usage: identify-cli [-h] [--filename-only] path positional arguments: path optional arguments: -h, --help show this help message and exit --filename-only
$ identify-cli setup.py; echo $?
["file", "non-executable", "python", "text"]
0
$ identify-cli setup.py --filename-only; echo $?
["python", "text"]
0
$ identify-cli wat.wat; echo $?
wat.wat does not exist.
1
$ identify-cli wat.wat --filename-only; echo $?
1identify also has an api for determining what type of license is contained in a file. This routine is roughly based on the approaches used by licensee (the ruby gem that github uses to figure out the license for a repo).
The approach that identify uses is as follows:
To use the api, install via pip install identify[license]
>>> from identify import identify
>>> identify.license_id('LICENSE')
'MIT'The return value of the license_id function is an SPDX id. Currently licenses are sourced from choosealicense.com.
A call to tags_from_path does this:
By design, this means we don't need to partially read files where we recognize the file extension.
| Back | FazBrowse Home | New Git URL |