##// END OF EJS Templates
Spec 0 (#14183)
Matthias Bussonnier -
r28429:6004e9b0 merge
parent child Browse files
Show More
@@ -1,174 +1,176 b''
1 .. image:: https://codecov.io/github/ipython/ipython/coverage.svg?branch=main
1 .. image:: https://codecov.io/github/ipython/ipython/coverage.svg?branch=main
2 :target: https://codecov.io/github/ipython/ipython?branch=main
2 :target: https://codecov.io/github/ipython/ipython?branch=main
3
3
4 .. image:: https://img.shields.io/pypi/v/IPython.svg
4 .. image:: https://img.shields.io/pypi/v/IPython.svg
5 :target: https://pypi.python.org/pypi/ipython
5 :target: https://pypi.python.org/pypi/ipython
6
6
7 .. image:: https://github.com/ipython/ipython/actions/workflows/test.yml/badge.svg
7 .. image:: https://github.com/ipython/ipython/actions/workflows/test.yml/badge.svg
8 :target: https://github.com/ipython/ipython/actions/workflows/test.yml
8 :target: https://github.com/ipython/ipython/actions/workflows/test.yml
9
9
10 .. image:: https://www.codetriage.com/ipython/ipython/badges/users.svg
10 .. image:: https://www.codetriage.com/ipython/ipython/badges/users.svg
11 :target: https://www.codetriage.com/ipython/ipython/
11 :target: https://www.codetriage.com/ipython/ipython/
12
12
13 .. image:: https://raster.shields.io/badge/Follows-NEP29-brightgreen.png
13 .. image:: https://raster.shields.io/badge/Follows-SPEC--0000-brightgreen.png
14 :target: https://numpy.org/neps/nep-0029-deprecation_policy.html
14 :target: https://scientific-python.org/specs/spec-0000/
15
15
16 .. image:: https://tidelift.com/badges/package/pypi/ipython?style=flat
16 .. image:: https://tidelift.com/badges/package/pypi/ipython?style=flat
17 :target: https://tidelift.com/subscription/pkg/pypi-ipython
17 :target: https://tidelift.com/subscription/pkg/pypi-ipython
18
18
19
19
20 ===========================================
20 ===========================================
21 IPython: Productive Interactive Computing
21 IPython: Productive Interactive Computing
22 ===========================================
22 ===========================================
23
23
24 Overview
24 Overview
25 ========
25 ========
26
26
27 Welcome to IPython. Our full documentation is available on `ipython.readthedocs.io
27 Welcome to IPython. Our full documentation is available on `ipython.readthedocs.io
28 <https://ipython.readthedocs.io/en/stable/>`_ and contains information on how to install, use, and
28 <https://ipython.readthedocs.io/en/stable/>`_ and contains information on how to install, use, and
29 contribute to the project.
29 contribute to the project.
30 IPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history.
30 IPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history.
31
31
32 **IPython versions and Python Support**
32 **IPython versions and Python Support**
33
33
34 Starting after IPython 8.16, we will progressively transition to `Spec-0000 <https://scientific-python.org/specs/spec-0000/>`_.
35
34 Starting with IPython 7.10, IPython follows `NEP 29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_
36 Starting with IPython 7.10, IPython follows `NEP 29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_
35
37
36 **IPython 7.17+** requires Python version 3.7 and above.
38 **IPython 7.17+** requires Python version 3.7 and above.
37
39
38 **IPython 7.10+** requires Python version 3.6 and above.
40 **IPython 7.10+** requires Python version 3.6 and above.
39
41
40 **IPython 7.0** requires Python version 3.5 and above.
42 **IPython 7.0** requires Python version 3.5 and above.
41
43
42 **IPython 6.x** requires Python version 3.3 and above.
44 **IPython 6.x** requires Python version 3.3 and above.
43
45
44 **IPython 5.x LTS** is the compatible release for Python 2.7.
46 **IPython 5.x LTS** is the compatible release for Python 2.7.
45 If you require Python 2 support, you **must** use IPython 5.x LTS. Please
47 If you require Python 2 support, you **must** use IPython 5.x LTS. Please
46 update your project configurations and requirements as necessary.
48 update your project configurations and requirements as necessary.
47
49
48
50
49 The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*.
51 The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*.
50 See the `Jupyter installation docs <https://jupyter.readthedocs.io/en/latest/install.html>`__
52 See the `Jupyter installation docs <https://jupyter.readthedocs.io/en/latest/install.html>`__
51 if you want to use these.
53 if you want to use these.
52
54
53 Main features of IPython
55 Main features of IPython
54 ========================
56 ========================
55 Comprehensive object introspection.
57 Comprehensive object introspection.
56
58
57 Input history, persistent across sessions.
59 Input history, persistent across sessions.
58
60
59 Caching of output results during a session with automatically generated references.
61 Caching of output results during a session with automatically generated references.
60
62
61 Extensible tab completion, with support by default for completion of python variables and keywords, filenames and function keywords.
63 Extensible tab completion, with support by default for completion of python variables and keywords, filenames and function keywords.
62
64
63 Extensible system of β€˜magic’ commands for controlling the environment and performing many tasks related to IPython or the operating system.
65 Extensible system of β€˜magic’ commands for controlling the environment and performing many tasks related to IPython or the operating system.
64
66
65 A rich configuration system with easy switching between different setups (simpler than changing $PYTHONSTARTUP environment variables every time).
67 A rich configuration system with easy switching between different setups (simpler than changing $PYTHONSTARTUP environment variables every time).
66
68
67 Session logging and reloading.
69 Session logging and reloading.
68
70
69 Extensible syntax processing for special purpose situations.
71 Extensible syntax processing for special purpose situations.
70
72
71 Access to the system shell with user-extensible alias system.
73 Access to the system shell with user-extensible alias system.
72
74
73 Easily embeddable in other Python programs and GUIs.
75 Easily embeddable in other Python programs and GUIs.
74
76
75 Integrated access to the pdb debugger and the Python profiler.
77 Integrated access to the pdb debugger and the Python profiler.
76
78
77
79
78 Development and Instant running
80 Development and Instant running
79 ===============================
81 ===============================
80
82
81 You can find the latest version of the development documentation on `readthedocs
83 You can find the latest version of the development documentation on `readthedocs
82 <https://ipython.readthedocs.io/en/latest/>`_.
84 <https://ipython.readthedocs.io/en/latest/>`_.
83
85
84 You can run IPython from this directory without even installing it system-wide
86 You can run IPython from this directory without even installing it system-wide
85 by typing at the terminal::
87 by typing at the terminal::
86
88
87 $ python -m IPython
89 $ python -m IPython
88
90
89 Or see the `development installation docs
91 Or see the `development installation docs
90 <https://ipython.readthedocs.io/en/latest/install/install.html#installing-the-development-version>`_
92 <https://ipython.readthedocs.io/en/latest/install/install.html#installing-the-development-version>`_
91 for the latest revision on read the docs.
93 for the latest revision on read the docs.
92
94
93 Documentation and installation instructions for older version of IPython can be
95 Documentation and installation instructions for older version of IPython can be
94 found on the `IPython website <https://ipython.org/documentation.html>`_
96 found on the `IPython website <https://ipython.org/documentation.html>`_
95
97
96
98
97
99
98 IPython requires Python version 3 or above
100 IPython requires Python version 3 or above
99 ==========================================
101 ==========================================
100
102
101 Starting with version 6.0, IPython does not support Python 2.7, 3.0, 3.1, or
103 Starting with version 6.0, IPython does not support Python 2.7, 3.0, 3.1, or
102 3.2.
104 3.2.
103
105
104 For a version compatible with Python 2.7, please install the 5.x LTS Long Term
106 For a version compatible with Python 2.7, please install the 5.x LTS Long Term
105 Support version.
107 Support version.
106
108
107 If you are encountering this error message you are likely trying to install or
109 If you are encountering this error message you are likely trying to install or
108 use IPython from source. You need to checkout the remote 5.x branch. If you are
110 use IPython from source. You need to checkout the remote 5.x branch. If you are
109 using git the following should work::
111 using git the following should work::
110
112
111 $ git fetch origin
113 $ git fetch origin
112 $ git checkout 5.x
114 $ git checkout 5.x
113
115
114 If you encounter this error message with a regular install of IPython, then you
116 If you encounter this error message with a regular install of IPython, then you
115 likely need to update your package manager, for example if you are using `pip`
117 likely need to update your package manager, for example if you are using `pip`
116 check the version of pip with::
118 check the version of pip with::
117
119
118 $ pip --version
120 $ pip --version
119
121
120 You will need to update pip to the version 9.0.1 or greater. If you are not using
122 You will need to update pip to the version 9.0.1 or greater. If you are not using
121 pip, please inquiry with the maintainers of the package for your package
123 pip, please inquiry with the maintainers of the package for your package
122 manager.
124 manager.
123
125
124 For more information see one of our blog posts:
126 For more information see one of our blog posts:
125
127
126 https://blog.jupyter.org/release-of-ipython-5-0-8ce60b8d2e8e
128 https://blog.jupyter.org/release-of-ipython-5-0-8ce60b8d2e8e
127
129
128 As well as the following Pull-Request for discussion:
130 As well as the following Pull-Request for discussion:
129
131
130 https://github.com/ipython/ipython/pull/9900
132 https://github.com/ipython/ipython/pull/9900
131
133
132 This error does also occur if you are invoking ``setup.py`` directly – which you
134 This error does also occur if you are invoking ``setup.py`` directly – which you
133 should not – or are using ``easy_install`` If this is the case, use ``pip
135 should not – or are using ``easy_install`` If this is the case, use ``pip
134 install .`` instead of ``setup.py install`` , and ``pip install -e .`` instead
136 install .`` instead of ``setup.py install`` , and ``pip install -e .`` instead
135 of ``setup.py develop`` If you are depending on IPython as a dependency you may
137 of ``setup.py develop`` If you are depending on IPython as a dependency you may
136 also want to have a conditional dependency on IPython depending on the Python
138 also want to have a conditional dependency on IPython depending on the Python
137 version::
139 version::
138
140
139 install_req = ['ipython']
141 install_req = ['ipython']
140 if sys.version_info[0] < 3 and 'bdist_wheel' not in sys.argv:
142 if sys.version_info[0] < 3 and 'bdist_wheel' not in sys.argv:
141 install_req.remove('ipython')
143 install_req.remove('ipython')
142 install_req.append('ipython<6')
144 install_req.append('ipython<6')
143
145
144 setup(
146 setup(
145 ...
147 ...
146 install_requires=install_req
148 install_requires=install_req
147 )
149 )
148
150
149 Alternatives to IPython
151 Alternatives to IPython
150 =======================
152 =======================
151
153
152 IPython may not be to your taste; if that's the case there might be similar
154 IPython may not be to your taste; if that's the case there might be similar
153 project that you might want to use:
155 project that you might want to use:
154
156
155 - The classic Python REPL.
157 - The classic Python REPL.
156 - `bpython <https://bpython-interpreter.org/>`_
158 - `bpython <https://bpython-interpreter.org/>`_
157 - `mypython <https://www.asmeurer.com/mypython/>`_
159 - `mypython <https://www.asmeurer.com/mypython/>`_
158 - `ptpython and ptipython <https://pypi.org/project/ptpython/>`_
160 - `ptpython and ptipython <https://pypi.org/project/ptpython/>`_
159 - `Xonsh <https://xon.sh/>`_
161 - `Xonsh <https://xon.sh/>`_
160
162
161 Ignoring commits with git blame.ignoreRevsFile
163 Ignoring commits with git blame.ignoreRevsFile
162 ==============================================
164 ==============================================
163
165
164 As of git 2.23, it is possible to make formatting changes without breaking
166 As of git 2.23, it is possible to make formatting changes without breaking
165 ``git blame``. See the `git documentation
167 ``git blame``. See the `git documentation
166 <https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile>`_
168 <https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile>`_
167 for more details.
169 for more details.
168
170
169 To use this feature you must:
171 To use this feature you must:
170
172
171 - Install git >= 2.23
173 - Install git >= 2.23
172 - Configure your local git repo by running:
174 - Configure your local git repo by running:
173 - POSIX: ``tools\configure-git-blame-ignore-revs.sh``
175 - POSIX: ``tools\configure-git-blame-ignore-revs.sh``
174 - Windows: ``tools\configure-git-blame-ignore-revs.bat``
176 - Windows: ``tools\configure-git-blame-ignore-revs.bat``
@@ -1,118 +1,118 b''
1 [metadata]
1 [metadata]
2 name = ipython
2 name = ipython
3 version = attr: IPython.core.release.__version__
3 version = attr: IPython.core.release.__version__
4 url = https://ipython.org
4 url = https://ipython.org
5 description = IPython: Productive Interactive Computing
5 description = IPython: Productive Interactive Computing
6 long_description_content_type = text/x-rst
6 long_description_content_type = text/x-rst
7 long_description = file: long_description.rst
7 long_description = file: long_description.rst
8 license_file = LICENSE
8 license_file = LICENSE
9 project_urls =
9 project_urls =
10 Documentation = https://ipython.readthedocs.io/
10 Documentation = https://ipython.readthedocs.io/
11 Funding = https://numfocus.org/
11 Funding = https://numfocus.org/
12 Source = https://github.com/ipython/ipython
12 Source = https://github.com/ipython/ipython
13 Tracker = https://github.com/ipython/ipython/issues
13 Tracker = https://github.com/ipython/ipython/issues
14 keywords = Interactive, Interpreter, Shell, Embedding
14 keywords = Interactive, Interpreter, Shell, Embedding
15 platforms = Linux, Mac OSX, Windows
15 platforms = Linux, Mac OSX, Windows
16 classifiers =
16 classifiers =
17 Framework :: IPython
17 Framework :: IPython
18 Framework :: Jupyter
18 Framework :: Jupyter
19 Intended Audience :: Developers
19 Intended Audience :: Developers
20 Intended Audience :: Science/Research
20 Intended Audience :: Science/Research
21 License :: OSI Approved :: BSD License
21 License :: OSI Approved :: BSD License
22 Programming Language :: Python
22 Programming Language :: Python
23 Programming Language :: Python :: 3
23 Programming Language :: Python :: 3
24 Programming Language :: Python :: 3 :: Only
24 Programming Language :: Python :: 3 :: Only
25 Topic :: System :: Shells
25 Topic :: System :: Shells
26
26
27 [options]
27 [options]
28 packages = find:
28 packages = find:
29 python_requires = >=3.9
29 python_requires = >=3.9
30 zip_safe = False
30 zip_safe = False
31 install_requires =
31 install_requires =
32 appnope; sys_platform == "darwin"
32 appnope; sys_platform == "darwin"
33 backcall
33 backcall
34 colorama; sys_platform == "win32"
34 colorama; sys_platform == "win32"
35 decorator
35 decorator
36 exceptiongroup; python_version<'3.11'
36 exceptiongroup; python_version<'3.11'
37 jedi>=0.16
37 jedi>=0.16
38 matplotlib-inline
38 matplotlib-inline
39 pexpect>4.3; sys_platform != "win32"
39 pexpect>4.3; sys_platform != "win32"
40 pickleshare
40 pickleshare
41 prompt_toolkit>=3.0.30,<3.1.0,!=3.0.37
41 prompt_toolkit>=3.0.30,<3.1.0,!=3.0.37
42 pygments>=2.4.0
42 pygments>=2.4.0
43 stack_data
43 stack_data
44 traitlets>=5
44 traitlets>=5
45 typing_extensions ; python_version<'3.10'
45 typing_extensions ; python_version<'3.10'
46
46
47 [options.extras_require]
47 [options.extras_require]
48 black =
48 black =
49 black
49 black
50 doc =
50 doc =
51 ipykernel
51 ipykernel
52 setuptools>=18.5
52 setuptools>=18.5
53 sphinx>=1.3
53 sphinx>=1.3
54 sphinx-rtd-theme
54 sphinx-rtd-theme
55 docrepr
55 docrepr
56 matplotlib
56 matplotlib
57 stack_data
57 stack_data
58 pytest<7
58 pytest<7
59 typing_extensions
59 typing_extensions
60 exceptiongroup
60 exceptiongroup
61 %(test)s
61 %(test)s
62 kernel =
62 kernel =
63 ipykernel
63 ipykernel
64 nbconvert =
64 nbconvert =
65 nbconvert
65 nbconvert
66 nbformat =
66 nbformat =
67 nbformat
67 nbformat
68 notebook =
68 notebook =
69 ipywidgets
69 ipywidgets
70 notebook
70 notebook
71 parallel =
71 parallel =
72 ipyparallel
72 ipyparallel
73 qtconsole =
73 qtconsole =
74 qtconsole
74 qtconsole
75 terminal =
75 terminal =
76 test =
76 test =
77 pytest<7.1
77 pytest<7.1
78 pytest-asyncio
78 pytest-asyncio
79 testpath
79 testpath
80 test_extra =
80 test_extra =
81 %(test)s
81 %(test)s
82 curio
82 curio
83 matplotlib!=3.2.0
83 matplotlib!=3.2.0
84 nbformat
84 nbformat
85 numpy>=1.21
85 numpy>=1.22
86 pandas
86 pandas
87 trio
87 trio
88 all =
88 all =
89 %(black)s
89 %(black)s
90 %(doc)s
90 %(doc)s
91 %(kernel)s
91 %(kernel)s
92 %(nbconvert)s
92 %(nbconvert)s
93 %(nbformat)s
93 %(nbformat)s
94 %(notebook)s
94 %(notebook)s
95 %(parallel)s
95 %(parallel)s
96 %(qtconsole)s
96 %(qtconsole)s
97 %(terminal)s
97 %(terminal)s
98 %(test_extra)s
98 %(test_extra)s
99 %(test)s
99 %(test)s
100
100
101 [options.packages.find]
101 [options.packages.find]
102 exclude =
102 exclude =
103 setupext
103 setupext
104
104
105 [options.package_data]
105 [options.package_data]
106 IPython = py.typed
106 IPython = py.typed
107 IPython.core = profile/README*
107 IPython.core = profile/README*
108 IPython.core.tests = *.png, *.jpg, daft_extension/*.py
108 IPython.core.tests = *.png, *.jpg, daft_extension/*.py
109 IPython.lib.tests = *.wav
109 IPython.lib.tests = *.wav
110 IPython.testing.plugin = *.txt
110 IPython.testing.plugin = *.txt
111
111
112 [velin]
112 [velin]
113 ignore_patterns =
113 ignore_patterns =
114 IPython/core/tests
114 IPython/core/tests
115 IPython/testing
115 IPython/testing
116
116
117 [tool.black]
117 [tool.black]
118 exclude = 'timing\.py'
118 exclude = 'timing\.py'
General Comments 0
You need to be logged in to leave comments. Login now