Skip to main content

Python binding for the PAPI library

Project description

GitHub PyPI License Discord Github Actions Black

PyPAPI is a Python binding for the PAPI (Performance Application Programming Interface) library. PyPAPI implements the whole PAPI High Level API and partially the Low Level API.

Documentation:

Installing PyPAPI

See this page of the documentation:

Hacking

Building PyPAPI For Local Development

To work on PyPAPI, you first have to clone this repositiory and initialize and update submodules:

git clone https://github.com/flozz/pypapi.git
cd pypapi

git submodule init
git submodule update

Then you have to build both PAPI and the C library inside the pypapi module. This can be done with the following commands:

python setup.py build
python pypapi/papi_build.py

Linting and Code formatting

To build lint the code, you first need to install Nox:

pip install nox

Then, run the following command:

nox -s lint

To automatically coding style issues, run:

nox -s black_fix

Generating Documentation

To build the Sphinx documentation, you first need to install Nox:

pip install nox

Then, run the following command:

nox -s gendoc

Support this project

Want to support this project?

Changelog

  • [NEXT] (changes on master, but not released yet):

    • Nothing yet ;)

  • v6.0.0.2:

    • misc: Added Python 3.13 support (@flozz)

    • misc!: Removed Python 3.8 support (@flozz)

  • v6.0.0.1:

    • feat!: Updated the PAPI library to v6.0.0.1 (@SerodioJ, #37)

  • v5.5.1.6:

    • chore: Added code linting with Flake8 (@flozz)

    • chore: Added code formatter and reformatted all files with Black (@flozz)

    • chore: Added Nox to run code linting, code formatting, doc building tasks (@flozz)

    • chore: Updated dev dependnecies (@flozz)

    • chore: Automatically build and publish sdist package and wheels for Linux (@flozz, #39)

    • docs: Updated documentation (@flozz)

  • v5.5.1.5:

    • fix: Fixed issue with module named types.py (@mcopik, #19)

  • v5.5.1.4:

    • chore: Fixed compilation with GCC 8 and newer (@maresmar, #18)

    • chore!: PyPAPI is no more compatible with GCC < 7.0

  • v5.5.1.3:

    • chore: Removed .o, .lo and other generated objects from the package

  • v5.5.1.2:

    • feat: Partial bindings for the low level API

  • v5.5.1.1:

    • chore: Added missing files to build PAPI

  • v5.5.1.0:

    • feat: Initial release (binding for papy 5.5.1)

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

python_papi-6.0.0.2.tar.gz (4.6 MB view hashes)

Uploaded Source

Built Distributions

python_papi-6.0.0.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (957.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (957.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (957.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (958.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

python_papi-6.0.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

python_papi-6.0.0.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

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