decimal-monkeypatch

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


Keywords
boto, decimal, python27
License
BSD-3-Clause
Install
pip install decimal-monkeypatch==0.4.3

Documentation

decimal-monkeypatch

A Python module based on autowrapt for:

  • Interpreter-wide monkey patching slow decimal module to cdecimal 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
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