Skip to content
File type identification using libmagic
Python
Latest commit 1386490 Feb 4, 2014 Aaron Iles Build and upload Python wheel packages to PyPI
Use the wheel package to build and upload Python wheel packages as well
as source packages to PyPI.
Failed to load latest commit information.
docs Instantiate magic.Magic by calling the class in the documentation Jan 13, 2014
magic Better warning message when implicitly closing Feb 4, 2014
requirements Build and upload Python wheel packages to PyPI Feb 4, 2014
tests Update Python magic strings May 29, 2013
.coveragerc Further coverage report tuning May 30, 2013
.travis.yml Further coverage report tuning May 30, 2013
CHANGELOG
CONTRIBUTORS Reformat new CONTRIBUTORS file. Dec 18, 2012
LICENSE Update copyright year in LICENSE and docs Jan 6, 2013
MANIFEST.in Fix CONTRIBUTORS include in MANIFEST.in Jan 22, 2013
Makefile Build and upload Python wheel packages to PyPI Feb 4, 2014
README.rst Add coverage report badge to README May 30, 2013
setup.py Discontinue use of distribute_setup.py May 29, 2013

README.rst

filemagic

filemagic is a ctypes wrapper for libmagic, the library that supports the file command on most Unix systems. The package provides a simple Python API for identifying files using the extensive database of magic strings that ships with libmagic.

filemagic has been tested against libmagic 5.11. It supports both Python2 and Python3, as well as CPython and PyPy.

Current build status Coverage status Latest PyPI version

Example

Below is a short snippet of code showing how to use filemagic to identifying this README file.

>>> import magic
>>> with magic.Magic() as m:
...     m.id_filename('setup.py')
...
'ASCII text'

It is recommended that magic.Magic be used with a context manager (the with statement) to avoid leaking resources from libmagic when instances go out of scope. Otherwise the close() method must be called explicitly.

Further Reading

Refer to the filemagic documenation for further references.

Something went wrong with that request. Please try again.