--- id: sure version: "2.0.1" license: unclear license_treatment: copyleft maintenance: aging --- # sure — utility belt for automated testing in python for python License: copyleft · Maintenance: aging · Downloads: 348.8K/mo ## What it is and what it does sure is a testing assertion library that layers fluent, chainable syntax on top of Python's standard testing capabilities. Instead of writing `assert x == y`, you write `x.should.equal(y)`, building readable test expressions that flow more like natural language. The library is modeled after RSpec Expectations and should.js, bringing that idiom to Python. It supports assertions on numbers, strings, dictionaries, and collections, with methods like `.should.equal()`, `.should.have.key()`, and `.shouldnt.be.equal()` that chain together to form readable test conditions. The package has no runtime dependencies and works across Python 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11 on CPython and PyPy, though maintenance status is aging. Use it for: - Writing unit tests with more readable, expressive assertion chains instead of bare assert statements. - Validating dictionary structure and content in integration tests using `.should.have.key()` chains. - Testing string transformations and comparisons using fluent syntax (e.g., `'HELLO'.lower().should.equal('hello')`). - Building test suites where assertion readability and developer experience are priorities. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. sure provides fluent, chainable assertion syntax for Python testing, letting you write test conditions that read like natural language (e.g., `(4).should.equal(2 + 2)`). Yes, with conditions. sure is stable and has no known vulnerabilities, making it safe to adopt. However, high install friction (source-only distribution) and aging maintenance mean it's best suited for projects where readable test syntax is a priority and you're comfortable with a library that receives infrequent updates. The GPLv3+ copyleft license requires careful review if your project uses a different license. ## Install pip install sure uv add sure poetry add sure ## Installing sure Before you install: Installation friction is high: the package ships as a source distribution with no prebuilt wheels. Last release was over a year ago and maintenance status is aging, though the repository remains active with recent commits and the codebase is marked Production/Stable. License in practice: sure is licensed under GPLv3+, a copyleft license. Any code that imports sure into a proprietary or differently-licensed project may face licensing compliance obligations; review your project's license compatibility before adopting. Quickstart: pip install sure import sure (4).should.equal(2 + 2) {'foo': 'bar'}.should.have.key('foo') Verify before relying: - Whether sure integrates cleanly with modern test runners (pytest, unittest) or requires special configuration. - Performance characteristics when chaining many assertions in large test suites. - Compatibility with type checkers (mypy, pyright) given the dynamic attribute-chaining syntax. - Current maintenance roadmap and likelihood of future updates beyond the 2023-02-06 release. ## Package facts - License: not declared (copyleft) - Python support: unspecified - Install friction: high - Maintenance: aging - Downloads: 348.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags fluent assertion library python, chainable test assertions, rspec-style testing python, readable test syntax, should-style assertions, natural language test assertions, python testing dsl, testing-dsl, fluent-assertions, copyleft-license [View on SkillFed](https://skillfed.io/packages/sure) · [View on PyPI](https://pypi.org/project/sure/)