pyo3/pytests
Tim Felgentreff 9a38e709bb
Basic GraalPy Support (#3247)
* graalpy: recognize graalpy implementation when building

* graalpy: global Ellipse, None, NotImplemented, True, and False are only available as pointers

* graalpy: PyObject struct is opaque, use functions for everything

* graalpy: missing many of the same functions as pypy

* graalpy: do not have 128bit conversion functions

* graalpy: add functions for datetime accessor macros

* graalpy: add implementations for list macro functions

* graalpy: skip tuple macros

* graalpy: always use extern Py_CompileString function

* graalpy: disable assertion that does not apply to graalpy

* graalpy: floatobject structure is opaque on graalpy

* graalpy: ignore gc dependent test

* graalpy: add CI config

* graalpy: run rust fmt

* graalpy: add changelog entry

* graalpy: discover interpreter on PATH

* graalpy: interpreter id is not applicable to graalpy (just like pypy)

* graalpy: skip tests that cannot work on GraalPy

* graalpy: fix constructing normalized Err instances

Co-authored-by: David Hewitt <mail@davidhewitt.dev>

* graalpy: correct capi library name, but skip rust tests due to missing symbols

* graalpy: no support for C extensions on windows in latest release

* graalpy: declare support versions

* graalpy: frame, code, method, and function objects access from C API is mostly missing

* graalpy: take care only to expose C structure that GraalPy allocates

* graalpy: Bail out if graalpy version is less than what we support

---------

Co-authored-by: David Hewitt <mail@davidhewitt.dev>
2024-03-25 18:54:52 +00:00
..
src deprecate GIL refs in function argument (#3847) 2024-03-20 22:35:08 +00:00
tests Basic GraalPy Support (#3247) 2024-03-25 18:54:52 +00:00
Cargo.toml ci: move lints to new 1.74 cargo.toml tables 2023-11-17 15:41:52 +00:00
MANIFEST.in pytests: merge benchmark and test crates 2022-02-05 10:16:46 +00:00
README.md pytests: merge benchmark and test crates 2022-02-05 10:16:46 +00:00
build.rs pytests: merge benchmark and test crates 2022-02-05 10:16:46 +00:00
noxfile.py feat: support pyclass on complex enums 2024-01-18 22:04:42 +09:00
pyproject.toml ci: tidy ups for 3.7 (#3969) 2024-03-19 19:36:22 +00:00

README.md

pyo3-pytests

An extension module built using PyO3, used to test and benchmark PyO3 from Python.

Testing

This package is intended to be built using maturin. Once built, you can run the tests using pytest:

pip install maturin
maturin develop
pytest

Alternatively, install nox and run the tests inside an isolated environment:

nox

Running benchmarks

You can install the module in your Python environment and then run the benchmarks with pytest:

pip install .
pytest --benchmark-enable

Or with nox:

nox -s bench