Metadata-Version: 2.4
Name: memory_allocator
Version: 0.1.4
Summary: An extension class to allocate memory easily with cython
Author-Email: "Jeroen Demeyer, Nathann Cohen, Jonathan Kliem" <sage-devel@googlegroups.com>
License-Expression: GPL-3.0-or-later
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Mathematics
Project-URL: Homepage, https://github.com/sagemath/memory_allocator
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# MemoryAllocator
An extension class to allocate memory easily with cython.

This extension class started as part of the [Sage](https://sagemath.org) software.

It provides a single extension class `MemoryAllocator` with `cdef` methods

- `malloc`,
- `calloc`,
- `allocarray`,
- `realloc`,
- `reallocarray`,
- `aligned_malloc`,
- `aligned_calloc`,
- `aligned_allocarray`.

Memory is freed when the instance of `MemoryAllocator` is deallocated.
On failure to allocate the memory, a proper error is raised.

## Building from source

This project uses [meson-python](https://mesonbuild.com/meson-python/) for
its build backend. A typical editable install looks like:

```shell
  python -m pip install -e .
```

# Changelog

## 0.1.5
- Migrate build system to Meson.


## 0.1.4

- Modernize Python metadata, require Python >= 3.8.
  [#9](https://github.com/sagemath/memory_allocator/pull/9) by @mkoeppe
- Add missing `noexcept` clauses for Cython 3
  [#8](https://github.com/sagemath/memory_allocator/pull/8) by @tornaria

## 0.1.3

- Python 3.11 compatible.

## 0.1.2

- Provide wheels build by github actions.

## 0.1.1

- Fixed doctests on 32bit systems.
