skillfed

surer

surer v0.0.3 201.3K downloads/30d#9,674 on PyPI1
Permissive license Apache License 2.0 Abandoned released

What it is and what it does

Surer is a fork providing fluent, chainable assertion syntax for Python tests modeled after RSpec Expectations and should.js. Instead of traditional `assert` statements, you write readable expressions like `(4).should.equal(2 + 2)` or `{'foo': 'bar'}.should.have.key('foo').which.should.equal('bar')`. It supports assertions on numbers, strings, dictionaries, and collections with a natural, English-like flow.

The package is maintained primarily to support recent Python versions (3.6, 3.7, 3.8, 3.9, 3.10, 3.11) but is no longer actively developed. It has no runtime dependencies, making installation lightweight. The last commit was 2023-01-08, and the repository shows minimal activity, so while it works for its stated purpose, you should expect no new features or rapid bug fixes.

Use it for:

  • Writing unit tests with more readable, fluent assertions instead of traditional assert statements.
  • Testing dictionary structures and verifying nested keys and values with chainable syntax.
  • Building test suites where assertion readability and developer experience are priorities.
  • Migrating test code from RSpec or should.js-based projects to Python while preserving assertion style.
  • Prototyping or maintaining legacy test code that already uses the 'sure' library.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Surer provides fluent, RSpec-inspired assertion syntax for Python testing, allowing readable chained assertions like `(4).should.equal(2 + 2)` and dictionary/string introspection.

Yes, if you prefer fluent assertion syntax and are comfortable with an abandoned but stable package. Surer has no dependencies, works on Python 3.6–3.11, and carries no known vulnerabilities. However, expect no active maintenance—use it only if you accept that bugs or incompatibilities with future Python versions will not be fixed by the maintainers. For new projects, consider actively maintained alternatives.

Install

surer on PyPI

pip

pip install surer

uv

uv add surer

poetry

poetry add surer

Installing surer

Before you install

Installation is frictionless with no runtime dependencies. However, the package is abandoned—last commit was 2023-01-08, with minimal community engagement (1 star). It receives maintenance only for Python version support, not active development.

License in practice

Licensed under Apache License 2.0 (permissive), so you can use, modify, and distribute it freely in commercial or private projects without restriction.

Quickstart

pip install surer

import surer

(4).should.equal(2 + 2)
{'foo': 'bar'}.should.have.key('foo')

Requires Python >=3.6; no system dependencies.

Verify before relying

  • Whether the assertion API remains stable across all supported Python versions (3.6–3.11) in practice.
  • Whether the fork diverges meaningfully from the original 'sure' library beyond Python version support.
  • Active maintenance status and responsiveness to bug reports or pull requests.

Package facts

License Apache License 2.0 (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,314 days since the last release
Last repo commit
First released
Downloads 201,327/month — #9,674 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: surer-0.0.3-py3-none-any.whl

Keywords: test, assertions, fluent

License :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Testing

Tags

fluent assertion libraryrspec-style testing pythonreadable test assertionschained assertion syntaxpython testing assertionsshould-style assertionsexpressive test matchers
fluent-assertionstest-frameworkabandoned-but-stable

More Testing packages