py-line_profiler: updated to 4.1.2

4.1.2
~~~~
* ENH: Add support for Python 3.12
* ENH: Add osx universal2 and arm64 wheels
* ENH: Fix issue with integer overflow on 32 bit systems

4.1.1
~~~~
* FIX: ``get_stats`` is no longer slowed down when profiling many code sections

4.1.0
~~~~
* FIX: skipzeros now checks for zero hits instead of zero time
* FIX: Fixed errors in Python 3.11 with duplicate functions.
* FIX: ``show_text`` now increases column sizes or switches to scientific notation to maintain alignment
* ENH: ``show_text`` now has new options: sort and summarize
* ENH: Added new CLI arguments ``-srm`` to ``line_profiler`` to control sorting, rich printing, and summary printing.
* ENH: New global ``profile`` function that can be enabled by ``--profile`` or ``LINE_PROFILE=1``.
* ENH: New auto-profile feature in ``kernprof`` that will profile all functions in specified modules.
* ENH: Kernprof now outputs instructions on how to view results.
* ENH: Added readthedocs integration: https://kernprof.readthedocs.io/en/latest/index.html

4.0.3
~~~~
* FIX: Stop requiring bleeding-edge Cython unless necesasry (for Python 3.12).

4.0.2
~~~~~
* FIX: AttributeError on certain methods.

4.0.1
~~~~~
* FIX: Profiling classmethods works again.

4.0.0
~~~~~
* ENH: Python 3.11 is now supported.
* ENH: Profiling overhead is now drastically smaller, thanks to reimplementing almost all of the tracing callback in C++. You can expect to see reductions of between 0.3 and 1 microseconds per line hit, resulting in a speedup of up to 4x for codebases with many lines of Python that only do a little work per line.
* ENH: Added the ``-i <# of seconds>`` option to the ``kernprof`` script. This uses the threading module to output profiling data to the output file every n seconds, and is useful for long-running tasks that shouldn't be stopped in the middle of processing.
* CHANGE: Cython's native cythonize function is now used to compile the project, instead of scikit-build's convoluted process.
* CHANGE: Due to optimizations done while reimplementing the callback in C++, the profiler's code_map and last_time attributes now are indexed by a hash of the code block's bytecode and its line number. Any code that directly reads (and processes) or edits the code_map and/or last_time attributes will likely break.
This commit is contained in:
adam 2024-02-12 14:42:21 +00:00
parent 4b22f4e766
commit a2697b8267
3 changed files with 49 additions and 17 deletions

