skillfed

arpy

Library for accessing "ar" files

arpy v2.3.0 183.3K downloads/30d#10,068 on PyPI13
Permissive license Simplified BSD Active released

What it is and what it does

Arpy is a Python library for reading and extracting files from ar archives, the static library format used by Unix build tools and package managers. It supports both GNU and BSD ar variants and exposes archived files through Python's standard file interface, allowing you to open, read, and list archive contents using familiar patterns like context managers and iteration.

The library has no runtime dependencies and works across Python 3.5 through 3.11 (both CPython and PyPy). It's marked Production/Stable and has been maintained since 2010, though the last release was in 2022. The main friction point is that it's distributed as source only, requiring compilation on install.

Use it for:

  • Extract object files or libraries from .a static archives in build pipelines.
  • Inspect or validate the contents of ar archives without external tools.
  • Automate processing of Debian .deb packages (which use ar format internally).
  • Parse GNU ar archives in embedded systems or cross-compilation workflows.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Arpy reads and extracts files from ar archives (GNU and BSD formats) using a standard Python file-like interface, supporting both direct access and streaming.

Yes, if you need to work with ar archives in Python and can tolerate source-only installation. The library is stable, actively maintained, has no external dependencies, and fills a niche use case with a clean API. Install friction is the main trade-off; if you have a build environment or prebuilt wheels available, it's a straightforward choice.

Install

arpy on PyPI

pip

pip install arpy

uv

uv add arpy

poetry

poetry add arpy

Installing arpy

Before you install

High install friction due to source-only distribution (arpy-2.3.0.tar.gz). Package is actively maintained with recent commits (last on 2026-07-01) and marked Production/Stable, but no prebuilt wheels available.

License in practice

Simplified BSD license is permissive; you can use, modify, and distribute arpy freely in commercial and private projects with minimal restrictions.

Quickstart

import arpy

with arpy.Archive('file.ar') as ar:
    print(ar.namelist())
    with ar.open('content.txt') as f:
        print(f.read())

Verify before relying

  • Whether the package works reliably with ar archives created by modern toolchains (e.g., recent GNU binutils versions).
  • Performance characteristics when handling large or deeply nested ar archives.

Package facts

License Simplified BSD (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance actively maintained — 1,525 days since the last release
Last repo commit
First released
Downloads 183,316/month — #10,068 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: arpy-2.3.0.tar.gz

Development Status :: 5 - Production/StableLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: System :: Archiving

Tags

ar archive readerextract ar files pythongnu bsd archive formatar file parserarchive library pythonread ar archivesar format support
archive-formatstatic-libraries

More Archiving packages