Skip to main content

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 of semantic_version.Version.
  • semver_spec - accepts a Julia version specifier string and returns an instance of semantic_version.NpmSpec.
  • match - match(spec, vers) returns true if vesion vers satisfies specifier spec.

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.

Source Distribution

julia_semver-0.1.2.tar.gz (4.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page