--- id: nose2 version: "0.16.0" license: BSD-2-Clause license_treatment: permissive maintenance: active --- # nose2 — unittest with plugins License: permissive · Maintenance: active · Downloads: 797.2K/mo ## What it is and what it does nose2 is a test runner built on top of Python's standard unittest framework, designed to make writing and running tests more convenient. It automatically discovers test files and functions, runs them, and provides enhanced output formatting and assertion introspection. The package adds value through plugins and tools like parametrized test decorators that reduce boilerplate compared to raw unittest. Unlike its predecessor nose, nose2 is a distinct project that does not aim for full backward compatibility. It requires Python 3.9 or later and is actively maintained. The project acknowledges that pytest is a larger, more mature alternative with a bigger community, but nose2 remains useful for teams already invested in unittest-style tests who want incremental improvements without a full framework migration. Use it for: - Run unittest-style tests across a project with automatic discovery and minimal configuration. - Add parametrized test support to unittest code using nose2's @params decorator. - Generate detailed assertion failure output with --pretty-assert for easier debugging. - Integrate testing into CI/CD pipelines where unittest compatibility is required. - Migrate from nose to a maintained test runner without rewriting all tests. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. nose2 is a test runner that extends Python's unittest framework with plugins and convenience tools for discovering and running tests. Yes, if you are already using unittest and want a low-friction upgrade with plugins and better output. The package has no dependencies, is actively maintained, and supports current Python versions. However, if starting a new project, pytest is a stronger choice given its larger community and maintainer base—nose2 is best for incremental improvement of existing unittest codebases. ## Install pip install nose2 uv add nose2 poetry add nose2 ## Installing nose2 Before you install: Low install friction with no runtime dependencies. Actively maintained with recent commits and a release within the last 6 months; supports current Python versions from 3.9 onward. License in practice: BSD-2-Clause is permissive, allowing commercial and private use with minimal restrictions—suitable for most projects. Quickstart: pip install nose2 # in test_example.py import unittest class TestExample(unittest.TestCase): def test_pass(self): self.assertEqual(1, 1) # Run tests: # nose2 -v Requires Python 3.9 or later; Python 2 is no longer supported. Verify before relying: - Whether nose2's plugin ecosystem is actively maintained and what plugins are available beyond the core distribution. - Performance characteristics compared to unittest or pytest for large test suites. ## Package facts - License: BSD-2-Clause (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 797.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags unittest test runner, python testing framework, test discovery and execution, unittest plugins, nose2 test runner, parametrized testing, python unit testing, unittest-compatible, test-discovery [View on SkillFed](https://skillfed.io/packages/nose2) · [View on PyPI](https://pypi.org/project/nose2/)