Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Provides ClamAV antivirus integration for Archetypes based content types

Project Description



collective.ATClamAV aims at providing antivirus integration to Plone sites. It does that by defining a validator that can be used with any content type that uses File or Image field(s). The open-source Clam Antivirus is supported which is available for all platforms.


To start, you need to have clamd running on some host accessible by your instances. collective.ATClamAV supports either UNIX socket connections or remote connections.

Install collective.ATClamAV and setup the host & port or the path to the clamd socket in the control panel (default is a network connection to clamd listening on localhost at port 3310). By default Files and Images are going to be checked for viruses when added or updated.

Adding anti-virus protection to non-ATFile based content

In order to add anti-virus protection to your custom content types you only need to add the isVirusFree validator to your FileField(s). For instance:

  validators = (('isNonEmptyFile', V_REQUIRED),
                ('isVirusFree', V_REQUIRED),),
  widget = FileWidget(label=u'File'),


By default tests mock clamd and do not require it being installed. If you want to test your clamd setup as well, run tests on all levels i.e.

./bin/test -a2

using the provided buildout. Two layers (with the mocker and without) are provided if you want to integrate the package in your own tests, see


If you want to get involved with the development of collective.ATClamAV please use github to submit your patches/issues.


Some code was shamelessly borrowed from pyClamd.


1.2 - 2011-03-15

  • Sent all data over the socket instead of only the first buffer. [hannosch]
  • Added error logging for failed scans. [hannosch]

1.1 - 2011-02-15

  • Disable virus validator during debug mode but log a warning. This allows local development to take place without having clamav installed. [hannosch]

1.0 - 2011-01-11

  • Reengineering to support images. [hannosch]
  • Improve coverage and use [ggozad]
  • Plone 4 compatibility. [ggozad, hannosch]
  • pep-8 [ggozad]


  • Added support for local UNIX sockets [ggozad]


  • Initial release [ggozad]

Release History

This version
History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(34.2 kB) Copy SHA256 Hash SHA256
Source None Mar 15, 2011

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting