47 lines
636 B
Nix
47 lines
636 B
Nix
{
|
|
src,
|
|
python3Packages,
|
|
}:
|
|
let
|
|
inherit (python3Packages)
|
|
setuptools
|
|
fastapi
|
|
uvicorn
|
|
pydantic
|
|
pytest
|
|
requests
|
|
mypy
|
|
pylint
|
|
;
|
|
|
|
project = (builtins.fromTOML (builtins.readFile "${src}/pyproject.toml")).project;
|
|
pname = project.name;
|
|
version = project.version;
|
|
in
|
|
python3Packages.buildPythonPackage {
|
|
inherit pname version src;
|
|
|
|
pyproject = true;
|
|
|
|
build-system = [ setuptools ];
|
|
|
|
dependencies = [
|
|
fastapi
|
|
uvicorn
|
|
pydantic
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pytest
|
|
requests
|
|
mypy
|
|
pylint
|
|
];
|
|
|
|
checkPhase = ''
|
|
pytest tests
|
|
mypy src
|
|
pylint src
|
|
'';
|
|
}
|