View File

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.14 2023/08/01 23:20:41 wiz Exp $
# $NetBSD: Makefile,v 1.15 2024/02/12 14:42:21 adam Exp $
DISTNAME= line_profiler-3.5.1
DISTNAME= line_profiler-4.1.2
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_PYPI:=l/line_profiler/}
@ -10,11 +10,13 @@ HOMEPAGE= https://github.com/rkern/line_profiler
COMMENT= Python line-by-line profiler
LICENSE= modified-bsd
PYSETUPARGS= --universal # avoid scikit-build
TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
USE_LANGUAGES= # none
USE_PKG_RESOURCES= yes
# avoid scikit-build
MAKE_ENV+= LINE_PROFILER_BUILD_METHOD=setuptools
INSTALL_ENV+= LINE_PROFILER_BUILD_METHOD=setuptools
PYTHON_VERSIONS_INCOMPATIBLE= 27
@ -22,5 +24,5 @@ post-install:
cd ${DESTDIR}${PREFIX}/bin && \
${MV} kernprof kernprof-${PYVERSSUFFIX} || ${TRUE}
.include "../../lang/python/egg.mk"
.include "../../lang/python/wheel.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -1,11 +1,12 @@
@comment $NetBSD: PLIST,v 1.5 2022/08/03 13:44:30 adam Exp $
@comment $NetBSD: PLIST,v 1.6 2024/02/12 14:42:21 adam Exp $
bin/kernprof-${PYVERSSUFFIX}
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/${WHEEL_INFODIR}/LICENSE.txt
${PYSITELIB}/${WHEEL_INFODIR}/LICENSE_Python.txt
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
${PYSITELIB}/kernprof.py
${PYSITELIB}/kernprof.pyc
${PYSITELIB}/kernprof.pyo
@ -14,10 +15,39 @@ ${PYSITELIB}/line_profiler/__init__.pyc
${PYSITELIB}/line_profiler/__init__.pyo
${PYSITELIB}/line_profiler/__main__.py
${PYSITELIB}/line_profiler/__main__.pyc
${PYSITELIB}/line_profiler/__main__.pyi
${PYSITELIB}/line_profiler/__main__.pyo
${PYSITELIB}/line_profiler/autoprofile/__init__.py
${PYSITELIB}/line_profiler/autoprofile/__init__.pyc
${PYSITELIB}/line_profiler/autoprofile/__init__.pyo
${PYSITELIB}/line_profiler/autoprofile/ast_profle_transformer.py
${PYSITELIB}/line_profiler/autoprofile/ast_profle_transformer.pyc
${PYSITELIB}/line_profiler/autoprofile/ast_profle_transformer.pyo
${PYSITELIB}/line_profiler/autoprofile/ast_tree_profiler.py
${PYSITELIB}/line_profiler/autoprofile/ast_tree_profiler.pyc
${PYSITELIB}/line_profiler/autoprofile/ast_tree_profiler.pyo
${PYSITELIB}/line_profiler/autoprofile/autoprofile.py
${PYSITELIB}/line_profiler/autoprofile/autoprofile.pyc
${PYSITELIB}/line_profiler/autoprofile/autoprofile.pyo
${PYSITELIB}/line_profiler/autoprofile/line_profiler_utils.py
${PYSITELIB}/line_profiler/autoprofile/line_profiler_utils.pyc
${PYSITELIB}/line_profiler/autoprofile/line_profiler_utils.pyo
${PYSITELIB}/line_profiler/autoprofile/profmod_extractor.py
${PYSITELIB}/line_profiler/autoprofile/profmod_extractor.pyc
${PYSITELIB}/line_profiler/autoprofile/profmod_extractor.pyo
${PYSITELIB}/line_profiler/autoprofile/util_static.py
${PYSITELIB}/line_profiler/autoprofile/util_static.pyc
${PYSITELIB}/line_profiler/autoprofile/util_static.pyo
${PYSITELIB}/line_profiler/explicit_profiler.py
${PYSITELIB}/line_profiler/explicit_profiler.pyc
${PYSITELIB}/line_profiler/explicit_profiler.pyi
${PYSITELIB}/line_profiler/explicit_profiler.pyo
${PYSITELIB}/line_profiler/ipython_extension.py
${PYSITELIB}/line_profiler/ipython_extension.pyc
${PYSITELIB}/line_profiler/ipython_extension.pyi
${PYSITELIB}/line_profiler/ipython_extension.pyo
${PYSITELIB}/line_profiler/line_profiler.py
${PYSITELIB}/line_profiler/line_profiler.pyc
${PYSITELIB}/line_profiler/line_profiler.pyi
${PYSITELIB}/line_profiler/line_profiler.pyo
${PYSITELIB}/line_profiler/py.typed

View File

@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.7 2022/08/03 13:44:30 adam Exp $
$NetBSD: distinfo,v 1.8 2024/02/12 14:42:21 adam Exp $
BLAKE2s (line_profiler-3.5.1.tar.gz) = ca89bba1eb075d0caf8c4cec84c9845687609e1c44d82e5e103aa3ad919bd334
SHA512 (line_profiler-3.5.1.tar.gz) = 91b397f0155be56e9c36e3a7d299e4b752fe549b778a9f3afc8c4bbf47fcec0ae6a5f6d383b615f1d357431f6d365f8ce42baec1fc31a4ffe3d73c88e13494bd
Size (line_profiler-3.5.1.tar.gz) = 155402 bytes
BLAKE2s (line_profiler-4.1.2.tar.gz) = 19246782af50977b0b03c8dc3be533dfdc1a8328249353c8d2a9825ee6edeff7
SHA512 (line_profiler-4.1.2.tar.gz) = e5fb3c84d08b4e46a46618efb041eea4d46b2e0a5a04554c9b45fde5084e02ea5e99c93b81886bdc082decfdabf7bbc28efb3df1076899363005df819ef16b8a
Size (line_profiler-4.1.2.tar.gz) = 78149 bytes