DEV Community

pr4th4m
pr4th4m

Posted on

SemVer versioning utility

Versioner

Version reader/writer for popular package managers as per SemVer

Installation

  pip install git+https://github.com/VeritasOS/versioner.git
Enter fullscreen mode Exit fullscreen mode

Current support

  • npm
  • dep
  • json
  • toml
  • yaml (currently multi doc in single file not supported)

Usage

  • Read version (run command from project root)
  > versioner read npm  # projects based on npm
  "0.0.1"

  > versioner read dep  # golang projects
  "0.1.1"
Enter fullscreen mode Exit fullscreen mode
  • Write version (run command from project root)
  # package.json
  ....
  "version": "1.1.1",
  ....

  # Release patch version
  > versioner write npm --inc-patch

  # package.json
  ....
  "version": "1.1.2",
  ....

  # Release minor version
  > versioner write npm --inc-minor

  ....
  "version": "1.2.0",
  ....

  # Release major version
  > versioner write npm --inc-major

  ....
  "version": "2.0.0",
  ....
Enter fullscreen mode Exit fullscreen mode
  • Read version from custom file
  > versioner read yaml --file /root/app/version.yaml --key-depth metadata,version
  0.0.2

  version.yaml
  ---
  metadata:
    version: 0.0.2
Enter fullscreen mode Exit fullscreen mode
  • Write version to custom file
  > versioner write yaml --inc-major --file /root/app/version.yaml --key-depth metadata,version

  version.yaml
  ---
  metadata:
    version: 1.0.0
Enter fullscreen mode Exit fullscreen mode

Development

  git clone https://github.com/VeritasOS/versioner.git
  cd versioner
  pip install -e .
Enter fullscreen mode Exit fullscreen mode

NOTE

  • This utility is tested for npm and dep.
  • Read/write for custom file may break, please feel free to send a patch.

GitHub logo VeritasOS / versioner

Version reader/writer for popular package managers as per SemVer

Versioner

Version reader/writer for popular package managers as per SemVer

Installation

pip install git+https://github.com/VeritasOS/versioner.git

Current support

  • npm
  • dep
  • json
  • toml
  • yaml (currently multi doc in single file not supported)

Usage

  • Read version (run command from project root)

      > versioner read npm  # projects based on npm
      "0.0.1"
      > versioner read dep  # golang projects
      "0.1.1"
    
  • Write version (run command from project root)

      # package.json
      ....
      "version": "1.1.1",
      ....
    
      # Release patch version
      > versioner write npm --inc-patch
    
      # package.json
      ....
      "version": "1.1.2",
      ....
    
      # Release minor version
      > versioner write npm --inc-minor
    
      ....
      "version": "1.2.0",
      ....
    
      # Release major version
      > versioner write npm --inc-major
    
      ....
      "version": "2.0.0",
      ....
    
  • Read version from custom file

      > versioner read yaml --file /root/app/version.yaml --key-depth metadata,version
      0.0.2
    
      version.yaml
      ---
      metadata:
        version: 0.0.2
    
  • Write version to custom file

      > versioner write yaml --inc-major --file /root/app/version.yaml --key-depth metadata,version
    
      version.yaml
      ---
      metadata:
        version: 1.0.0
    

Development

git clone

Top comments (0)