# Installation

## Dependencies

As usual, Python dependencies are specified in `pyproject.toml`. However, to build pyfuse3 you also need the following additional dependencies installed on your system:

- libfuse, version 3.3.0 or newer, including development headers (typically distributions provide them in a libfuse3-devel or libfuse3-dev package).

- the pkg-config tool

- the attr library

- Python development headers (for example, the python3-dev or python3-devel package on many Linux distributions)

- A C compiler

## Stable releases

To install a stable pyfuse3 release, ensure you have the non-Python dependencies installed and then use your favorite Python package manager to install pyfuse3 from PyPI (e.g. `pip install pyfuse3`).

Pyfuse release tarballs are signed with signify. You can validate the signature with:

    signify -V -m pyfuse3-A.B.C.tar.gz -p <public-key>

The public key needs to be retrieved from a trustworthy source for the first installation. Afterwards, the trust chain is self-sustaining: each release tarball contains the public key for the release in its `signify/` directory. Bugfix releases (`A.B.C`) will be signed by `pyfuse-A.B.pub`. New major or minor releases (`A.B.0`) will be signed by `pyfuse-next.pub`.

## Installing from Git / Developing pyfuse3

Clone the pyfuse3 repository and take a look at `developer_notes/setup.md`.