Skip to main content

Python interface for YARA

Project description

https://travis-ci.org/VirusTotal/yara-python.svg https://ci.appveyor.com/api/projects/status/gidnb9ulj3rje5s2?svg=true

yara-python

With this library you can use YARA from your Python programs. It covers all YARA’s features, from compiling, saving and loading rules to scanning files, strings and processes.

Here it goes a little example:

>>> import yara
>>> rule = yara.compile(source='rule foo: bar {strings: $a = "lmn" condition: $a}')
>>> matches = rule.match(data='abcdefgjiklmnoprstuvwxyz')
>>> print(matches)
[foo]
>>> print(matches[0].rule)
foo
>>> print(matches[0].tags)
['bar']
>>> print(matches[0].strings)
[(10L, '$a', 'lmn')]

Installation

The easiest way of installing YARA is by using pip:

$ pip install yara-python

But you can also get the source from GitHub and compile it yourself:

$ git clone --recursive https://github.com/VirusTotal/yara-python
$ cd yara-python
$ python setup.py build
$ sudo python setup.py install

Notice the --recursive option used with git. This is important because we need to download the yara subproject containing the source code for libyara (the core YARA library). It’s also important to note that the two methods above link libyara statically into yara-python. If you want to link dynamically against a shared libyara library use:

$ sudo python setup.py install --dynamic-linking

For this option to work you must build and install YARA separately before installing yara-python.

Documentation

Find more information about how to use yara-python at https://yara.readthedocs.org/en/latest/yarapython.html.

Project details


Download files

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

Files for yara-python, version 3.10.0
Filename, size File type Python version Upload date Hashes
Filename, size yara_python-3.10.0-cp27-cp27m-win32.whl (619.1 kB) File type Wheel Python version cp27 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp27-cp27m-win_amd64.whl (690.4 kB) File type Wheel Python version cp27 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp33-cp33m-win32.whl (624.2 kB) File type Wheel Python version cp33 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp33-cp33m-win_amd64.whl (689.5 kB) File type Wheel Python version cp33 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp34-cp34m-win32.whl (624.1 kB) File type Wheel Python version cp34 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp34-cp34m-win_amd64.whl (689.4 kB) File type Wheel Python version cp34 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp35-cp35m-win32.whl (618.6 kB) File type Wheel Python version cp35 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp35-cp35m-win_amd64.whl (711.4 kB) File type Wheel Python version cp35 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp36-cp36m-win32.whl (618.6 kB) File type Wheel Python version cp36 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp36-cp36m-win_amd64.whl (711.4 kB) File type Wheel Python version cp36 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp37-cp37m-win32.whl (618.6 kB) File type Wheel Python version cp37 Upload date Hashes View hashes
Filename, size yara_python-3.10.0-cp37-cp37m-win_amd64.whl (711.4 kB) File type Wheel Python version cp37 Upload date Hashes View hashes
Filename, size yara-python-3.10.0.tar.gz (366.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page