skillfed

nose2

unittest with plugins

nose2 v0.16.0 797.2K downloads/30d#5,031 on PyPI826
Permissive license BSD-2-Clause Active released

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 on this page — 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

nose2 on PyPI

pip

pip install nose2

uv

uv add nose2

poetry

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 the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 165 days since the last release
Last repo commit
First released
Downloads 797,172/month — #5,031 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nose2-0.16.0-py3-none-any.whl

Keywords: testing, tests, unittest

Development Status :: 4 - BetaEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Testing

Tags

unittest test runnerpython testing frameworktest discovery and executionunittest pluginsnose2 test runnerparametrized testingpython unit testing
unittest-compatibletest-discovery

More Libraries packages