Skip to main content

pytypest

Type-safe and maintainable fixtures and parametrization for pytest.

Features:

  • 100% type safe.
  • Great IDE integration, go-to-definition always takes you in the right place.
  • Test parametrization that is readable even with many arguments.
  • Plug-and-play integration with pytest.
  • No vendor-lock, you can use only the features you need and don't touch the rest.
  • Fixtures can be cached, and you are in control of for how long.
  • Fixtures can accept arguments.

Check out motivation if you want to know more about why this project was born.

Installation

python3 -m pip install pytypest

Usage

Fixtures are regular helper functions that yield their result and do teardown afterwards:

from typing import Iterator
from pytypest import fixture

@fixture
def get_user(anonymous: bool) -> Iterator[User]:
    u = User(anonymous=anonymous)
    u.save()
    yield u
    u.delete()

def test_user() -> None:
    u = get_user(anonymous=False)
    assert u.anonymous is False

Compared to built-in pytest fixtures, these are explicit, type-safe, can accept arguments, support go-to-definition in IDE, and can be used as context managers. And like pytest fixtures, they are cached and can be scoped to the module or the whole session.

Read more in the documentation: pytypest.orsinium.dev.

Release files for pytypest 1.0.1

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

Source distribution (sdist)

Source distribution for pytypest 1.0.1
File Size Uploaded
pytypest-1.0.1.tar.gz 23.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytypest 1.0.1
File Interpreter ABI Platform
pytypest-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 40.3 kB

Release files / pytypest-1.0.1.tar.gz

Download URL pytypest-1.0.1.tar.gz
Size 23.8 kB
Tags Source
SHA-256 checksum
How to use checksums
184653886cccfa2c9459554f2dbc9bdb7e76841338dd1e2092fa8ff21bf22991
BLAKE2b-256 checksum
How to use checksums
65114f309c036be5f764dc4cfd0cebcaa16c7a7f5950c0b78814bff63108b84c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release files / pytypest-1.0.1-py3-none-any.whl

Download URL pytypest-1.0.1-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1688279605bc4458fa8154cd85ec8df5c242e036a42adf481a4bb93ba567b76
BLAKE2b-256 checksum
How to use checksums
c0fb845f41a62d4952d8713ce6e10a055f7cf799dca48a84999c1b9012406bde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.0

2 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