skillfed

verspec

Flexible version handling

verspec v0.1.0 1.8M downloads/30d#3,560 on PyPI1
Permissive license BSD 2-Clause or Apache-2.0 Active released

What it is and what it does

verspec is a lightweight Python library for parsing, representing, and matching software version strings and version specifiers. It provides two main interfaces: loose.Version and loose.SpecifierSet for flexible version handling, and python.Version and python.SpecifierSet for strict Python versioning semantics. The library is adapted from the packaging project and handles common version comparison operations like checking whether a version satisfies a specifier constraint (e.g., testing if version 1.0 matches the specifier ~=1.0).

The package has no external runtime dependencies and installs as a pure Python wheel, making it lightweight to add to projects that need version handling without pulling in the full packaging library. It is classified as Alpha and has not been updated since its initial release, though the repository remains active.

Use it for:

  • Check if a software release version satisfies a version constraint in dependency resolution
  • Parse and compare version strings in package management or release tooling
  • Validate version specifiers in configuration files or user input
  • Implement custom version-matching logic in build or deployment scripts

Worth the install?

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

verspec parses and compares software version strings and version specifiers (like '~=1.0'), adapted from the packaging library, supporting both loose and Python-specific version schemes.

Yes, if you need lightweight version parsing without packaging as a dependency. The library is stable (no known vulnerabilities), has low install friction, and permissive licensing. However, it has not been updated since 2020 and documentation is incomplete, so consider it suitable for straightforward version-matching tasks rather than as a primary versioning solution in active development.

Install

verspec on PyPI

pip

pip install verspec

uv

uv add verspec

poetry

poetry add verspec

Installing verspec

Before you install

Low friction: pure Python wheel with no runtime dependencies. Active repository with recent commits, though the package itself has not been updated since its initial 0.1.0 release in 2020.

License in practice

Dual-licensed under BSD 2-Clause or Apache-2.0, both permissive licenses allowing commercial and private use with minimal restrictions.

Quickstart

from verspec import loose

v = loose.Version('1.0')
s = loose.SpecifierSet('~=1.0')
assert v in s

Verify before relying

  • Whether the package supports Python versions beyond 3.8 despite being classified for 3.6–3.8
  • Current state of promised documentation ('Forthcoming' in excerpt)
  • Maintenance activity and bug-fix cadence since 2020 release

Package facts

License BSD 2-Clause or Apache-2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 2,083 days since the last release
Last repo commit
First released
Downloads 1,788,445/month — #3,560 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: verspec-0.1.0-py3-none-any.whl

Keywords: version, handling

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8

Tags

version parsing and comparisonsoftware version handlingversion specifier matchingsemantic versioning libraryversion constraint checkingloose version parsingpython version specifiers
version-handlingdependency-resolution

More Software Development packages