Metadata-Version: 1.1
Name: pyfarm.agent
Version: 0.8.3
Summary: Core module containing code to run PyFarm's agent.
Home-page: https://github.com/pyfarm/pyfarm-agent
Author: Oliver Palmer
Author-email: development@pyfarm.net
License: Apache v2.0
Description: .. Copyright 2013 Oliver Palmer
        ..
        .. Licensed under the Apache License, Version 2.0 (the "License");
        .. you may not use this file except in compliance with the License.
        .. You may obtain a copy of the License at
        ..
        ..   http://www.apache.org/licenses/LICENSE-2.0
        ..
        .. Unless required by applicable law or agreed to in writing, software
        .. distributed under the License is distributed on an "AS IS" BASIS,
        .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        .. See the License for the specific language governing permissions and
        .. limitations under the License.
        
        PyFarm Agent
        ============
        
        .. image:: https://travis-ci.org/pyfarm/pyfarm-agent.png?branch=master
            :target: https://travis-ci.org/pyfarm/pyfarm-agent
            :alt: build status (agent)
        
        .. image:: https://coveralls.io/repos/pyfarm/pyfarm-agent/badge.png?branch=master
            :target: https://coveralls.io/r/pyfarm/pyfarm-agent?branch=master
            :alt: coverage
        
        
        Core module containing code to run PyFarm's agent. This will allow a remote
        host to:
        
            * Inform the master about itself
            * Request, receive and execute work via job types
            * Track and control individual processes
            * Measure and limit system resource usage
        
        
        Python Version Support
        ----------------------
        
        This library supports Python 2.6 and Python 2.7 only for the moment.  Coding
        practices have been geared towards supporting Python 3 when the underlying
        library, Twisted, is ported to Python 3.
        
        Documentation
        -------------
        
        The documentation for this this library is hosted on
        `Read The Docs <https://pyfarm.readthedocs.org/projects/pyfarm-agent/en/latest/>`_.
        It's generated directly from this library using sphinx (setup may vary depending
        on platform)::
        
            virtualenv env
            . env/bin/activate
            pip install sphinx nose
            pip install -e . --egg
            make -C docs html
        
        Testing
        -------
        
        Tests are run on `Travis <https://travis-ci.org/pyfarm/pyfarm-agent>`_ for
        every commit.  They can also be run locally too using ``trial``.  Currently,
        the agent tests require:
        
            * Access to https://httpbin.pyfarm.net for HTTP client testing.  This is
              configurable however and could be pointed to an internal domain
              using the ``agent_unittest`` configuration variable.
            * The ``pyfarm.master`` module to run the API.  So all the setup steps
              that apply to the master will apply here as well.  This includes the
              requirement to run Redis, RabbitMQ or another backend that supports
              ``celery``.
            * Linux or OS X since the master is designed to operate on these
              platforms.  The below setup may work on Windows with a few configuration
              tweaks too.
        
        Newer tests are being designed to be lighter weight so eventually most of the
        above may no longer be required for testing.  For now however these are the
        basic steps to run the tests and are based on the steps in ``.travis.yml``::
        
            virtualenv env
            . env/bin/activate
            pip install pyfarm.master uwsgi mock
            pyfarm-tables
            uwsgi resources/uwsgi.ini
            pip install -e . --egg
            trial tests  # in a new shell with the same virtualenv
        
        
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: No Input/Output (Daemon)
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: System :: Distributed Computing
