Skip to main content
https://github.com/sdpython/cpyquickhelper/blob/master/_doc/sphinxdoc/source/phdoc_static/project_ico.png?raw=true

cpyquickhelper: python + C++ in different ways

Build status Build Status Windows https://circleci.com/gh/sdpython/cpyquickhelper/tree/master.svg?style=svg https://dev.azure.com/xavierdupre3/cpyquickhelper/_apis/build/status/sdpython.cpyquickhelper https://badge.fury.io/py/cpyquickhelper.svg MIT License https://codecov.io/github/sdpython/cpyquickhelper/coverage.svg?branch=master GitHub Issues Notebook Coverage Downloads size Forks Stars

cpyquickhelper is a template to create a module with C functions in different ways. It implements function measure_time:

from cpyquickhelper.numbers import measure_time
from math import cos

res = measure_time(lambda: cos(0.5))
print(res)
{'average': 3.909366205334663e-06, 'deviation': 6.238702219064397e-07,
 'min_exec': 3.635883331298828e-06, 'max_exec': 5.776062607765198e-06,
 'repeat': 10, 'number': 50, 'context_size': 240}

It also implements an event profiler: it logs the timestamp for every event such as functions call or returns, memory allocations.

import io
import numpy
from cpyquickhelper.profiling import EventProfiler

def custom_array(N):
    a = numpy.zeros((N, N))
    a[:, 0] = 1
    a[0, :] = 1
    return a

ev = EventProfiler(impl='c')
ev.start()

custom_array(3)

ev.stop()

df = ev.retrieve_results()  # DataFrame
st = io.StringIO()
df.to_csv(st, index=False)
print(st.getvalue().replace("\r", ""))
time,value1,value2,event,name,mod,lineno,from_name,from_mod,from_line
822467345556400,0,0,return,_setup_profiler,cpyquickhelper/profiling/event_profiler.py,153,start,cpyquickhelper/profiling/event_profiler.py,126
822467345566700,0,0,c_call,_profiling_register_pyinstance,cpyquickhelper.profiling._event_profiler_c,109,_profiling_register_pyinstance,k.py,19
822467345569000,0,0,c_return,_profiling_register_pyinstance,cpyquickhelper.profiling._event_profiler_c,109,_profiling_register_pyinstance,k.py,19
822467345569700,0,0,return,start,cpyquickhelper/profiling/event_profiler.py,109,<module>,k.py,19
822467345575100,0,0,call,custom_array,k.py,5,<module>,k.py,19
822467345579600,0,0,c_call,zeros,numpy,5,zeros,k.py,19
822467345584300,2698130437280,32,malloc,start,cpyquickhelper/profiling/event_profiler.py,109,<module>,k.py,19
822467345590500,0,0,c_return,zeros,numpy,5,zeros,k.py,19
822467345598200,0,0,free,start,cpyquickhelper/profiling/event_profiler.py,109,<module>,k.py,19
822467345600400,0,0,free,start,cpyquickhelper/profiling/event_profiler.py,109,<module>,k.py,19
822467345600900,0,0,return,ndarray,numpy,5,ndarray,k.py,19
822467345603200,0,0,call,stop,cpyquickhelper/profiling/event_profiler.py,128,<module>,k.py,19
822467345604900,0,0,call,_restore_profiler,cpyquickhelper/profiling/event_profiler.py,168,stop,cpyquickhelper/profiling/event_profiler.py,151
822467345605600,0,0,c_call,setprofile,sys,168,setprofile,cpyquickhelper/profiling/event_profiler.py,151

Links:

Download files

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

Source Distribution

