diff --git a/pkgs/development/python-modules/moreorless/default.nix b/pkgs/development/python-modules/moreorless/default.nix new file mode 100644 index 000000000000..8f849b42f137 --- /dev/null +++ b/pkgs/development/python-modules/moreorless/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, click +, fetchFromGitHub +, parameterized +, pytestCheckHook +, pythonOlder +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "moreorless"; + version = "0.4.0"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "thatch"; + repo = "moreorless"; + rev = "refs/tags/v${version}"; + hash = "sha256-N11iqsxMGgzwW2QYeOoHQaR/aDEuoUnnd/2Mc5culN0="; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + click + ]; + + nativeCheckInputs = [ + parameterized + pytestCheckHook + ]; + + pythonImportsCheck = [ + "moreorless" + ]; + + pytestFlagsArray = [ + "moreorless/tests/click.py" + "moreorless/tests/general.py" + "moreorless/tests/patch.py" + ]; + + meta = with lib; { + description = "Wrapper to make difflib.unified_diff more fun to use"; + homepage = "https://github.com/thatch/moreorless/"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/stdlibs/default.nix b/pkgs/development/python-modules/stdlibs/default.nix new file mode 100644 index 000000000000..4d3398d326c3 --- /dev/null +++ b/pkgs/development/python-modules/stdlibs/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, flit-core +, pythonOlder +}: + +buildPythonPackage rec { + pname = "stdlibs"; + version = "2022.10.9"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "omnilib"; + repo = "stdlibs"; + rev = "refs/tags/v${version}"; + hash = "sha256-HkGZw58gQGd8mHnCP4aF6JWXxlpIIfe7B//HJiHVwA4="; + }; + + nativeBuildInputs = [ + flit-core + ]; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ + "stdlibs" + ]; + + meta = with lib; { + description = "Overview of the Python stdlib"; + homepage = "https://github.com/omnilib/stdlibs"; + changelog = "https://github.com/omnilib/stdlibs/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/trailrunner/default.nix b/pkgs/development/python-modules/trailrunner/default.nix new file mode 100644 index 000000000000..04cf6b0c071f --- /dev/null +++ b/pkgs/development/python-modules/trailrunner/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, flit-core +, pathspec +, pythonOlder +, unittestCheckHook +}: + +buildPythonPackage rec { + pname = "trailrunner"; + version = "1.4.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "omnilib"; + repo = "trailrunner"; + rev = "refs/tags/v${version}"; + hash = "sha256-qtEBr22yyj6WcSfyYr/4r0IuuMJ6chFFqnmb+uMfQPA="; + }; + + nativeBuildInputs = [ + flit-core + ]; + + propagatedBuildInputs = [ + pathspec + ]; + + nativeCheckInputs = [ + unittestCheckHook + ]; + + pythonImportsCheck = [ + "trailrunner" + ]; + + meta = with lib; { + description = "Module to walk paths and run things"; + homepage = "https://github.com/omnilib/trailrunner"; + changelog = "https://github.com/omnilib/trailrunner/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/ufmt/default.nix b/pkgs/development/python-modules/ufmt/default.nix new file mode 100644 index 000000000000..cc510c0fa76f --- /dev/null +++ b/pkgs/development/python-modules/ufmt/default.nix @@ -0,0 +1,61 @@ +{ lib +, black +, buildPythonPackage +, click +, fetchFromGitHub +, flit-core +, libcst +, moreorless +, pythonOlder +, tomlkit +, trailrunner +, typing-extensions +, unittestCheckHook +, usort +}: + +buildPythonPackage rec { + pname = "ufmt"; + version = "2.1.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "omnilib"; + repo = "ufmt"; + rev = "refs/tags/v${version}"; + hash = "sha256-eQIbSC0Oxi6JD7/3o2y9f+KhT8GIiFiYiV4A3QBoWl0="; + }; + + nativeBuildInputs = [ + flit-core + ]; + + propagatedBuildInputs = [ + black + click + libcst + moreorless + tomlkit + trailrunner + typing-extensions + usort + ]; + + nativeCheckInputs = [ + unittestCheckHook + ]; + + pythonImportsCheck = [ + "ufmt" + ]; + + meta = with lib; { + description = "Safe, atomic formatting with black and usort"; + homepage = "https://github.com/omnilib/ufmt"; + changelog = "https://github.com/omnilib/ufmt/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/usort/default.nix b/pkgs/development/python-modules/usort/default.nix new file mode 100644 index 000000000000..2f61e8847ac6 --- /dev/null +++ b/pkgs/development/python-modules/usort/default.nix @@ -0,0 +1,65 @@ +{ lib +, attrs +, buildPythonPackage +, click +, fetchFromGitHub +, hatch-vcs +, hatchling +, libcst +, moreorless +, pythonOlder +, stdlibs +, toml +, trailrunner +, unittestCheckHook +, volatile +}: + +buildPythonPackage rec { + pname = "usort"; + version = "1.1.0b2"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "facebook"; + repo = "usort"; + rev = "refs/tags/v${version}"; + hash = "sha256-c3gQ+f/BRgM+Nwc+mEP7dcmig7ws7FqL5zwQhNJJlsI="; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + hatch-vcs + hatchling + ]; + + propagatedBuildInputs = [ + attrs + click + libcst + moreorless + stdlibs + toml + trailrunner + ]; + + nativeCheckInputs = [ + unittestCheckHook + volatile + ]; + + pythonImportsCheck = [ + "usort" + ]; + + meta = with lib; { + description = "Safe, minimal import sorting for Python projects"; + homepage = "https://github.com/facebook/usort"; + changelog = "https://github.com/facebook/usort/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/volatile/default.nix b/pkgs/development/python-modules/volatile/default.nix new file mode 100644 index 000000000000..7be5989b159b --- /dev/null +++ b/pkgs/development/python-modules/volatile/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "volatile"; + version = "2.1.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "mbr"; + repo = "volatile"; + rev = "refs/tags/${version}"; + hash = "sha256-TYUvr0bscM/FaPk9oiF4Ob7HdKa2HlbpEFmaPfh4ir0="; + }; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "volatile" + ]; + + meta = with lib; { + description = "A small extension for the tempfile module"; + homepage = "https://github.com/mbr/volatile"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d525b86e8e2..1a7b5ba9a5e5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13641,6 +13641,8 @@ with pkgs; usbmuxd2 = callPackage ../tools/misc/usbmuxd2 { }; + usort = with python3Packages; toPythonApplication usort; + ustreamer = callPackage ../applications/video/ustreamer { }; usync = callPackage ../applications/misc/usync { }; @@ -14019,6 +14021,8 @@ with pkgs; udunits = callPackage ../development/libraries/udunits { }; + ufmt = with python3Packages; toPythonApplication ufmt; + uftp = callPackage ../servers/uftp { }; uhttpmock = callPackage ../development/libraries/uhttpmock { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 41148d8c56d8..5f0c88314eea 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6456,6 +6456,8 @@ self: super: with self; { more-properties = callPackage ../development/python-modules/more-properties { }; + moreorless = callPackage ../development/python-modules/moreorless { }; + moretools = callPackage ../development/python-modules/moretools { }; morfessor = callPackage ../development/python-modules/morfessor { }; @@ -11811,6 +11813,8 @@ self: super: with self; { stdlib-list = callPackage ../development/python-modules/stdlib-list { }; + stdlibs = callPackage ../development/python-modules/stdlibs { }; + steamodd = callPackage ../development/python-modules/steamodd { }; steamship = callPackage ../development/python-modules/steamship { }; @@ -12451,6 +12455,8 @@ self: super: with self; { trackpy = callPackage ../development/python-modules/trackpy { }; + trailrunner = callPackage ../development/python-modules/trailrunner {}; + trainer = callPackage ../development/python-modules/trainer {}; traitlets = callPackage ../development/python-modules/traitlets { }; @@ -12707,6 +12713,8 @@ self: super: with self; { inherit (pkgs.xorg) libX11 libXext; }; + ufmt = callPackage ../development/python-modules/ufmt { }; + ufo2ft = callPackage ../development/python-modules/ufo2ft { }; ufoLib2 = callPackage ../development/python-modules/ufoLib2 { }; @@ -12863,6 +12871,8 @@ self: super: with self; { ush = callPackage ../development/python-modules/ush { }; + usort = callPackage ../development/python-modules/usort { }; + utils = callPackage ../development/python-modules/utils { }; uuid = callPackage ../development/python-modules/uuid { }; @@ -12979,6 +12989,8 @@ self: super: with self; { vobject = callPackage ../development/python-modules/vobject { }; + volatile = callPackage ../development/python-modules/volatile { }; + volkszaehler = callPackage ../development/python-modules/volkszaehler { }; voluptuous = callPackage ../development/python-modules/voluptuous { };