depot/third_party/nixpkgs/pkgs/development/python-modules/sqlmodel/default.nix

77 lines
1.5 KiB
Nix
Raw Normal View History

{
lib,
buildPythonPackage,
black,
jinja2,
dirty-equals,
fastapi,
fetchFromGitHub,
fetchpatch,
pdm-backend,
pydantic,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
sqlalchemy,
}:
buildPythonPackage rec {
pname = "sqlmodel";
version = "0.0.19";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "tiangolo";
repo = "sqlmodel";
rev = "refs/tags/${version}";
hash = "sha256-Fr/umAgTbcfBtui+V/ncp4no+pquLExB/dInSFhsgGc=";
};
patches = [
(fetchpatch { # https://github.com/tiangolo/sqlmodel/pull/969
name = "passthru-environ-variables.patch";
url = "https://github.com/tiangolo/sqlmodel/pull/969/commits/42d33049e9e4182b78914ad41d1e3d30125126ba.patch";
hash = "sha256-dPuFCFUnmTpduxn45tE8XUP0Jlwjwmwe+zFaKSganOg=";
})
];
build-system = [ pdm-backend ];
dependencies = [
pydantic
sqlalchemy
];
nativeCheckInputs = [
black
jinja2
dirty-equals
fastapi
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "sqlmodel" ];
disabledTests = [
# AssertionError: assert 'enum_field VARCHAR(1)
"test_sqlite_ddl_sql"
];
disabledTestPaths = [
# Coverage
"docs_src/tutorial/"
"tests/test_tutorial/"
];
meta = with lib; {
description = "Module to work with SQL databases";
homepage = "https://github.com/tiangolo/sqlmodel";
changelog = "https://github.com/tiangolo/sqlmodel/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}