cpyquickhelper-0.3.412.tar.gz (213.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cpyquickhelper-0.3.412-cp310-cp310-win_amd64.whl (811.8 kB view details)

Uploaded CPython 3.10Windows x86-64

cpyquickhelper-0.3.412-cp310-cp310-manylinux_2_24_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64

cpyquickhelper-0.3.412-cp310-cp310-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

cpyquickhelper-0.3.412-cp39-cp39-win_amd64.whl (802.8 kB view details)

Uploaded CPython 3.9Windows x86-64

cpyquickhelper-0.3.412-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

cpyquickhelper-0.3.412-cp39-cp39-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

cpyquickhelper-0.3.412-cp38-cp38-win_amd64.whl (811.7 kB view details)

Uploaded CPython 3.8Windows x86-64

cpyquickhelper-0.3.412-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

cpyquickhelper-0.3.412-cp38-cp38-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

cpyquickhelper-0.3.412-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

cpyquickhelper-0.3.412-cp37-cp37m-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file cpyquickhelper-0.3.412.tar.gz.

File metadata

  • Download URL: cpyquickhelper-0.3.412.tar.gz
  • Upload date:
  • Size: 213.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412.tar.gz
Algorithm Hash digest
SHA256 0d03b3547f31c5753af82e12222537d92caee0241285b60fe5cc4468a9cbb749
MD5 5745f95ff0a8872e217580dbb27af7b1
BLAKE2b-256 2c9fd9f65165cc8a273e5a6e8cc0e838f601988fe1c84ef00a7cf9f43187fa46

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cpyquickhelper-0.3.412-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 811.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0c990acbdb2027d5aa548e4a2ed5490932c2829d31bed4e52126dd5eb3045a0a
MD5 0f0de341d34dd5718353a8d9de948ba1
BLAKE2b-256 d2e3a8e5ee7b0196302da3da0a562336238d7091a6f1fcd0a559c37119aee24f

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp310-cp310-manylinux_2_24_x86_64.whl.

File metadata

  • Download URL: cpyquickhelper-0.3.412-cp310-cp310-manylinux_2_24_x86_64.whl
  • Upload date:
  • Size: 10.2 MB
  • Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 2d9951a1f773c45a55a1b01066e94c78f39d7da8ac6e6d171e1b08c8501fc637
MD5 8ca921da61c90e4f9e80bf2b8f936bcd
BLAKE2b-256 7370ae1a42f4b24f0c99da4667c02fc0abf11257be1654da6d662c8aa06a9979

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: cpyquickhelper-0.3.412-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 83099d5d6ea782588a05ff9803e703230a4065481ed36368e2fda45fa852b86c
MD5 db5f95807035eeed752b94e2001553a3
BLAKE2b-256 e284a1d2e374d3ea6f1b3bb6009e1f84b35d4e12a91a23276ab6761b53a55eb8

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: cpyquickhelper-0.3.412-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 802.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ae1f122b720889cca09d742495a121f594fbe3d8d58394e0942c8ef718d87608
MD5 843df471528e2c880c0d034594d7fb16
BLAKE2b-256 adec81d3b7f171bb57150265b6cfa0801e7f6ea3f8b7aff1a6ea08b0f4be136e

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cpyquickhelper-0.3.412-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f126af31e4359985571255fc0c90bc4f26f7432c0fd41248738ef5de91255635
MD5 afbcc1a403ee86ed3e33379afcb9ebe8
BLAKE2b-256 d89288a2baef0530915961ce3d7e6e505a7283f327c5d2e51418d32a1fa0860d

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: cpyquickhelper-0.3.412-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e1d11238e7ace92d03c3394b20998e30efd24361c9f53feb52457d0ac38e74ea
MD5 dc4c6a83d1e8ba538fee56e64bda98a1
BLAKE2b-256 e7a7d2d30cce1fd49efec586f3caf364752e657dfa1b7338aa8f5c8b4a84e062

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: cpyquickhelper-0.3.412-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 811.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 519eb6c433566440f49489bf76029a2e5156b55de8b3b5667cc41e6f32e945db
MD5 e86f58e94befb48a99b8d8596789e289
BLAKE2b-256 c6c32dda44fd5161acb7760d4417b5f5d57254338189b7b9b71112dbdb1d727b

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cpyquickhelper-0.3.412-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8e0907f6d503b204cd50b97003e449d7b1e0231b6f9e8d52dd30daada83fdb3
MD5 341f94a427459c14878cce7195010408
BLAKE2b-256 655c47aa0c0dc7bcfa34b0692426c6af14dda115f95957ae0be71e3a4f5b19a5

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: cpyquickhelper-0.3.412-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 735b345f15fe7c90905d9adbc9491881328eb380c4895144e47e4c645d6cf73e
MD5 6f6a462755ab840ea43220c674e72837
BLAKE2b-256 f30e52f9da1123e672f8fed99ebd8df3e4146a51e231a3e51be0bedc457f3b4c

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cpyquickhelper-0.3.412-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eaf9967f07b624f8e661b1669f40a155c868b82576c9c2127adb3a554c35ed83
MD5 7803374b7cc4d5c6ac8e73978781d039
BLAKE2b-256 97a25681a0fd5b7a8d3f133084098f13b992f0376b914eeba6f70a96b48af0db

See more details on using hashes here.

File details

Details for the file cpyquickhelper-0.3.412-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: cpyquickhelper-0.3.412-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for cpyquickhelper-0.3.412-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3e182acd932d4413928e2f65acaf90e4bf4810925255e27ee316dc9e64e3568b
MD5 a6b1c990dda38195f4d2bea4abcaf8f9
BLAKE2b-256 42b12040dffdc22e04e8165d6f24b0dee89d4395d1ebc47c3159bf3a06dd82d9

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.412 This release

12 files

0.3.404

11 files

0.3.398

9 files

0.3.369

9 files

0.3.353

8 files

0.3.341

2 files

0.2.330

3 files

0.2.303

1 file

0.2.299

2 files

0.2.229

1 file

0.2.226

1 file

0.1.187

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page