Kuyruk Documentation. Release 0. Cenk Altı

Size: px
Start display at page:

Download "Kuyruk Documentation. Release 0. Cenk Altı"

Transcription

1 Kuyruk Documentation Release 0 Cenk Altı Mar 07, 2018

2

3 Contents 1 About Kuyruk 3 2 User s Guide 5 3 API Reference 17 4 Indices and tables 21 Python Module Index 23 i

4 ii

5 Welcome to Kuyruk s documentation. This documentation covers the usage of the library and describes how to run workers. Contents 1

6 2 Contents

7 CHAPTER 1 About Kuyruk Kuyruk is a simple and easy way of distributing tasks to run on servers. It uses RabbitMQ as message broker and depends on amqp which is a pure-python RabbitMQ client library. Compatible with Python All design decisions is based on simplicity. Speed is not first priority. Kuyruk only supports RabbitMQ and does not plan to support any other backend. Kuyruk requires no change in client code other than adding a decorator on top of a function in order to convert it to a Task. Also, sensible defaults have been set for configuration options and can be run without configuring during the development of your application. Kuyruk is designed for long running mission critical jobs. For this reason Kuyruk sends acknowledgement only after the task is fully processed. 3

8 4 Chapter 1. About Kuyruk

9 CHAPTER 2 User s Guide 2.1 Getting Started Running a function in background requires only few steps with Kuyruk. This tutorial assumes that you have a running RabbitMQ server on localhost with default configuration. Following files and commands are in example directory for convenience Installing Kuyruk is available on PyPI. You can install it via pip. $ pip install kuyruk Defining Tasks Instantiate a Kuyruk object and put a task() decorator on top of your function. This will convert your function into a Task object. # tasks.py from kuyruk import Kuyruk kuyruk = def echo(message): print message You can specify some options when defining task. See task() for details. 5

10 2.1.3 Sending the Task to RabbitMQ When you call the Task object, Kuyruk will serialize the task as JSON and will send it to a queue on RabbitMQ instead of running it. import tasks tasks.echo("hello, World!") Running a Worker Run the following command to process tasks in default queue. $ kuyruk --app tasks.kuyruk worker 2.2 Worker Worker processes tasks from a queue Usage $ kuyruk --app <path.to.kuyruk.instance> --queue <queue_name> If queue_name is not given default queue name( kuyruk ) is used. Example: $ kuyruk --app tasks.kuyruk --queue download_file OS Signals Description of how worker processes react to OS signals. SIGINT Worker exits after completing the current task. This is the signal sent when you press CTRL-C on your keyboard. SIGTERM Worker exits after completing the current task. SIGQUIT Worker quits immediately. This is unclean shutdown. If worker is running a task it will be requeued by RabbitMQ. This is the signal sent when you press CTRL-on your keyboard. SIGUSR1 Prints stacktrace. Useful for debugging stuck tasks or seeing what the worker is doing. SIGUSR2 Discard current task and proceed to next one. Discarded task will not be requeued by RabbitMQ. SIGHUP Used internally to fail the task when connection to RabbitMQ is lost during the execution of a long running task. Do not use it. 6 Chapter 2. User s Guide

11 2.3 Signals Kuyruk can be extended via signals. Kuyruk has a signalling support via Blinker library Example Here is an example for clearing the SQLAlchemy s scoped_session before executing the function and commiting it after the task is executed: from kuyruk import Kuyruk from kuyruk.signals import task_prerun, task_postrun from myapp.orm import Session kuyruk = def open_session(sender, task=none, **extra): task.session = def close_session(sender, task=none, **extra): def task_with_a_session(): session = task_with_a_session.session # Work with the session... session.commit() List of Signals kuyruk.signals.task_init = <blinker.base.signal object> Sent when the task decorator is applied. Arguments: sender: Kuyruk object task: Task object kuyruk.signals.task_preapply = <blinker.base.signal object> Sent before the task is applied. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_postapply = <blinker.base.signal object> Sent after the task is applied. Arguments: 2.3. Signals 7

12 sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_prerun = <blinker.base.signal object> Sent before the wrapped function is executed. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_postrun = <blinker.base.signal object> Sent after the wrapped function is executed. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_success = <blinker.base.signal object> Sent when the wrapped function is returned. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task kuyruk.signals.task_error = <blinker.base.signal object> Sent when the wrapped function raises an exception. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task exc_info: Return value of sys.exc_info() kuyruk.signals.task_failure = <blinker.base.signal object> Sent when the task fails after all retries(if any). Arguments: sender: Kuyruk object task: Task object 8 Chapter 2. User s Guide

13 args: Positional arguments to the task kwargs: Keyword arguments to the task exc_info: Return value of sys.exc_info() kuyruk.signals.task_presend = <blinker.base.signal object> Sent before the task is sent to queue. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task description: dict representation of the task kuyruk.signals.task_postsend = <blinker.base.signal object> Sent after the task is sent to queue. Arguments: sender: Kuyruk object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task description: dict representation of the task kuyruk.signals.worker_failure = <blinker.base.signal object> Sent when the task fails. Arguments: sender: Kuyruk object worker: The Worker object task: Task object args: Positional arguments to the task kwargs: Keyword arguments to the task description: dict representation of the task exc_info: Return value of sys.exc_info() kuyruk.signals.worker_init = <blinker.base.signal object> Sent when the worker is initialized. Arguments: sender: Kuyruk object worker: The Worker object kuyruk.signals.worker_start = <blinker.base.signal object> Sent when the worker is started. Arguments: sender: Kuyruk object 2.3. Signals 9

