Our take
Maintaineda few commits in the last 90 days- Activity
- 31
- Community
- 79
- Issues
- 21
- Pull requests
- 43
+2 stars in the last 30 days
nose2 is a focused extension for teams committed to unittest, with recent maintenance activity but no release in the past year and no recent issue closures reported.
Good fit if
- Your tests use Python’s unittest conventions and you want nose2’s discovery and added tools.
- You need parameterized test functions or the documented pretty-assert output.
- You can work with a Python 3-only project requiring Python 3.9 or later.
Look elsewhere if
- You need full compatibility with nose, which nose2 explicitly does not provide.
- You are choosing a framework for a new project and prefer the larger team and community that the project itself attributes to pytest.
- You require a recent release or evidence of recent issue closure before adopting a test tool.
All health signals
| Last commit | 2026-09-28 (29 days ago) |
|---|---|
| Commits, last 90 days | 3 |
| Releases, last 12 months | 0 |
| Contributors | 69 (top contributor: 31% of commits) |
| Issues closed, last 90 days | 0 |
| Pull requests merged, last 90 days | 1 |
| Project age | 14 years |
Checked on 2026-10-28 with the GitHub API.
Project history
Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
829Forks
140Change since Nov 9, 2026: 0 stars·0 forks
Overview
nose2 is a Python test runner and framework built on the standard library’s unittest. It adds testing tools and configuration around unittest-style tests, helping Python developers discover and run tests without leaving that familiar foundation.
The project began as the successor to nose, but it is distinct and does not support every nose behavior. Its maintainers recommend considering pytest for new projects, particularly given pytest’s larger team and community.
Key Features
- Discovers tests in Python files whose names start with
test. - Runs tests written in the standard
unittest.TestCasestyle. - Supports test functions and parameterized cases through
nose2.tools.params. - Offers a
--pretty-assertoption that provides expanded assertion output. - Adds testing configuration and tools on top of Python’s unittest framework.
- Provides documentation covering differences from nose, versions, and contributions.
Use Cases
- A Python team with existing
unittest.TestCasetests that wants a test runner with additional tools. - Developers who want to run conventionally named test files with automatic discovery.
- A project that needs to express several input cases for one test function using
params. - Teams maintaining nose-based tests that need to assess nose2’s documented differences before migrating.
What you need
Detected in the repository
- Python >=3.9 (from pyproject.toml)
- Automated checks on GitHub Actions
Getting Started
Install nose2 in your Python environment, then run it from the project directory:
nose2 -v
See the README and documentation for setup and configuration details.
License in Plain Words
No standard license was detected. Without a license, the default copyright rules apply: you may read the code, but not reuse it. Check the repository or ask the authors.
Considerations
- nose2 requires Python 3.9 or later; Python 2 is unsupported, and its 0.12.x release line is considered end of life.
- The README describes nose2 as distinct from nose, so migration may require adapting tests or workflows.
- The project reports no releases in the last 12 months and no issues closed in the last 90 days. It has had a few recent commits and a merged pull request, and its contributors are not concentrated around one person.
- GitHub reports the license as
NOASSERTION. Confirm the applicable license terms from the repository before relying on it in a project with licensing requirements.
Found this useful?
Share it with someone who would like nose2.