semvec/pypi-packages huggingface dataset:
pysig 0.7.3
pysig is a flexible events dispatching framework
License: MIT
Keywords: event,signaling,messaging,network,dispatch

Welcome to pysig
*****************

**pysig** is a library intended to provide an extensible framework for managing events dispatching inside a complex application or over a network.

Feature set
***********

To make a *very short* summary of what **pysig** can do, we could list the followings:

    * it enables subscription mechanisms that are able to
        * register for a **specific event** triggered by a **specific sender**
        * register for **broadcast events** triggered by **any** event of a **specific sender**
        * register for **broadcast events** triggered by **any** event of **any sender**
        * register for **channel events** triggered by **specific** events from any **sender**
        * register listeners without depending on the sender registration
    * supports firing **requests** to connected senders, for accessing data instantly
    * stateful sender connection, automatically firing **connect** and **diconnect** events
    * distribute events intra-process, inter-process or over a given network
    * built-in server and client implementation
    * built-in TCP carrier for TCP/IP networks
    * permits custom transport carrier implementation for dispatching events over different communication mediums (like serial connections) or for transporting them under a different format
    * permits custom data encoding (default is JSON encoding)

Documentation
*************

For the latest documentation and tutorials please visit: http://pysig.readthedocs.org

.. image:: https://readthedocs.org/projects/pysig/badge/?version=latest
   :target: http://pysig.readthedocs.org/en/latest/?badge=latest
   :alt: Documentation Status

.. image:: https://readthedocs.org/projects/pysig/badge/?version=0.7.3
   :target: http://pysig.readthedocs.org/en/0.7.3/?badge=0.7.3
   :alt: Documentation Status
fuzzing 0.3.2
Tools for stress testing applications.
License: MIT
Keywords: development tools

=========================================================
fuzzing: tools for stress testing arbitrary applications.
=========================================================

.. image:: https://travis-ci.org/stbraun/fuzzing.svg?branch=master

.. image:: https://readthedocs.org/projects/fuzzing/badge/?version=master

Stress testing of applications can be done in lots of different ways.
This package provides an easy to use tool to stress test applications which take files
as parameters. Editors, image viewers, compilers, and many more classes of apps come to mind.

The stress test is based on a given set of files, binary or text. Those files are taken
randomly and some bytes are modified also randomly (fuzzing). Then the application gets
executed with the fuzzed file. Repeating this over and over again stresses the robustness
for defective input data of the application.

Tutorial and API documentation can be found on ReadTheDocs_.

.. _ReadTheDocs: http://fuzzing.readthedocs.org/.

What's new?
-----------

Now you can run your tests in multiple processes. Test results are combined and printed.


Installation
------------

The easiest way to install is via ``easy_install`` or ``pip`` ::

    $ pip install fuzzing

There are feature related tests that can be run with ``behave`` and unit tests
runnable with ``pytest`` or ``nosetest``.


Example
-------

::

    from fuzzing.fuzzer import FuzzExecutor

    # Files to use as initial input seed.
    file_list = ["./features/data/t1.pdf", "./features/data/t3.pdf", "./features/data/t2.jpg"]

    # List of applications to test.
    apps_under_test = ["/Applications/Adobe Reader 9/Adobe Reader.app/Contents/MacOS/AdobeReader",
                       "/Applications/PDFpen 6.app/Contents/MacOS/PDFpen 6",
                       "/Applications/Preview.app/Contents/MacOS/Preview",
                       ]

    number_of_runs = 13

    def test():
        fuzz_executor = FuzzExecutor(apps_under_test, file_list)
        fuzz_executor.run_test(number_of_runs)
        return fuzz_executor.stats

    def main():
        stats = test()
        print(stats)


Using pre-built test runner and configuration
---------------------------------------------

For convenience a test runner is provided which takes a test configuration.

Example of a configuration YAML file: ::

    version: 1
    seed_files: ['requirements.txt', 'README.rst']
    applications: ['MyFunnyApp', 'AdobeReader']
    runs: 800
    processors: 4
    processes: 10

Then call the test runner in a terminal session: ::

    $ run_fuzzer.py test.yaml

This will execute the tests as configured and print the test result when done: ::

    $ run_fuzzer.py test.yaml
    Starting up ...
    ... finished

    Test Results:

    MyFunnyApp
        succeeded: 4021
        failed: 95
    AdobeReader
        succeeded: 3883
        failed: 1

Copyright & License
-------------------

  * Copyright 2015, Stefan Braun
  * License: MIT