--- id: python-magic version: "0.4.27" license: MIT license_treatment: permissive maintenance: active --- # python-magic — File type identification using libmagic License: permissive · Maintenance: active · Popularity: top 1,000 on PyPI ## Install pip install python-magic uv add python-magic poetry add python-magic ## Description # python-magic [![PyPI version](https://badge.fury.io/py/python-magic.svg)](https://badge.fury.io/py/python-magic) [![Build Status](https://travis-ci.org/ahupp/python-magic.svg?branch=master)](https://travis-ci.org/ahupp/python-magic) [![Join the chat at https://gitter.im/ahupp/python-magic](https://badges.gitter.im/ahupp/python-magic.svg)](https://gitter.im/ahupp/python-magic?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 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`. ## Usage ```python >>> import magic >>> magic.from_file("testdata/test.pdf") 'PDF document, version 1.2' # recommend using at least the first 2048 bytes, as less can produce incorrect identification >>> magic.from_buffer(open("testdata/test.pdf", "rb").read(2048)) 'PDF document, version 1.2' >>> magic.from_file("testdata/test.pdf", mime=True) 'application/pdf' ``` There is also a `Magic` class that provides more direct control, including overriding the magic... [View on SkillFed](https://skillfed.io/packages/python-magic) · [View on PyPI](https://pypi.org/project/python-magic/)