Skip to main content

A memory profiler for Python applications

Project description


OS Linux OS MacOS PyPI - Python Version PyPI - Implementation PyPI PyPI - Downloads Conda Version Tests Code Style

Memray output

Memray is a memory profiler for Python. It can track memory allocations in Python code, in native extension modules, and in the Python interpreter itself. It can generate several different types of reports to help you analyze the captured memory usage data. While commonly used as a CLI tool, it can also be used as a library to perform more fine-grained profiling tasks.

Notable features:

  • 🕵️‍♀️ Traces every function call so it can accurately represent the call stack, unlike sampling profilers.
  • ℭ Also handles native calls in C/C++ libraries so the entire call stack is present in the results.
  • 🏎 Blazing fast! Profiling slows the application only slightly. Tracking native code is somewhat slower, but this can be enabled or disabled on demand.
  • 📈 It can generate various reports about the collected memory usage data, like flame graphs.
  • 🧵 Works with Python threads.
  • 👽🧵 Works with native-threads (e.g. C++ threads in C extensions).

Memray can help with the following problems:

  • Analyze allocations in applications to help discover the cause of high memory usage.
  • Find memory leaks.
  • Find hotspots in code that cause a lot of allocations.

Note Memray only works on Linux and MacOS, and cannot be installed on other platforms.

Help us improve Memray!

We are constantly looking for feedback from our awesome community ❤️. If you have used Memray to solve a problem, profile an application, find a memory leak or anything else, please let us know! We would love to hear about your experience and how Memray helped you.

Please, consider writing your story in the Success Stories discussion page.

It really makes a difference!

Installation

Memray requires Python 3.7+ and can be easily installed using most common Python packaging tools. We recommend installing the latest stable release from PyPI with pip:

    python3 -m pip install memray

Notice that Memray contains a C extension so releases are distributed as binary wheels as well as the source code. If a binary wheel is not available for your system (Linux x86/x64 or macOS), you'll need to ensure that all the dependencies are satisfied on the system where you are doing the installation.

Building from source

If you wish to build Memray from source you need the following binary dependencies in your system:

  • libdebuginfod-dev (for Linux)
  • libunwind (for Linux)
  • liblz4

Check your package manager on how to install these dependencies (for example apt-get install build-essential python3-dev libdebuginfod-dev libunwind-dev liblz4-dev in Debian-based systems or brew install lz4 in MacOS). Note that you may need to teach the compiler where to find the header and library files of the dependencies. For example, in MacOS with brew you may need to run:

export CFLAGS="-I$(brew --prefix lz4)/include" LDFLAGS="-L$(brew --prefix lz4)/lib -Wl,-rpath,$(brew --prefix lz4)/lib"

before installing memray. Check the documentation of your package manager to know the location of the header and library files for more detailed information.

If you are building on MacOS, you will also need to set the deployment target.

export MACOSX_DEPLOYMENT_TARGET=10.14

Once you have the binary dependencies installed, you can clone the repository and follow with the normal building process:

git clone git@github.com:bloomberg/memray.git memray
cd memray
python3 -m venv ../memray-env/  # just an example, put this wherever you want
source ../memray-env/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -e . -r requirements-test.txt -r requirements-extra.txt

This will install Memray in the virtual environment in development mode (the -e of the last pip install command).

If you plan to contribute back, you should install the pre-commit hooks:

pre-commit install

This will ensure that your contribution passes our linting checks.

Documentation

You can find the latest documentation available here.

Usage

There are many ways to use Memray. The easiest way is to use it as a command line tool to run your script, application, or library.

usage: memray [-h] [-v] {run,flamegraph,table,live,tree,parse,summary,stats} ...

Memory profiler for Python applications

Run `memray run` to generate a memory profile report, then use a reporter command
such as `memray flamegraph` or `memray table` to convert the results into HTML.

Example:

    $ python3 -m memray run -o output.bin my_script.py
    $ python3 -m memray flamegraph output.bin

