<commit_before>Event driven concurrent framework for python. Tested in Windows and Linux,
it requires python 2.6, 2.7, 3.2, 3.3 or pypy_.
With pulsar you can write asynchronous servers performing one or several
activities in different threads and/or processes.

:CI: |pulsar-build|_ 
:Documentation: http://packages.python.org/pulsar/
:Dowloads: http://pypi.python.org/pypi/pulsar
:Source: https://github.com/quantmind/pulsar
:Keywords: server, asynchronous, concurrency, actor, thread, process, socket, task queue


.. |pulsar-build| image:: https://secure.travis-ci.org/quantmind/pulsar.png?branch=master
.. _pulsar-build: http://travis-ci.org/quantmind/pulsar

An example of a web server written with ``pulsar`` application
framework which responds with "Hello World!" for every request::

    
    from pulsar.apps import wsgi
    
    def hello(environ, start_response):
        '''Pulsar HTTP "Hello World!" application'''
        data = b'Hello World!\n'
        status = '200 OK'
        response_headers = (
            ('Content-type','text/plain'),
            ('Content-Length', str(len(data)))
        )
        start_response(status, response_headers)
        return [data]
    
    
    if __name__ == '__main__':
        wsgi.WSGIServer(callable=hello).start()
    
    
Pulsar's goal is to provide an easy way to build scalable network programs.
In the "Hello world!" web server example above, many client
connections can be handled concurrently.
Pulsar tells the operating system (through epoll or select) that it should be
notified when a new connection is made, and then it goes to sleep.
<commit_msg>Update README.rst<commit_after>Event driven concurrent framework for python. Tested in Windows and Linux,
it requires python 2.6, 2.7, 3.2, 3.3 or pypy_.
With pulsar you can write asynchronous servers performing one or several
activities in different threads and/or processes.

:CI: |pulsar-build|_ 
:Documentation: http://packages.python.org/pulsar/
:Dowloads: http://pypi.python.org/pypi/pulsar
:Source: https://github.com/quantmind/pulsar
:Keywords: server, asynchronous, concurrency, actor, thread, process, socket, task queue


.. |pulsar-build| image:: https://secure.travis-ci.org/quantmind/pulsar.png?branch=master
.. _pulsar-build: http://travis-ci.org/quantmind/pulsar

An example of a web server written with ``pulsar`` application
framework which responds with "Hello World!" for every request::

    
    from pulsar.apps import wsgi
    
    def hello(environ, start_response):
        '''Pulsar HTTP "Hello World!" application'''
        data = b'Hello World!\n'
        status = '200 OK'
        response_headers = [
            ('Content-type','text/plain'),
            ('Content-Length', str(len(data)))
        ]
        start_response(status, response_headers)
        return [data]
    
    
    if __name__ == '__main__':
        wsgi.WSGIServer(callable=hello).start()
    
    
Pulsar's goal is to provide an easy way to build scalable network programs.
In the "Hello world!" web server example above, many client
connections can be handled concurrently.
Pulsar tells the operating system (through epoll or select) that it should be
notified when a new connection is made, and then it goes to sleep.

{'fraction_non_alphanumeric': 0.10258780036968576, 'fraction_numerical': 0.006777572396796057, 'mean_word_length': 3.4540466392318243, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4059007', 'n_tokens_mistral': 996, 'n_tokens_neox': 948, 'n_words': 327}