Skip to main content

ittapi

ittapi is a Python binding to Intel Instrumentation and Tracing Technology (ITT) API. It provides a convenient way to mark up the Python code for further performance analysis using performance analyzers from Intel like Intel VTune or others.

NOTE: For compatibility and smooth migration with earlier versions of Python bindings(itt-python), please replace import itt with import ittapi.compat as itt. For more details about ittapi.compat, visit ittapi.compat page.

ittapi supports following ITT APIs:

  • Collection Control API
  • Domain API
  • Event API
  • Id API
  • String Handle API
  • Task API
  • Thread Naming API

Usage

The main goal of the project is to provide the ability to instrument a Python code using ITT API in the Pythonic way. ittapi provides wrappers that simplify markup of Python code.

import ittapi

@ittapi.task
def workload():
  pass

workload()

ittapi.task can be used as a decorator. In this case, the name of a callable object (workload function in this example) will be used as a name of the task and the task will be attributed to a default domain named 'ittapi'. If you want to change the default name and/or other parameters for the task (e.g. task domain), you can pass them as arguments to ittapi.task:

import ittapi

@ittapi.task('My Task', domain='My Task Domain')
def workload():
  pass

workload()

Also, ittapi.task returns the object that can be used as a context manager:

import ittapi

with ittapi.task():
    # some code here...
    pass

If the task name is not specified, the ittapi.task uses call site information (filename and line number) to give the name to the task. A custom name for the task and other task parameters can be specified via arguments for ittapi.task in the same way as for the decorator form.

Installation

ittapi package is available on PyPi and can be installed in the usual way for the supported configurations:

pip install ittapi

Build

The native part of ittapi module is written using C++20 standard, therefore you need a compiler that supports this standard, for example GCC-10 for Linux and Visual Studio 2022 for Windows.

Ubuntu 22.04

  1. Install the compiler and Python utilities to build module:

    sudo apt install gcc g++ python3-pip
    
  2. Clone the repository:

    git clone https://github.com/intel/ittapi.git
    
  3. Build and install ittapi:

    cd python
    pip install .
    

Windows 10/11

  1. Install Python 3.8+ together with pip utility.

  2. Install Visual Studio 2022. Make sure that "Desktop development with C++" workload is selected.

  3. Clone the repository

    git clone https://github.com/intel/ittapi.git
    
  4. Build and install ittapi

    cd python
    pip install .
    

References

Metadata

Release files for ittapi 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for ittapi 1.2.2
File
ittapi-1.2.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
ittapi-1.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
ittapi-1.2.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
ittapi-1.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
ittapi-1.2.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
ittapi-1.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
ittapi-1.2.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
ittapi-1.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
ittapi-1.2.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
ittapi-1.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
ittapi-1.2.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
ittapi-1.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
ittapi-1.2.2-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
ittapi-1.2.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details

Total release size: 1.6 MB

Release files / ittapi-1.2.2-cp314-cp314-win_amd64.whl

Download URL ittapi-1.2.2-cp314-cp314-win_amd64.whl
Size 46.8 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
1a3fd79b8582e1220488bb729cb86f6b7554d7c04b9f90d564455a200904069b
BLAKE2b-256 checksum
How to use checksums
79582b8cff91d59237ed0b94c81d2c39ce2cd15d0cdd380b39b8b3875d5b408b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ittapi-1.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 179.9 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
25598dfb30aabbf5bc8584de7c5aa9613888a6ea249c4d86d04bde49ceafc880
BLAKE2b-256 checksum
How to use checksums
869d8e80424e5e4d4bb7a64ffb7f774ca89a13c017ec85c5d3ad8f166f2d18c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp313-cp313-win_amd64.whl

