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