clamdpy
A Python wrapper around clamd, the ClamAV daemon.
This is a maintained and updated fork of https://github.com/graingert/python-clamd/, credit goes to the original developer(s).
Installation
Using pip:
pip install clamdpy
Usage
from io import BytesIO
from clamdpy import ClamdNetworkSocket
clamd = ClamdNetworkSocket(
host="127.0.0.1",
port=3310,
timeout=15,
)
clamd.ping()
#> 'PONG'
clamd.version()
#> VersionInfo(version='ClamAV 0.103.9', signature=27065, signature_date=datetime(2023, 10, 18, 9, 49, 14))
# Raw response can be fetched as well:
clamd.version(raw=True)
#> 'ClamAV 0.103.9/27065/Wed Oct 18 09:49:14 2023'
clamd.instream(BytesIO(b"data"))
#> ScanResult(path='stream', reason=None, status='OK')
Most of the clamd commands are implemented (a couple ones are missing and should be implemented sooner or later).
It is possible to use UNIX sockets as well:
from clamdpy import ClamdUnixSocket
clamd = ClamdUnixSocket(path="/var/run/clamav/clamd.ctl")
Line delimitations
By default, \n will be used to terminate lines. Clamd also supports NULL characters:
from clamdpy import ClamdNetworkSocket
clamd = ClamdNetworkSocket(line_terminator="z")
Metadata
Release files for clamdpy 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| clamdpy-0.2.0.tar.gz | 24.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| clamdpy-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.4 kB
Release files / clamdpy-0.2.0.tar.gz
| Download URL | clamdpy-0.2.0.tar.gz |
|---|---|
| Size | 24.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e157f49fc64dc239fe1f662db31009aca92b33486b3124b7863e808edf5cd1f
|
|
BLAKE2b-256 checksum How to use checksums |
1f196f476637b3cda052c7fd1be5224b7d2f30c09dc5717c51c02145c145a51c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / clamdpy-0.2.0-py3-none-any.whl
| Download URL | clamdpy-0.2.0-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51631e0455309f74090876cce989153729f7a5319ad89164f65ec5276759d584
|
|
BLAKE2b-256 checksum How to use checksums |
46053b20a4a4674e8a80cfcef97e7bb15c35b4937ca1e6502071d8796a6175bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|