14 worker: The Worker object kuyruk.signals.worker_shutdown = <blinker.base.signal object> Sent when the worker shuts down. Arguments: sender: Kuyruk object worker: The Worker object 2.4 Extensions These are some extensions that adds a functionality to Kuyruk Kuyruk-Sentry Sends exceptions in Kuyruk workers to Sentry Kuyruk-Requeue Save failed tasks to Redis and requeue them Kuyruk-Manager See and manage Kuyruk workers Changelog Here you can see the full list of changes between each Kuyruk release Version Released on Added Windows support Version Released on Added Kuyruk.send_tasks_to_queue method for batch sending. 10 Chapter 2. User s Guide

15 2.5.3 Version Released on Added delay for failed and rejected taks Version Released on Added RabbitMQ connection timeout values to config Version Released on Removed queue key from task description dictionary. Improve error handling when closing connections and channels Version Released on Removed local argument from Kuyruk.task decorator Version Released on Changed WORKER_MAX_LOAD behavior. None disables the feature. Set to -1 for number of CPUs on host. Add argumens to worker command to override WORKER_MAX_LOAD and WORKER_MAX_RUN_TIME config values. Renamed ConnectionError to HeartbeatError. Removed Task.run_in_queue method. Use Task.send_to_queue with wait_result argument instead. Removed local argument from Task.send_to_queue method. Pass host="localhost" for sending to local queue. Removed local argument from worker command. If queue name ends with ".localhost" hostname will be appended to queue name. Removed deprecated Worker.queue property. Removed WORKER_LOGGING_CONFIG configuration value. Added --logging-level to worker command arguments. Removed Worker.config property. Added message_ttl argument to Task.send_to_queue method Changelog 11

16 2.5.8 Version Released on Added Task.run_in_queue context manager for getting task results Version Released on Removed kuyruk_host and kuyruk_local arguments from task calls. Exported Task.send_to_queue method Version Released on Fixed 1 second delay after processing a task. Fixed a depreciation warning from recent version of amqp library Version Released on Workers can consume tasks from multiple queues Version Released on Export Task.name property for fixing a bug in kuyruk-manager Version Released on Fixed a bug related with Python , uwsgi and setproctitle Version Released on This is major rewrite of Kuyruk and it is not backwards compatible. Added Python 3 support. Replaced pika with amqp. Fixed multi-threading issues. Removed master subcommand. Removed scheduler subcommand. 12 Chapter 2. User s Guide

17 Removed requeue subcommand. Removed manager subcommand. Exceptions are not sent to Sentry. Failed tasks are not saved to Redis anymore. Failed tasks are retried in the same worker. Unknown keys in config are now errors. Changed some config variable names. Worker command takes Kuyruk instance instead of config file Version Released on Fixed a worker startup bug happens when running workers as another user Version Released on Added periodic task scheduler feature Version Released on Added Task.delay() function alias for easy migration from Celery Version Released on Use rpyc library for manager communication Version Released on Reverted the option to give Task class from configuration. This caused master to import from user code. Added sleep after respawn_worker to prevent cpu burning Version Released on Added the option to give Task class from configuration Changelog 13

18 Version Released on Prevented close to be called on a nonexistent connection Version Released on Fix the bug about freezing processes on exit Version Released on Fix unclosed socket error on manager Version Released on Removed InvalidCall exception type. TypeError or AttributeError is raised instead. If a kuyruk process exits with a signal, the exit code will be Version Released on Master uses os.wait() instead of polling workers every second Version Released on Use forking again instead Popen after fixing import issue. Add Quit Task button to Manager interface Version Released on Drop support for Python 2.6. Switch back to subprocess module from forking Version Released on Use fork() directly instead of subprocess.popen() when starting workers from master. 14 Chapter 2. User s Guide

19 Version Released on First public release Changelog 15

20 16 Chapter 2. User s Guide

21 CHAPTER 3 API Reference 3.1 Kuyruk Class class kuyruk.kuyruk(config: kuyruk.config.config = None) None Provides task() decorator to convert a function into a Task. Provides channel() context manager for opening a new channel on the connection. Connection is opened when the first channel is created. Parameters config Must be an instance of Config. If None, default config is used. See Config for default values. channel() typing.iterator[amqp.channel.channel] Returns a new channel from a new connection as a context manager. connection() typing.iterator[amqp.connection.connection] Returns a new connection as a context manager. task(queue: str = kuyruk, **kwargs: typing.any) typing.callable Wrap functions with this decorator to convert them to tasks. After wrapping, calling the function will send a message to a queue instead of running the function. Parameters queue Queue name for the tasks. kwargs Keyword arguments will be passed to Task constructor. Returns Callable Task object wrapping the original function. 3.2 Task Class class kuyruk.task Calling a Task object serializes the task to JSON and sends it to the queue. Parameters 17

