Skip to main content

Python 2 performance patches: decimal to cdecimal, json to ujson for psycopg2

Project description

#### decimal-monkeypatch

A Python module based on [autowrapt](https://github.com/GrahamDumpleton/autowrapt) for: - Interpreter-wide monkey patching slow decimal module to [cdecimal](http://www.bytereef.org/mpdecimal/index.html) on Python 2 with preservation of the functionality of the boto lib. - psycopg2 json to ujson replacement - Custom deepcopy for boto.dynamodb2.items. This patch can give huge performance benefits if you know expected data structure. ##### Usage pip install decimal-monkeypatch - set AUTOWRAPT_BOOTSTRAP=decimal env variable for decimal patch activation - set AUTOWRAPT_BOOTSTRAP=psycopg2 env variable for psycopg2 patch activation - set AUTOWRAPT_BOOTSTRAP=dynamodb env variable for dynamodb patch activation - set AUTOWRAPT_BOOTSTRAP=decimal,psycopg2,dynamodb for all at once ##### Additional reading * [Swapping decimal for cdecimal on Python 2](https://adamj.eu/tech/2015/06/06/swapping-decimal-for-cdecimal-on-python-2/) * [Automatic patching of Python applications](https://github.com/openstack/deb-python-wrapt/blob/master/blog/14-automatic-patching-of-python-applications.md) * [Discussion about json module selection in psycopg2](https://github.com/psycopg/psycopg2/issues/284) * [SO deepcopy question](https://stackoverflow.com/a/45858907/4249707) ###### WARNING Tested on only this configuration: Python 2.7.12+ boto 2.48.0 m3-cdecimal 2.3 psycopg2-binary 2.7.4 ujson 1.35

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

decimal-monkeypatch-0.4.3.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

decimal_monkeypatch-0.4.3-py2-none-any.whl (9.0 kB view details)

Uploaded Python 2

File details

Details for the file decimal-monkeypatch-0.4.3.tar.gz.

File metadata

  • Download URL: decimal-monkeypatch-0.4.3.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.12

File hashes

Hashes for decimal-monkeypatch-0.4.3.tar.gz
Algorithm Hash digest
SHA256 207cd8fd4e2e56b8baf3543dae85dcf32260dc8323051767dc014ccb441f818b
MD5 3fa4e1adfbdc67ab888bce208ba57d31
BLAKE2b-256 5987607b83bc42206d892d919a2799be8203dcfb844a09e7bd31d949560b6b73

See more details on using hashes here.

File details

Details for the file decimal_monkeypatch-0.4.3-py2-none-any.whl.

File metadata

  • Download URL: decimal_monkeypatch-0.4.3-py2-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.12

File hashes

Hashes for decimal_monkeypatch-0.4.3-py2-none-any.whl
Algorithm Hash digest
SHA256 032352f1d02598e97ad608b57b204c04d2dc07071a0c3b80b24d22ab02bdb5dc
MD5 964f0e7ff6bc1ac063bcff0ba30eb223
BLAKE2b-256 001a7ce21f8b5874f0cb86704f07da3882a129d9a7f7c85c90c00dd25168cba0

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