positional arguments:
  {run,flamegraph,table,live,tree,parse,summary,stats}
                        Mode of operation
    run                 Run the specified application and track memory usage
    flamegraph          Generate an HTML flame graph for peak memory usage
    table               Generate an HTML table with all records in the peak memory usage
    live                Remotely monitor allocations in a text-based interface
    tree                Generate a tree view in the terminal for peak memory usage
    parse               Debug a results file by parsing and printing each record in it
    summary             Generate a terminal-based summary report of the functions that allocate most memory
    stats               Generate high level stats of the memory usage in the terminal

optional arguments:
  -h, --help            Show this help message and exit
  -v, --verbose         Increase verbosity. Option is additive and can be specified up to 3 times
  -V, --version         Displays the current version of Memray

Please submit feedback, ideas, and bug reports by filing a new issue at https://github.com/bloomberg/memray/issues

To use Memray over a script or a single python file you can use:

python3 -m memray run my_script.py

If you normally run your application with python3 -m my_module, you can use the -m flag with memray run:

python3 -m memray run -m my_module

You can also invoke Memray as a command line tool without having to use -m to invoke it as a module:

memray run my_script.py
memray run -m my_module

The output will be a binary file (like memray-my_script.2369.bin) that you can analyze in different ways. One way is to use the memray flamegraph command to generate a flame graph:

memray flamegraph my_script.2369.bin

This will produce an HTML file with a flame graph of the memory usage that you can inspect with your favorite browser. There are multiple other reporters that you can use to generate other types of reports, some of them generating terminal-based output and some of them generating HTML files. Here is an example of a Memray flamegraph:

Pytest plugin

If you want an easy and convenient way to use memray in your test suite, you can consider using pytest-memray. Once installed, this pytest plugin allows you to simply add --memray to the command line invocation:

pytest --memray tests/

And will automatically get a report like this:

python3 -m pytest tests --memray
=============================================================================================================================== test session starts ================================================================================================================================
platform linux -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /mypackage, configfile: pytest.ini
plugins: cov-2.12.0, memray-0.1.0
collected 21 items

tests/test_package.py .....................                                                                                                                                                                                                                      [100%]


================================================================================================================================= MEMRAY REPORT ==================================================================================================================================
Allocations results for tests/test_package.py::some_test_that_allocates

	 📦 Total memory allocated: 24.4MiB
	 📏 Total allocations: 33929
	 📊 Histogram of allocation sizes: |▂   █    |
	 🥇 Biggest allocating functions:
		- parse:/opt/bb/lib/python3.8/ast.py:47 -> 3.0MiB
		- parse:/opt/bb/lib/python3.8/ast.py:47 -> 2.3MiB
		- _visit:/opt/bb/lib/python3.8/site-packages/astroid/transforms.py:62 -> 576.0KiB
		- parse:/opt/bb/lib/python3.8/ast.py:47 -> 517.6KiB
		- __init__:/opt/bb/lib/python3.8/site-packages/astroid/node_classes.py:1353 -> 512.0KiB

You can also use some of the included markers to make tests fail if the execution of said test allocates more memory than allowed:

@pytest.mark.limit_memory("24 MB")
def test_foobar():
    # do some stuff that allocates memory

To learn more on how the plugin can be used and configured check out the plugin documentation.

Native mode

Memray supports tracking native C/C++ functions as well as Python functions. This can be especially useful when profiling applications that have C extensions (such as numpy or pandas) as this gives a holistic vision of how much memory is allocated by the extension and how much is allocated by Python itself.

To activate native tracking, you need to provide the --native argument when using the run subcommand:

memray run --native my_script.py

This will automatically add native information to the result file and it will be automatically used by any reporter (such the flamegraph or table reporters). This means that instead of seeing this in the flamegraphs:

You will now be able to see what's happening inside the Python calls:

