archlinux/alpm.rs

Rust bindings for libalpm

174

stars

493

commits

Rust

primary language

Jun 19, 2026

updated

alpm
archlinux
hacktoberfest
pacman

README

alpm.rs - rust bindings for libalpm

Latest version Documentation

alpm.rs provides complete, safe, ergonomic bindings to the libalpm API, the package management library used by pacman and other tools.

Features

  • mtree - enables the alpm_pkg_mtree_* functions
  • generate - generate the raw alpm-sys bindings at build time
  • checkver - check that the version of libalpm installed is compatible with alpm.rs
  • git - target the git master API
  • static - statically link to libalpm

Note: checkver does not work with the git feature. You can instead use the generate feature to ensure alpm.rs builds against a compatible libalpm version.

libalpm compatibility

alpm.rs always targets the latest version of libalpm. It may also support previous versions if the API was not changed.

alpm.rs also supports the pacman git master via the git feature.

Currently alpm.rs supports libalpm v15.x.x.

Note: When using the git feature, alpm.rs is updated against the libalpm git master as commits happen. As the git version is not considered stable software, this is done without bumping the major version.

Documentation

This crate just provides bindings for libalpm and hence does not document libalpm. You can find documentation for libalpm in the libalpm (3) man page or in alpm.h.

There are also examples on how to use the alpm crate in alpm/examples.

alpm-sys

This repo also contains the alpm-sys crate, providing raw bindings for libalpm. Although you probably just want to use the alpm crate instead.

Contributors

Morganamilo

464 commits

pfeifferj

5 commits

FoxieDev

4 commits

archlinux/alpm.rs

Rust bindings for libalpm

174

stars

493

commits

Rust

primary language

Jun 19, 2026

updated

alpm
archlinux
hacktoberfest
pacman

README

alpm.rs - rust bindings for libalpm

Latest version Documentation

alpm.rs provides complete, safe, ergonomic bindings to the libalpm API, the package management library used by pacman and other tools.

Features

  • mtree - enables the alpm_pkg_mtree_* functions
  • generate - generate the raw alpm-sys bindings at build time
  • checkver - check that the version of libalpm installed is compatible with alpm.rs
  • git - target the git master API
  • static - statically link to libalpm

Note: checkver does not work with the git feature. You can instead use the generate feature to ensure alpm.rs builds against a compatible libalpm version.

libalpm compatibility

alpm.rs always targets the latest version of libalpm. It may also support previous versions if the API was not changed.

alpm.rs also supports the pacman git master via the git feature.

Currently alpm.rs supports libalpm v15.x.x.

Note: When using the git feature, alpm.rs is updated against the libalpm git master as commits happen. As the git version is not considered stable software, this is done without bumping the major version.

Documentation

This crate just provides bindings for libalpm and hence does not document libalpm. You can find documentation for libalpm in the libalpm (3) man page or in alpm.h.

There are also examples on how to use the alpm crate in alpm/examples.

alpm-sys

This repo also contains the alpm-sys crate, providing raw bindings for libalpm. Although you probably just want to use the alpm crate instead.

Contributors

Morganamilo

464 commits

pfeifferj

5 commits

FoxieDev

4 commits

Languages

Rust

99.2%