# Surfactant

[![CI Test Status](https://github.com/LLNL/Surfactant/actions/workflows/pytest.yml/badge.svg)](https://github.com/LLNL/Surfactant/actions/workflows/pytest.yml)
[![PyPI](https://img.shields.io/pypi/v/surfactant)](https://pypi.org/project/Surfactant/)
[![Python Versions](https://img.shields.io/pypi/pyversions/surfactant.svg)](https://pypi.org/project/Surfactant/)
[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/LLNL/Surfactant/blob/main/LICENSE)
[![Documentation Status](https://readthedocs.org/projects/surfactant/badge/?version=latest)](https://surfactant.readthedocs.io/en/latest/?badge=latest)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/LLNL/Surfactant/main.svg)](https://results.pre-commit.ci/latest/github/LLNL/Surfactant/main)

## Welcome to Surfactant's documentation!

Surfactant provides a modular framework to gather file information and analyze dependencies for generating an SBOM.

Some links to pages that may be useful are:

[PyPI](https://pypi.org/project/Surfactant/)
[GitHub/Source Code](https://github.com/LLNL/Surfactant/)
[Discussions](https://github.com/LLNL/Surfactant/discussions/)

## Contents

```{eval-rst}
.. toctree::
   :maxdepth: 2

   self
   getting_started
   basic_usage
   configuration_files
   plugins
   settings
   contribution_guide
   changelog
   internals_overview.md
   api_reference
```

## Support

Full user guides for Surfactant are available [online](https://surfactant.readthedocs.io)
and in the [docs](https://github.com/LLNL/Surfactant/tree/main/docs) directory in the GitHub repository.

For questions or support, please create a new discussion on [GitHub Discussions](https://github.com/LLNL/Surfactant/discussions/categories/q-a),
or [open an issue](https://github.com/LLNL/Surfactant/issues/new/choose) for bug reports and feature requests.

## License

Surfactant is released under the MIT license. See the [LICENSE](./LICENSE)
and [NOTICE](./NOTICE) files for details. All new contributions must be made
under this license.

# Indices and tables

```{eval-rst}
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
```
