Giter Club home page Giter Club logo

python-magic's Introduction

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.

python-magic's People

Contributors

ahupp avatar rshk avatar flaper87 avatar tehmaze avatar edevil avatar fallgesetz avatar lukenowak avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.