dep-logic
Python dependency specifications supporting logical operations
Decision gist · record as of 2026-08-14
Yes. Low install friction, active maintenance, no known vulnerabilities, and permissive licensing make it a safe choice. Install it if you need to perform logical operations on version specifiers or environment markers in a dependency-aware tool or resolver; skip it if you only need to parse or validate specs without combining them.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction: pure Python wheel with a single runtime dependency (packaging).
- Active maintenance with a release 4 days ago.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions.
last release 2026-08-10 (4 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 11,917,040 downloads/mo, #1,352 on PyPI
Alternatives
Verify before relying
pip install dep-logic
from dep_logic.specifiers import parse_version_specifier
a = parse_version_specifier(">=1.0.0")
b = parse_version_specifier("<2.0.0")
print(a & b) # >=1.0.0,<2.0.0- Whether the `===` specifier caveat affects typical use cases or is a rare edge case.
- Performance characteristics when combining large numbers of specifiers or markers.
- Whether the package handles all PEP 508 marker syntax edge cases beyond the documented examples.
What it is and what it does
dep-logic is a lightweight utility for manipulating Python dependency specifications using logical operations. It parses PEP 440 version specifiers and PEP 508 environment markers, then lets you combine them with AND and OR operators to compute intersections, unions, and simplified constraint expressions. The library wraps PyPA's packaging module and aims to provide PEP-compliant behavior as an alternative to heavier tools like poetry-core.
You'd use this when building dependency resolvers, constraint solvers, or tools that need to reason about version ranges and platform requirements programmatically. It handles three sub-modules: specifiers for version ranges, markers for environment conditions, and tags for platform identifiers. The main limitation is partial support for `===` (arbitrary equality) specifiers.
Use it for
- Combine version constraints from multiple sources to compute the intersection of acceptable versions.
- Simplify or normalize environment marker expressions for dependency resolution logic.
- Build a dependency resolver that needs to reason about version ranges and platform requirements.
- Parse and manipulate PEP 440 and PEP 508 syntax in a tool or library without heavy dependencies.
- Test whether a given version or environment satisfies a set of logical constraints.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Low install friction, active maintenance, no known vulnerabilities, and permissive licensing make it a safe choice. Install it if you need to perform logical operations on version specifiers or environment markers in a dependency-aware tool or resolver; skip it if you only need to parse or validate specs without combining them.
Install
dep-logic on PyPI
Before you install
Low friction: pure Python wheel with a single runtime dependency (packaging). Active maintenance with a release 4 days ago.
Requires Python 3.10 or later.
License in practice
Apache-2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions.
Quickstart
pip install dep-logic
from dep_logic.specifiers import parse_version_specifier
a = parse_version_specifier(">=1.0.0")
b = parse_version_specifier("<2.0.0")
print(a & b) # >=1.0.0,<2.0.0
Verify before relying
- Whether the `===` specifier caveat affects typical use cases or is a rare edge case.
- Performance characteristics when combining large numbers of specifiers or markers.
- Whether the package handles all PEP 508 marker syntax edge cases beyond the documented examples.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepackaging |
| Maintenance | Actively maintained 4 days since the last release |
| First released | |
| Downloads | 11,917,040 / month, #1,352 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: dep_logic-0.7.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pep 440 version specifier logic”
- dep-logicPerforms logical operations (AND, OR) on PEP 440 version specifiers…
- parverparver parses and manipulates PEP 440 version numbers, allowing you…
- verlib2Provides standalone version comparison and parsing for PEP 386 and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also logical-unification · requirementslib · parver · feu · packvers · verlib2 · setuptools-git-versioning · looseversion · skia-pathops