1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pytestCheckHook
5, pythonOlder
6, duckdb
7, hypothesis
8, ipython-sql
9, poetry-core
10, sqlalchemy
11, typing-extensions
12}:
13
14buildPythonPackage rec {
15 pname = "duckdb-engine";
16 version = "0.6.4";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 repo = "duckdb_engine";
23 owner = "Mause";
24 rev = "v${version}";
25 hash = "sha256-7PfrI4bNz0XtBa/cb8T43j06BJ3B2S5zIyBZsEusyXc=";
26 };
27
28 nativeBuildInputs = [
29 poetry-core
30 ];
31
32 propagatedBuildInputs = [
33 duckdb
34 sqlalchemy
35 ];
36
37 preCheck = ''
38 export HOME="$(mktemp -d)"
39 '';
40
41 # this test tries to download the httpfs extension
42 disabledTests = [
43 "test_preload_extension"
44 ];
45
46 checkInputs = [
47 pytestCheckHook
48 hypothesis
49 ipython-sql
50 typing-extensions
51 ];
52
53 pythonImportsCheck = [
54 "duckdb_engine"
55 ];
56
57 meta = with lib; {
58 description = "SQLAlchemy driver for duckdb";
59 homepage = "https://github.com/Mause/duckdb_engine";
60 license = licenses.mit;
61 maintainers = with maintainers; [ cpcloud ];
62 };
63}