All Projects → h2non → Filetype.py

h2non / Filetype.py

Licence: mit
Small, dependency-free, fast Python package to infer binary file types checking the magic numbers signature

Programming Languages

python
139335 projects - #7 most used programming language
type
21 projects

Projects that are alternatives of or similar to Filetype.py

Mimetype
A fast golang library for MIME type and file extension detection, based on magic numbers
Stars: ✭ 452 (+64.36%)
Mutual labels:  mime, extension
Filetype
Fast, dependency-free, small Go package to infer the binary file type based on the magic numbers signature
Stars: ✭ 1,278 (+364.73%)
Mutual labels:  mime, extension
php-mime-detector
Detect a file's mime type using magic numbers.
Stars: ✭ 20 (-92.73%)
Mutual labels:  extension, mime
Kinopoisk-Watch
Скрипт, превращающий Kinopoisk.ru в онлайн - кинотеатр! 🎥
Stars: ✭ 85 (-69.09%)
Mutual labels:  extension
pgsentinel
postgresql extension providing Active session history
Stars: ✭ 110 (-60%)
Mutual labels:  extension
Opennars
OpenNARS for Research 3.0+
Stars: ✭ 264 (-4%)
Mutual labels:  inference
Orafce
The "orafce" project implements in Postgres some of the functions from the Oracle database that are missing (or behaving differently).Those functions were verified on Oracle 10g, and the module is useful for production work.
Stars: ✭ 274 (-0.36%)
Mutual labels:  extension
bundlephobia-extension
Bundlephobia Web Extension
Stars: ✭ 12 (-95.64%)
Mutual labels:  extension
Vscode Cordova
A Visual Studio Code extension providing intellisense, debug, and build support for Cordova and Ionic projects.
Stars: ✭ 267 (-2.91%)
Mutual labels:  extension
Damnwebscanner
Another web vulnerabilities scanner, this extension works on Chrome and Opera
Stars: ✭ 254 (-7.64%)
Mutual labels:  extension
UltraTypeBot
A fast, easy to use bot for NitroType.com
Stars: ✭ 24 (-91.27%)
Mutual labels:  extension
smfsb
Documentation, models and code relating to the 3rd edition of the textbook Stochastic Modelling for Systems Biology
Stars: ✭ 27 (-90.18%)
Mutual labels:  inference
Lockwise Addon
Take your passwords everywhere
Stars: ✭ 265 (-3.64%)
Mutual labels:  extension
no-facebook-emoji
Get rid of those ugly emojis now! [stopped working 😢]
Stars: ✭ 15 (-94.55%)
Mutual labels:  extension
Ezswiftextensions
😏 How Swift standard types and classes were supposed to work.
Stars: ✭ 2,911 (+958.55%)
Mutual labels:  extension
YourAutoLiker
Browser extension that automatically likes or dislikes Youtube videos from selected channels.
Stars: ✭ 24 (-91.27%)
Mutual labels:  extension
Mmdetection To Tensorrt
convert mmdetection model to tensorrt, support fp16, int8, batch input, dynamic shape etc.
Stars: ✭ 262 (-4.73%)
Mutual labels:  inference
typo3-dp cookieconsent
TYPO3 Extension: Enable a cookie consent box. Let you visitors control the usage of cookies and load script or content after a consent. (ePrivacy, TTDSG)
Stars: ✭ 28 (-89.82%)
Mutual labels:  extension
frame-by-frame
Frame By Frame - Chrome Extension. Move your mouse cursor over any video and use keyboard arrows to switch frames.
Stars: ✭ 38 (-86.18%)
Mutual labels:  extension
Chaidnn
HLS based Deep Neural Network Accelerator Library for Xilinx Ultrascale+ MPSoCs
Stars: ✭ 258 (-6.18%)
Mutual labels:  inference

filetype.py |Build Status| |PyPI| |Pyversions| |API|

Small and dependency free Python_ package to infer file type and MIME type checking the magic numbers_ signature of a file or buffer.

This is a Python port from filetype_ Go package.

