1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 freetds,
6 krb5-c,
7 openssl,
8 cython,
9 gevent,
10 psutil,
11 pytestCheckHook,
12 setuptools-scm,
13 sqlalchemy,
14 tomli,
15}:
16
17buildPythonPackage rec {
18 pname = "pymssql";
19 version = "2.3.7";
20 pyproject = true;
21
22 src = fetchPypi {
23 inherit pname version;
24 hash = "sha256-Xm15x7HOxArr7EsJnG5EXMqsJFGeXnZ7SaTm9IwIflA=";
25 };
26
27 postPatch = ''
28 substituteInPlace pyproject.toml \
29 --replace-fail "setuptools>=54.0,<70.3" "setuptools>=54.0"
30 '';
31
32 build-system = [
33 cython
34 setuptools-scm
35 tomli
36 ];
37
38 buildInputs = [
39 freetds
40 krb5-c
41 openssl
42 ];
43
44 nativeCheckInputs = [
45 gevent
46 psutil
47 pytestCheckHook
48 sqlalchemy
49 ];
50
51 pythonImportsCheck = [ "pymssql" ];
52
53 meta = with lib; {
54 changelog = "https://github.com/pymssql/pymssql/blob/v${version}/ChangeLog.rst";
55 description = "Simple database interface for Python that builds on top of FreeTDS to provide a Python DB-API (PEP-249) interface to Microsoft SQL Server";
56 homepage = "https://github.com/pymssql/pymssql";
57 license = licenses.lgpl21Plus;
58 maintainers = [ maintainers.sith-lord-vader ];
59 };
60}