22 retry Retry this times before give up. The failed task will be retried in the same worker. max_run_time Maximum allowed time in seconds for task to complete. apply(*args: typing.any, **kwargs: typing.any) typing.any Called by workers to run the wrapped function. You may call it yourself if you want to run the task in current process without sending to the queue. If task has a retry property it will be retried on failure. If task has a max_run_time property the task will not be allowed to run more than that. name Full path to the task in the form of <module>.<function>. Workers find and import tasks by this path. send_to_queue(args: typing.tuple = (), kwargs: typing.dict[str, typing.any] = {}, host: str = None, wait_result: typing.union[int, float] = None, message_ttl: typing.union[int, float] = None) typing.any Sends a message to the queue. A worker will run the task s function when it receives the message. Parameters args Arguments that will be passed to task on execution. kwargs Keyword arguments that will be passed to task on execution. host Send this task to specific host. host will be appended to the queue name. If host is localhost, hostname of the server will be appended to the queue name. wait_result Wait for result from worker for wait_result seconds. If timeout occurs, ResultTimeout is raised. If excecption occurs in worker, RemoteException is raised. message_ttl If set, message will be destroyed in queue after message_ttl seconds. Returns Result from worker if wait_result is set, else None. 3.3 Config Class class kuyruk.config Kuyruk configuration object. Default values are defined as class attributes. Additional attributes may be added by extensions. EAGER = False Run tasks in the process without sending to queue. Useful in tests. RABBIT_HOST = 'localhost' RabbitMQ host. RABBIT_PASSWORD = 'guest' RabbitMQ password. RABBIT_PORT = 5672 RabbitMQ port. RABBIT_USER = 'guest' RabbitMQ user. RABBIT_VIRTUAL_HOST = '/' RabbitMQ virtual host. 18 Chapter 3. API Reference

23 WORKER_LOGGING_LEVEL = 'INFO' Logging level of root logger. WORKER_MAX_LOAD = None Pause consuming queue when the load goes above this level. WORKER_MAX_RUN_TIME = None Gracefully shutdown worker after running this seconds. from_dict(d: typing.dict[str, typing.any]) None Load values from a dict. from_env_vars() None Load values from environment variables. Keys must start with KUYRUK_. from_object(obj: typing.any) None Load values from an object. from_pyfile(filename: str) None Load values from a Python file. 3.4 Exceptions exception kuyruk.exceptions.discard The task may raise this if it does not want to process the message. The message will be dropped. typ- exception kuyruk.exceptions.heartbeaterror(exc_info: ing.tuple[typing.type[baseexception], BaseException, traceback]) None Raised when there is problem while sending heartbeat during task execution. exception kuyruk.exceptions.kuyrukerror Base class for Kuyruk exceptions. exception kuyruk.exceptions.reject The task may raise this if it does not want to process the message. The message will be requeued and delivered to another worker. exception kuyruk.exceptions.remoteexception(type_: typing.type, value: Exception, traceback: traceback) None Raised from kuyruk.task.send_to_queue() if wait_result is set and exception is raised on the worker while running the task. exception kuyruk.exceptions.resulttimeout Raised from kuyruk.task.send_to_queue() if wait_result is set and reply is not received in wait_result seconds. exception kuyruk.exceptions.timeout Raised if a task exceeds it s allowed run time Exceptions 19

24 20 Chapter 3. API Reference

25 CHAPTER 4 Indices and tables genindex search 21

26 22 Chapter 4. Indices and tables

27 Python Module Index k kuyruk.exceptions, 19 kuyruk.signals, 7 23

28 24 Python Module Index

29 Index A apply() (kuyruk.task method), 18 C channel() (kuyruk.kuyruk method), 17 Config (class in kuyruk), 18 connection() (kuyruk.kuyruk method), 17 D Discard, 19 E EAGER (kuyruk.config attribute), 18 F from_dict() (kuyruk.config method), 19 from_env_vars() (kuyruk.config method), 19 from_object() (kuyruk.config method), 19 from_pyfile() (kuyruk.config method), 19 H HeartbeatError, 19 K Kuyruk (class in kuyruk), 17 kuyruk.exceptions (module), 19 kuyruk.signals (module), 7 KuyrukError, 19 N name (kuyruk.task attribute), 18 R RABBIT_HOST (kuyruk.config attribute), 18 RABBIT_PASSWORD (kuyruk.config attribute), 18 RABBIT_PORT (kuyruk.config attribute), 18 RABBIT_USER (kuyruk.config attribute), 18 RABBIT_VIRTUAL_HOST (kuyruk.config attribute), 18 Reject, 19 RemoteException, 19 ResultTimeout, 19 S send_to_queue() (kuyruk.task method), 18 T Task (class in kuyruk), 17 task() (kuyruk.kuyruk method), 17 task_error (in module kuyruk.signals), 8 task_failure (in module kuyruk.signals), 8 task_init (in module kuyruk.signals), 7 task_postapply (in module kuyruk.signals), 7 task_postrun (in module kuyruk.signals), 8 task_postsend (in module kuyruk.signals), 9 task_preapply (in module kuyruk.signals), 7 task_prerun (in module kuyruk.signals), 8 task_presend (in module kuyruk.signals), 9 task_success (in module kuyruk.signals), 8 Timeout, 19 W worker_failure (in module kuyruk.signals), 9 worker_init (in module kuyruk.signals), 9 WORKER_LOGGING_LEVEL (kuyruk.config attribute), 18 WORKER_MAX_LOAD (kuyruk.config attribute), 19 WORKER_MAX_RUN_TIME (kuyruk.config attribute), 19 worker_shutdown (in module kuyruk.signals), 10 worker_start (in module kuyruk.signals), 9 25

bottle-rest Release 0.5.0

bottle-rest Release 0.5.0 bottle-rest Release 0.5.0 February 18, 2017 Contents 1 API documentation 3 1.1 bottle_rest submodule.......................................... 3 2 What is it 5 2.1 REST in bottle..............................................

More information

Celery-RabbitMQ Documentation

Celery-RabbitMQ Documentation Celery-RabbitMQ Documentation Release 1.0 sivabalan May 31, 2015 Contents 1 About 3 1.1 Get it................................................... 3 1.2 Downloading and installing from source.................................

More information

Sherlock Documentation

Sherlock Documentation Sherlock Documentation Release 0.3.0 Vaidik Kapoor May 05, 2015 Contents 1 Overview 3 1.1 Features.................................................. 3 1.2 Supported Backends and Client Libraries................................