Features

  • Simple and friendly API
  • Supports a wide range_ of file types
  • Provides file extension and MIME type inference
  • File discovery by extension or MIME type
  • File discovery by kind (image, video, audio…)
  • Pluggable_: add new custom type matchers
  • Fast_, even processing large files
  • Only first 261 bytes representing the max file header is required, so you can just pass a list of bytes_
  • Dependency free (just Python code, no C extensions, no libmagic bindings)
  • Cross-platform file recognition

Installation

::

pip install filetype

API

See annotated API reference_.

Examples

Simple file type checking ^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block:: python

import filetype

def main():
    kind = filetype.guess('tests/fixtures/sample.jpg')
    if kind is None:
        print('Cannot guess file type!')
        return

    print('File extension: %s' % kind.extension)
    print('File MIME type: %s' % kind.mime)

if __name__ == '__main__':
    main()

Supported types

Image ^^^^^

  • dwg - image/vnd.dwg
  • xcf - image/x-xcf
  • jpg - image/jpeg
  • jpx - image/jpx
  • png - image/png
  • gif - image/gif
  • webp - image/webp
  • cr2 - image/x-canon-cr2
  • tif - image/tiff
  • bmp - image/bmp
  • jxr - image/vnd.ms-photo
  • psd - image/vnd.adobe.photoshop
  • ico - image/x-icon
  • heic - image/heic

Video ^^^^^

  • 3gp - video/3gpp
  • mp4 - video/mp4
  • m4v - video/x-m4v
  • mkv - video/x-matroska
  • webm - video/webm
  • mov - video/quicktime
  • avi - video/x-msvideo
  • wmv - video/x-ms-wmv
  • mpg - video/mpeg
  • flv - video/x-flv

Audio ^^^^^

  • aac - audio/aac
  • mid - audio/midi
  • mp3 - audio/mpeg
  • m4a - audio/m4a
  • ogg - audio/ogg
  • flac - audio/x-flac
  • wav - audio/x-wav
  • amr - audio/amr

Archive ^^^^^^^

  • br - application/x-brotli

  • rpm - application/x-rpm

  • dcm - application/dicom

  • epub - application/epub+zip

  • zip - application/zip

  • tar - application/x-tar

  • rar - application/x-rar-compressed

  • gz - application/gzip

  • bz2 - application/x-bzip2

  • 7z - application/x-7z-compressed

  • xz - application/x-xz

  • pdf - application/pdf

  • exe - application/x-msdownload

  • swf - application/x-shockwave-flash

  • rtf - application/rtf

  • eot - application/octet-stream

  • ps - application/postscript

  • sqlite - application/x-sqlite3

  • nes - application/x-nintendo-nes-rom

  • crx - application/x-google-chrome-extension

  • cab - application/vnd.ms-cab-compressed

  • deb - application/x-deb

  • ar - application/x-unix-archive

  • Z - application/x-compress

  • lzo - application/x-lzop

  • lz - application/x-lzip

  • lz4 - application/x-lz4

Font ^^^^

  • woff - application/font-woff
  • woff2 - application/font-woff
  • ttf - application/font-sfnt
  • otf - application/font-sfnt

Application ^^^^

  • wasm - application/wasm

.. _Python: http://python.org .. _magic numbers: https://en.wikipedia.org/wiki/Magic_number_(programming)#Magic_numbers_in_files .. _filetype: https://github.com/h2non/filetype .. _wide range: #supported-types .. _Pluggable: #add-additional-file-type-matchers .. _Fast: #benchmarks .. _pass a list of bytes: #file-header .. _annotated API reference: https://h2non.github.io/filetype.py/

.. |Build Status| image:: https://travis-ci.org/h2non/filetype.py.svg?branch=master :target: https://travis-ci.org/h2non/filetype.py .. |PyPI| image:: https://img.shields.io/pypi/v/filetype.svg?maxAge=2592000?style=flat-square :target: https://pypi.python.org/pypi/filetype .. |Pyversions| image:: https://img.shields.io/pypi/pyversions/filetype.svg?style=flat-square :target: https://pypi.python.org/pypi/filetype .. |API| image:: https://img.shields.io/badge/api-docs-green.svg :target: https://h2non.github.io/filetype.py

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].