##// END OF EJS Templates
Add a matpltolib optional target dependency...
Matthias Bussonnier -
Show More
@@ -1,206 +1,209 b''
1 [build-system]
1 [build-system]
2 requires = ["setuptools>=61.2"]
2 requires = ["setuptools>=61.2"]
3 # We need access to the 'setupbase' module at build time.
3 # We need access to the 'setupbase' module at build time.
4 # Hence we declare a custom build backend.
4 # Hence we declare a custom build backend.
5 build-backend = "_build_meta" # just re-exports setuptools.build_meta definitions
5 build-backend = "_build_meta" # just re-exports setuptools.build_meta definitions
6 backend-path = ["."]
6 backend-path = ["."]
7
7
8 [project]
8 [project]
9 name = "ipython"
9 name = "ipython"
10 description = "IPython: Productive Interactive Computing"
10 description = "IPython: Productive Interactive Computing"
11 keywords = ["Interactive", "Interpreter", "Shell", "Embedding"]
11 keywords = ["Interactive", "Interpreter", "Shell", "Embedding"]
12 classifiers = [
12 classifiers = [
13 "Framework :: IPython",
13 "Framework :: IPython",
14 "Framework :: Jupyter",
14 "Framework :: Jupyter",
15 "Intended Audience :: Developers",
15 "Intended Audience :: Developers",
16 "Intended Audience :: Science/Research",
16 "Intended Audience :: Science/Research",
17 "License :: OSI Approved :: BSD License",
17 "License :: OSI Approved :: BSD License",
18 "Programming Language :: Python",
18 "Programming Language :: Python",
19 "Programming Language :: Python :: 3",
19 "Programming Language :: Python :: 3",
20 "Programming Language :: Python :: 3 :: Only",
20 "Programming Language :: Python :: 3 :: Only",
21 "Topic :: System :: Shells",
21 "Topic :: System :: Shells",
22 ]
22 ]
23 requires-python = ">=3.10"
23 requires-python = ">=3.10"
24 dependencies = [
24 dependencies = [
25 'colorama; sys_platform == "win32"',
25 'colorama; sys_platform == "win32"',
26 "decorator",
26 "decorator",
27 "exceptiongroup; python_version<'3.11'",
27 "exceptiongroup; python_version<'3.11'",
28 "jedi>=0.16",
28 "jedi>=0.16",
29 "matplotlib-inline",
29 "matplotlib-inline",
30 'pexpect>4.3; sys_platform != "win32" and sys_platform != "emscripten"',
30 'pexpect>4.3; sys_platform != "win32" and sys_platform != "emscripten"',
31 "prompt_toolkit>=3.0.41,<3.1.0",
31 "prompt_toolkit>=3.0.41,<3.1.0",
32 "pygments>=2.4.0",
32 "pygments>=2.4.0",
33 "stack_data",
33 "stack_data",
34 "traitlets>=5.13.0",
34 "traitlets>=5.13.0",
35 "typing_extensions; python_version<'3.12'",
35 "typing_extensions; python_version<'3.12'",
36 ]
36 ]
37 dynamic = ["authors", "license", "version"]
37 dynamic = ["authors", "license", "version"]
38
38
39 [project.entry-points."pygments.lexers"]
39 [project.entry-points."pygments.lexers"]
40 ipythonconsole = "IPython.lib.lexers:IPythonConsoleLexer"
40 ipythonconsole = "IPython.lib.lexers:IPythonConsoleLexer"
41 ipython = "IPython.lib.lexers:IPythonLexer"
41 ipython = "IPython.lib.lexers:IPythonLexer"
42 ipython3 = "IPython.lib.lexers:IPython3Lexer"
42 ipython3 = "IPython.lib.lexers:IPython3Lexer"
43
43
44 [project.scripts]
44 [project.scripts]
45 ipython = "IPython:start_ipython"
45 ipython = "IPython:start_ipython"
46 ipython3 = "IPython:start_ipython"
46 ipython3 = "IPython:start_ipython"
47
47
48 [project.readme]
48 [project.readme]
49 file = "long_description.rst"
49 file = "long_description.rst"
50 content-type = "text/x-rst"
50 content-type = "text/x-rst"
51
51
52 [project.urls]
52 [project.urls]
53 Homepage = "https://ipython.org"
53 Homepage = "https://ipython.org"
54 Documentation = "https://ipython.readthedocs.io/"
54 Documentation = "https://ipython.readthedocs.io/"
55 Funding = "https://numfocus.org/"
55 Funding = "https://numfocus.org/"
56 Source = "https://github.com/ipython/ipython"
56 Source = "https://github.com/ipython/ipython"
57 Tracker = "https://github.com/ipython/ipython/issues"
57 Tracker = "https://github.com/ipython/ipython/issues"
58
58
59 [project.optional-dependencies]
59 [project.optional-dependencies]
60 black = [
60 black = [
61 "black",
61 "black",
62 ]
62 ]
63 doc = [
63 doc = [
64 "ipykernel",
64 "ipykernel",
65 "setuptools>=18.5",
65 "setuptools>=18.5",
66 "sphinx>=1.3",
66 "sphinx>=1.3",
67 "sphinx-rtd-theme",
67 "sphinx-rtd-theme",
68 "sphinxcontrib-jquery",
68 "sphinxcontrib-jquery",
69 "docrepr",
69 "docrepr",
70 "matplotlib",
70 "matplotlib",
71 "stack_data",
71 "stack_data",
72 "typing_extensions",
72 "typing_extensions",
73 "exceptiongroup",
73 "exceptiongroup",
74 "ipython[test]",
74 "ipython[test]",
75 ]
75 ]
76 kernel = [
76 kernel = [
77 "ipykernel",
77 "ipykernel",
78 ]
78 ]
79 nbconvert = [
79 nbconvert = [
80 "nbconvert",
80 "nbconvert",
81 ]
81 ]
82 nbformat = [
82 nbformat = [
83 "nbformat",
83 "nbformat",
84 ]
84 ]
85 notebook = [
85 notebook = [
86 "ipywidgets",
86 "ipywidgets",
87 "notebook",
87 "notebook",
88 ]
88 ]
89 parallel = [
89 parallel = [
90 "ipyparallel",
90 "ipyparallel",
91 ]
91 ]
92 qtconsole = [
92 qtconsole = [
93 "qtconsole",
93 "qtconsole",
94 ]
94 ]
95 terminal = []
95 terminal = []
96 test = [
96 test = [
97 "pytest<8",
97 "pytest<8",
98 "pytest-asyncio<0.22",
98 "pytest-asyncio<0.22",
99 "testpath",
99 "testpath",
100 "pickleshare",
100 "pickleshare",
101 ]
101 ]
102 test_extra = [
102 test_extra = [
103 "ipython[test]",
103 "ipython[test]",
104 "curio",
104 "curio",
105 "matplotlib!=3.2.0",
105 "matplotlib!=3.2.0",
106 "nbformat",
106 "nbformat",
107 "numpy>=1.23",
107 "numpy>=1.23",
108 "pandas",
108 "pandas",
109 "trio",
109 "trio",
110 ]
110 ]
111 matplotlib = [
112 "matplotlib"
113 ]
111 all = [
114 all = [
112 "ipython[black,doc,kernel,nbconvert,nbformat,notebook,parallel,qtconsole,terminal]",
115 "ipython[black,doc,kernel,nbconvert,nbformat,notebook,parallel,qtconsole,matplotlib]",
113 "ipython[test,test_extra]",
116 "ipython[test,test_extra]",
114 ]
117 ]
115
118
116 [tool.mypy]
119 [tool.mypy]
117 python_version = "3.10"
120 python_version = "3.10"
118 ignore_missing_imports = true
121 ignore_missing_imports = true
119 follow_imports = 'silent'
122 follow_imports = 'silent'
120 exclude = [
123 exclude = [
121 'test_\.+\.py',
124 'test_\.+\.py',
122 'IPython.utils.tests.test_wildcard',
125 'IPython.utils.tests.test_wildcard',
123 'testing',
126 'testing',
124 'tests',
127 'tests',
125 'PyColorize.py',
128 'PyColorize.py',
126 '_process_win32_controller.py',
129 '_process_win32_controller.py',
127 'IPython/core/application.py',
130 'IPython/core/application.py',
128 'IPython/core/profileapp.py',
131 'IPython/core/profileapp.py',
129 'IPython/lib/deepreload.py',
132 'IPython/lib/deepreload.py',
130 'IPython/sphinxext/ipython_directive.py',
133 'IPython/sphinxext/ipython_directive.py',
131 'IPython/terminal/ipapp.py',
134 'IPython/terminal/ipapp.py',
132 'IPython/utils/_process_win32.py',
135 'IPython/utils/_process_win32.py',
133 'IPython/utils/path.py',
136 'IPython/utils/path.py',
134 ]
137 ]
135
138
136 [tool.pytest.ini_options]
139 [tool.pytest.ini_options]
137 addopts = [
140 addopts = [
138 "--durations=10",
141 "--durations=10",
139 "-pIPython.testing.plugin.pytest_ipdoctest",
142 "-pIPython.testing.plugin.pytest_ipdoctest",
140 "--ipdoctest-modules",
143 "--ipdoctest-modules",
141 "--ignore=docs",
144 "--ignore=docs",
142 "--ignore=examples",
145 "--ignore=examples",
143 "--ignore=htmlcov",
146 "--ignore=htmlcov",
144 "--ignore=ipython_kernel",
147 "--ignore=ipython_kernel",
145 "--ignore=ipython_parallel",
148 "--ignore=ipython_parallel",
146 "--ignore=results",
149 "--ignore=results",
147 "--ignore=tmp",
150 "--ignore=tmp",
148 "--ignore=tools",
151 "--ignore=tools",
149 "--ignore=traitlets",
152 "--ignore=traitlets",
150 "--ignore=IPython/core/tests/daft_extension",
153 "--ignore=IPython/core/tests/daft_extension",
151 "--ignore=IPython/sphinxext",
154 "--ignore=IPython/sphinxext",
152 "--ignore=IPython/terminal/pt_inputhooks",
155 "--ignore=IPython/terminal/pt_inputhooks",
153 "--ignore=IPython/__main__.py",
156 "--ignore=IPython/__main__.py",
154 "--ignore=IPython/external/qt_for_kernel.py",
157 "--ignore=IPython/external/qt_for_kernel.py",
155 "--ignore=IPython/html/widgets/widget_link.py",
158 "--ignore=IPython/html/widgets/widget_link.py",
156 "--ignore=IPython/html/widgets/widget_output.py",
159 "--ignore=IPython/html/widgets/widget_output.py",
157 "--ignore=IPython/terminal/console.py",
160 "--ignore=IPython/terminal/console.py",
158 "--ignore=IPython/utils/_process_cli.py",
161 "--ignore=IPython/utils/_process_cli.py",
159 "--ignore=IPython/utils/_process_posix.py",
162 "--ignore=IPython/utils/_process_posix.py",
160 "--ignore=IPython/utils/_process_win32.py",
163 "--ignore=IPython/utils/_process_win32.py",
161 "--ignore=IPython/utils/_process_win32_controller.py",
164 "--ignore=IPython/utils/_process_win32_controller.py",
162 "--ignore=IPython/utils/daemonize.py",
165 "--ignore=IPython/utils/daemonize.py",
163 "--ignore=IPython/utils/eventful.py",
166 "--ignore=IPython/utils/eventful.py",
164 "--ignore=IPython/kernel",
167 "--ignore=IPython/kernel",
165 "--ignore=IPython/consoleapp.py",
168 "--ignore=IPython/consoleapp.py",
166 "--ignore=IPython/core/inputsplitter.py",
169 "--ignore=IPython/core/inputsplitter.py",
167 "--ignore=IPython/lib/kernel.py",
170 "--ignore=IPython/lib/kernel.py",
168 "--ignore=IPython/utils/jsonutil.py",
171 "--ignore=IPython/utils/jsonutil.py",
169 "--ignore=IPython/utils/localinterfaces.py",
172 "--ignore=IPython/utils/localinterfaces.py",
170 "--ignore=IPython/utils/log.py",
173 "--ignore=IPython/utils/log.py",
171 "--ignore=IPython/utils/signatures.py",
174 "--ignore=IPython/utils/signatures.py",
172 "--ignore=IPython/utils/traitlets.py",
175 "--ignore=IPython/utils/traitlets.py",
173 "--ignore=IPython/utils/version.py"
176 "--ignore=IPython/utils/version.py"
174 ]
177 ]
175 doctest_optionflags = [
178 doctest_optionflags = [
176 "NORMALIZE_WHITESPACE",
179 "NORMALIZE_WHITESPACE",
177 "ELLIPSIS"
180 "ELLIPSIS"
178 ]
181 ]
179 ipdoctest_optionflags = [
182 ipdoctest_optionflags = [
180 "NORMALIZE_WHITESPACE",
183 "NORMALIZE_WHITESPACE",
181 "ELLIPSIS"
184 "ELLIPSIS"
182 ]
185 ]
183 asyncio_mode = "strict"
186 asyncio_mode = "strict"
184
187
185 [tool.pyright]
188 [tool.pyright]
186 pythonPlatform="All"
189 pythonPlatform="All"
187
190
188 [tool.setuptools]
191 [tool.setuptools]
189 zip-safe = false
192 zip-safe = false
190 platforms = ["Linux", "Mac OSX", "Windows"]
193 platforms = ["Linux", "Mac OSX", "Windows"]
191 license-files = ["LICENSE"]
194 license-files = ["LICENSE"]
192 include-package-data = false
195 include-package-data = false
193
196
194 [tool.setuptools.packages.find]
197 [tool.setuptools.packages.find]
195 exclude = ["setupext"]
198 exclude = ["setupext"]
196 namespaces = false
199 namespaces = false
197
200
198 [tool.setuptools.package-data]
201 [tool.setuptools.package-data]
199 "IPython" = ["py.typed"]
202 "IPython" = ["py.typed"]
200 "IPython.core" = ["profile/README*"]
203 "IPython.core" = ["profile/README*"]
201 "IPython.core.tests" = ["*.png", "*.jpg", "daft_extension/*.py"]
204 "IPython.core.tests" = ["*.png", "*.jpg", "daft_extension/*.py"]
202 "IPython.lib.tests" = ["*.wav"]
205 "IPython.lib.tests" = ["*.wav"]
203 "IPython.testing.plugin" = ["*.txt"]
206 "IPython.testing.plugin" = ["*.txt"]
204
207
205 [tool.setuptools.dynamic]
208 [tool.setuptools.dynamic]
206 version = {attr = "IPython.core.release.__version__"}
209 version = {attr = "IPython.core.release.__version__"}
General Comments 0
You need to be logged in to leave comments. Login now