More information

nucleon Documentation

nucleon Documentation nucleon Documentation Release 0.1 Daniel Pope December 23, 2014 Contents 1 Getting started with Nucleon 3 1.1 An example application......................................... 3 1.2 Our first database app..........................................

More information

WorQ Documentation. Release Daniel Miller

WorQ Documentation. Release Daniel Miller WorQ Documentation Release 1.1.0 Daniel Miller March 29, 2014 Contents 1 An example with Redis and a multi-process worker pool 3 2 Links 5 3 Running the tests 7 4 Change Log 9 5 API Documentation 11 5.1

More information

cotyledon Documentation

cotyledon Documentation cotyledon Documentation Release Mehdi Abaakouk Feb 07, 2018 Contents 1 Contents: 1 1.1 Installation................................................ 1 1.2 API....................................................

More information

mpv Documentation Release Cory Parsons

mpv Documentation Release Cory Parsons mpv Documentation Release 0.3.0 Cory Parsons Aug 07, 2017 Contents 1 The Mpv Object 3 2 Templates 7 2.1 Base................................................... 7 2.2 Pure Python Template..........................................

More information

django-celery Documentation

django-celery Documentation django-celery Documentation Release 2.5.5 Ask Solem Nov 19, 2017 Contents 1 django-celery - Celery Integration for Django 3 1.1 Using django-celery........................................... 4 1.2 Documentation..............................................

More information

helper Documentation Release Gavin M. Roy

helper Documentation Release Gavin M. Roy helper Documentation Release 2.1.0 Gavin M. Roy September 24, 2013 CONTENTS i ii helper is a command-line/daemon application wrapper package with the aim of creating a consistent and fast way to creating

More information

python-aspectlib Release 0.4.1

python-aspectlib Release 0.4.1 python-aspectlib 0.4.1 Release 0.4.1 May 03, 2014 Contents i ii aspectlib is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing code is

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 User Space / Kernel Interaction Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Operating System Services User and other

More information

GitHub-Flask Documentation

GitHub-Flask Documentation GitHub-Flask Documentation Release 3.2.0 Cenk Altı Jul 01, 2018 Contents 1 Installation 3 2 Configuration 5 3 Authenticating / Authorizing Users 7 4 Invoking Remote Methods 9 5 Full Example 11 6 API Reference

More information

Archan. Release 2.0.1

Archan. Release 2.0.1 Archan Release 2.0.1 Jul 30, 2018 Contents 1 Archan 1 1.1 Features.................................................. 1 1.2 Installation................................................ 1 1.3 Documentation..............................................

More information

Flask-Caching Documentation

Flask-Caching Documentation Flask-Caching Documentation Release 1.0.0 Thadeus Burgess, Peter Justin Nov 01, 2017 Contents 1 Installation 3 2 Set Up 5 3 Caching View Functions 7 4 Caching Other Functions 9 5 Memoization 11 5.1 Deleting

More information

Producer sends messages to the "hello" queue. The consumer receives messages from that queue.

