2. Installing semver

2.1. Release Policy

As semver uses Semantic Versioning, breaking changes are only introduced in major releases (incremented X in “X.Y.Z”). Refer to section Version Policy for a general overview.

For users who want or need to stay with major 3 releases only, add the following version restriction (setup.py, requirements.txt, or pyproject.toml):

semver>=3,<4

This line avoids surprises. You will get any updates within the major 3 release like 3.1.x and above. However, you will never get an update for semver 4.0.0.

For users who have to stay with major 2 releases only, use the following line:

semver>=2,<3

2.2. With Pip

 pip3 install semver

If you want to install this specific version (for example, 3.0.0), use the command pip with an URL and its version:

pip3 install git+https://github.com/python-semver/python-semver.git@3.0.0

2.3. With uv

First, install the uv command. Refer to https://docs.astral.sh/uv/getting-started/installation/ for more information.

Then use the command uv to install the package:

 uv pip install semver

2.4. Optional Native Backend

The semver package provides an optional native backend that can accelerate version parsing on CPython. Install it with the [native] extra:

pip3 install 'semver[native]'

Or with uv:

uv pip install 'semver[native]'

The native backend uses the fast-semver-rs-backend package, which is only available on CPython. On other Python implementations or when the extra is not installed, semver automatically falls back to its pure-Python parser. No code changes are required.

2.5. Linux Distributions

Note

Some Linux distributions can have outdated packages. These outdated packages does not contain the latest bug fixes or new features. If you need a newer package, you have these option:

  • Ask the maintainer to update the package.

  • Update the package for your favorite distribution and submit it.

  • Use a Python virtual environment and pip install.

2.5.1. Arch Linux

  1. Enable the community repositories first:

    [community]
    Include = /etc/pacman.d/mirrorlist
    
  2. Install the package:

    $ pacman -Sy python-semver
    

2.5.2. Debian

  1. Update the package index:

    $  sudo apt-get update
    
  2. Install the package:

    $ sudo apt-get install python3-semver
    

2.5.3. Fedora

$ dnf install python3-semver

2.5.4. FreeBSD

$ pkg install py36-semver

2.5.5. openSUSE

  1. Enable the devel:languages:python repository of the Open Build Service:

    $ sudo zypper addrepo --refresh \
      --name devel_languages_python \
      "https://download.opensuse.org/repositories/devel:/languages:/python/\$releasever"
    
  2. Install the package:

    $ sudo zypper install --repo devel_languages_python python3-semver
    

2.5.6. Ubuntu

  1. Update the package index:

    $ sudo apt-get update
    
  2. Install the package:

    $ sudo apt-get install python3-semver