pytest-dev / pytest-dev/pytest
A Nix build environment
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 14.5k
- Forks
- 3.4k
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 35
Description
What's the problem this feature will solve?
This feature will support Nix-based development workflows, without altering any assumptions of existing pytest development workflows.
Solution
I would like to create a build environment suitable for developing pytest with Nix.
Alternative solutions
One could maintain an external definition of such a Nix environment. However, this would be inherently non-discoverable for other potential Nix contributors.
Additional context
Nix is a declarative package manager, and can be used to create reproducible development environments. It can be thought of as python -m venv for an entire operating system.
The creation of an appropriate flake.nix is one way to support this workflow. With this file conjured, the command
nix develop
would put the developer inside a shell with all the tools necessary to develop pytest (specifically, tox, all supported versions of Python, and pre-commit.)
I've already opened #14249 with a suitable implementation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review issue #14249 and its proposed implementation first, since the issue says a suitable implementation is already open there. Check the proposed flake.nix against the stated requirements: nix develop should provide tox, all supported Python versions, and pre-commit without changing existing pytest workflows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, developer-experience
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100