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.
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pytypest-1.0.1.tar.gz | 23.8 kB | Without provenance | Details for pytypest-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pytypest-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for pytypest-1.0.1-py3-none-any.whl |
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
|
Security for pytypest 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.