##// END OF EJS Templates
fix long description
Matthias Bussonnier -
Show More
@@ -0,0 +1,37 b''
1 IPython provides a rich toolkit to help you make the most out of using Python
2 interactively. Its main components are:
3
4 * A powerful interactive Python shell
5 * A `Jupyter <https://jupyter.org/>`_ kernel to work with Python code in Jupyter
6 notebooks and other interactive frontends.
7
8 The enhanced interactive Python shells have the following main features:
9
10 * Comprehensive object introspection.
11
12 * Input history, persistent across sessions.
13
14 * Caching of output results during a session with automatically generated
15 references.
16
17 * Extensible tab completion, with support by default for completion of python
18 variables and keywords, filenames and function keywords.
19
20 * Extensible system of 'magic' commands for controlling the environment and
21 performing many tasks related either to IPython or the operating system.
22
23 * A rich configuration system with easy switching between different setups
24 (simpler than changing $PYTHONSTARTUP environment variables every time).
25
26 * Session logging and reloading.
27
28 * Extensible syntax processing for special purpose situations.
29
30 * Access to the system shell with user-extensible alias system.
31
32 * Easily embeddable in other Python programs and GUIs.
33
34 * Integrated access to the pdb debugger and the Python profiler.
35
36 The latest development version is always available from IPython's `GitHub
37 site <http://github.com/ipython>`_.
@@ -8,6 +8,7 b' include mypy.ini'
8 8 include .mailmap
9 9 include .flake8
10 10 include .pre-commit-config.yaml
11 include long_description.rst
11 12
12 13 recursive-exclude tools *
13 14 exclude tools
@@ -4,44 +4,7 b' 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 long_description = IPython provides a rich toolkit to help you make the most out of using Python
8 interactively. Its main components are:
9
10 * A powerful interactive Python shell
11 * A `Jupyter <https://jupyter.org/>`_ kernel to work with Python code in Jupyter
12 notebooks and other interactive frontends.
13
14 The enhanced interactive Python shells have the following main features:
15
16 * Comprehensive object introspection.
17
18 * Input history, persistent across sessions.
19
20 * Caching of output results during a session with automatically generated
21 references.
22
23 * Extensible tab completion, with support by default for completion of python
24 variables and keywords, filenames and function keywords.
25
26 * Extensible system of 'magic' commands for controlling the environment and
27 performing many tasks related either to IPython or the operating system.
28
29 * A rich configuration system with easy switching between different setups
30 (simpler than changing $PYTHONSTARTUP environment variables every time).
31
32 * Session logging and reloading.
33
34 * Extensible syntax processing for special purpose situations.
35
36 * Access to the system shell with user-extensible alias system.
37
38 * Easily embeddable in other Python programs and GUIs.
39
40 * Integrated access to the pdb debugger and the Python profiler.
41
42 The latest development version is always available from IPython's `GitHub
43 site <http://github.com/ipython>`_.
44
7 long_description = file: long_description.rst
45 8 license_file = LICENSE
46 9 project_urls =
47 10 Documentation = https://ipython.readthedocs.io/
@@ -16,8 +16,8 b' def build_release():'
16 16 # Build source and binary distros
17 17 sh(sdists)
18 18 buildwheels()
19 # don't try to change, xz, bz2 deprecated.
19 20 sh(' '.join([sys.executable, 'tools/retar.py', 'dist/*.gz']))
20 sh(' '.join([sys.executable, 'tools/retar.py', 'dist/*.xz']))
21 21
22 22 if __name__ == '__main__':
23 23 build_release()
@@ -71,7 +71,7 b" if 'upload' in sys.argv:"
71 71
72 72 print('3. Uploading to PyPI using twine')
73 73 cd(distdir)
74 call(['twine', 'upload'] + to_upload)
74 call(['twine', 'upload', '--verbose'] + to_upload)
75 75
76 76 else:
77 77 # Build, but don't upload
@@ -37,8 +37,10 b' with open(path, "rb") as f:'
37 37 old_buf.seek(0)
38 38 if path.name.endswith("gz"):
39 39 r_mode = "r:gz"
40 if path.name.endswith(("xz", "xz2")):
41 r_mode = "r:xz"
40 if path.name.endswith("bz2"):
41 r_mode = "r:bz2"
42 if path.name.endswith("xz"):
43 raise ValueError("XZ is deprecated but it's written nowhere")
42 44 old = tarfile.open(fileobj=old_buf, mode=r_mode)
43 45
44 46 buf = io.BytesIO()
@@ -69,10 +71,10 b' if r_mode == "r:gz":'
69 71 with open(path, "wb") as f:
70 72 with gzip.GzipFile("", "wb", fileobj=f, mtime=timestamp) as gzf:
71 73 gzf.write(buf.read())
72 elif r_mode == "r:xz":
73 import lzma
74 elif r_mode == "r:bz2":
75 import bz2
74 76
75 with lzma.open(path, "wb") as f:
77 with bz2.open(path, "wb") as f:
76 78 f.write(buf.read())
77 79
78 80 else:
@@ -18,7 +18,7 b" archive = '%s:%s' % (archive_user, archive_dir)"
18 18
19 19 # Build commands
20 20 # Source dists
21 sdists = "{python} setup.py sdist --formats=xztar,gztar".format(python=sys.executable)
21 sdists = "{python} setup.py sdist --formats=gztar".format(python=sys.executable)
22 22 # Binary dists
23 23 def buildwheels():
24 24 sh("{python} setup.py bdist_wheel".format(python=sys.executable))
General Comments 0
You need to be logged in to leave comments. Login now