Download URL ittapi-1.2.2-cp313-cp313-win_amd64.whl
Size 45.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
3d83b8fe136188b4afd8a9d108a0a28c0455d9c7ad93b73ad58593ffebeb0c40
BLAKE2b-256 checksum
How to use checksums
7c5038c7c24a0102d9e21fd572f6ef1d37df643152d6c4e19e219f1dbfe4a1fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ittapi-1.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 179.0 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8f458db5b2fdeae914b3bdc94bae29b3b767743fc009e1cf9eadcfc74b90d08f
BLAKE2b-256 checksum
How to use checksums
9d3670c78aa342c594f31168b31424f7d16f27e84bae03319174e7a2297f120d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp312-cp312-win_amd64.whl

Download URL ittapi-1.2.2-cp312-cp312-win_amd64.whl
Size 45.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d785e8a8f1d8788f9d380715920f50cd8d0ce7691ec067a9e08eb1348e850106
BLAKE2b-256 checksum
How to use checksums
526ba23950c56dfa86366c961b2f4e02eb7a2be5faf344d0f87420449734401c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ittapi-1.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 178.7 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b2ff939be2b004fff9a7d9f1936225c03a719ebf1f17aa154ab56792080501d7
BLAKE2b-256 checksum
How to use checksums
a6239a707b4cf03e2846a8fe5f48024145fde735bdae8eb338cdfcaec295d4e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp311-cp311-win_amd64.whl

Download URL ittapi-1.2.2-cp311-cp311-win_amd64.whl
Size 45.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
97156133c0c45921d9b791fff0c50be6c89156557618ef9a737a3d4c5ff99ad4
BLAKE2b-256 checksum
How to use checksums
1f19e97462c80715e45859315c78120ae0ee126b34eb7a2093ded4993df457cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ittapi-1.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 176.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9fab6c6fb8bd2c90cff472549bb05bcc58b5623fda30c05908741495208b2e03
BLAKE2b-256 checksum
How to use checksums
0f2023a5b64657bfb90307723903c316e962cdc78aa72eb26e34e6a3235d5618
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp310-cp310-win_amd64.whl

Download URL ittapi-1.2.2-cp310-cp310-win_amd64.whl
Size 45.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
abffed2d5923860d5ec04f06438176da486845af2a3bef1bdc2e22405202462e
BLAKE2b-256 checksum
How to use checksums
5d6c3bc4c2615eeaa9fd65f97a02fe0fa4c43705f7d994d942a1bc88cc5a0b71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ittapi-1.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 177.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5bdf614370dd92c164097948fe82ba8098c099aa033fbde6168930655f6cfc76
BLAKE2b-256 checksum
How to use checksums
0a34f03b3b7a077c60893545d207e30e947af25dcce7a921877dfae26efa9f83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp39-cp39-win_amd64.whl

Download URL ittapi-1.2.2-cp39-cp39-win_amd64.whl
Size 45.8 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
cd8da855e8e15d72debebeba2c941acbe5d17e8bdd0ac952a09128c24b6e6578
BLAKE2b-256 checksum
How to use checksums
cacf4130c1d618025a87dc8daa7d4e34507d8709675e7be6e42c22133cfc1458
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ittapi-1.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 176.6 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ef157ee2bd73dac82acaf1687a3b68f94f1f4dbf651afced48f080ab13c62e35
BLAKE2b-256 checksum
How to use checksums
0d5f3ce941a81364afcbf8823d8cf1130e9780c41858ae000c273b39c15bd705
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp38-cp38-win_amd64.whl

Download URL ittapi-1.2.2-cp38-cp38-win_amd64.whl
Size 45.8 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
cb98c685230498cb4833447d69dae25674b8a9f37eb60db5e18be4153dd11a2d
BLAKE2b-256 checksum
How to use checksums
bf9f00cfc4e6efcd87c0ff6820142f392979d955c308b31d7bf6e7e42220d390
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ittapi-1.2.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ittapi-1.2.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 178.6 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
aa2a1df8b8b9ba8040117cf15482770f228b28a3f8b82e303927adf9b2817f21
BLAKE2b-256 checksum
How to use checksums
b371b593a0de58cdfeee2027e2fceda71f8702f37f1e3e6879d4d178cc244248
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.2.2 This release

14 release files

1.2.0

10 release files

1.1.0

10 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page