{ lib , buildPythonPackage , fetchFromGitHub , beautifulsoup4 , fastapi , httptools , logzero , lxml , mistletoe , more-itertools , mypy , pytz , setuptools , tzlocal , urlextract , uvicorn , uvloop , watchfiles , websockets , setuptools-scm , starlette , pkgs , ... }: with pkgs; let hpi = pkgs.python3Packages.callPackage ./hpi.nix { inherit pkgs; }; sqlcipher3 = pkgs.python3Packages.callPackage ./sqlcipher3.nix { inherit pkgs; }; cachew = pkgs.python3Packages.callPackage ./cachew.nix { inherit pkgs; }; python-dotenv = pkgs.python3Packages.callPackage ./python-dotenv.nix { }; in buildPythonPackage rec { pname = "promnesia"; version = "1.1.20231016"; pyproject = true; src = fetchFromGitHub { owner = "karlicoss"; repo = pname; rev = "9ff734e6fde9ee42f9e8f895d1de54ee02e95d78"; hash = "sha256-TmLyHqa25I6NoTPsmd1AesYdxc8hmGPHdiMuFfw78uQ="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; doCheck = true; nativeBuildInputs = [ setuptools-scm ]; # Optional # bs4 lxml mistletoe logzero propagatedBuildInputs = [ beautifulsoup4 cachew fastapi hpi httptools starlette logzero lxml mistletoe more-itertools mypy python-dotenv pytz setuptools sqlcipher3 tzlocal urlextract uvicorn uvloop watchfiles websockets ]; makeWrapperArgs = [ # Add the installed directories to the python path so the daemon can find them "--prefix PYTHONPATH : ${python3.pkgs.makePythonPath propagatedBuildInputs}" "--prefix PYTHONPATH : $out/lib/${python3.libPrefix}/site-packages" ]; meta = with lib; { homepage = "https://github.com/karlicoss/promnesia"; description = "Another piece of your extended mind"; license = licenses.mit; maintainers = with maintainers; [ qbit ]; }; }