forked from catherinedevlin/ipython-sql
-
Notifications
You must be signed in to change notification settings - Fork 76
/
setup.py
111 lines (103 loc) · 2.8 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import os
from io import open
import re
import ast
from setuptools import find_packages, setup
here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, "README.md"), encoding="utf-8").read()
_version_re = re.compile(r"__version__\s+=\s+(.*)")
with open("src/sql/__init__.py", "rb") as f:
VERSION = str(
ast.literal_eval(_version_re.search(f.read().decode("utf-8")).group(1))
)
install_requires = [
"prettytable>=3.12.0",
# IPython dropped support for Python 3.8
"ipython<=8.12.0; python_version <= '3.8'",
"sqlalchemy",
"sqlparse",
"ipython-genutils>=0.1.0",
"jinja2",
"sqlglot>=11.3.7",
'importlib-metadata;python_version<"3.8"',
# we removed the share notebook button in this version
"jupysql-plugin>=0.4.2",
"ploomber-core>=0.2.7",
]
DEV = [
"flake8",
"pytest",
# 24/01/24 Pandas 2.2.0 breaking CI: https://github.com/ploomber/jupysql/issues/983
"pandas<2.2.0", # previously pinned to 2.0.3
"polars==0.17.2", # 04/18/23 this breaks our CI
"pyarrow",
"invoke",
"pkgmt",
"twine",
# tests
"duckdb<1.1.0",
"duckdb-engine",
"pyodbc",
# sql.plot module tests
"matplotlib==3.7.2",
"black",
# for %%sql --interact
"ipywidgets",
# for running tests for %sqlcmd explore --table
"js2py",
# for monitoring access to files
"psutil",
# for running tests for %sqlcmd connect
"jupyter-server",
]
# dependencies for running integration tests
INTEGRATION = [
"dockerctx",
"pyarrow",
"psycopg2-binary",
"pymysql",
"pgspecial==2.0.1",
"pyodbc",
"snowflake-sqlalchemy",
"oracledb",
"sqlalchemy-pytds",
"python-tds",
# redshift
"redshift-connector",
"sqlalchemy-redshift",
"clickhouse-sqlalchemy",
# following two dependencies required for spark
"pyspark",
"grpcio-status",
]
setup(
name="jupysql",
version=VERSION,
description="Better SQL in Jupyter",
long_description=README,
long_description_content_type="text/markdown",
classifiers=[
"Development Status :: 3 - Alpha",
"Environment :: Console",
"License :: OSI Approved :: Apache Software License",
"Topic :: Database",
"Topic :: Database :: Front-Ends",
"Programming Language :: Python :: 3",
],
keywords="database ipython postgresql mysql duckdb",
author="Ploomber",
author_email="[email protected]",
url="https://github.com/ploomber/jupysql",
project_urls={
"Source": "https://github.com/ploomber/jupysql",
},
packages=find_packages("src"),
package_dir={"": "src"},
include_package_data=True,
zip_safe=False,
install_requires=install_requires,
extras_require={
"dev": DEV,
"integration": DEV + INTEGRATION,
},
)