1{ backoff
2, sparqlwrapper
3, boto3
4, buildPythonPackage
5, fetchFromGitHub
6, gremlinpython
7, jsonpath-ng
8, lib
9, moto
10, openpyxl
11, opensearch-py
12, pandas
13, pg8000
14, poetry-core
15, progressbar2
16, pyarrow
17, pymysql
18, pyodbc
19, pyparsing
20, pytestCheckHook
21, pythonOlder
22, redshift-connector
23, requests-aws4auth
24}:
25
26buildPythonPackage rec {
27 pname = "awswrangler";
28 version = "3.4.0";
29 format = "pyproject";
30
31 disabled = pythonOlder "3.8";
32
33 src = fetchFromGitHub {
34 owner = "aws";
35 repo = "aws-sdk-pandas";
36 rev = "refs/tags/${version}";
37 hash = "sha256-RjZWK7XfyRYu7vNaxPd0/F5nBN/JH01ZwZXloMS0g68=";
38 };
39
40 nativeBuildInputs = [
41 poetry-core
42 ];
43
44 propagatedBuildInputs = [
45 boto3
46 gremlinpython
47 jsonpath-ng
48 openpyxl
49 opensearch-py
50 pandas
51 pg8000
52 progressbar2
53 pyarrow
54 pymysql
55 redshift-connector
56 requests-aws4auth
57 ];
58
59 nativeCheckInputs = [
60 moto
61 pyparsing
62 pytestCheckHook
63 ];
64
65 pytestFlagsArray = [
66 # Subset of tests that run in upstream CI (many others require credentials)
67 # https://github.com/aws/aws-sdk-pandas/blob/20fec775515e9e256e8cee5aee12966516608840/.github/workflows/minimal-tests.yml#L36-L43
68 "tests/unit/test_metadata.py"
69 "tests/unit/test_session.py"
70 "tests/unit/test_utils.py"
71 "tests/unit/test_moto.py"
72 ];
73
74 passthru.optional-dependencies = {
75 sqlserver = [
76 pyodbc
77 ];
78 sparql = [
79 sparqlwrapper
80 ];
81 };
82
83 meta = with lib; {
84 description = "Pandas on AWS";
85 homepage = "https://github.com/aws/aws-sdk-pandas";
86 changelog = "https://github.com/aws/aws-sdk-pandas/releases/tag/${version}";
87 license = licenses.asl20;
88 maintainers = with maintainers; [ mcwitt ];
89 };
90}