Julia version specifier format implementation
Project description
julia_semver
This package allows you to work with Julia version specifiers in Python. It provides three functions
version
- accepts a Julia version string and returns an instance ofsemantic_version.Version
.semver_spec
- accepts a Julia version specifier string and returns an instance ofsemantic_version.NpmSpec
.match
-match(spec, vers)
returns true if vesionvers
satisfies specifierspec
.
The tools in semantic_version
can then be used to work with versions and version specifiers.
Motivation
The package semantic_version
can represent Julia versions and version specifiers. But, it does not
support the Julia syntax for constructing these representations from strings. This package provides
functions for these constructions that implement the Julia syntax exactly.
Install
pip install julia_semver
Details
-
All of the Julia version specifier format (as of julia v1.8) is supported.
-
The syntax of the version strings and version specifier strings is exactly the same as that described in Julia docs and implemented in Julia.
Semantics of matching and comparison
The functions and methods in semantic_version
for comparing and matching differ in some respects from those of Julia.
In particular, in Julia, the prerelease is ignored when matching a version to a version specifier. The function
julia_semver.match
tries to preserve the Julia semantics:
semver_spec("1").match(version("1.1.2-DEV")) # False
julia_semver.match("1", "1.1.2-DEV") # True
julia_semver.match("1", "1.1.2-DEV", strict=True) # False
Examples
See the test suite for more examples.
from julia_semver import semver_spec, version
version('1.8') in semver_spec('^1.7.2')
version('0.8') not in semver_spec('^0.7.2')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.