Reporters display native frames in a different color than Python frames. They can also be distinguished by looking at the file location in a frame (Python frames will generally be generated from files with a .py extension while native frames will be generated from files with extensions like .c, .cpp or .h).

Live mode

Memray output

Memray's live mode runs a script or a module in a terminal-based interface that allows you to interactively inspect its memory usage while it runs. This is useful for debugging scripts or modules that take a long time to run or that exhibit multiple complex memory patterns. You can use the --live option to run the script or module in live mode:

    memray run --live my_script.py

or if you want to execute a module:

    memray run --live -m my_module

This will show the following TUI interface in your terminal:

Sorting results

The results are displayed in descending order of total memory allocated by a function and the subfunctions called by it. You can change the ordering with the following keyboard shortcuts:

  • t (default): Sort by total memory

  • o: Sort by own memory

  • a: Sort by allocation count

In most terminals you can also click the "Sort by Total", "Sort by Own", and "Sort by Allocations" buttons on the footer.

The sorted column's heading is underlined.

Viewing different threads

By default, the live command will present the main thread of the program. You can look at different threads of the program by pressing the greater than and less than keys, < and >. In most terminals you can also click the "Previous Thread" and "Next Thread" buttons on the footer.

API

In addition to tracking Python processes from a CLI using memray run, it is also possible to programmatically enable tracking within a running Python program.

import memray

with memray.Tracker("output_file.bin"):
    print("Allocations will be tracked until the with block ends")

For details, see the API documentation.

License

Memray is Apache-2.0 licensed, as found in the LICENSE file.

Code of Conduct

This project has adopted a Code of Conduct. If you have any concerns about the Code, or behavior that you have experienced in the project, please contact us at opensource@bloomberg.net.

Security Policy

If you believe you have identified a security vulnerability in this project, please send an email to the project team at opensource@bloomberg.net, detailing the suspected issue and any methods you've found to reproduce it.

Please do NOT open an issue in the GitHub repository, as we'd prefer to keep vulnerability reports private until we've had an opportunity to review and address them.

Contributing

We welcome your contributions to help us improve and extend this project!

Below you will find some basic steps required to be able to contribute to the project. If you have any questions about this process or any other aspect of contributing to a Bloomberg open source project, feel free to send an email to opensource@bloomberg.net and we'll get your questions answered as quickly as we can.

Contribution Licensing

Since this project is distributed under the terms of an open source license, contributions that you make are licensed under the same terms. In order for us to be able to accept your contributions, we will need explicit confirmation from you that you are able and willing to provide them under these terms, and the mechanism we use to do this is called a Developer's Certificate of Origin (DCO). This is very similar to the process used by the Linux kernel, Samba, and many other major open source projects.

To participate under these terms, all that you must do is include a line like the following as the last line of the commit message for each commit in your contribution:

Signed-Off-By: Random J. Developer <random@developer.example.org>

The simplest way to accomplish this is to add -s or --signoff to your git commit command.

You must use your real name (sorry, no pseudonyms, and no anonymous contributions).

Steps

  • Create an Issue, select 'Feature Request', and explain the proposed change.
  • Follow the guidelines in the issue template presented to you.
  • Submit the Issue.
  • Submit a Pull Request and link it to the Issue by including "#" in the Pull Request summary.

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

memray-1.14.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

memray-1.14.0-cp313-cp313-musllinux_1_1_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.1+ x86-64

memray-1.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

