Skip to main content

scikit-build project with CMake for compiling libmagic

Project description

A lightweight, minimal python package that ships magic libraries using automake, CMake, scikit-build, and cibuildwheel.

Actions Status Documentation Status Code style: black

PyPI version Conda-Forge PyPI platforms

GitHub Discussion Gitter

Why?

If you use python-magic, you typically get an error like this

>>> import magic
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/kratsg/.pyenv/versions/venv/lib/python3.7/site-packages/magic/__init__.py", line 209, in <module>
    libmagic = loader.load_lib()
  File "/Users/kratsg/.pyenv/versions/venv/lib/python3.7/site-packages/magic/loader.py", line 49, in load_lib
    raise ImportError('failed to find libmagic.  Check your installation')
ImportError: failed to find libmagic.  Check your installation

which is frustrating because they don’t ship shared lib with their python distribution. pylibmagic helps fill in the missing gap by shipping the required magic library and adding it to your path, so you can just do:

>>> import pylibmagic
>>> import magic

and be on your way. pylibmagic is designed to be very minimal and lightweight.

Compiling

$ docker run -it --rm -v $PWD:/home/root -w /home/root ubuntu
# apt install cmake autoconf automake libtool build-essential git python3-dev python3-pip
# cmake -S . -B build
# cmake --build build

Installing

$ python3 -m pip install pylibmagic

and the libraries are installed at

$ python -c "import pylibmagic; print(pylibmagic.data)"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylibmagic-0.2.1.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distributions

pylibmagic-0.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pylibmagic-0.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (693.5 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

pylibmagic-0.2.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pylibmagic-0.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (693.5 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

pylibmagic-0.2.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pylibmagic-0.2.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (693.5 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

pylibmagic-0.2.1-cp310-cp310-musllinux_1_1_x86_64.whl (657.5 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pylibmagic-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pylibmagic-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl (693.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pylibmagic-0.2.1-cp310-cp310-macosx_10_9_universal2.whl (693.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

pylibmagic-0.2.1-cp39-cp39-musllinux_1_1_x86_64.whl (657.5 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pylibmagic-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618.7 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pylibmagic-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl (693.5 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pylibmagic-0.2.1-cp39-cp39-macosx_10_9_universal2.whl (693.5 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

pylibmagic-0.2.1-cp38-cp38-musllinux_1_1_x86_64.whl (657.5 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pylibmagic-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618.7 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pylibmagic-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl (693.5 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pylibmagic-0.2.1-cp38-cp38-macosx_10_9_universal2.whl (693.5 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

pylibmagic-0.2.1-cp37-cp37m-musllinux_1_1_x86_64.whl (657.5 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

pylibmagic-0.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618.7 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pylibmagic-0.2.1-cp37-cp37m-macosx_10_9_x86_64.whl (693.5 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page