Metadata-Version: 2.1
Name: libclamav-py
Version: 0.1.2
Summary: libclamav-py is a Python library that provides a seamless interface to the ClamAV antivirus engine via libClamAV. This wrapper directly calls the C API of Libclamav
Home-page: https://github.com/tkasuz/libclamav-py
Author: tkasuz
Author-email: 63289889+tkasuz@users.noreply.github.com
Requires-Python: >=3.12,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: pydantic (>=2.10.3,<3.0.0)
Project-URL: Repository, https://github.com/tkasuz/libclamav-py
Description-Content-Type: text/markdown

# libclamav-py

libclamav-py is a Python wrapper for the ClamAV library, providing an interface to ClamAV's virus scanning capabilities.

## Features
- Directly invokes the C API of libclamav, so the clamd daemon doesn't need to be running on your machine
- Lambda Layer which libclamav is binded (TODO)

## Installation

To install libclamav-py, use pip:

```sh
pip install libclamav-py
```

## Usage

Here is a basic example of how to use libclamav-py:

```python
from libclamav_py.clamav import Client

# Initialize the libclamav engine with the default setting
client = Client(libclamav_path="/lib/libclamav.so")

# Or libclamav client can be initialized from clamd.conf
client = Client.from_clamd_conf(clamd_conf_path="/etc/clamd.conf", libclamav_path="/lib/libclamav.so")
```

```python
# Load virus definitions
client.load_db()

# Compile engine
client.compile_engine()

# Scan a file
result = client.scan_file('/path/to/file')
if result:
    print(f"Virus detected: {result}")
else:
    print("No virus detected")
```

## License
This project is licensed under the GPL-2.0 License. See the [LICENSE](LICENSE) file for details.

## Acknowledgements

- [ClamAV](https://www.clamav.net/) for the virus scanning engine

