Skip to content

rshk/python-magic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-magic

python-magic is a python interface to the libmagic file type identification library. libmagic identifies file types by checking their headers according to a predefined list of file types. This functionality is exposed to the command line by the Unix command file.

Important note this is a modified version of the library, and is not guaranteed to be 100% compatible with the old library, although some work has been done to support retro-compatibility.

Build Status

Example Usage

There are three ways to use the library:

  • Directly import & call the (wrapped) underlying C methods
  • Use the Magic class (the object-oriented version of the C library)
  • Use the Magic2 (Magic squared) library:
>>> from magic import Magic2
>>> Magic2.from_file("testdata/test.pdf").description
'PDF document, version 1.2'
>>> Magic2.from_buffer(open("testdata/test.pdf").read(1024)).description
'PDF document, version 1.2'
>>> Magic2.from_file("testdata/test.pdf").mimetype
'application/pdf'

Installation

The current stable version of python-magic is available on pypi and can be installed by running pip install python-magic.

Other sources:

Python compatibility

The library has been tested compatible (a.k.a. full test suite running) with the following Python versions:

  • CPython 2.6.4
  • CPython 2.7.3
  • CPython 3.3.0
  • PyPy 1.9.0 (2.7.2)

It is known not to work on:

  • Python < 2.6
  • Python 3.0

Dependencies on Windows

On Windows, you need to download and save the following libraries under C:\Windows\System32:

Testing

To run the test cases, simply run:

python setup.py test

or, if you prefer:

python -m unittest discover -v

Author

Written by Adam Hupp in 2001 for a project that never got off the ground. It origionally used SWIG for the C library bindings, but switched to ctypes once that was part of the python standard library.

You can contact me via my website or github.

Contributors

Thanks to these folks on github who submitted features and bugfixes.

License

python-magic is distributed under the PSF License.

About

A python wrapper for libmagic

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 100.0%