1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build system 7 hatchling, 8 hatch-vcs, 9 10 # dependencies 11 click, 12 httpx, 13 pydantic, 14 pydantic-settings, 15 questionary, 16 rich-click, 17 rich, 18 tomlkit, 19 wcmatch, 20 21 # test 22 mercurial, 23 gitMinimal, 24 freezegun, 25 pre-commit, 26 pytest-cov, 27 pytest-localserver, 28 pytest-mock, 29 pytestCheckHook, 30 versionCheckHook, 31}: 32 33buildPythonPackage rec { 34 pname = "bump-my-version"; 35 version = "1.1.2"; 36 pyproject = true; 37 38 src = fetchFromGitHub { 39 owner = "callowayproject"; 40 repo = "bump-my-version"; 41 tag = version; 42 hash = "sha256-O7Ihw2AKJyOmBLReNI6TP5K3HgOFDuK1/9lN3d3/SrQ="; 43 }; 44 45 build-system = [ 46 hatchling 47 hatch-vcs 48 ]; 49 50 dependencies = [ 51 click 52 httpx 53 pydantic 54 pydantic-settings 55 questionary 56 rich-click 57 rich 58 tomlkit 59 wcmatch 60 ]; 61 62 env = { 63 GIT_AUTHOR_NAME = "test"; 64 GIT_COMMITTER_NAME = "test"; 65 GIT_AUTHOR_EMAIL = "test@example.com"; 66 GIT_COMMITTER_EMAIL = "test@example.com"; 67 }; 68 69 nativeCheckInputs = [ 70 mercurial 71 gitMinimal 72 freezegun 73 pre-commit 74 pytest-cov 75 pytest-localserver 76 pytest-mock 77 pytestCheckHook 78 versionCheckHook 79 ]; 80 81 versionCheckProgramArg = "--version"; 82 83 __darwinAllowLocalNetworking = true; 84 85 pythonImportsCheck = [ "bumpversion" ]; 86 87 meta = { 88 description = "Small command line tool to update version"; 89 longDescription = '' 90 This is a maintained refactor of the bump2version fork of the 91 excellent bumpversion project. This is a small command line tool to 92 simplify releasing software by updating all version strings in your source code 93 by the correct increment and optionally commit and tag the changes. 94 ''; 95 homepage = "https://github.com/callowayproject/bump-my-version"; 96 changelog = "https://github.com/callowayproject/bump-my-version/tag/${version}"; 97 license = lib.licenses.mit; 98 maintainers = with lib.maintainers; [ daspk04 ]; 99 mainProgram = "bump-my-version"; 100 }; 101}