memray-1.14.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (8.1 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686

memray-1.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

memray-1.14.0-cp313-cp313-macosx_11_0_arm64.whl (893.8 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

memray-1.14.0-cp313-cp313-macosx_10_14_x86_64.whl (922.2 kB view details)

Uploaded CPython 3.13 macOS 10.14+ x86-64

memray-1.14.0-cp312-cp312-musllinux_1_1_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

memray-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

memray-1.14.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (8.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

memray-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

memray-1.14.0-cp312-cp312-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.12+ x86-64

memray-1.14.0-cp312-cp312-macosx_11_0_arm64.whl (898.4 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

memray-1.14.0-cp312-cp312-macosx_10_14_x86_64.whl (926.8 kB view details)

Uploaded CPython 3.12 macOS 10.14+ x86-64

memray-1.14.0-cp311-cp311-musllinux_1_1_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

memray-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

memray-1.14.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (8.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

memray-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

memray-1.14.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.12+ x86-64

memray-1.14.0-cp311-cp311-macosx_11_0_arm64.whl (900.9 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

memray-1.14.0-cp311-cp311-macosx_10_14_x86_64.whl (926.5 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

memray-1.14.0-cp310-cp310-musllinux_1_1_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

memray-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

memray-1.14.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

memray-1.14.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (8.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

memray-1.14.0-cp310-cp310-macosx_11_0_arm64.whl (897.8 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

memray-1.14.0-cp310-cp310-macosx_10_14_x86_64.whl (922.5 kB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

memray-1.14.0-cp39-cp39-musllinux_1_1_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

memray-1.14.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

memray-1.14.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

memray-1.14.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (8.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

memray-1.14.0-cp39-cp39-macosx_11_0_arm64.whl (899.1 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

memray-1.14.0-cp39-cp39-macosx_10_14_x86_64.whl (923.8 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

memray-1.14.0-cp38-cp38-musllinux_1_1_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

memray-1.14.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

memray-1.14.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

memray-1.14.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (8.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

memray-1.14.0-cp38-cp38-macosx_11_0_arm64.whl (917.2 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

memray-1.14.0-cp38-cp38-macosx_10_14_x86_64.whl (944.8 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

memray-1.14.0-cp37-cp37m-musllinux_1_1_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

memray-1.14.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

memray-1.14.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.4 MB view details)

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

memray-1.14.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl (6.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

File details

Details for the file memray-1.14.0.tar.gz.

File metadata

  • Download URL: memray-1.14.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for memray-1.14.0.tar.gz
Algorithm Hash digest
SHA256 b5d8874b7b215551f0ae9fa8aef3f2f52321a6460dc0141aaf9374709e6b0eb7
MD5 0f60e4a1ff2490ac9502f6f163ec8b2d
BLAKE2b-256 f8e8725ac54c543d43479c32be1d7d49ea75b5f46fbe5f77262332cd51e301dc

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp313-cp313-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp313-cp313-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 344f3c73b97ffc8f1666b404deafbc31a19e6b2881341b706aa7ec20afb0e8b1
MD5 eddc52d65befdd77880bcea0b5cd24ca
BLAKE2b-256 524792c3002fcf334a6961875320a3104792a4adf12ac5c322d0aa3a96b94140

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a22a826b4047e839310514f4889c24e45a66ea222fca19ac0ae7b2f89bbb0281
MD5 5697bd169eb9340cd554aeff22472df4
BLAKE2b-256 d3d1967f90923c3027e1bea68f66f19b5f567555d1b0ecbc3627a50bd51480b9

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c82342cead930ca50235f59740ca238808f9c33ef31d994712972966beb6226e
MD5 3ae9cef0ddf31f7938e206a4a4c25101
BLAKE2b-256 a03b1e0310539a0f501197a005701d5fc1e3343b42ddf55039e2913fad4ade29

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dfc17cba35d98e3d2ca20ab995f17eec3edba7138b062cbc1aa36d53d9d2d955
MD5 bb7b2a3b85d672b935ddb76828b13718
BLAKE2b-256 beb53f6b5a0dfb1296450263c550cc860d11d8ecfb1165403790520cde568694

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 287a01953bc44dd0a32549a23bdacb5f9734e345ca289fa3923867c637715056
MD5 6c78cbd9bab563e3a5a16e35504d5f6a
BLAKE2b-256 9627baeeef7a041b02b3f5149192a2065cba2deb1724357dd4798db56fc8894c

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp313-cp313-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 958d57f7149b8fa4831785394f2a7ace93dbc2be6c49a1c07987a8972986474a
MD5 7e21abab9a9de4421d9c0ab7cdfeab86
BLAKE2b-256 6fdc924f9c09cf4ea87ade11f45407fe6ed106fd76ff31c0ba30cbf8c4b03917

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f85a27eb8a65c810161bb992116a66d328546f78a4a4c7c1868949651b917c08
MD5 4aed0b47c80cd7087917b601ac093acb
BLAKE2b-256 5337699b78d255f2d211ed5940ba0eb7622809c25279efee9a28f820a16f18b9

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2e4ccaca04365efcda51036fe2add980030e33cfc4f3a194a01f530a5c923c65
MD5 8a5aa38f1072d65770c1ad4cb4893b66
BLAKE2b-256 8ab00f10448116f95ac8747cef1556872f2874cbb2b199f19ccb7a6ab64b6647

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5953f0d2aa31b23d4cce20236a03d90b7c71903709a57b456d6494bfe6f470b7
MD5 7beacc9bdf394de2d602a86e2f81ba8d
BLAKE2b-256 a21070389d7f2357f8d785f7280bea520bcf2fb664fbd1854f73fad261b94140

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4352f9e85957f2cbe45a9e1c87dfc19d2df77e93dcd8a558794a683eeee57b7b
MD5 46331b9c6fb143f84a05149c08180d72
BLAKE2b-256 c1712dfc324a3365ee0914decde34be2f4bb28938892883f0a9414325f2df18f

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp312-cp312-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp312-cp312-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 af8aee7e8e5cac1e4130f1184b3e03b6bb08264e4ba1696551791ed3f8fb824e
MD5 bc03098ece5eafec06ef05331e63c065
BLAKE2b-256 11f00edec41903e5e54063aa443d9dccf68b6bb44a9789238119adf6458f2e5a

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4088b391c04796c888ac751b5d387f6e8212b3515d4c53ba540c65a6efe4bda
MD5 23b2bb62a3b16504e66c2c745b886856
BLAKE2b-256 bec8ec5997fe3e98f5df2d51152b75094988a6e34431891f3045cd606be5ff89

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9af9d30b1e484fd8591c9a7f322fd50b9192a2bce660be92385a01555af9968b
MD5 27f1d5e251ce3ca68a39e86e70878d2a
BLAKE2b-256 59f897cdfaf46bb7d5ad1bd6f2b206f944f1eaf09d29dd1adc8906e2b08cc35a

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7d03f6be66aa259df7fa50082876fbe6461108d77d46c1f720c46067d60685d4
MD5 19ad496732cf2d1cfec0e9796763a7ce
BLAKE2b-256 92fbf7ae3f29e6e2eff78d6050da8b9086f90a0a9da9a629c36858ba1fdb97ab

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 248dea8cfb5a615345e28b7e25c94377a8d198da3b6957ee443afa6f4ff1b733
MD5 a8793e7210092eb6ee54ed3bcb79362d
BLAKE2b-256 071b0dab2597832024dcb8e4ae505f822bad26d8e11a1e3b16a74331c59d5563

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7227ebf024cb0688a68ed91ed3e05c61a13751a9e875807195076b827bfde464
MD5 4b0d7a5ce0fd366cd5bc5923db3578bd
BLAKE2b-256 1cc702609171bfe977fe5e0f452deac6dfd6b80595c7dbb8ef9e591bdf89a96b

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 638ba74e1735a40b6595fee7f37b426b9a95d244091a1f5df3dc5d98df1cbd4b
MD5 d508d4a7173cf7597db8dc5dd3a93ae7
BLAKE2b-256 9970299416caa5aebabc5dfb2c13d24ebfea50908f5b9c47b8dc43cc18b76213

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9bb0cfe1b755a860435cd52047b2e3f4f7b0c3887e0c1bf98da7127948284a91
MD5 1b91db6cc650d44ab6864cf421da01a8
BLAKE2b-256 4b1e3d69f23c60653196967aa5ba1cc97202b66216a7cd493d676efa4926ff3e

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e6ba7bff9dfa37bf3b80a5b83b50eadf20afb1f0e8de4a0139019154086d6bed
MD5 a634b0d91395b8ceba3cb0c809c4392b
BLAKE2b-256 960c19f14555812374bdfe09a0338be9c2c0477d388a1e062d516ddf64664a6d

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d6087f291fd68acdf0a833efb57bc0f192c98ae89b4377c690c28313e78d029c
MD5 bc54b11db245e7aef94c3bdfb8b253f6
BLAKE2b-256 edc27df995f7b022de366e76a1c35f1fcce18a76feb08379d43f068473e79b3f

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 88c89c3797834eec177a89ad528699c75b94e2ed08c00754141eae69c520b894
MD5 b6d604194983a03a8582ea663ffc096b
BLAKE2b-256 b312873ec138c635bc702012f0303010b428aeeca970191d246a485b23fb9453

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 75a5907345ff845652e709ddce3171a9ba2d65c62e8bd49a99131066e2a7ce3b
MD5 fe4f313d0fe5a6879cea9033834888fa
BLAKE2b-256 3880969dee8842217e0b8b9a35d9fcf9835858781b455c63b184a8f0e6e6f980

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3c7933ca70c0d59d0ce9b1064a6eda86231248759b46ed6dabedf489039d1aa1
MD5 26394ae07c111734a5bc800faf664a78
BLAKE2b-256 d40ec667294a4385b2f6f320ad123c9a15e2f46af6fde14b4240bb9cd1db429f

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 36840f39277b1871ecb5a9592dd1aa517a17b9f855f4e3ff08aa328a9d305e69
MD5 3a62d49fa458c63d137cb93183dc034f
BLAKE2b-256 310e3f9fa83bb5673fe015586d2e93b1f8a3143773e20ed8b48cb95cd7e1c394

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f62a402ca1a7126f749544c3d6493672d6330ffd37d59ba230bc73e5143b3bc2
MD5 0bea3417ccd7d519afddd2247b677706
BLAKE2b-256 e5bf90411ec60b705c4416a6f90dc7621129713c4cf59e60d3fab5526187e7d3

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 745d9014cb662065501441a7b534c29914fe2b68398b37385aba9f4a1c51c723
MD5 5508a99f6ef216ede42af3b42888854d
BLAKE2b-256 4d439ba9156a69225706e3c52f84410d5f4339de2374ff53a4d047125a3d89ec

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 11fb00105572b70f2aca8b787ce9748b0c94672fbb6334f1604f7f813ca3dca6
MD5 db6409d3f2f6c447203a03ce228a3c6f
BLAKE2b-256 5d314948a063bc1f69685b2808671b965f069709a2349ef6419a860a5505ea75

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b7a59346d242fc39041d87a71cb6cf45baf492ffbb69da9690de49346be64a8
MD5 70481354c1c0858ec49ad0e76a4917f3
BLAKE2b-256 4ba3b5639ac770d518b48735b68cf790a2013d1fe20da68df04e18a7d0a62469

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 57f9bf3f1c648f1ea877a84c21c449fdafd8cc105763ada6023e36bae9b45eb8
MD5 ff0c4d759207afe6e19a348e3ef225b1
BLAKE2b-256 acb3b22bedf7145cbf1acc329b18d3648593443c8a83b1d0425d2a5913a415fe

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 b3b8d46b6447cdecba3ba100d47c62e78cdad58b00b2d6ba004d6bad318c8668
MD5 b9db2877d6bf3dcfc9e49e0b3be2cf0b
BLAKE2b-256 4eef278e03685db5d4d58aedf59392de1201df8a298236bc7514c69571905f03

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29a2e7d84d1652ef4664bcceb155630979b4797180b70da35525d963a4ca707f
MD5 e337dea553621a5a257a6e1c551129e9
BLAKE2b-256 f5099f24dd0d423c0e2af72e39de9d1036494e3703426e144ef0b95988a29363

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c119b600e7c665e0713f09e25f9ee09733a98035688ecc1ec8fd168fa37a77f6
MD5 4b9619e8d83a78f99551e9411a5e2e9c
BLAKE2b-256 13d07a8f86faa015170e05361c051d553c391e2ea53189e117aad0dffe4e1734

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1d0a1397b5387b75dc9d9759beb022cb360948584840e850474d7d39ad267f85
MD5 ec07b44f17ac4b409aa3373ee9b6b54c
BLAKE2b-256 f69550cc6e2eee89d1f849ea4c23a347317c939849045d3af393ba2318052adc

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b5e729d03caf426dc45a258270537a603794ecc067ccfd92f9c67ba9332e788
MD5 e5c52dc723ff756486a827ab5d7b9b1d
BLAKE2b-256 710640dc0654004eec8b1e3b55adf907fce4799809eca535d65de6ff022b705e

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4e07bdc3a4979b335c2b6b93a81b807d5aacd8dbbea56c41c6899a8bc0d2beb3
MD5 c4976877daf4c5bb5dd080a150a1563c
BLAKE2b-256 134e166dc9603a3ae5899eb325a4410dabaa971dde92dbe1ac50a1fdf1ae4633

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 72febec7b287667e8ea9ee3e879a4da19a4318bc47e211da815be74acd961994
MD5 95b44c1c46a85a71aa05fac4ecbcd257
BLAKE2b-256 c1ad979e23f804cb917fdd77609a7ae706c520a5d016a23f60f6572f03d1bda6

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52a45d96ed717d8efb645e99646a92dd21a2ca38bdb823fe22e38c429cba9513
MD5 607a1bdc16e392eb2814a3d9274da6f6
BLAKE2b-256 6d2e3aa9d596d38b5ce85802353bf9a91894616ca452b282b80e6deb8927c8b6

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 443885a96ab9f67d46288240e2593b5c3ecb2c507ddb4e3b10695e104403d001
MD5 ce3d6f33533b7465365047ce39377c47
BLAKE2b-256 bc03bd95e1ef113e9fb6dd4775bd2afecc7320e6e16389612970b3b66bc311da

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6a7e5604448b2a78e329addfb099384515d3f973a03711c4e2a7b6c9f7f34f53
MD5 1fdf84e43a73a5390ca00386e673741b
BLAKE2b-256 0bf86ca1a22619501cd977c6f60f39e018f95ae2ba0325e9edf80f9a05c8b517

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3bc27e5483c70236c9379b99277b4ea8fa4b3f73a99e37af81190649bd877881
MD5 4147b84d5869c3d8a9b03328e2a65bfe
BLAKE2b-256 57372adf9a385967924bbbbada76453c3f7c251ccd9ab9e2b24be8360012e67d

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e05a3b6bc82ef01821beaee98e86bd8de2ada06cb8781add9c40a3ae4a040383
MD5 55240ea779774c3e8249cfcd7ecac1e9
BLAKE2b-256 21c2b63c23d3be3685c106b24b66b776392cef0bf59874a70f1a93ecda64b0f6

See more details on using hashes here.

Provenance

File details

Details for the file memray-1.14.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for memray-1.14.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a43455233d534e9c0e8dabe827d451124874a6455b2afcbcd60b823241ea5843
MD5 ccd9582a8b2fa8e90f7dd5c6a9528d39
BLAKE2b-256 a955336c5d86082079fa0e8ed3e2f4ac3c467e6728caaf2076aa7cfb63f3379c

See more details on using hashes here.

Provenance

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