New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

version-parser

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

version-parser

This package can parse and compare semantic versioning.

  • 1.0.1
  • PyPI
  • Socket score

Maintainers
1

Version Parser

JavaScript Version

https://www.npmjs.com/package/version-parser

npm version

Python Version

Build Status PyPI version

The version parser is able to parse versions and figure out which of them are build in one of the following three formats: Major-Version, Minor-Version and Build-Version.

Possible input types are:

VersionTyp
v1.2.3Version
V1.2.3Version
v_1_2_3FILENAME
v1_2_3FILENAME
V_1_2_3FILENAME
V1_2_3FILENAME
1_2_3FILENAME
VM1m2b3CLASSNAME_BUILD
VM1m2p3CLASSNAME_PATCH
vM1m2b3CLASSNAME_BUILD
vM1m2p3CLASSNAME_PATCH
1.2.3STRIPPED_VERSION
2312NUMBER

Install

pip install version-parser

Usage

Create object with the version as a String as initial parameter.

from version_parser import Version


v1 = Version("v2.3.4")

To compare two version objects/numbers, simply put the versions as Strings into seperate objects and compare them using the logical operators.

from version_parser.version import Version


v1 = Version("v2.3.4")
v2 = Version("v2.3.2")

print(v1 < v2)
>> False


print(v1 > v2)
>> True


print(v1 == v2)
>> False

The last digets behind the last dot should be the Patch or Build Version Number. Differences in this area should be compatible to each other.

from version_parser.version import Version


v1 = Version("v2.3.4")
v2 = Version("v2.3.5")


print(v1 == v2)
>> False


print(v1.compatible_version_with(v2))
>> True

You can also get only the Major, Minor or Build Version by using:

from version_parser import Version
v = Version("v2.3.4")

v.get_major_version()
2
v.get_minor_version()
3
v.get_build_version()
4

It's possible to convert the version format, too:

from version_parser import Version, VersionType
v = Version("v2.3.4")       # VersionType = Version
print(v.get_type())
>> VersionType.Version

print(v.get_typed_version(VersionType.FILENAME))
>> v_2_3_4

Any version can be represented by an Integer.

The sections of major, minor, build/patched version should have a maximum of three digets.

from version_parser import Version
v = Version("v2.3.4")
print(v.get_number())
>> 2003004

VersionTypes

VersionType.FILENAME

"v_<MAJOR>_<MINOR>_<BUILD/PATCH>"

VersionType.CLASSNAME

"VM<MAJOR>m<MINOR>b<BUILD/PATCH>"

VersionType.VERSION

"v<MAJOR>.<MINOR>.<BUILD/PATCH>"

VersionType.STRIPPED_VERSION

"<MAJOR>.<MINOR>.<BUILD/PATCH>"

VersionType.NUMBER

each section is filled zeros up to three digets

"<MAJOR><MINOR><BUILD/PATCH>"

VersionType.CLASSNAME_BUILD

same like CLASSNAME_BUILD

VersionType.CLASSNAME_PATCH

"VM<MAJOR>m<MINOR>p<BUILD/PATCH>"
                  ^
                PATCH 

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc