depot/third_party/nixpkgs/pkgs/development/python-modules/reflex/default.nix
Default email 472aeafc57 Project import generated by Copybara.
GitOrigin-RevId: c31898adf5a8ed202ce5bea9f347b1c6871f32d1
2024-10-04 18:56:33 +02:00

153 lines
2.6 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
poetry-core,
alembic,
attrs,
build,
charset-normalizer,
dill,
distro,
fastapi,
gunicorn,
httpx,
jinja2,
lazy-loader,
numpy,
pandas,
pillow,
platformdirs,
plotly,
psutil,
pydantic,
pytest-asyncio,
pytest-mock,
playwright,
pytestCheckHook,
python-engineio,
python-multipart,
python-socketio,
pythonOlder,
redis,
reflex-chakra,
reflex-hosting-cli,
rich,
sqlmodel,
starlette-admin,
tomlkit,
twine,
typer,
unzip,
uvicorn,
watchdog,
watchfiles,
wrapt,
}:
buildPythonPackage rec {
pname = "reflex";
version = "0.6.1";
pyproject = true;
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "reflex-dev";
repo = "reflex";
rev = "refs/tags/v${version}";
hash = "sha256-p7o7e/OBX8P5QKsHNInKKQO1jklTr61SXuGk+ceakJU=";
};
pythonRelaxDeps = [
"fastapi"
"gunicorn"
];
pythonRemoveDeps = [
"setuptools"
"build"
];
build-system = [ poetry-core ];
dependencies = [
alembic
build # used in custom_components/custom_components.py
charset-normalizer
dill
distro
fastapi
gunicorn
httpx
jinja2
lazy-loader
platformdirs
psutil
pydantic
python-engineio
python-multipart
python-socketio
redis
reflex-chakra
reflex-hosting-cli
rich
sqlmodel
starlette-admin
tomlkit
twine # used in custom_components/custom_components.py
typer
uvicorn
watchdog
watchfiles
wrapt
];
nativeCheckInputs = [
pytestCheckHook
pytest-asyncio
pytest-mock
playwright
attrs
numpy
plotly
pandas
pillow
unzip
];
preCheck = ''
export HOME="$(mktemp -d)"
'';
disabledTests = [
# Tests touch network
"test_find_and_check_urls"
"test_event_actions"
"test_upload_file"
"test_node_version"
# /proc is too funky in nix sandbox
"test_get_cpu_info"
# broken
"test_potentially_dirty_substates" # AssertionError: Extra items in the left set
# flaky
"test_preprocess" # KeyError: 'reflex___state____state'
"test_send" # AssertionError: Expected 'post' to have been called once. Called 0 times.
];
disabledTestPaths = [
"benchmarks/"
"tests/integration/"
];
pythonImportsCheck = [ "reflex" ];
meta = with lib; {
description = "Web apps in pure Python";
homepage = "https://github.com/reflex-dev/reflex";
changelog = "https://github.com/reflex-dev/reflex/releases/tag/${lib.removePrefix "refs/tags/" src.rev}";
license = licenses.asl20;
maintainers = with maintainers; [ pbsds ];
mainProgram = "reflex";
};
}