depot/third_party/nixpkgs/pkgs/development/python-modules/unstructured-api-tools/default.nix

95 lines
1.8 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
# propagated build inputs
click,
fastapi,
jinja2,
mypy,
nbconvert,
python-multipart,
pandas,
types-requests,
types-ujson,
uvicorn,
autoflake,
# native check inputs
pytestCheckHook,
black,
coverage,
flake8,
httpx,
ipython,
pytest-cov,
requests,
requests-toolbelt,
nbdev,
pytest-mock,
}:
let
version = "0.10.11";
in
buildPythonPackage {
pname = "unstructured-api-tools";
inherit version;
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "Unstructured-IO";
repo = "unstructured-api-tools";
rev = "refs/tags/${version}";
hash = "sha256-t1fK40ayR2bxc1iMIwvn/OHuyVlR98Gq+NpIhOmaP+4=";
};
propagatedBuildInputs = [
click
fastapi
jinja2
mypy
nbconvert
python-multipart
pandas
types-requests
types-ujson
uvicorn
autoflake
] ++ uvicorn.optional-dependencies.standard;
pythonImportsCheck = [ "unstructured_api_tools" ];
# test require file generation but it complains about a missing file mypy
doCheck = false;
# preCheck = ''
# substituteInPlace Makefile \
# --replace "PYTHONPATH=." "" \
# --replace "mypy" "${mypy}/bin/mypy"
# make generate-test-api
# '';
nativeCheckInputs = [
pytestCheckHook
black
coverage
flake8
httpx
ipython
pytest-cov
requests
requests-toolbelt
nbdev
pytest-mock
];
meta = with lib; {
description = "";
mainProgram = "unstructured_api_tools";
homepage = "https://github.com/Unstructured-IO/unstructured-api-tools";
changelog = "https://github.com/Unstructured-IO/unstructured-api-tools/blob/${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ happysalada ];
};
}