Python module for extracting version from the string or directory name. Could make use for creating an inventory of installed versions of a particular application or finding the latest installed version.
The module offers the following functionality:
- Fetching version string from the string or name of the directory
- Validating version string
- Sorting config and application directories that contain versions in its name
The package can be installed from pip
pip install extract-version
There are archives of previous releases available on Github with the mirror on AWS
- We fetch version
2020.1.0
from stringPyCharm-2020.1.0
, or version1.0
frommy_program_v1.0
AppVersion.Major.Minor
version format
extract_version(version_string="PyCharm-2020.1.0")
> "2020.1.0"
Major.Minor
version format
extract_version(version_string="my_program_v1.0")
> "1.0"
- Sort directories by the version of application
sort_versions(["PyCharm-2018.1.2", "PyCharm-2018.2.0", "PyCharm-2020.1.0"])
> ["PyCharm-2018.1.2", "PyCharm-2018.2.0", "PyCharm-2020.1.0"]
- In edge cases with more than one pattern present, e.g.
PyCharm-2018.1.2-windows-10.0
, we should provide a clue where the version should be extracted from, in a form of a pattern-regex, e.g.PyCharm-(.*)-windows-10.0
The call of such function may look like this:
extract_version(version_string='PyCharm-2018.1.2-windows-10.0', pattern='PyCharm-(.*)-windows-10.0')
> "2018.1.2"
- Create an inventory of installed versions of a particular application
application_path = "C:/Users/user/AppData/Local/JetBrains/PyCharm"
pycharm_versions = available_versions(versions_path=application_path)
> {"2018.1.2": "PyCharm-2018.1.2", "2018.2.0": "PyCharm-2018.2.0", "2020.1.0": "PyCharm-2020.1.0"}