# SmoothGlue Malware Scan
A Python package that provides a library for interfacing with malware scanning utilities, currently only ClamAV.
## Overview
`smoothglue_malware_scan` simplifies the process of scanning files for malware. The core problem it solves is providing a stop-check for incoming files to be scanned and either continue through the desired workflow if clean of malware and to follow a rejection workflow if malware is found.
### Key Features
* **Malware Scanning Wrappers:** Easily interact with malware scanning utilities, currently only ClamAV.
* **Custom Exceptions:** A set of custom exceptions to easily use if malware is found or to help debug.
## Installation
### Prerequisites
* Python 3.9+
### Install App From PyPI Package (Official Use)
1. Before installing the package, make sure that there is a virtual environment set up:
```python
python -m venv venv
source venv/bin/activate
```
2. Use pip and the following command:
```python
pip install smoothglue_malware_scan
```
## Usage
### ClamAV
```python
from smoothglue_malware_scan.scanners.clamav import ClamAVScanner
from smoothglue_malware_scan.exceptions import MalwareFoundException, ScanningServiceException
scanner = ClamAVScanner(clam_av_host="<clam av host name>", clam_av_port=3310)
with open("/tmp/mymalware.exe", "rb") as f:
try:
scanner.scan_stream(f.read())
except ScanningServiceException as e:
# Unable to connect to ClamAV server or ClamAV encountered an error scanning the file
# e.reason may have additional context
print("Error scan file")
except MalwareFoundException as e:
# ClamAV detected malware in the file. e.reason will be the type of malware detected
print(f"Detected {e.reason} in file")
else:
print("No malware detected")
```
## License
This project is licensed under a Proprietary License. See the [LICENSE](./LICENSE) file for more details.
Raw data
{
"_id": null,
"home_page": "https://braingu.com/solutions/smoothglue/",
"name": "smoothglue_malware_scan",
"maintainer": "BrainGu",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "smoothglue@braingu.com",
"keywords": "Python, Malware Scan, ClamAV, Security",
"author": "SmoothGlue",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/40/e3/4139dcd3ad893fb18a4747863f2fddb1f62ec0f32d684b67257c01086fe0/smoothglue_malware_scan-1.0.0.tar.gz",
"platform": null,
"description": "# SmoothGlue Malware Scan\n\nA Python package that provides a library for interfacing with malware scanning utilities, currently only ClamAV.\n\n## Overview\n\n`smoothglue_malware_scan` simplifies the process of scanning files for malware. The core problem it solves is providing a stop-check for incoming files to be scanned and either continue through the desired workflow if clean of malware and to follow a rejection workflow if malware is found.\n\n### Key Features\n\n* **Malware Scanning Wrappers:** Easily interact with malware scanning utilities, currently only ClamAV.\n* **Custom Exceptions:** A set of custom exceptions to easily use if malware is found or to help debug.\n\n## Installation\n\n### Prerequisites\n\n* Python 3.9+\n\n### Install App From PyPI Package (Official Use)\n\n1. Before installing the package, make sure that there is a virtual environment set up:\n ```python\n python -m venv venv\n source venv/bin/activate\n ```\n\n2. Use pip and the following command:\n ```python\n pip install smoothglue_malware_scan\n ```\n\n## Usage\n\n### ClamAV\n\n```python\nfrom smoothglue_malware_scan.scanners.clamav import ClamAVScanner\nfrom smoothglue_malware_scan.exceptions import MalwareFoundException, ScanningServiceException\n\nscanner = ClamAVScanner(clam_av_host=\"<clam av host name>\", clam_av_port=3310)\n\nwith open(\"/tmp/mymalware.exe\", \"rb\") as f:\n try:\n scanner.scan_stream(f.read())\n except ScanningServiceException as e:\n # Unable to connect to ClamAV server or ClamAV encountered an error scanning the file\n # e.reason may have additional context\n print(\"Error scan file\")\n except MalwareFoundException as e:\n # ClamAV detected malware in the file. e.reason will be the type of malware detected\n print(f\"Detected {e.reason} in file\")\n else:\n print(\"No malware detected\")\n```\n\n## License\n\nThis project is licensed under a Proprietary License. See the [LICENSE](./LICENSE) file for more details.\n",
"bugtrack_url": null,
"license": "Proprietary",
"summary": "A Python utility wrapper for malware scanning libraries",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://braingu.com/solutions/smoothglue/"
},
"split_keywords": [
"python",
" malware scan",
" clamav",
" security"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c3546016226cdc871ecc0f302f5da0daefeca1f39de6c7086eb72644ba2c61bd",
"md5": "adcf2e4f4120bb093edddc068300d296",
"sha256": "40fe543d5288a82cd643dc6dc04bd43bde7c7032b066dd02ccb1b892009c2789"
},
"downloads": -1,
"filename": "smoothglue_malware_scan-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "adcf2e4f4120bb093edddc068300d296",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 5694,
"upload_time": "2025-08-18T14:43:00",
"upload_time_iso_8601": "2025-08-18T14:43:00.817911Z",
"url": "https://files.pythonhosted.org/packages/c3/54/6016226cdc871ecc0f302f5da0daefeca1f39de6c7086eb72644ba2c61bd/smoothglue_malware_scan-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "40e34139dcd3ad893fb18a4747863f2fddb1f62ec0f32d684b67257c01086fe0",
"md5": "ba4942abc7abf3d5a7d2e8b873e9332c",
"sha256": "9c76beca85e075ff0dbbb86ba16387296594d88680c89554ce6c754dc9bc136a"
},
"downloads": -1,
"filename": "smoothglue_malware_scan-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "ba4942abc7abf3d5a7d2e8b873e9332c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 6159,
"upload_time": "2025-08-18T14:43:02",
"upload_time_iso_8601": "2025-08-18T14:43:02.231562Z",
"url": "https://files.pythonhosted.org/packages/40/e3/4139dcd3ad893fb18a4747863f2fddb1f62ec0f32d684b67257c01086fe0/smoothglue_malware_scan-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-18 14:43:02",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "smoothglue_malware_scan"
}