##// END OF EJS Templates
pyproject.toml: Move metadata, setuptools config here from setup.cfg
Matthias Koeppe -
Show More
@@ -1,10 +1,108 b''
1 1 [build-system]
2 requires = ["setuptools >= 51.0.0"]
2 requires = ["setuptools>=61.2"]
3 3 # We need access to the 'setupbase' module at build time.
4 4 # Hence we declare a custom build backend.
5 5 build-backend = "_build_meta" # just re-exports setuptools.build_meta definitions
6 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 106 [tool.mypy]
9 107 python_version = "3.10"
10 108 ignore_missing_imports = true
@@ -85,3 +183,23 b' asyncio_mode = "strict"'
85 183
86 184 [tool.pyright]
87 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,111 +1,3 b''
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 1 [velin]
110 2 ignore_patterns =
111 3 IPython/core/tests
General Comments 0
You need to be logged in to leave comments. Login now