##// END OF EJS Templates
Moving configuration to sphinx.toml file (#14427)...
M Bussonnier -
r28772:d72dd7f3 merge
parent child Browse files
Show More
@@ -0,0 +1,70 b''
1 title = "Sphinx configuration"
2
3 [sphinx]
4 templates_path = ["_templates"]
5 master_doc = "index"
6 project = "IPython"
7 copyright = "The IPython Development Team"
8 github_project_url = "https://github.com/ipython/ipython"
9 source_suffix = ".rst"
10 exclude_patterns = ["**.ipynb_checkpoints"]
11 pygments_style = "sphinx"
12 extensions = [
13 "sphinx.ext.autodoc",
14 "sphinx.ext.autosummary",
15 "sphinx.ext.doctest",
16 "sphinx.ext.inheritance_diagram",
17 "sphinx.ext.intersphinx",
18 "sphinx.ext.graphviz",
19 "sphinxcontrib.jquery",
20 "IPython.sphinxext.ipython_console_highlighting",
21 "IPython.sphinxext.ipython_directive",
22 "sphinx.ext.napoleon", # to preprocess docstrings
23 "github", # for easy GitHub links
24 "magics",
25 "configtraits",
26 ]
27 default_role = "literal"
28 modindex_common_prefix = ["IPython."]
29
30 [intersphinx_mapping]
31 python = { url = 'https://docs.python.org/3/', fallback = '' }
32 rpy2 = { url = 'https://rpy2.github.io/doc/latest/html/', fallback = '' }
33 jupyterclient = { url = 'https://jupyter-client.readthedocs.io/en/latest/', fallback = '' }
34 jupyter = { url = 'https://jupyter.readthedocs.io/en/latest/', fallback = '' }
35 jedi = { url = 'https://jedi.readthedocs.io/en/latest/', fallback = '' }
36 traitlets = { url = 'https://traitlets.readthedocs.io/en/latest/', fallback = '' }
37 ipykernel = { url = 'https://ipykernel.readthedocs.io/en/latest/', fallback = '' }
38 prompt_toolkit = { url = 'https://python-prompt-toolkit.readthedocs.io/en/stable/', fallback = '' }
39 ipywidgets = { url = 'https://ipywidgets.readthedocs.io/en/stable/', fallback = '' }
40 ipyparallel = { url = 'https://ipyparallel.readthedocs.io/en/stable/', fallback = '' }
41 pip = { url = 'https://pip.pypa.io/en/stable/', fallback = '' }
42
43 [html]
44 html_theme = "sphinx_rtd_theme"
45 html_static_path = ["_static"]
46 html_favicon = "_static/favicon.ico"
47 html_last_updated_fmt = "%b %d, %Y"
48 htmlhelp_basename = "ipythondoc"
49 html_additional_pages = [
50 ["interactive/htmlnotebook", "notebook_redirect.html"],
51 ["interactive/notebook", "notebook_redirect.html"],
52 ["interactive/nbconvert", "notebook_redirect.html"],
53 ["interactive/public_server", "notebook_redirect.html"]
54 ]
55
56 [numpydoc]
57 numpydoc_show_class_members = "False"
58 numpydoc_class_members_toctree = "False"
59 warning_is_error = "True"
60
61 [latex]
62 latex_documents = [
63 ['index', 'ipython.tex', 'IPython Documentation',
64 'The IPython Development Team', 'manual', 'True'],
65 ['parallel/winhpc_index', 'winhpc_whitepaper.tex',
66 'Using IPython on Windows HPC Server 2008',
67 "Brian E. Granger", 'manual', 'True']
68 ]
69 latex_use_modindex = "True"
70 latex_font_size = "11pt"
@@ -1,337 +1,249 b''
1 1 # -*- coding: utf-8 -*-
2 2 #
3 3 # IPython documentation build configuration file.
4 4
5 5 # NOTE: This file has been edited manually from the auto-generated one from
6 6 # sphinx. Do NOT delete and re-generate. If any changes from sphinx are
7 7 # needed, generate a scratch one and merge by hand any new fields needed.
8 8
9 9 #
10 10 # This file is execfile()d with the current directory set to its containing dir.
11 11 #
12 12 # The contents of this file are pickled, so don't put values in the namespace
13 13 # that aren't pickleable (module imports are okay, they're removed automatically).
14 14 #
15 15 # All configuration values have a default value; values that are commented out
16 16 # serve to show the default value.
17 17
18
18 19 import sys, os
19 20 from pathlib import Path
20 21
22 if sys.version_info > (3, 11):
23 import tomllib
24 else:
25 import tomli as tomllib
26
27 with open("./sphinx.toml", "rb") as f:
28 config = tomllib.load(f)
29
21 30 # https://read-the-docs.readthedocs.io/en/latest/faq.html
22 ON_RTD = os.environ.get('READTHEDOCS', None) == 'True'
31 ON_RTD = os.environ.get("READTHEDOCS", None) == "True"
23 32
24 33 if ON_RTD:
25 tags.add('rtd')
34 tags.add("rtd")
26 35
27 36 # RTD doesn't use the Makefile, so re-run autogen_{things}.py here.
28 37 for name in ("config", "api", "magics", "shortcuts"):
29 38 fname = Path("autogen_{}.py".format(name))
30 39 fpath = (Path(__file__).parent).joinpath("..", fname)
31 40 with open(fpath, encoding="utf-8") as f:
32 41 exec(
33 42 compile(f.read(), fname, "exec"),
34 43 {
35 44 "__file__": fpath,
36 45 "__name__": "__main__",
37 46 },
38 47 )
39 48 import sphinx_rtd_theme
40 49
41 html_theme = "sphinx_rtd_theme"
42 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
43
44 50 # Allow Python scripts to change behaviour during sphinx run
45 51 os.environ["IN_SPHINX_RUN"] = "True"
46 52
47 53 autodoc_type_aliases = {
48 54 "Matcher": " IPython.core.completer.Matcher",
49 55 "MatcherAPIv1": " IPython.core.completer.MatcherAPIv1",
50 56 }
51 57
52 58 # If your extensions are in another directory, add it here. If the directory
53 59 # is relative to the documentation root, use os.path.abspath to make it
54 60 # absolute, like shown here.
55 sys.path.insert(0, os.path.abspath('../sphinxext'))
61 sys.path.insert(0, os.path.abspath("../sphinxext"))
56 62
57 63 # We load the ipython release info into a dict by explicit execution
58 64 iprelease = {}
59 65 exec(
60 66 compile(
61 67 open("../../IPython/core/release.py", encoding="utf-8").read(),
62 68 "../../IPython/core/release.py",
63 69 "exec",
64 70 ),
65 71 iprelease,
66 72 )
67 73
68 74 # General configuration
69 75 # ---------------------
70 76
71 # Add any Sphinx extension module names here, as strings. They can be extensions
72 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
73 extensions = [
74 "sphinx.ext.autodoc",
75 "sphinx.ext.autosummary",
76 "sphinx.ext.doctest",
77 "sphinx.ext.inheritance_diagram",
78 "sphinx.ext.intersphinx",
79 "sphinx.ext.graphviz",
80 "sphinxcontrib.jquery",
81 "IPython.sphinxext.ipython_console_highlighting",
82 "IPython.sphinxext.ipython_directive",
83 "sphinx.ext.napoleon", # to preprocess docstrings
84 "github", # for easy GitHub links
85 "magics",
86 "configtraits",
77 # - template_path: Add any paths that contain templates here, relative to this directory.
78 # - master_doc: The master toctree document.
79 # - project
80 # - copyright
81 # - github_project_url
82 # - source_suffix = config["sphinx"]["source_suffix"]
83 # - exclude_patterns:
84 # Exclude these glob-style patterns when looking for source files.
85 # They are relative to the source/ directory.
86 # - pygments_style: The name of the Pygments (syntax highlighting) style to use.
87 # - extensions:
88 # Add any Sphinx extension module names here, as strings. They can be extensions
89 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
90 # - default_role
91 # - modindex_common_prefix
92
93 locals().update(config["sphinx"])
94
95 intersphinx_mapping = config["intersphinx_mapping"]
96 for k, v in intersphinx_mapping.items():
97 intersphinx_mapping[k] = tuple(
98 [intersphinx_mapping[k]["url"], intersphinx_mapping[k]["fallback"]]
99 )
100
101 # numpydoc config
102 numpydoc_show_class_members = config["numpydoc"][
103 "numpydoc_show_class_members"
104 ] # Otherwise Sphinx emits thousands of warnings
105 numpydoc_class_members_toctree = config["numpydoc"]["numpydoc_class_members_toctree"]
106 warning_is_error = config["numpydoc"]["warning_is_error"]
107
108 # Options for HTML output
109 # -----------------------
110 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
111 # - html_theme
112 # - html_static_path
113 # Add any paths that contain custom static files (such as style sheets) here,
114 # relative to this directory. They are copied after the builtin static files,
115 # so a file named "default.css" will overwrite the builtin "default.css".
116 # Favicon needs the directory name
117 # - html_favicon
118 # - html_last_updated_fmt = config["html"]["html_last_updated_fmt"]
119 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
120 # using the given strftime format.
121 # Output file base name for HTML help builder.
122 # - htmlhelp_basename
123 locals().update(config["html"])
124
125 # Additional templates that should be rendered to pages, maps page names to
126 # template names.
127 html_additional_pages = {}
128 for item in config["html"]["html_additional_pages"]:
129 html_additional_pages[item[0]] = item[1]
130
131 # Options for LaTeX output
132 # ------------------------
133
134 # Grouping the document tree into LaTeX files. List of tuples
135 # (source start file, target name, title, author, document class [howto/manual]).
136 latex_documents = []
137 for item in config["latex"]["latex_documents"]:
138 latex_documents.append(tuple(item))
139 # If false, no module index is generated.
140 latex_use_modindex = config["latex"]["latex_use_modindex"]
141 # The font size ('10pt', '11pt' or '12pt').
142 latex_font_size = config["latex"]["latex_font_size"]
143
144 # Options for texinfo output
145 # --------------------------
146 texinfo_documents = [
147 (
148 master_doc,
149 "ipython",
150 "IPython Documentation",
151 "The IPython Development Team",
152 "IPython",
153 "IPython Documentation",
154 "Programming",
155 1,
156 ),
87 157 ]
88 158
89 # Add any paths that contain templates here, relative to this directory.
90 templates_path = ['_templates']
159 #########################################################################
160 # Custom configuration
161 # The default replacements for |version| and |release|, also used in various
162 # other places throughout the built documents.
163 #
164 # The full version, including alpha/beta/rc tags.
165 release = "%s" % iprelease["version"]
166 # Just the X.Y.Z part, no '-dev'
167 version = iprelease["version"].split("-", 1)[0]
91 168
92 # The suffix of source filenames.
93 source_suffix = '.rst'
169 # There are two options for replacing |today|: either, you set today to some
170 # non-false value, then it is used:
171 # today = ''
172 # Else, today_fmt is used as the format for a strftime call.
173 today_fmt = "%B %d, %Y"
174
175 rst_prolog = ""
94 176
95 rst_prolog = ''
96 177
97 178 def is_stable(extra):
98 for ext in {'dev', 'b', 'rc'}:
179 for ext in {"dev", "b", "rc"}:
99 180 if ext in extra:
100 181 return False
101 182 return True
102 183
103 if is_stable(iprelease['_version_extra']):
104 tags.add('ipystable')
105 print('Adding Tag: ipystable')
184
185 if is_stable(iprelease["_version_extra"]):
186 tags.add("ipystable")
187 print("Adding Tag: ipystable")
106 188 else:
107 tags.add('ipydev')
108 print('Adding Tag: ipydev')
189 tags.add("ipydev")
190 print("Adding Tag: ipydev")
109 191 rst_prolog += """
110 192 .. warning::
111 193
112 194 This documentation covers a development version of IPython. The development
113 195 version may differ significantly from the latest stable release.
114 196 """
115 197
116 198 rst_prolog += """
117 199 .. important::
118 200
119 201 This documentation covers IPython versions 6.0 and higher. Beginning with
120 202 version 6.0, IPython stopped supporting compatibility with Python versions
121 203 lower than 3.3 including all versions of Python 2.7.
122 204
123 205 If you are looking for an IPython version compatible with Python 2.7,
124 206 please use the IPython 5.x LTS release and refer to its documentation (LTS
125 207 is the long term support release).
126 208
127 209 """
128 210
129 # The master toctree document.
130 master_doc = 'index'
131
132 # General substitutions.
133 project = 'IPython'
134 copyright = 'The IPython Development Team'
135
136 # ghissue config
137 github_project_url = "https://github.com/ipython/ipython"
138
139 # numpydoc config
140 numpydoc_show_class_members = False # Otherwise Sphinx emits thousands of warnings
141 numpydoc_class_members_toctree = False
142 warning_is_error = True
143
144 211 import logging
145 212
213
146 214 class ConfigtraitFilter(logging.Filter):
147 215 """
148 216 This is a filter to remove in sphinx 3+ the error about config traits being duplicated.
149 217
150 218 As we autogenerate configuration traits from, subclasses have lots of
151 219 duplication and we want to silence them. Indeed we build on travis with
152 220 warnings-as-error set to True, so those duplicate items make the build fail.
153 221 """
154 222
155 223 def filter(self, record):
156 if record.args and record.args[0] == 'configtrait' and 'duplicate' in record.msg:
224 if (
225 record.args
226 and record.args[0] == "configtrait"
227 and "duplicate" in record.msg
228 ):
157 229 return False
158 230 return True
159 231
232
160 233 ct_filter = ConfigtraitFilter()
161 234
162 235 import sphinx.util
163 logger = sphinx.util.logging.getLogger('sphinx.domains.std').logger
164 236
237 logger = sphinx.util.logging.getLogger("sphinx.domains.std").logger
165 238 logger.addFilter(ct_filter)
166 239
167 # The default replacements for |version| and |release|, also used in various
168 # other places throughout the built documents.
169 #
170 # The full version, including alpha/beta/rc tags.
171 release = "%s" % iprelease['version']
172 # Just the X.Y.Z part, no '-dev'
173 version = iprelease['version'].split('-', 1)[0]
174
175
176 # There are two options for replacing |today|: either, you set today to some
177 # non-false value, then it is used:
178 #today = ''
179 # Else, today_fmt is used as the format for a strftime call.
180 today_fmt = '%B %d, %Y'
181
182 # List of documents that shouldn't be included in the build.
183 #unused_docs = []
184
185 # Exclude these glob-style patterns when looking for source files. They are
186 # relative to the source/ directory.
187 exclude_patterns = ["**.ipynb_checkpoints"]
188
189 # If true, '()' will be appended to :func: etc. cross-reference text.
190 #add_function_parentheses = True
191
192 # If true, the current module name will be prepended to all description
193 # unit titles (such as .. function::).
194 #add_module_names = True
195
196 # If true, sectionauthor and moduleauthor directives will be shown in the
197 # output. They are ignored by default.
198 #show_authors = False
199
200 # The name of the Pygments (syntax highlighting) style to use.
201 pygments_style = 'sphinx'
202
203 # Set the default role so we can use `foo` instead of ``foo``
204 default_role = 'literal'
205
206 # Options for HTML output
207 # -----------------------
208
209 # The style sheet to use for HTML and HTML Help pages. A file of that name
210 # must exist either in Sphinx' static/ path, or in one of the custom paths
211 # given in html_static_path.
212 # html_style = 'default.css'
213
214 # The name for this set of Sphinx documents. If None, it defaults to
215 # "<project> v<release> documentation".
216 #html_title = None
217
218 # The name of an image file (within the static path) to place at the top of
219 # the sidebar.
220 #html_logo = None
221
222 # Add any paths that contain custom static files (such as style sheets) here,
223 # relative to this directory. They are copied after the builtin static files,
224 # so a file named "default.css" will overwrite the builtin "default.css".
225 html_static_path = ['_static']
226
227 # Favicon needs the directory name
228 html_favicon = '_static/favicon.ico'
229 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
230 # using the given strftime format.
231 html_last_updated_fmt = '%b %d, %Y'
232
233 # If true, SmartyPants will be used to convert quotes and dashes to
234 # typographically correct entities.
235 #html_use_smartypants = True
236
237 # Custom sidebar templates, maps document names to template names.
238 #html_sidebars = {}
239
240 # Additional templates that should be rendered to pages, maps page names to
241 # template names.
242 html_additional_pages = {
243 'interactive/htmlnotebook': 'notebook_redirect.html',
244 'interactive/notebook': 'notebook_redirect.html',
245 'interactive/nbconvert': 'notebook_redirect.html',
246 'interactive/public_server': 'notebook_redirect.html',
247 }
248
249 # If false, no module index is generated.
250 #html_use_modindex = True
251
252 # If true, the reST sources are included in the HTML build as _sources/<name>.
253 #html_copy_source = True
254
255 # If true, an OpenSearch description file will be output, and all pages will
256 # contain a <link> tag referring to it. The value of this option must be the
257 # base URL from which the finished HTML is served.
258 #html_use_opensearch = ''
259
260 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
261 #html_file_suffix = ''
262
263 # Output file base name for HTML help builder.
264 htmlhelp_basename = 'ipythondoc'
265
266 intersphinx_mapping = {'python': ('https://docs.python.org/3/', None),
267 'rpy2': ('https://rpy2.github.io/doc/latest/html/', None),
268 'jupyterclient': ('https://jupyter-client.readthedocs.io/en/latest/', None),
269 'jupyter': ('https://jupyter.readthedocs.io/en/latest/', None),
270 'jedi': ('https://jedi.readthedocs.io/en/latest/', None),
271 'traitlets': ('https://traitlets.readthedocs.io/en/latest/', None),
272 'ipykernel': ('https://ipykernel.readthedocs.io/en/latest/', None),
273 'prompt_toolkit' : ('https://python-prompt-toolkit.readthedocs.io/en/stable/', None),
274 'ipywidgets': ('https://ipywidgets.readthedocs.io/en/stable/', None),
275 'ipyparallel': ('https://ipyparallel.readthedocs.io/en/stable/', None),
276 'pip': ('https://pip.pypa.io/en/stable/', None)
277 }
278
279 # Options for LaTeX output
280 # ------------------------
281
282 # The font size ('10pt', '11pt' or '12pt').
283 latex_font_size = '11pt'
284
285 # Grouping the document tree into LaTeX files. List of tuples
286 # (source start file, target name, title, author, document class [howto/manual]).
287
288 latex_documents = [
289 ('index', 'ipython.tex', 'IPython Documentation',
290 u"""The IPython Development Team""", 'manual', True),
291 ('parallel/winhpc_index', 'winhpc_whitepaper.tex',
292 'Using IPython on Windows HPC Server 2008',
293 u"Brian E. Granger", 'manual', True)
294 ]
295
296 # The name of an image file (relative to this directory) to place at the top of
297 # the title page.
298 #latex_logo = None
299
300 # For "manual" documents, if this is true, then toplevel headings are parts,
301 # not chapters.
302 #latex_use_parts = False
303
304 # Additional stuff for the LaTeX preamble.
305 #latex_preamble = ''
306
307 # Documents to append as an appendix to all manuals.
308 #latex_appendices = []
309
310 # If false, no module index is generated.
311 latex_use_modindex = True
312
313
314 # Options for texinfo output
315 # --------------------------
316
317 texinfo_documents = [
318 (master_doc, 'ipython', 'IPython Documentation',
319 'The IPython Development Team',
320 'IPython',
321 'IPython Documentation',
322 'Programming',
323 1),
324 ]
325
326 modindex_common_prefix = ['IPython.']
327
328 240
329 241 def setup(app):
330 242 app.add_css_file("theme_overrides.css")
331 243
332 244
333 245 # Cleanup
334 246 # -------
335 247 # delete release info to avoid pickling errors from sphinx
336 248
337 249 del iprelease
@@ -1,209 +1,210 b''
1 1 [build-system]
2 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 8 [project]
9 9 name = "ipython"
10 10 description = "IPython: Productive Interactive Computing"
11 11 keywords = ["Interactive", "Interpreter", "Shell", "Embedding"]
12 12 classifiers = [
13 13 "Framework :: IPython",
14 14 "Framework :: Jupyter",
15 15 "Intended Audience :: Developers",
16 16 "Intended Audience :: Science/Research",
17 17 "License :: OSI Approved :: BSD License",
18 18 "Programming Language :: Python",
19 19 "Programming Language :: Python :: 3",
20 20 "Programming Language :: Python :: 3 :: Only",
21 21 "Topic :: System :: Shells",
22 22 ]
23 23 requires-python = ">=3.10"
24 24 dependencies = [
25 25 'colorama; sys_platform == "win32"',
26 26 "decorator",
27 27 "exceptiongroup; python_version<'3.11'",
28 28 "jedi>=0.16",
29 29 "matplotlib-inline",
30 30 'pexpect>4.3; sys_platform != "win32" and sys_platform != "emscripten"',
31 31 "prompt_toolkit>=3.0.41,<3.1.0",
32 32 "pygments>=2.4.0",
33 33 "stack_data",
34 34 "traitlets>=5.13.0",
35 35 "typing_extensions>=4.6; python_version<'3.12'",
36 36 ]
37 37 dynamic = ["authors", "license", "version"]
38 38
39 39 [project.entry-points."pygments.lexers"]
40 40 ipythonconsole = "IPython.lib.lexers:IPythonConsoleLexer"
41 41 ipython = "IPython.lib.lexers:IPythonLexer"
42 42 ipython3 = "IPython.lib.lexers:IPython3Lexer"
43 43
44 44 [project.scripts]
45 45 ipython = "IPython:start_ipython"
46 46 ipython3 = "IPython:start_ipython"
47 47
48 48 [project.readme]
49 49 file = "long_description.rst"
50 50 content-type = "text/x-rst"
51 51
52 52 [project.urls]
53 53 Homepage = "https://ipython.org"
54 54 Documentation = "https://ipython.readthedocs.io/"
55 55 Funding = "https://numfocus.org/"
56 56 Source = "https://github.com/ipython/ipython"
57 57 Tracker = "https://github.com/ipython/ipython/issues"
58 58
59 59 [project.optional-dependencies]
60 60 black = [
61 61 "black",
62 62 ]
63 63 doc = [
64 "docrepr",
65 "exceptiongroup",
64 66 "ipykernel",
67 "ipython[test]",
68 "matplotlib",
65 69 "setuptools>=18.5",
66 "sphinx>=1.3",
67 70 "sphinx-rtd-theme",
71 "sphinx>=1.3",
68 72 "sphinxcontrib-jquery",
69 "docrepr",
70 "matplotlib",
71 73 "stack_data",
74 "tomli ; python_version<'3.11'",
72 75 "typing_extensions",
73 "exceptiongroup",
74 "ipython[test]",
75 76 ]
76 77 kernel = [
77 78 "ipykernel",
78 79 ]
79 80 nbconvert = [
80 81 "nbconvert",
81 82 ]
82 83 nbformat = [
83 84 "nbformat",
84 85 ]
85 86 notebook = [
86 87 "ipywidgets",
87 88 "notebook",
88 89 ]
89 90 parallel = [
90 91 "ipyparallel",
91 92 ]
92 93 qtconsole = [
93 94 "qtconsole",
94 95 ]
95 96 terminal = []
96 97 test = [
97 98 "pytest",
98 99 "pytest-asyncio<0.22",
99 100 "testpath",
100 101 "pickleshare",
101 102 ]
102 103 test_extra = [
103 104 "ipython[test]",
104 105 "curio",
105 106 "matplotlib!=3.2.0",
106 107 "nbformat",
107 108 "numpy>=1.23",
108 109 "pandas",
109 110 "trio",
110 111 ]
111 112 matplotlib = [
112 113 "matplotlib"
113 114 ]
114 115 all = [
115 116 "ipython[black,doc,kernel,nbconvert,nbformat,notebook,parallel,qtconsole,matplotlib]",
116 117 "ipython[test,test_extra]",
117 118 ]
118 119
119 120 [tool.mypy]
120 121 python_version = "3.10"
121 122 ignore_missing_imports = true
122 123 follow_imports = 'silent'
123 124 exclude = [
124 125 'test_\.+\.py',
125 126 'IPython.utils.tests.test_wildcard',
126 127 'testing',
127 128 'tests',
128 129 'PyColorize.py',
129 130 '_process_win32_controller.py',
130 131 'IPython/core/application.py',
131 132 'IPython/core/profileapp.py',
132 133 'IPython/lib/deepreload.py',
133 134 'IPython/sphinxext/ipython_directive.py',
134 135 'IPython/terminal/ipapp.py',
135 136 'IPython/utils/_process_win32.py',
136 137 'IPython/utils/path.py',
137 138 ]
138 139
139 140 [tool.pytest.ini_options]
140 141 addopts = [
141 142 "--durations=10",
142 143 "-pIPython.testing.plugin.pytest_ipdoctest",
143 144 "--ipdoctest-modules",
144 145 "--ignore=docs",
145 146 "--ignore=examples",
146 147 "--ignore=htmlcov",
147 148 "--ignore=ipython_kernel",
148 149 "--ignore=ipython_parallel",
149 150 "--ignore=results",
150 151 "--ignore=tmp",
151 152 "--ignore=tools",
152 153 "--ignore=traitlets",
153 154 "--ignore=IPython/core/tests/daft_extension",
154 155 "--ignore=IPython/sphinxext",
155 156 "--ignore=IPython/terminal/pt_inputhooks",
156 157 "--ignore=IPython/__main__.py",
157 158 "--ignore=IPython/external/qt_for_kernel.py",
158 159 "--ignore=IPython/html/widgets/widget_link.py",
159 160 "--ignore=IPython/html/widgets/widget_output.py",
160 161 "--ignore=IPython/terminal/console.py",
161 162 "--ignore=IPython/utils/_process_cli.py",
162 163 "--ignore=IPython/utils/_process_posix.py",
163 164 "--ignore=IPython/utils/_process_win32.py",
164 165 "--ignore=IPython/utils/_process_win32_controller.py",
165 166 "--ignore=IPython/utils/daemonize.py",
166 167 "--ignore=IPython/utils/eventful.py",
167 168 "--ignore=IPython/kernel",
168 169 "--ignore=IPython/consoleapp.py",
169 170 "--ignore=IPython/core/inputsplitter.py",
170 171 "--ignore=IPython/lib/kernel.py",
171 172 "--ignore=IPython/utils/jsonutil.py",
172 173 "--ignore=IPython/utils/localinterfaces.py",
173 174 "--ignore=IPython/utils/log.py",
174 175 "--ignore=IPython/utils/signatures.py",
175 176 "--ignore=IPython/utils/traitlets.py",
176 177 "--ignore=IPython/utils/version.py"
177 178 ]
178 179 doctest_optionflags = [
179 180 "NORMALIZE_WHITESPACE",
180 181 "ELLIPSIS"
181 182 ]
182 183 ipdoctest_optionflags = [
183 184 "NORMALIZE_WHITESPACE",
184 185 "ELLIPSIS"
185 186 ]
186 187 asyncio_mode = "strict"
187 188
188 189 [tool.pyright]
189 190 pythonPlatform="All"
190 191
191 192 [tool.setuptools]
192 193 zip-safe = false
193 194 platforms = ["Linux", "Mac OSX", "Windows"]
194 195 license-files = ["LICENSE"]
195 196 include-package-data = false
196 197
197 198 [tool.setuptools.packages.find]
198 199 exclude = ["setupext"]
199 200 namespaces = false
200 201
201 202 [tool.setuptools.package-data]
202 203 "IPython" = ["py.typed"]
203 204 "IPython.core" = ["profile/README*"]
204 205 "IPython.core.tests" = ["*.png", "*.jpg", "daft_extension/*.py"]
205 206 "IPython.lib.tests" = ["*.wav"]
206 207 "IPython.testing.plugin" = ["*.txt"]
207 208
208 209 [tool.setuptools.dynamic]
209 210 version = {attr = "IPython.core.release.__version__"}
General Comments 0
You need to be logged in to leave comments. Login now