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