Skip to main content

yEnc Module for Python modified for SABnzbd

Project description

SABYenc 3 - yEnc Decoding for Python 3

Modified the original yenc module by Alessandro Duca alessandro.duca@gmail.com for use within SABnzbd.

The module was extended to do header parsing and full yEnc decoding from a Python list of chunks, the way in which data is retrieved from usenet. This is particularly beneficial when SSL is enabled, which limits the size of each chunk to 16K. Parsing these chunks in python is much more costly. Additionally, this module releases Python's GIL during decoding, greatly increasing performance of the overall download process.


This module only works with Python 3, the source code of the Python 2 version (sabyenc) can be found here.

Installing

As simple as running:

pip install sabyenc3 --upgrade

When you want to compile from sources, you can run in the sabyenc directory:

python setup.py install

Testing

For testing we use pytest (install via pip install -r tests/requirements.txt) and test can simply be executed by browsing to the sabyenc directory and running:

pytest

Note that the sabyenc3.encode function is currently not covered by unit tests.

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

sabyenc3-4.0.2.tar.gz (10.6 kB view hashes)

Uploaded Source

Built Distributions

sabyenc3-4.0.2-cp310-cp310-win_amd64.whl (15.3 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

sabyenc3-4.0.2-cp310-cp310-win32.whl (13.2 kB view hashes)

Uploaded CPython 3.10 Windows x86

sabyenc3-4.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (28.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

sabyenc3-4.0.2-cp310-cp310-macosx_10_15_x86_64.whl (10.6 kB view hashes)

Uploaded CPython 3.10 macOS 10.15+ x86-64

sabyenc3-4.0.2-cp310-cp310-macosx_10_14_x86_64.whl (10.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.14+ x86-64

sabyenc3-4.0.2-cp39-cp39-win_amd64.whl (15.2 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

sabyenc3-4.0.2-cp39-cp39-win32.whl (13.1 kB view hashes)

Uploaded CPython 3.9 Windows x86

sabyenc3-4.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (28.3 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

sabyenc3-4.0.2-cp39-cp39-manylinux2010_x86_64.whl (30.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

sabyenc3-4.0.2-cp39-cp39-manylinux1_x86_64.whl (24.9 kB view hashes)

Uploaded CPython 3.9

sabyenc3-4.0.2-cp39-cp39-manylinux1_i686.whl (24.1 kB view hashes)

Uploaded CPython 3.9

sabyenc3-4.0.2-cp39-cp39-macosx_10_15_x86_64.whl (10.6 kB view hashes)

Uploaded CPython 3.9 macOS 10.15+ x86-64

sabyenc3-4.0.2-cp39-cp39-macosx_10_14_x86_64.whl (10.4 kB view hashes)

Uploaded CPython 3.9 macOS 10.14+ x86-64

sabyenc3-4.0.2-cp38-cp38-win_amd64.whl (13.8 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

sabyenc3-4.0.2-cp38-cp38-win32.whl (12.9 kB view hashes)

Uploaded CPython 3.8 Windows x86

sabyenc3-4.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (28.4 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

sabyenc3-4.0.2-cp38-cp38-manylinux2010_x86_64.whl (30.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

sabyenc3-4.0.2-cp38-cp38-manylinux1_x86_64.whl (25.0 kB view hashes)

Uploaded CPython 3.8

sabyenc3-4.0.2-cp38-cp38-manylinux1_i686.whl (24.3 kB view hashes)

Uploaded CPython 3.8

sabyenc3-4.0.2-cp38-cp38-macosx_10_14_x86_64.whl (10.4 kB view hashes)

Uploaded CPython 3.8 macOS 10.14+ x86-64

sabyenc3-4.0.2-cp37-cp37m-win_amd64.whl (13.8 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

sabyenc3-4.0.2-cp37-cp37m-win32.whl (12.8 kB view hashes)

Uploaded CPython 3.7m Windows x86

sabyenc3-4.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (29.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

sabyenc3-4.0.2-cp37-cp37m-manylinux2010_x86_64.whl (30.7 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

sabyenc3-4.0.2-cp37-cp37m-manylinux1_x86_64.whl (25.9 kB view hashes)

Uploaded CPython 3.7m

sabyenc3-4.0.2-cp37-cp37m-manylinux1_i686.whl (25.1 kB view hashes)

Uploaded CPython 3.7m

sabyenc3-4.0.2-cp37-cp37m-macosx_10_15_x86_64.whl (10.4 kB view hashes)

Uploaded CPython 3.7m macOS 10.15+ x86-64

sabyenc3-4.0.2-cp37-cp37m-macosx_10_14_x86_64.whl (10.4 kB view hashes)

Uploaded CPython 3.7m macOS 10.14+ x86-64

sabyenc3-4.0.2-cp37-cp37m-macosx_10_13_x86_64.whl (10.4 kB view hashes)

Uploaded CPython 3.7m macOS 10.13+ x86-64

sabyenc3-4.0.2-cp36-cp36m-win_amd64.whl (13.7 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

sabyenc3-4.0.2-cp36-cp36m-win32.whl (12.8 kB view hashes)

Uploaded CPython 3.6m Windows x86

sabyenc3-4.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (28.3 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.24+ x86-64

sabyenc3-4.0.2-cp36-cp36m-manylinux2010_x86_64.whl (29.8 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

sabyenc3-4.0.2-cp36-cp36m-manylinux1_x86_64.whl (24.9 kB view hashes)

Uploaded CPython 3.6m

sabyenc3-4.0.2-cp36-cp36m-manylinux1_i686.whl (24.1 kB view hashes)

Uploaded CPython 3.6m

sabyenc3-4.0.2-cp36-cp36m-macosx_10_14_x86_64.whl (10.4 kB view hashes)

Uploaded CPython 3.6m macOS 10.14+ x86-64

sabyenc3-4.0.2-cp35-cp35m-win_amd64.whl (13.7 kB view hashes)

Uploaded CPython 3.5m Windows x86-64

sabyenc3-4.0.2-cp35-cp35m-win32.whl (12.8 kB view hashes)

Uploaded CPython 3.5m Windows x86

sabyenc3-4.0.2-cp35-cp35m-manylinux1_x86_64.whl (24.7 kB view hashes)

Uploaded CPython 3.5m

sabyenc3-4.0.2-cp35-cp35m-manylinux1_i686.whl (23.9 kB view hashes)

Uploaded CPython 3.5m

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