Skip to main content

Python wrapper for extended filesystem attributes

Project description

xattr is a Python wrapper for extended filesystem attributes.

xattr also ships with an xattr command line tool for viewing and editing extended filesystem attributes. On platforms that support or ship with the attr package, you may prefer to use the getfattr and setfattr command line tools from the attr package.

Extended attributes extend the basic attributes of files and directories in the file system. They are stored as name:data pairs associated with file system objects (files, directories, symlinks, etc).

Extended attributes are currently only available on Darwin 8.0+ (Mac OS X 10.4) and Linux 2.6+. Experimental support is included for Solaris and FreeBSD.

Python 3.8+ is required as of v1.0.0, and this is the minimum version that is compatible with Python 3.12+.

Versions older than v1.0.0 are no longer supported, but are available for use. v0.10.1 is the last version to support older versions of Python (including 2.7).

Note: On Linux, custom xattr keys need to be prefixed with the user namespace, ie: user.your_attr.

Note: If you need to read or write Spotlight metadata attributes on macOS, see osxmetadata which provides a native macOS means to do so without directly manipulating extended attributes. osxmetadata also provides access to other macOS metadata attributes and extended attributes via xattr.

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

xattr-1.1.0.tar.gz (16.6 kB view hashes)

Uploaded Source

Built Distributions

xattr-1.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (18.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

xattr-1.1.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

xattr-1.1.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (17.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

xattr-1.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (15.4 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

xattr-1.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (18.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

xattr-1.1.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

xattr-1.1.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (17.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

xattr-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (15.4 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

xattr-1.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (18.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

xattr-1.1.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

xattr-1.1.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (17.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

xattr-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (15.4 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

xattr-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl (41.4 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

xattr-1.1.0-cp312-cp312-musllinux_1_1_i686.whl (39.2 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

xattr-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl (41.2 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

xattr-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (39.4 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

xattr-1.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.2 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

xattr-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (37.3 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

xattr-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (19.2 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

xattr-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl (18.9 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

xattr-1.1.0-cp312-cp312-macosx_10_9_universal2.whl (24.3 kB view hashes)

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

xattr-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl (41.1 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

xattr-1.1.0-cp311-cp311-musllinux_1_1_i686.whl (39.0 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

xattr-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl (40.9 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

xattr-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (39.2 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

xattr-1.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.0 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

xattr-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (37.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

xattr-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (19.2 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

xattr-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl (18.9 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

xattr-1.1.0-cp311-cp311-macosx_10_9_universal2.whl (24.3 kB view hashes)

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

xattr-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl (41.1 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

xattr-1.1.0-cp310-cp310-musllinux_1_1_i686.whl (39.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

xattr-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl (40.9 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

xattr-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (39.2 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

xattr-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

xattr-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (37.1 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

xattr-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (19.2 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

xattr-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl (18.9 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

xattr-1.1.0-cp310-cp310-macosx_10_9_universal2.whl (24.3 kB view hashes)

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

xattr-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl (41.1 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

xattr-1.1.0-cp39-cp39-musllinux_1_1_i686.whl (39.0 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

xattr-1.1.0-cp39-cp39-musllinux_1_1_aarch64.whl (40.9 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

xattr-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (39.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

xattr-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

xattr-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (37.1 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

xattr-1.1.0-cp39-cp39-macosx_11_0_arm64.whl (19.2 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

xattr-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl (18.9 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

xattr-1.1.0-cp39-cp39-macosx_10_9_universal2.whl (24.3 kB view hashes)

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

xattr-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl (41.5 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

xattr-1.1.0-cp38-cp38-musllinux_1_1_i686.whl (39.4 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

xattr-1.1.0-cp38-cp38-musllinux_1_1_aarch64.whl (41.3 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

xattr-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (39.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

xattr-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

xattr-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (37.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

xattr-1.1.0-cp38-cp38-macosx_11_0_arm64.whl (19.2 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

xattr-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl (18.9 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

xattr-1.1.0-cp38-cp38-macosx_10_9_universal2.whl (24.3 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, 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