diff --git a/pkgs/development/python-modules/pyproject-api/default.nix b/pkgs/development/python-modules/pyproject-api/default.nix new file mode 100644 index 000000000000..6e719ea6f417 --- /dev/null +++ b/pkgs/development/python-modules/pyproject-api/default.nix @@ -0,0 +1,89 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder + +# build time +, hatchling +, hatch-vcs +, setuptools-scm + +# runtime +, packaging +, toml +, tomli + +# docs +, sphinxHook +, furo +, sphinx-autodoc-typehints + +# tests +, pytest-mock +, pytestCheckHook +, virtualenv +, wheel +}: + +buildPythonPackage rec { + pname = "pyproject-api"; + version = "1.2.1"; + format = "pyproject"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "tox-dev"; + repo = "pyproject-api"; + rev = "refs/tags/${version}"; + hash = "sha256-IRNg0/lTWoS8znsbipZNoeun+uOpZtCApL4HkF2lwhU="; + }; + + outputs = [ + "out" + "doc" + ]; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + hatchling + hatch-vcs + setuptools-scm + + # docs + sphinxHook + furo + sphinx-autodoc-typehints + ]; + + propagatedBuildInputs = [ + packaging + ] ++ lib.optionals (pythonOlder "3.11") [ + tomli + ]; + + checkInputs = [ + pytest-mock + pytestCheckHook + virtualenv + wheel + ]; + + disabledTests = [ + # requires eol python2 interpreter + "test_can_build_on_python_2" + ]; + + pythonImportsCheck = [ + "pyproject_api" + ]; + + meta = with lib; { + changelog = "https://github.com/tox-dev/pyproject-api/releases/tag/${version}"; + description = "API to interact with the python pyproject.toml based projects"; + homepage = "https://github.com/tox-dev/pyproject-api"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9726609c6673..ae7c2d07a500 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6953,6 +6953,8 @@ self: super: with self; { pyprecice = callPackage ../development/python-modules/pyprecice { }; + pyproject-api = callPackage ../development/python-modules/pyproject-api { }; + pypsrp = callPackage ../development/python-modules/pypsrp { }; phpserialize = callPackage ../development/python-modules/phpserialize { };