Producer sends messages to the hello queue. The consumer receives messages from that queue. Simple Message Queue using the Pika Python client (From https://www.rabbitmq.com/tutorials/tutorial-one-python.html) A producer (sender) that sends a single message and a consumer (receiver) that receives

More information

IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services

IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services Lecture 11 - Asynchronous Tasks and Message Queues Albert Au Yeung 22nd November, 2018 1 / 53 Asynchronous Tasks 2 / 53 Client

More information

tolerance Documentation

tolerance Documentation tolerance Documentation Release Alisue Apr 1, 217 Contents 1 tolerance 1 1.1 Features.................................................. 1 1.2 Installation................................................

More information

Connexion Sqlalchemy Utils Documentation

Connexion Sqlalchemy Utils Documentation Connexion Sqlalchemy Utils Documentation Release 0.1.4 Michael Housh Apr 17, 2017 Contents 1 Connexion Sqlalchemy Utils 3 1.1 Features.................................................. 3 1.2 Running example

More information

Kinto Documentation. Release Mozilla Services Da French Team

Kinto Documentation. Release Mozilla Services Da French Team Kinto Documentation Release 0.2.2 Mozilla Services Da French Team June 23, 2015 Contents 1 In short 3 2 Table of content 5 2.1 API Endpoints.............................................. 5 2.2 Installation................................................

More information

Cross-platform daemonization tools.

Cross-platform daemonization tools. Cross-platform daemonization tools. Release 0.1.0 Muterra, Inc Sep 14, 2017 Contents 1 What is Daemoniker? 1 1.1 Installing................................................. 1 1.2 Example usage..............................................

More information

Junebug Documentation

Junebug Documentation Junebug Documentation Release 0.0.5a Praekelt Foundation November 27, 2015 Contents 1 Contents 3 1.1 Installation................................................ 3 1.2 Getting started..............................................

More information

python-aspectlib Release 0.5.0

python-aspectlib Release 0.5.0 python-aspectlib 0.5.0 Release 0.5.0 March 17, 2014 Contents i ii aspectlib is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing code

More information

APNs client Documentation

APNs client Documentation APNs client Documentation Release 0.2 beta Sardar Yumatov Aug 21, 2017 Contents 1 Requirements 3 2 Alternatives 5 3 Changelog 7 4 Support 9 4.1 Getting Started..............................................

More information

MyGeotab Python SDK Documentation

MyGeotab Python SDK Documentation MyGeotab Python SDK Documentation Release 0.8.0 Aaron Toth Dec 13, 2018 Contents 1 Features 3 2 Usage 5 3 Installation 7 4 Documentation 9 5 Changes 11 5.1 0.8.0 (2018-06-18)............................................

More information

pytest-benchmark Release 2.5.0

pytest-benchmark Release 2.5.0 pytest-benchmark Release 2.5.0 September 13, 2015 Contents 1 Overview 3 1.1 pytest-benchmark............................................ 3 2 Installation 7 3 Usage 9 4 Reference 11 4.1 pytest_benchmark............................................

More information

django-embed-video Documentation

django-embed-video Documentation django-embed-video Documentation Release 1.1.2-stable Juda Kaleta Nov 10, 2017 Contents 1 Installation & Setup 3 1.1 Installation................................................ 3 1.2 Setup...................................................

More information

redis-lua Documentation

redis-lua Documentation redis-lua Documentation Release 2.0.8 Julien Kauffmann October 12, 2016 Contents 1 Quick start 3 1.1 Step-by-step analysis........................................... 3 2 What s the magic at play here?

More information

GridMap Documentation

GridMap Documentation GridMap Documentation Release 0.14.0 Daniel Blanchard Cheng Soon Ong Christian Widmer Dec 07, 2017 Contents 1 Documentation 3 1.1 Installation...................................... 3 1.2 License........................................

More information

Easy-select2 Documentation

Easy-select2 Documentation Easy-select2 Documentation Release 1.2.2 Lobanov Stanislav aka asyncee September 15, 2014 Contents 1 Installation 3 2 Quickstart 5 3 Configuration 7 4 Usage 9 5 Reference 11 5.1 Widgets..................................................

More information

JupyterHub Documentation

JupyterHub Documentation JupyterHub Documentation Release 0.4.0.dev Project Jupyter team January 30, 2016 User Documentation 1 Getting started with JupyterHub 3 2 Further reading 11 3 How JupyterHub works 13 4 Writing a custom

More information

Pusher Documentation. Release. Top Free Games

Pusher Documentation. Release. Top Free Games Pusher Documentation Release Top Free Games January 18, 2017 Contents 1 Overview 3 1.1 Features.................................................. 3 1.2 The Stack.................................................

More information

Contents: 1 Basic socket interfaces 3. 2 Servers 7. 3 Launching and Controlling Processes 9. 4 Daemonizing Command Line Programs 11

Contents: 1 Basic socket interfaces 3. 2 Servers 7. 3 Launching and Controlling Processes 9. 4 Daemonizing Command Line Programs 11 nclib Documentation Release 0.7.0 rhelmot Apr 19, 2018 Contents: 1 Basic socket interfaces 3 2 Servers 7 3 Launching and Controlling Processes 9 4 Daemonizing Command Line Programs 11 5 Indices and tables

More information

Playing tasks with Django & Celery

Playing tasks with Django & Celery Playing tasks with Django & Celery @fireantology 1 About me I'm a Web Developer Python, Javascript, PHP, Java/Android celery contributor (just one of the hundreds ) About Jamendo Jamendo is a community

More information

pybtsync Documentation

pybtsync Documentation pybtsync Documentation Release 0.0.1 Tiago Macarios December 04, 2014 Contents 1 Tutorial and Walkthrough 3 1.1 Getting Started.............................................. 3 2 pybtsync module classes

More information

retask Documentation Release 1.0 Kushal Das

retask Documentation Release 1.0 Kushal Das retask Documentation Release 1.0 Kushal Das February 12, 2016 Contents 1 Dependencies 3 2 Testimonial(s) 5 3 User Guide 7 3.1 Introduction............................................... 7 3.2 Setting

More information

django-cron Documentation

django-cron Documentation django-cron Documentation Release 0.3.5 Tivix Inc. Mar 04, 2017 Contents 1 Introduction 3 2 Installation 5 3 Configuration 7 4 Sample Cron Configurations 9 4.1 Retry after failure feature........................................

More information

HOW TO FLASK. And a very short intro to web development and databases

HOW TO FLASK. And a very short intro to web development and databases HOW TO FLASK And a very short intro to web development and databases FLASK Flask is a web application framework written in Python. Created by an international Python community called Pocco. Based on 2

More information

Python Utils Documentation

Python Utils Documentation Python Utils Documentation Release 2.2.0 Rick van Hattem Sep 27, 2017 Contents 1 Useful Python Utils 3 1.1 Links................................................... 3 1.2 Requirements for installing:.......................................

More information

web-transmute Documentation

web-transmute Documentation web-transmute Documentation Release 0.1 Yusuke Tsutsumi Dec 19, 2017 Contents 1 Writing transmute-compatible functions 3 1.1 Add function annotations for input type validation / documentation..................

More information

Python StatsD Documentation

Python StatsD Documentation Python StatsD Documentation Release 3.2.2 James Socol Dec 15, 2017 Contents 1 Installing 3 2 Contents 5 2.1 Configuring Statsd............................................ 5 2.2 Data Types................................................

More information

cursesmenu Documentation

cursesmenu Documentation cursesmenu Documentation Release 0.5.0 Author March 04, 2016 Contents 1 Installation 3 2 Usage 5 2.1 Getting a selection............................................ 6 3 API Reference 7 3.1 CursesMenu

More information

IEMS 5722 Mobile Network Programming and Distributed Server Architecture

IEMS 5722 Mobile Network Programming and Distributed Server Architecture Department of Information Engineering, CUHK MScIE 2 nd Semester, 2016/17 IEMS 5722 Mobile Network Programming and Distributed Server Architecture Lecture 9 Asynchronous Tasks & Message Queues Lecturer:

More information

izzati Documentation Release Gustav Hansen

izzati Documentation Release Gustav Hansen izzati Documentation Release 1.0.0 Gustav Hansen Sep 03, 2017 Contents: 1 Why? 3 1.1 Features.................................................. 3 2 Quickstart - Backend 5 2.1 Installation................................................

More information

django-modern-rpc Documentation

django-modern-rpc Documentation django-modern-rpc Documentation Release 0.10.0 Antoine Lorence Dec 11, 2017 Table of Contents 1 What is RPC 1 2 What is django-modern-rpc 3 3 Requirements 5 4 Main features 7 5 Quick-start 9 5.1 Quick-start

More information

scrapekit Documentation

scrapekit Documentation scrapekit Documentation Release 0.1 Friedrich Lindenberg July 06, 2015 Contents 1 Example 3 2 Reporting 5 3 Contents 7 3.1 Installation Guide............................................ 7 3.2 Quickstart................................................

More information

OTX to MISP. Release 1.4.2

OTX to MISP. Release 1.4.2 OTX to MISP Release 1.4.2 May 11, 2018 Contents 1 Overview 1 1.1 Installation................................................ 1 1.2 Documentation.............................................. 1 1.3 Alienvault

More information

huey Documentation Release charles leifer

huey Documentation Release charles leifer huey Documentation Release 1.7.0 charles leifer Feb 12, 2018 Contents 1 At a glance 3 2 Redis 5 3 Table of contents 7 3.1 Installing................................................. 7 3.2 Getting Started..............................................

More information

ZeroVM Package Manager Documentation

ZeroVM Package Manager Documentation ZeroVM Package Manager Documentation Release 0.2.1 ZeroVM Team October 14, 2014 Contents 1 Introduction 3 1.1 Creating a ZeroVM Application..................................... 3 2 ZeroCloud Authentication

More information

Release Manu Phatak

Release Manu Phatak cache r equestsdocumentation Release 4.0.0 Manu Phatak December 26, 2015 Contents 1 Contents: 1 1.1 cache_requests.............................................. 1 1.2 Installation................................................

More information

Friday, 11 April 14. Advanced methods for creating decorators Graham Dumpleton PyCon US - April 2014

Friday, 11 April 14. Advanced methods for creating decorators Graham Dumpleton PyCon US - April 2014 Advanced methods for creating decorators Graham Dumpleton PyCon US - April 2014 Intermission Rant about the history of this talk and why this topic matters. Python decorator syntax @function_wrapper def

More information

IERG 4080 Building Scalable Internet-based Services

IERG 4080 Building Scalable Internet-based Services Department of Information Engineering, CUHK Term 1, 2016/17 IERG 4080 Building Scalable Internet-based Services Lecture 7 Asynchronous Tasks and Message Queues Lecturer: Albert C. M. Au Yeung 20 th & 21

More information

Mongo Task Queue Documentation

Mongo Task Queue Documentation Mongo Task Queue Documentation Release 0.0.0 Sean Ross-Ross April 30, 2015 Contents 1 API 3 1.1 Connection................................................ 3 1.2 Queue...................................................

More information

f5-icontrol-rest Documentation

f5-icontrol-rest Documentation f5-icontrol-rest Documentation Release 1.3.10 F5 Networks Aug 04, 2018 Contents 1 Overview 1 2 Installation 3 2.1 Using Pip................................................. 3 2.2 GitHub..................................................

More information

newauth Documentation

newauth Documentation newauth Documentation Release 0.0.1 adrien-f April 11, 2015 Contents 1 Installation 3 1.1 Dependencies............................................... 3 1.2 Downloading...............................................

More information

yardstick Documentation

yardstick Documentation yardstick Documentation Release 0.1.0 Kenny Freeman December 30, 2015 Contents 1 yardstick 3 1.1 What is yardstick?............................................ 3 1.2 Features..................................................

More information

Making Python a better scripting language

Making Python a better scripting language Making Python a better scripting language Nicola Musatti nicola.musatti@gmail.com @NMusatti http://wthwdik.wordpress.com Agenda Why are we here? What is a scripting language? A programming language of

More information

django-redis-cache Documentation

django-redis-cache Documentation django-redis-cache Documentation Release 1.5.2 Sean Bleier Nov 15, 2018 Contents 1 Intro and Quick Start 3 1.1 Intro................................................... 3 1.2 Quick Start................................................

More information

Scrapy-Redis Documentation

Scrapy-Redis Documentation Scrapy-Redis Documentation Release 0.7.0-dev Rolando Espinoza Nov 13, 2017 Contents 1 Scrapy-Redis 3 1.1 Features.................................................. 3 1.2 Requirements...............................................

More information

pysharedutils Documentation

pysharedutils Documentation pysharedutils Documentation Release 0.5.0 Joel James August 07, 2017 Contents 1 pysharedutils 1 2 Indices and tables 13 i ii CHAPTER 1 pysharedutils pysharedutils is a convenient utility module which

More information

redis-lock Release 3.2.0

redis-lock Release 3.2.0 redis-lock Release 3.2.0 Sep 05, 2018 Contents 1 Overview 1 1.1 Usage................................................... 1 1.2 Features.................................................. 3 1.3 Implementation..............................................

More information

josync Documentation Release 1.0 Joel Goop and Jonas Einarsson

josync Documentation Release 1.0 Joel Goop and Jonas Einarsson josync Documentation Release 1.0 Joel Goop and Jonas Einarsson May 10, 2014 Contents 1 Contents 3 1.1 Getting started.............................................. 3 1.2 Jobs....................................................

More information

GMusicProcurator Documentation

GMusicProcurator Documentation GMusicProcurator Documentation Release 0.5.0 Mark Lee Sep 27, 2017 Contents 1 Features 3 2 Table of Contents 5 2.1 Installation................................................ 5 2.1.1 Requirements..........................................

More information

Python Finite State Machine. Release 0.1.5

Python Finite State Machine. Release 0.1.5 Python Finite State Machine Release 0.1.5 Sep 15, 2017 Contents 1 Overview 1 1.1 Installation................................................ 1 1.2 Documentation..............................................

More information

Requests Mock Documentation

Requests Mock Documentation Requests Mock Documentation Release 1.5.1.dev4 Jamie Lennox Jun 16, 2018 Contents 1 Overview 3 2 Using the Mocker 5 2.1 Activation................................................ 5 2.2 Class Decorator.............................................

More information

Scrapyd Documentation

Scrapyd Documentation Scrapyd Documentation Release 1.2.0 Scrapy group Jan 19, 2018 Contents 1 Contents 3 1.1 Overview................................................. 3 1.2 Installation................................................

More information

PyZabbixObj Documentation

PyZabbixObj Documentation PyZabbixObj Documentation Release 0.1 Fabio Toscano Aug 26, 2017 Contents Python Module Index 3 i ii PyZabbixObj Documentation, Release 0.1 PyZabbixObj is a Python module for working with Zabbix API,

More information

Uranium Documentation

Uranium Documentation Uranium Documentation Release 0.1 Yusuke Tsutsumi Jul 26, 2018 Contents 1 What is Uranium? 1 1.1 Installation................................................ 2 1.2 Tutorial..................................................

More information

Gearthonic Documentation

Gearthonic Documentation Gearthonic Documentation Release 0.2.0 Timo Steidle August 11, 2016 Contents 1 Quickstart 3 2 Contents: 5 2.1 Usage................................................... 5 2.2 API....................................................

More information

django-crucrudile Documentation

django-crucrudile Documentation django-crucrudile Documentation Release 0.9.1 Hugo Geoffroy (pstch) July 27, 2014 Contents 1 Installation 1 1.1 From Python package index....................................... 1 1.2 From source...............................................

More information

edeposit.amqp.antivirus Release 1.0.1

edeposit.amqp.antivirus Release 1.0.1 edeposit.amqp.antivirus Release 1.0.1 February 05, 2015 Contents 1 Installation 3 1.1 Initialization............................................... 3 2 Usage 5 3 Content 7 3.1 Standalone script.............................................

More information

MongoTor Documentation

MongoTor Documentation MongoTor Documentation Release 0.1.0 Marcel Nicolat June 11, 2014 Contents 1 Features 3 2 Contents: 5 2.1 Installation................................................ 5 2.2 Tutorial..................................................

More information

flask-ldap3-login Documentation

flask-ldap3-login Documentation flask-ldap3-login Documentation Release 0.0.0.dev0 Nick Whyte Nov 09, 2018 Contents 1 Contents: 3 1.1 Configuration............................................... 3 1.2 Quick Start................................................

More information

Fasteners Documentation

Fasteners Documentation Fasteners Documentation Release 0.14.1 Joshua Harlow Jul 12, 2017 Contents 1 Lock 3 1.1 Classes.................................................. 3 1.2 Decorators................................................

More information

pushjack Documentation

pushjack Documentation pushjack Documentation Release 1.4.0 Derrick Gilland Nov 10, 2017 Contents 1 Links 3 2 Quickstart 5 2.1 APNS................................................... 5 2.2 GCM...................................................

More information

Python Utils Documentation

Python Utils Documentation Python Utils Documentation Release 2.2.0 Rick van Hattem Feb 12, 2018 Contents 1 Useful Python Utils 3 1.1 Links................................................... 3 1.2 Requirements for installing:.......................................

More information

sinon Documentation Release Kir Chou

sinon Documentation Release Kir Chou sinon Documentation Release 0.1.1 Kir Chou Jun 10, 2017 Contents 1 Overview 3 2 Contents 5 2.1 Setup................................................... 5 2.2 Spies...................................................

More information

Release Ralph Offinger

Release Ralph Offinger nagios c heck p aloaltodocumentation Release 0.3.2 Ralph Offinger May 30, 2017 Contents 1 nagios_check_paloalto: a Nagios/Icinga Plugin 3 1.1 Documentation..............................................

More information

requests-cache Documentation

requests-cache Documentation requests-cache Documentation Release 0.4.13 Roman Haritonov Nov 09, 2017 Contents 1 User guide 3 1.1 Installation................................................ 3 1.2 Usage...................................................

More information

Connexion Documentation

Connexion Documentation Connexion Documentation Release 0.5 Zalando SE Nov 16, 2017 Contents 1 Quickstart 3 1.1 Prerequisites............................................... 3 1.2 Installing It................................................

More information

OstrichLib Documentation

OstrichLib Documentation OstrichLib Documentation Release 0.0.0 Itamar Ostricher May 10, 2016 Contents 1 utils package 3 1.1 collections utils module......................................... 3 1.2 path utils module.............................................

More information

bzz Documentation Release Rafael Floriano and Bernardo Heynemann

bzz Documentation Release Rafael Floriano and Bernardo Heynemann bzz Documentation Release 0.1.0 Rafael Floriano and Bernardo Heynemann Nov 15, 2017 Contents 1 Getting Started 3 2 Flattening routes 5 3 Indices and tables 7 3.1 Model Hive................................................

More information

pika Documentation Release Gavin M. Roy

pika Documentation Release Gavin M. Roy pika Documentation Release 0.9.12 Gavin M. Roy May 15, 2013 CONTENTS 1 Installing Pika 3 2 Using Pika 5 2.1 Connecting to RabbitMQ........................................ 5 2.2 Using the Channel Object........................................

More information

Statsd Metrics Documentation

Statsd Metrics Documentation Statsd Metrics Documentation Release 1.0.0 Farzad Ghanei Aug 05, 2018 Contents 1 Metrics 3 1.1 metrics Metric classes and helper functions............................ 4 2 Client 7 2.1 client Statsd client.........................................

More information

Django-environ Documentation

Django-environ Documentation Django-environ Documentation Release 0.4.3 joke2k Aug 18, 2017 Contents 1 Django-environ 3 2 How to install 7 3 How to use 9 4 Supported Types 11 5 Tips 13 6 Tests 15 7 License 17 8 Changelog 19 9 Credits

More information

Error code. Description of the circumstances under which the problem occurred. Less than 200. Linux system call error.

Error code. Description of the circumstances under which the problem occurred. Less than 200. Linux system call error. Error code Less than 200 Error code Error type Description of the circumstances under which the problem occurred Linux system call error. Explanation of possible causes Countermeasures 1001 CM_NO_MEMORY

More information

Pypeline Documentation

Pypeline Documentation Pypeline Documentation Release 0.2 Kyle Corbitt May 09, 2014 Contents 1 Contents 3 1.1 Installation................................................ 3 1.2 Quick Start................................................

More information

spacetrack Documentation

spacetrack Documentation spacetrack Documentation Release 0.13.1 Frazer McLean Feb 03, 2018 Contents 1 Installation 3 1.1 pip.................................................. 3 1.2 Git..................................................

More information

CSE : Python Programming. Decorators. Announcements. The decorator pattern. The decorator pattern. The decorator pattern

CSE : Python Programming. Decorators. Announcements. The decorator pattern. The decorator pattern. The decorator pattern CSE 399-004: Python Programming Lecture 12: Decorators April 9, 200 http://www.seas.upenn.edu/~cse39904/ Announcements Projects (code and documentation) are due: April 20, 200 at pm There will be informal

More information

I hate money. Release 1.0

I hate money. Release 1.0 I hate money Release 1.0 Nov 01, 2017 Contents 1 Table of content 3 2 Indices and tables 15 i ii «I hate money» is a web application made to ease shared budget management. It keeps track of who bought

More information

SSH Deploy Key Documentation

SSH Deploy Key Documentation SSH Deploy Key Documentation Release 0.1.1 Travis Bear February 03, 2014 Contents 1 Overview 1 2 Source Code 3 3 Contents 5 3.1 Alternatives................................................ 5 3.2 Compatibility...............................................

More information

Building a Real-time Notification System

Building a Real-time Notification System Building a Real-time Notification System September 2015, Geneva Author: Jorge Vicente Cantero Supervisor: Jiri Kuncar CERN openlab Summer Student Report 2015 Project Specification Configurable Notification

More information

Python Telegram Bot Documentation

Python Telegram Bot Documentation Python Telegram Bot Documentation Release 8.0.0 Leandro Toledo Sep 28, 2017 Contents 1 telegram package 3 1.1 telegram.ext package......................................... 3 1.1.1 telegram.ext.updater....................................

More information

Bambu API Documentation

Bambu API Documentation Bambu API Documentation Release 2.0.1 Steadman Sep 27, 2017 Contents 1 About Bambu API 3 2 About Bambu Tools 2.0 5 3 Installation 7 4 Basic usage 9 5 Questions or suggestions? 11 6 Contents 13 6.1 Defining

More information

django-embed-video Documentation

django-embed-video Documentation django-embed-video Documentation Release 0.7.stable Juda Kaleta December 21, 2013 Contents i ii Django app for easy embeding YouTube and Vimeo videos and music from SoundCloud. Repository is located on

More information

pymonetdb Documentation

pymonetdb Documentation pymonetdb Documentation Release 1.0rc Gijs Molenaar June 14, 2016 Contents 1 The MonetDB MAPI and SQL client python API 3 1.1 Introduction............................................... 3 1.2 Installation................................................

More information

flask-dynamo Documentation

flask-dynamo Documentation flask-dynamo Documentation Release 0.1.2 Randall Degges January 22, 2018 Contents 1 User s Guide 3 1.1 Quickstart................................................ 3 1.2 Getting Help...............................................

More information

Traits CLI Documentation

Traits CLI Documentation Traits CLI Documentation Release 0.1.0 Takafumi Arakaki March 22, 2013 CONTENTS 1 Links 3 2 Installation 5 3 Dependencies 7 4 Sample 9 5 CLI base class 11 6 Utility functions 19 7 Change log 21 7.1 v0.1....................................................

More information

IBM Scheduler for High Throughput Computing on IBM Blue Gene /P Table of Contents

IBM Scheduler for High Throughput Computing on IBM Blue Gene /P Table of Contents IBM Scheduler for High Throughput Computing on IBM Blue Gene /P Table of Contents Introduction...3 Architecture...4 simple_sched daemon...4 startd daemon...4 End-user commands...4 Personal HTC Scheduler...6

More information

Airoscript-ng Documentation

Airoscript-ng Documentation Airoscript-ng Documentation Release 0.0.4 David Francos Cuartero January 22, 2015 Contents 1 Airoscript-ng 3 1.1 Features.................................................. 3 1.2 TODO..................................................

More information

Dogpile.Cache Documentation

Dogpile.Cache Documentation Dogpile.Cache Documentation Release 0.6.6 Mike Bayer Mar 05, 2018 Contents 1 Front Matter 3 1.1 Project Homepage............................................ 3 1.2 Installation................................................

More information