diff --git a/pkgs/development/python-modules/todoist-api-python/default.nix b/pkgs/development/python-modules/todoist-api-python/default.nix new file mode 100644 index 000000000000..8604b32d7aca --- /dev/null +++ b/pkgs/development/python-modules/todoist-api-python/default.nix @@ -0,0 +1,63 @@ +{ lib +, attrs +, buildPythonPackage +, fetchFromGitHub +, fetchpatch +, poetry-core +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, requests +, responses +}: + +buildPythonPackage rec { + pname = "todoist-api-python"; + version = "2.0.2"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "Doist"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-CKOsUb35+7WjSNf4Xo0SK5loIqWJbEnHdmhw9QXWFAI="; + }; + + patches = [ + # Switch to poetry-core, https://github.com/Doist/todoist-api-python/pull/81 + (fetchpatch { + name = "switch-to-poetry-core.patch"; + url = "https://github.com/Doist/todoist-api-python/commit/42288e066d2f0c69611ab50cb57ca98b8c6bd1ca.patch"; + sha256 = "sha256-yq+VVvjPYywvUn+ydyWVQPkiYPYWe9U6w38G54L2lkE="; + }) + ]; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + attrs + requests + ]; + + checkInputs = [ + pytest-asyncio + pytestCheckHook + responses + ]; + + pythonImportsCheck = [ + "todoist_api_python" + ]; + + meta = with lib; { + description = "Library for the Todoist REST API"; + homepage = "https://github.com/Doist/todoist-api-python"; + changelog = "https://github.com/Doist/todoist-api-python/blob/v${version}/CHANGELOG.md"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/todoist/default.nix b/pkgs/development/python-modules/todoist/default.nix index d4797bdfad35..611680d9734d 100644 --- a/pkgs/development/python-modules/todoist/default.nix +++ b/pkgs/development/python-modules/todoist/default.nix @@ -1,21 +1,33 @@ -{ lib, fetchPypi, buildPythonPackage -, requests, pythonOlder, typing +{ lib +, fetchPypi +, buildPythonPackage +, requests +, pythonOlder }: buildPythonPackage rec { pname = "todoist-python"; version = "8.1.3"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-AFRKA5VRD6jyiguZYP7WOQOWqHq1GjUzbuez0f1070U="; + hash = "sha256-AFRKA5VRD6jyiguZYP7WOQOWqHq1GjUzbuez0f1070U="; }; - propagatedBuildInputs = [ requests ] ++ lib.optional (pythonOlder "3.5") typing; + propagatedBuildInputs = [ + requests + ]; + + pythonImportsCheck = [ + "todoist" + ]; meta = with lib; { description = "The official Todoist Python API library"; - homepage = "https://todoist-python.readthedocs.io/en/latest/"; + homepage = "https://todoist-python.readthedocs.io/"; license = licenses.mit; maintainers = with maintainers; [ ]; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 256f68b8a426..9644aa23d7a5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11219,6 +11219,8 @@ self: super: with self; { todoist = callPackage ../development/python-modules/todoist { }; + todoist-api-python = callPackage ../development/python-modules/todoist-api-python { }; + toggl-cli = callPackage ../development/python-modules/toggl-cli { }; token-bucket = callPackage ../development/python-modules/token-bucket { };