Skip to content

Version 0.0.x breaks ^ dependency constraints #215

@Chesars

Description

@Chesars

Consider releasing version 1.0.0

According to semver.org:

"Major version zero (0.y.z) is for initial development"

However, PyPI marks this package as "Development Status: 5 - Production/Stable", which seems contradictory with the current 0.0.x versioning.

The problem

When using the caret operator (^0.0.18), Poetry interprets it as >=0.0.18, <0.0.19 because the caret allows updates that don't modify the "left-most non-zero digit". With 0.0.18, that digit is 18.

e.g:

  • ^1.0.0>=1.0.0, <2.0.0 ✅ allows minor and patches
  • ^0.0.18>=0.0.18, <0.0.19 ❌ does not allows minor and patches

This causes dependency conflicts for downstream projects. Example: LiteLLM had to change from ^0.0.18 to >=0.0.18:

Why 1.0.0 makes sense

  • 100% test coverage
  • 316,000+ dependents (including FastAPI/Starlette)
  • PyPI already marks it as "Production/Stable"

Would you consider bumping to 1.0.0?

Reference: Poetry Dependency Specification

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions