diff --git a/pkgs/development/python-modules/streamlit-folium/default.nix b/pkgs/development/python-modules/streamlit-folium/default.nix new file mode 100644 index 000000000000..8500ba9beedd --- /dev/null +++ b/pkgs/development/python-modules/streamlit-folium/default.nix @@ -0,0 +1,68 @@ +{ + lib, + branca, + buildPythonPackage, + fetchFromGitHub, + folium, + jinja2, + pytest-playwright, + pytest-rerunfailures, + pytestCheckHook, + streamlit, + uv-build, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "streamlit-folium"; + version = "0.25.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "randyzwitch"; + repo = "streamlit-folium"; + tag = "v${version}"; + hash = "sha256-ACllvlT2zPyV7IS00LVgnf2u5jMChVJlDgNlWk0c9fo="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.8.4,<0.9" "uv_build" + ''; + + build-system = [ uv-build ]; + + dependencies = [ + branca + folium + jinja2 + streamlit + ]; + + nativeCheckInputs = [ + pytest-playwright + pytest-rerunfailures + pytestCheckHook + streamlit + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "streamlit_folium" ]; + + preCheck = '' + export PATH="$PATH:$out/bin"; + ''; + + disabledTestPaths = [ + # Don't run tests that require chromium + "tests/test_frontend.py" + ]; + + meta = { + description = "Streamlit Component for rendering Folium maps"; + homepage = "https://github.com/randyzwitch/streamlit-folium"; + changelog = "https://github.com/randyzwitch/streamlit-folium/releases/tag/${src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e45622952ab8..c9649073b073 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18176,6 +18176,8 @@ self: super: with self; { streamlit = callPackage ../development/python-modules/streamlit { }; + streamlit-folium = callPackage ../development/python-modules/streamlit-folium { }; + streamz = callPackage ../development/python-modules/streamz { }; strenum = callPackage ../development/python-modules/strenum { };