.. image:: https://github.com/sdpython/cpyquickhelper/blob/master/_doc/sphinxdoc/source/phdoc_static/project_ico.png?raw=true
:target: https://github.com/sdpython/cpyquickhelper/
.. _l-README:
cpyquickhelper: python + C++ in different ways
==============================================
.. image:: https://travis-ci.com/sdpython/cpyquickhelper.svg?branch=master
:target: https://app.travis-ci.com/github/sdpython/cpyquickhelper
:alt: Build status
.. image:: https://ci.appveyor.com/api/projects/status/sia7wxgjv8e1fi5a?svg=true
:target: https://ci.appveyor.com/project/sdpython/cpyquickhelper
:alt: Build Status Windows
.. image:: https://circleci.com/gh/sdpython/cpyquickhelper/tree/master.svg?style=svg
:target: https://circleci.com/gh/sdpython/cpyquickhelper/tree/master
.. image:: https://dev.azure.com/xavierdupre3/cpyquickhelper/_apis/build/status/sdpython.cpyquickhelper
:target: https://dev.azure.com/xavierdupre3/cpyquickhelper/
.. image:: https://badge.fury.io/py/cpyquickhelper.svg
:target: https://pypi.org/project/cpyquickhelper/
.. image:: https://img.shields.io/badge/license-MIT-blue.svg
:alt: MIT License
:target: http://opensource.org/licenses/MIT
.. image:: https://codecov.io/github/sdpython/cpyquickhelper/coverage.svg?branch=master
:target: https://codecov.io/github/sdpython/cpyquickhelper?branch=master
.. image:: http://img.shields.io/github/issues/sdpython/cpyquickhelper.png
:alt: GitHub Issues
:target: https://github.com/sdpython/cpyquickhelper/issues
.. image:: http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/_images/nbcov.png
:target: http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/all_notebooks_coverage.html
:alt: Notebook Coverage
.. image:: https://pepy.tech/badge/cpyquickhelper/month
:target: https://pepy.tech/project/cpyquickhelper/month
:alt: Downloads
.. image:: https://img.shields.io/github/repo-size/sdpython/cpyquickhelper
:target: https://github.com/sdpython/cpyquickhelper/
:alt: size
.. image:: https://img.shields.io/github/forks/sdpython/cpyquickhelper.svg
:target: https://github.com/sdpython/cpyquickhelper/
:alt: Forks
.. image:: https://img.shields.io/github/stars/sdpython/cpyquickhelper.svg
:target: https://github.com/sdpython/cpyquickhelper/
:alt: 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:**
* `GitHub/cpyquickhelper <https://github.com/sdpython/cpyquickhelper/>`_
* `documentation <http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/index.html>`_
* `Blog <http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/blog/main_0000.html#ap-main-0>`_
Raw data
{
"_id": null,
"home_page": "http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/index.html",
"name": "cpyquickhelper",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "cpyquickhelper,Xavier Dupr\u00e9",
"author": "Xavier Dupr\u00e9",
"author_email": "xavier.dupre@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2c/9f/d9f65165cc8a273e5a6e8cc0e838f601988fe1c84ef00a7cf9f43187fa46/cpyquickhelper-0.3.412.tar.gz",
"platform": "",
"description": "\n.. image:: https://github.com/sdpython/cpyquickhelper/blob/master/_doc/sphinxdoc/source/phdoc_static/project_ico.png?raw=true\n :target: https://github.com/sdpython/cpyquickhelper/\n\n.. _l-README:\n\ncpyquickhelper: python + C++ in different ways\n==============================================\n\n.. image:: https://travis-ci.com/sdpython/cpyquickhelper.svg?branch=master\n :target: https://app.travis-ci.com/github/sdpython/cpyquickhelper\n :alt: Build status\n\n.. image:: https://ci.appveyor.com/api/projects/status/sia7wxgjv8e1fi5a?svg=true\n :target: https://ci.appveyor.com/project/sdpython/cpyquickhelper\n :alt: Build Status Windows\n\n.. image:: https://circleci.com/gh/sdpython/cpyquickhelper/tree/master.svg?style=svg\n :target: https://circleci.com/gh/sdpython/cpyquickhelper/tree/master\n\n.. image:: https://dev.azure.com/xavierdupre3/cpyquickhelper/_apis/build/status/sdpython.cpyquickhelper\n :target: https://dev.azure.com/xavierdupre3/cpyquickhelper/\n\n.. image:: https://badge.fury.io/py/cpyquickhelper.svg\n :target: https://pypi.org/project/cpyquickhelper/\n\n.. image:: https://img.shields.io/badge/license-MIT-blue.svg\n :alt: MIT License\n :target: http://opensource.org/licenses/MIT\n\n.. image:: https://codecov.io/github/sdpython/cpyquickhelper/coverage.svg?branch=master\n :target: https://codecov.io/github/sdpython/cpyquickhelper?branch=master\n\n.. image:: http://img.shields.io/github/issues/sdpython/cpyquickhelper.png\n :alt: GitHub Issues\n :target: https://github.com/sdpython/cpyquickhelper/issues\n\n.. image:: http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/_images/nbcov.png\n :target: http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/all_notebooks_coverage.html\n :alt: Notebook Coverage\n\n.. image:: https://pepy.tech/badge/cpyquickhelper/month\n :target: https://pepy.tech/project/cpyquickhelper/month\n :alt: Downloads\n\n.. image:: https://img.shields.io/github/repo-size/sdpython/cpyquickhelper\n :target: https://github.com/sdpython/cpyquickhelper/\n :alt: size\n\n.. image:: https://img.shields.io/github/forks/sdpython/cpyquickhelper.svg\n :target: https://github.com/sdpython/cpyquickhelper/\n :alt: Forks\n\n.. image:: https://img.shields.io/github/stars/sdpython/cpyquickhelper.svg\n :target: https://github.com/sdpython/cpyquickhelper/\n :alt: Stars\n\n*cpyquickhelper* is a template to create a module with\nC functions in different ways. It implements function\n*measure_time*:\n\n::\n\n from cpyquickhelper.numbers import measure_time\n from math import cos\n\n res = measure_time(lambda: cos(0.5))\n print(res)\n\n::\n\n {'average': 3.909366205334663e-06, 'deviation': 6.238702219064397e-07,\n 'min_exec': 3.635883331298828e-06, 'max_exec': 5.776062607765198e-06,\n 'repeat': 10, 'number': 50, 'context_size': 240}\n\nIt also implements an event profiler: it logs the timestamp\nfor every event such as functions call or returns, memory allocations.\n\n::\n\n import io\n import numpy\n from cpyquickhelper.profiling import EventProfiler\n\n def custom_array(N):\n a = numpy.zeros((N, N))\n a[:, 0] = 1\n a[0, :] = 1\n return a\n\n ev = EventProfiler(impl='c')\n ev.start()\n\n custom_array(3)\n\n ev.stop()\n\n df = ev.retrieve_results() # DataFrame\n st = io.StringIO()\n df.to_csv(st, index=False)\n print(st.getvalue().replace(\"\\r\", \"\"))\n\n::\n\n time,value1,value2,event,name,mod,lineno,from_name,from_mod,from_line\n 822467345556400,0,0,return,_setup_profiler,cpyquickhelper/profiling/event_profiler.py,153,start,cpyquickhelper/profiling/event_profiler.py,126\n 822467345566700,0,0,c_call,_profiling_register_pyinstance,cpyquickhelper.profiling._event_profiler_c,109,_profiling_register_pyinstance,k.py,19\n 822467345569000,0,0,c_return,_profiling_register_pyinstance,cpyquickhelper.profiling._event_profiler_c,109,_profiling_register_pyinstance,k.py,19\n 822467345569700,0,0,return,start,cpyquickhelper/profiling/event_profiler.py,109,<module>,k.py,19\n 822467345575100,0,0,call,custom_array,k.py,5,<module>,k.py,19\n 822467345579600,0,0,c_call,zeros,numpy,5,zeros,k.py,19\n 822467345584300,2698130437280,32,malloc,start,cpyquickhelper/profiling/event_profiler.py,109,<module>,k.py,19\n 822467345590500,0,0,c_return,zeros,numpy,5,zeros,k.py,19\n 822467345598200,0,0,free,start,cpyquickhelper/profiling/event_profiler.py,109,<module>,k.py,19\n 822467345600400,0,0,free,start,cpyquickhelper/profiling/event_profiler.py,109,<module>,k.py,19\n 822467345600900,0,0,return,ndarray,numpy,5,ndarray,k.py,19\n 822467345603200,0,0,call,stop,cpyquickhelper/profiling/event_profiler.py,128,<module>,k.py,19\n 822467345604900,0,0,call,_restore_profiler,cpyquickhelper/profiling/event_profiler.py,168,stop,cpyquickhelper/profiling/event_profiler.py,151\n 822467345605600,0,0,c_call,setprofile,sys,168,setprofile,cpyquickhelper/profiling/event_profiler.py,151\n\n**Links:**\n\n* `GitHub/cpyquickhelper <https://github.com/sdpython/cpyquickhelper/>`_\n* `documentation <http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/index.html>`_\n* `Blog <http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/blog/main_0000.html#ap-main-0>`_\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Module with C functions. No precise purpose yet.",
"version": "0.3.412",
"project_urls": {
"Download": "https://github.com/sdpython/cpyquickhelper/",
"Homepage": "http://www.xavierdupre.fr/app/cpyquickhelper/helpsphinx/index.html"
},
"split_keywords": [
"cpyquickhelper",
"xavier dupr\u00e9"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e284a1d2e374d3ea6f1b3bb6009e1f84b35d4e12a91a23276ab6761b53a55eb8",
"md5": "db5f95807035eeed752b94e2001553a3",
"sha256": "83099d5d6ea782588a05ff9803e703230a4065481ed36368e2fda45fa852b86c"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "db5f95807035eeed752b94e2001553a3",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1233788,
"upload_time": "2022-01-12T23:33:31",
"upload_time_iso_8601": "2022-01-12T23:33:31.801171Z",
"url": "https://files.pythonhosted.org/packages/e2/84/a1d2e374d3ea6f1b3bb6009e1f84b35d4e12a91a23276ab6761b53a55eb8/cpyquickhelper-0.3.412-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7370ae1a42f4b24f0c99da4667c02fc0abf11257be1654da6d662c8aa06a9979",
"md5": "8ca921da61c90e4f9e80bf2b8f936bcd",
"sha256": "2d9951a1f773c45a55a1b01066e94c78f39d7da8ac6e6d171e1b08c8501fc637"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp310-cp310-manylinux_2_24_x86_64.whl",
"has_sig": false,
"md5_digest": "8ca921da61c90e4f9e80bf2b8f936bcd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 10214356,
"upload_time": "2022-01-12T23:33:40",
"upload_time_iso_8601": "2022-01-12T23:33:40.345198Z",
"url": "https://files.pythonhosted.org/packages/73/70/ae1a42f4b24f0c99da4667c02fc0abf11257be1654da6d662c8aa06a9979/cpyquickhelper-0.3.412-cp310-cp310-manylinux_2_24_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d2e3a8e5ee7b0196302da3da0a562336238d7091a6f1fcd0a559c37119aee24f",
"md5": "0f0de341d34dd5718353a8d9de948ba1",
"sha256": "0c990acbdb2027d5aa548e4a2ed5490932c2829d31bed4e52126dd5eb3045a0a"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "0f0de341d34dd5718353a8d9de948ba1",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 811798,
"upload_time": "2022-01-12T23:33:42",
"upload_time_iso_8601": "2022-01-12T23:33:42.388367Z",
"url": "https://files.pythonhosted.org/packages/d2/e3/a8e5ee7b0196302da3da0a562336238d7091a6f1fcd0a559c37119aee24f/cpyquickhelper-0.3.412-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "42b12040dffdc22e04e8165d6f24b0dee89d4395d1ebc47c3159bf3a06dd82d9",
"md5": "a6b1c990dda38195f4d2bea4abcaf8f9",
"sha256": "3e182acd932d4413928e2f65acaf90e4bf4810925255e27ee316dc9e64e3568b"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp37-cp37m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "a6b1c990dda38195f4d2bea4abcaf8f9",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1221427,
"upload_time": "2022-01-12T23:33:45",
"upload_time_iso_8601": "2022-01-12T23:33:45.038055Z",
"url": "https://files.pythonhosted.org/packages/42/b1/2040dffdc22e04e8165d6f24b0dee89d4395d1ebc47c3159bf3a06dd82d9/cpyquickhelper-0.3.412-cp37-cp37m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "97a25681a0fd5b7a8d3f133084098f13b992f0376b914eeba6f70a96b48af0db",
"md5": "7803374b7cc4d5c6ac8e73978781d039",
"sha256": "eaf9967f07b624f8e661b1669f40a155c868b82576c9c2127adb3a554c35ed83"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7803374b7cc4d5c6ac8e73978781d039",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 10828840,
"upload_time": "2022-01-12T23:33:52",
"upload_time_iso_8601": "2022-01-12T23:33:52.478751Z",
"url": "https://files.pythonhosted.org/packages/97/a2/5681a0fd5b7a8d3f133084098f13b992f0376b914eeba6f70a96b48af0db/cpyquickhelper-0.3.412-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f30e52f9da1123e672f8fed99ebd8df3e4146a51e231a3e51be0bedc457f3b4c",
"md5": "6f6a462755ab840ea43220c674e72837",
"sha256": "735b345f15fe7c90905d9adbc9491881328eb380c4895144e47e4c645d6cf73e"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "6f6a462755ab840ea43220c674e72837",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 1231715,
"upload_time": "2022-01-12T23:33:55",
"upload_time_iso_8601": "2022-01-12T23:33:55.238958Z",
"url": "https://files.pythonhosted.org/packages/f3/0e/52f9da1123e672f8fed99ebd8df3e4146a51e231a3e51be0bedc457f3b4c/cpyquickhelper-0.3.412-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "655c47aa0c0dc7bcfa34b0692426c6af14dda115f95957ae0be71e3a4f5b19a5",
"md5": "341f94a427459c14878cce7195010408",
"sha256": "c8e0907f6d503b204cd50b97003e449d7b1e0231b6f9e8d52dd30daada83fdb3"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "341f94a427459c14878cce7195010408",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 10618267,
"upload_time": "2022-01-12T23:34:02",
"upload_time_iso_8601": "2022-01-12T23:34:02.828081Z",
"url": "https://files.pythonhosted.org/packages/65/5c/47aa0c0dc7bcfa34b0692426c6af14dda115f95957ae0be71e3a4f5b19a5/cpyquickhelper-0.3.412-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c6c32dda44fd5161acb7760d4417b5f5d57254338189b7b9b71112dbdb1d727b",
"md5": "e86f58e94befb48a99b8d8596789e289",
"sha256": "519eb6c433566440f49489bf76029a2e5156b55de8b3b5667cc41e6f32e945db"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "e86f58e94befb48a99b8d8596789e289",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 811734,
"upload_time": "2022-01-12T23:34:05",
"upload_time_iso_8601": "2022-01-12T23:34:05.176768Z",
"url": "https://files.pythonhosted.org/packages/c6/c3/2dda44fd5161acb7760d4417b5f5d57254338189b7b9b71112dbdb1d727b/cpyquickhelper-0.3.412-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e7a7d2d30cce1fd49efec586f3caf364752e657dfa1b7338aa8f5c8b4a84e062",
"md5": "dc4c6a83d1e8ba538fee56e64bda98a1",
"sha256": "e1d11238e7ace92d03c3394b20998e30efd24361c9f53feb52457d0ac38e74ea"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "dc4c6a83d1e8ba538fee56e64bda98a1",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1412865,
"upload_time": "2022-01-12T23:34:07",
"upload_time_iso_8601": "2022-01-12T23:34:07.470809Z",
"url": "https://files.pythonhosted.org/packages/e7/a7/d2d30cce1fd49efec586f3caf364752e657dfa1b7338aa8f5c8b4a84e062/cpyquickhelper-0.3.412-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d89288a2baef0530915961ce3d7e6e505a7283f327c5d2e51418d32a1fa0860d",
"md5": "afbcc1a403ee86ed3e33379afcb9ebe8",
"sha256": "f126af31e4359985571255fc0c90bc4f26f7432c0fd41248738ef5de91255635"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "afbcc1a403ee86ed3e33379afcb9ebe8",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 10602584,
"upload_time": "2022-01-12T23:34:14",
"upload_time_iso_8601": "2022-01-12T23:34:14.090244Z",
"url": "https://files.pythonhosted.org/packages/d8/92/88a2baef0530915961ce3d7e6e505a7283f327c5d2e51418d32a1fa0860d/cpyquickhelper-0.3.412-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "adec81d3b7f171bb57150265b6cfa0801e7f6ea3f8b7aff1a6ea08b0f4be136e",
"md5": "843df471528e2c880c0d034594d7fb16",
"sha256": "ae1f122b720889cca09d742495a121f594fbe3d8d58394e0942c8ef718d87608"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "843df471528e2c880c0d034594d7fb16",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 802775,
"upload_time": "2022-01-12T23:34:16",
"upload_time_iso_8601": "2022-01-12T23:34:16.330662Z",
"url": "https://files.pythonhosted.org/packages/ad/ec/81d3b7f171bb57150265b6cfa0801e7f6ea3f8b7aff1a6ea08b0f4be136e/cpyquickhelper-0.3.412-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c9fd9f65165cc8a273e5a6e8cc0e838f601988fe1c84ef00a7cf9f43187fa46",
"md5": "5745f95ff0a8872e217580dbb27af7b1",
"sha256": "0d03b3547f31c5753af82e12222537d92caee0241285b60fe5cc4468a9cbb749"
},
"downloads": -1,
"filename": "cpyquickhelper-0.3.412.tar.gz",
"has_sig": false,
"md5_digest": "5745f95ff0a8872e217580dbb27af7b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 213591,
"upload_time": "2022-01-12T23:34:18",
"upload_time_iso_8601": "2022-01-12T23:34:18.131870Z",
"url": "https://files.pythonhosted.org/packages/2c/9f/d9f65165cc8a273e5a6e8cc0e838f601988fe1c84ef00a7cf9f43187fa46/cpyquickhelper-0.3.412.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-01-12 23:34:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sdpython",
"github_project": "cpyquickhelper",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"circle": true,
"landscape": true,
"appveyor": true,
"requirements": [],
"lcname": "cpyquickhelper"
}