Skip to main content

Asinoyx is a package which can simplify your multiprocessing implementation

Project description

Acinonyx

Asinoyx is a package which can simplify your multiprocessing implementation, also you can easily watch the progress of multiprocessing execution.

Usage

A simple sample:

import time
from random import random
from acinonyx import run

def log(val):
    time.sleep(random())
    return val

values = range(100)
print(run(log, values))

It will run with cpu_count processes and print progress bar, output is below:

1%|█       | 1/100 [00:01<00:40,  2.29it/s]
26%|██       | 26/100 [00:01<00:32,  21.29it/s]
100%|██████████| 100/100 [00:03<00:00, 26.86it/s]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ..., 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

Also you can use multiple args:

import time
from random import random
from acinonyx import run

def add(a, b):
    time.sleep(random())
    return a + b

if __name__ == '__main__':
    values = [(i, i) for i in range(100)]
    print(run(add, values))

Also you can use it in other scenario such as web spider:

import requests
from random import random
import time
from acinonyx import irun

def fetch():
    delay = random()
    url = 'https://httpbin.org/uuid'
    time.sleep(delay)
    return requests.get(url).json().get('uuid')

if __name__ == '__main__':
    for result in irun(fetch, range(10), ordered=False):
        print(result)

Trouble Shooting

NSPlaceholderDate initialize error

objc[67206]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called

Try to set env before execute script:

export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

Project details


Download files

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

Source Distribution

acinonyx-0.1.0.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

acinonyx-0.1.0-py2.py3-none-any.whl (3.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file acinonyx-0.1.0.tar.gz.

File metadata

  • Download URL: acinonyx-0.1.0.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3

File hashes

Hashes for acinonyx-0.1.0.tar.gz
Algorithm Hash digest
SHA256 07be7398ba9575316f02bce6620f5dd98c141a11bc2f0823d123a588d55dd66f
MD5 82560fa7f3620da708352b51fd7003d8
BLAKE2b-256 581ccf0916aabc9d3736d8407ae3b85420d0b6de4f1e666783ad2339e78da219

See more details on using hashes here.

File details

Details for the file acinonyx-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: acinonyx-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3

File hashes

Hashes for acinonyx-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d1c4809720c51e34f59df041212cebc10308efe555e92c04c92bc721992c2ed8
MD5 35f709e3533176173bb7261de4f3f44e
BLAKE2b-256 51f15d433d2f0d548dd210abcf9d3d0009b966c6d7480133e0bac5b396bc8b8f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page