##// END OF EJS Templates
Merge pull request #5450 from minrk/no-codename...
Thomas Kluyver -
r16047:536b1842 merge
parent child Browse files
Show More
@@ -1,148 +1,149 b''
1 1 # -*- coding: utf-8 -*-
2 2 """Release data for the IPython project."""
3 3
4 4 #-----------------------------------------------------------------------------
5 5 # Copyright (c) 2008, IPython Development Team.
6 6 # Copyright (c) 2001, Fernando Perez <fernando.perez@colorado.edu>
7 7 # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de>
8 8 # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu>
9 9 #
10 10 # Distributed under the terms of the Modified BSD License.
11 11 #
12 12 # The full license is in the file COPYING.txt, distributed with this software.
13 13 #-----------------------------------------------------------------------------
14 14
15 15 # Name of the package for release purposes. This is the name which labels
16 16 # the tarballs and RPMs made by distutils, so it's best to lowercase it.
17 17 name = 'ipython'
18 18
19 19 # IPython version information. An empty _version_extra corresponds to a full
20 20 # release. 'dev' as a _version_extra string means this is a development
21 21 # version
22 22 _version_major = 2
23 23 _version_minor = 0
24 24 _version_patch = 0
25 25 _version_extra = 'dev'
26 26 # _version_extra = 'rc1'
27 27 # _version_extra = '' # Uncomment this for full releases
28 28
29 codename = 'Work in Progress'
29 # release.codename is deprecated in 2.0, will be removed in 3.0
30 codename = ''
30 31
31 32 # Construct full version string from these.
32 33 _ver = [_version_major, _version_minor, _version_patch]
33 34
34 35 __version__ = '.'.join(map(str, _ver))
35 36 if _version_extra:
36 37 __version__ = __version__ + '-' + _version_extra
37 38
38 39 version = __version__ # backwards compatibility name
39 40 version_info = (_version_major, _version_minor, _version_patch, _version_extra)
40 41
41 42 # Change this when incrementing the kernel protocol version
42 43 kernel_protocol_version_info = (4, 1)
43 44
44 45 description = "IPython: Productive Interactive Computing"
45 46
46 47 long_description = \
47 48 """
48 49 IPython provides a rich toolkit to help you make the most out of using Python
49 50 interactively. Its main components are:
50 51
51 52 * Powerful interactive Python shells (terminal- and Qt-based).
52 53 * A web-based interactive notebook environment with all shell features plus
53 54 support for embedded figures, animations and rich media.
54 55 * Support for interactive data visualization and use of GUI toolkits.
55 56 * Flexible, embeddable interpreters to load into your own projects.
56 57 * A high-performance library for high level and interactive parallel computing
57 58 that works in multicore systems, clusters, supercomputing and cloud scenarios.
58 59
59 60 The enhanced interactive Python shells have the following main features:
60 61
61 62 * Comprehensive object introspection.
62 63
63 64 * Input history, persistent across sessions.
64 65
65 66 * Caching of output results during a session with automatically generated
66 67 references.
67 68
68 69 * Extensible tab completion, with support by default for completion of python
69 70 variables and keywords, filenames and function keywords.
70 71
71 72 * Extensible system of 'magic' commands for controlling the environment and
72 73 performing many tasks related either to IPython or the operating system.
73 74
74 75 * A rich configuration system with easy switching between different setups
75 76 (simpler than changing $PYTHONSTARTUP environment variables every time).
76 77
77 78 * Session logging and reloading.
78 79
79 80 * Extensible syntax processing for special purpose situations.
80 81
81 82 * Access to the system shell with user-extensible alias system.
82 83
83 84 * Easily embeddable in other Python programs and GUIs.
84 85
85 86 * Integrated access to the pdb debugger and the Python profiler.
86 87
87 88 The parallel computing architecture has the following main features:
88 89
89 90 * Quickly parallelize Python code from an interactive Python/IPython session.
90 91
91 92 * A flexible and dynamic process model that be deployed on anything from
92 93 multicore workstations to supercomputers.
93 94
94 95 * An architecture that supports many different styles of parallelism, from
95 96 message passing to task farming.
96 97
97 98 * Both blocking and fully asynchronous interfaces.
98 99
99 100 * High level APIs that enable many things to be parallelized in a few lines
100 101 of code.
101 102
102 103 * Share live parallel jobs with other users securely.
103 104
104 105 * Dynamically load balanced task farming system.
105 106
106 107 * Robust error handling in parallel code.
107 108
108 109 The latest development version is always available from IPython's `GitHub
109 110 site <http://github.com/ipython>`_.
110 111 """
111 112
112 113 license = 'BSD'
113 114
114 115 authors = {'Fernando' : ('Fernando Perez','fperez.net@gmail.com'),
115 116 'Janko' : ('Janko Hauser','jhauser@zscout.de'),
116 117 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'),
117 118 'Ville' : ('Ville Vainio','vivainio@gmail.com'),
118 119 'Brian' : ('Brian E Granger', 'ellisonbg@gmail.com'),
119 120 'Min' : ('Min Ragan-Kelley', 'benjaminrk@gmail.com'),
120 121 'Thomas' : ('Thomas A. Kluyver', 'takowl@gmail.com'),
121 122 'Jorgen' : ('Jorgen Stenarson', 'jorgen.stenarson@bostream.nu'),
122 123 'Matthias' : ('Matthias Bussonnier', 'bussonniermatthias@gmail.com'),
123 124 }
124 125
125 126 author = 'The IPython Development Team'
126 127
127 128 author_email = 'ipython-dev@scipy.org'
128 129
129 130 url = 'http://ipython.org'
130 131
131 132 download_url = 'https://github.com/ipython/ipython/downloads'
132 133
133 134 platforms = ['Linux','Mac OSX','Windows XP/Vista/7/8']
134 135
135 136 keywords = ['Interactive','Interpreter','Shell','Parallel','Distributed',
136 137 'Web-based computing', 'Qt console', 'Embedding']
137 138
138 139 classifiers = [
139 140 'Intended Audience :: Developers',
140 141 'Intended Audience :: Science/Research',
141 142 'License :: OSI Approved :: BSD License',
142 143 'Programming Language :: Python',
143 144 'Programming Language :: Python :: 2',
144 145 'Programming Language :: Python :: 2.7',
145 146 'Programming Language :: Python :: 3',
146 147 'Topic :: System :: Distributed Computing',
147 148 'Topic :: System :: Shells'
148 149 ]
@@ -1,171 +1,170 b''
1 1 # encoding: utf-8
2 2 """
3 3 Utilities for getting information about IPython and the system it's running in.
4 4 """
5 5
6 6 #-----------------------------------------------------------------------------
7 7 # Copyright (C) 2008-2011 The IPython Development Team
8 8 #
9 9 # Distributed under the terms of the BSD License. The full license is in
10 10 # the file COPYING, distributed as part of this software.
11 11 #-----------------------------------------------------------------------------
12 12
13 13 #-----------------------------------------------------------------------------
14 14 # Imports
15 15 #-----------------------------------------------------------------------------
16 16
17 17 import os
18 18 import platform
19 19 import pprint
20 20 import sys
21 21 import subprocess
22 22
23 23 from IPython.core import release
24 24 from IPython.utils import py3compat, _sysinfo, encoding
25 25
26 26 #-----------------------------------------------------------------------------
27 27 # Code
28 28 #-----------------------------------------------------------------------------
29 29
30 30 def pkg_commit_hash(pkg_path):
31 31 """Get short form of commit hash given directory `pkg_path`
32 32
33 33 We get the commit hash from (in order of preference):
34 34
35 35 * IPython.utils._sysinfo.commit
36 36 * git output, if we are in a git repository
37 37
38 38 If these fail, we return a not-found placeholder tuple
39 39
40 40 Parameters
41 41 ----------
42 42 pkg_path : str
43 43 directory containing package
44 44 only used for getting commit from active repo
45 45
46 46 Returns
47 47 -------
48 48 hash_from : str
49 49 Where we got the hash from - description
50 50 hash_str : str
51 51 short form of hash
52 52 """
53 53 # Try and get commit from written commit text file
54 54 if _sysinfo.commit:
55 55 return "installation", _sysinfo.commit
56 56
57 57 # maybe we are in a repository
58 58 proc = subprocess.Popen('git rev-parse --short HEAD',
59 59 stdout=subprocess.PIPE,
60 60 stderr=subprocess.PIPE,
61 61 cwd=pkg_path, shell=True)
62 62 repo_commit, _ = proc.communicate()
63 63 if repo_commit:
64 64 return 'repository', repo_commit.strip()
65 65 return '(none found)', '<not found>'
66 66
67 67
68 68 def pkg_info(pkg_path):
69 69 """Return dict describing the context of this package
70 70
71 71 Parameters
72 72 ----------
73 73 pkg_path : str
74 74 path containing __init__.py for package
75 75
76 76 Returns
77 77 -------
78 78 context : dict
79 79 with named parameters of interest
80 80 """
81 81 src, hsh = pkg_commit_hash(pkg_path)
82 82 return dict(
83 83 ipython_version=release.version,
84 84 ipython_path=pkg_path,
85 codename=release.codename,
86 85 commit_source=src,
87 86 commit_hash=hsh,
88 87 sys_version=sys.version,
89 88 sys_executable=sys.executable,
90 89 sys_platform=sys.platform,
91 90 platform=platform.platform(),
92 91 os_name=os.name,
93 92 default_encoding=encoding.DEFAULT_ENCODING,
94 93 )
95 94
96 95 def get_sys_info():
97 96 """Return useful information about IPython and the system, as a dict."""
98 97 p = os.path
99 98 path = p.dirname(p.abspath(p.join(__file__, '..')))
100 99 return pkg_info(path)
101 100
102 101 @py3compat.doctest_refactor_print
103 102 def sys_info():
104 103 """Return useful information about IPython and the system, as a string.
105 104
106 105 Examples
107 106 --------
108 107 ::
109 108
110 109 In [2]: print sys_info()
111 110 {'commit_hash': '144fdae', # random
112 111 'commit_source': 'repository',
113 112 'ipython_path': '/home/fperez/usr/lib/python2.6/site-packages/IPython',
114 113 'ipython_version': '0.11.dev',
115 114 'os_name': 'posix',
116 115 'platform': 'Linux-2.6.35-22-generic-i686-with-Ubuntu-10.10-maverick',
117 116 'sys_executable': '/usr/bin/python',
118 117 'sys_platform': 'linux2',
119 118 'sys_version': '2.6.6 (r266:84292, Sep 15 2010, 15:52:39) \\n[GCC 4.4.5]'}
120 119 """
121 120 return pprint.pformat(get_sys_info())
122 121
123 122 def _num_cpus_unix():
124 123 """Return the number of active CPUs on a Unix system."""
125 124 return os.sysconf("SC_NPROCESSORS_ONLN")
126 125
127 126
128 127 def _num_cpus_darwin():
129 128 """Return the number of active CPUs on a Darwin system."""
130 129 p = subprocess.Popen(['sysctl','-n','hw.ncpu'],stdout=subprocess.PIPE)
131 130 return p.stdout.read()
132 131
133 132
134 133 def _num_cpus_windows():
135 134 """Return the number of active CPUs on a Windows system."""
136 135 return os.environ.get("NUMBER_OF_PROCESSORS")
137 136
138 137
139 138 def num_cpus():
140 139 """Return the effective number of CPUs in the system as an integer.
141 140
142 141 This cross-platform function makes an attempt at finding the total number of
143 142 available CPUs in the system, as returned by various underlying system and
144 143 python calls.
145 144
146 145 If it can't find a sensible answer, it returns 1 (though an error *may* make
147 146 it return a large positive number that's actually incorrect).
148 147 """
149 148
150 149 # Many thanks to the Parallel Python project (http://www.parallelpython.com)
151 150 # for the names of the keys we needed to look up for this function. This
152 151 # code was inspired by their equivalent function.
153 152
154 153 ncpufuncs = {'Linux':_num_cpus_unix,
155 154 'Darwin':_num_cpus_darwin,
156 155 'Windows':_num_cpus_windows,
157 156 # On Vista, python < 2.5.2 has a bug and returns 'Microsoft'
158 157 # See http://bugs.python.org/issue1082 for details.
159 158 'Microsoft':_num_cpus_windows,
160 159 }
161 160
162 161 ncpufunc = ncpufuncs.get(platform.system(),
163 162 # default to unix version (Solaris, AIX, etc)
164 163 _num_cpus_unix)
165 164
166 165 try:
167 166 ncpus = max(1,int(ncpufunc()))
168 167 except:
169 168 ncpus = 1
170 169 return ncpus
171 170
@@ -1,249 +1,248 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 import sys, os
19 19
20 20 ON_RTD = os.environ.get('READTHEDOCS', None) == 'True'
21 21
22 22 if ON_RTD:
23 23 # Mock the presence of matplotlib, which we don't have on RTD
24 24 # see
25 25 # http://read-the-docs.readthedocs.org/en/latest/faq.html
26 26 tags.add('rtd')
27 27
28 28 # If your extensions are in another directory, add it here. If the directory
29 29 # is relative to the documentation root, use os.path.abspath to make it
30 30 # absolute, like shown here.
31 31 sys.path.insert(0, os.path.abspath('../sphinxext'))
32 32
33 33 # We load the ipython release info into a dict by explicit execution
34 34 iprelease = {}
35 35 execfile('../../IPython/core/release.py',iprelease)
36 36
37 37 # General configuration
38 38 # ---------------------
39 39
40 40 # Add any Sphinx extension module names here, as strings. They can be extensions
41 41 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
42 42 extensions = [
43 43 'matplotlib.sphinxext.mathmpl',
44 44 'matplotlib.sphinxext.only_directives',
45 45 'matplotlib.sphinxext.plot_directive',
46 46 'sphinx.ext.autodoc',
47 47 'sphinx.ext.autosummary',
48 48 'sphinx.ext.doctest',
49 49 'sphinx.ext.inheritance_diagram',
50 50 'sphinx.ext.intersphinx',
51 51 'IPython.sphinxext.ipython_console_highlighting',
52 52 'IPython.sphinxext.ipython_directive',
53 53 'numpydoc', # to preprocess docstrings
54 54 'github', # for easy GitHub links
55 55 ]
56 56
57 57 if ON_RTD:
58 58 # Remove extensions not currently supported on RTD
59 59 extensions.remove('matplotlib.sphinxext.only_directives')
60 60 extensions.remove('matplotlib.sphinxext.mathmpl')
61 61 extensions.remove('matplotlib.sphinxext.plot_directive')
62 62 extensions.remove('IPython.sphinxext.ipython_directive')
63 63 extensions.remove('IPython.sphinxext.ipython_console_highlighting')
64 64
65 65 # Add any paths that contain templates here, relative to this directory.
66 66 templates_path = ['_templates']
67 67
68 68 # The suffix of source filenames.
69 69 source_suffix = '.rst'
70 70
71 71 if iprelease['_version_extra']:
72 72 rst_prolog = """
73 73 .. note::
74 74
75 75 This documentation is for a development version of IPython. There may be
76 76 significant differences from the latest stable release (1.2.1).
77 77
78 78 """
79 79
80 80 # The master toctree document.
81 81 master_doc = 'index'
82 82
83 83 # General substitutions.
84 84 project = 'IPython'
85 85 copyright = '2008, The IPython Development Team'
86 86
87 87 # ghissue config
88 88 github_project_url = "https://github.com/ipython/ipython"
89 89
90 90 # numpydoc config
91 91 numpydoc_show_class_members = False # Otherwise Sphinx emits thousands of warnings
92 92 numpydoc_class_members_toctree = False
93 93
94 94 # The default replacements for |version| and |release|, also used in various
95 95 # other places throughout the built documents.
96 96 #
97 97 # The full version, including alpha/beta/rc tags.
98 codename = iprelease['codename']
99 release = "%s: %s" % (iprelease['version'], codename)
98 release = "%s" % iprelease['version']
100 99 # Just the X.Y.Z part, no '-dev'
101 100 version = iprelease['version'].split('-', 1)[0]
102 101
103 102
104 103 # There are two options for replacing |today|: either, you set today to some
105 104 # non-false value, then it is used:
106 105 #today = ''
107 106 # Else, today_fmt is used as the format for a strftime call.
108 107 today_fmt = '%B %d, %Y'
109 108
110 109 # List of documents that shouldn't be included in the build.
111 110 #unused_docs = []
112 111
113 112 # List of directories, relative to source directories, that shouldn't be searched
114 113 # for source files.
115 114 exclude_dirs = ['attic']
116 115
117 116 # If true, '()' will be appended to :func: etc. cross-reference text.
118 117 #add_function_parentheses = True
119 118
120 119 # If true, the current module name will be prepended to all description
121 120 # unit titles (such as .. function::).
122 121 #add_module_names = True
123 122
124 123 # If true, sectionauthor and moduleauthor directives will be shown in the
125 124 # output. They are ignored by default.
126 125 #show_authors = False
127 126
128 127 # The name of the Pygments (syntax highlighting) style to use.
129 128 pygments_style = 'sphinx'
130 129
131 130
132 131 # Options for HTML output
133 132 # -----------------------
134 133
135 134 # The style sheet to use for HTML and HTML Help pages. A file of that name
136 135 # must exist either in Sphinx' static/ path, or in one of the custom paths
137 136 # given in html_static_path.
138 137 html_style = 'default.css'
139 138
140 139 # The name for this set of Sphinx documents. If None, it defaults to
141 140 # "<project> v<release> documentation".
142 141 #html_title = None
143 142
144 143 # The name of an image file (within the static path) to place at the top of
145 144 # the sidebar.
146 145 #html_logo = None
147 146
148 147 # Add any paths that contain custom static files (such as style sheets) here,
149 148 # relative to this directory. They are copied after the builtin static files,
150 149 # so a file named "default.css" will overwrite the builtin "default.css".
151 150 html_static_path = ['_static']
152 151
153 152 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
154 153 # using the given strftime format.
155 154 html_last_updated_fmt = '%b %d, %Y'
156 155
157 156 # If true, SmartyPants will be used to convert quotes and dashes to
158 157 # typographically correct entities.
159 158 #html_use_smartypants = True
160 159
161 160 # Custom sidebar templates, maps document names to template names.
162 161 #html_sidebars = {}
163 162
164 163 # Additional templates that should be rendered to pages, maps page names to
165 164 # template names.
166 165 html_additional_pages = {
167 166 'interactive/htmlnotebook': 'notebook_redirect.html',
168 167 'interactive/notebook': 'notebook_redirect.html',
169 168 'interactive/nbconvert': 'notebook_redirect.html',
170 169 'interactive/public_server': 'notebook_redirect.html',
171 170 }
172 171
173 172 # If false, no module index is generated.
174 173 #html_use_modindex = True
175 174
176 175 # If true, the reST sources are included in the HTML build as _sources/<name>.
177 176 #html_copy_source = True
178 177
179 178 # If true, an OpenSearch description file will be output, and all pages will
180 179 # contain a <link> tag referring to it. The value of this option must be the
181 180 # base URL from which the finished HTML is served.
182 181 #html_use_opensearch = ''
183 182
184 183 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
185 184 #html_file_suffix = ''
186 185
187 186 # Output file base name for HTML help builder.
188 187 htmlhelp_basename = 'ipythondoc'
189 188
190 189 intersphinx_mapping = {'python': ('http://docs.python.org/2/', None)}
191 190
192 191 # Options for LaTeX output
193 192 # ------------------------
194 193
195 194 # The paper size ('letter' or 'a4').
196 195 latex_paper_size = 'letter'
197 196
198 197 # The font size ('10pt', '11pt' or '12pt').
199 198 latex_font_size = '11pt'
200 199
201 200 # Grouping the document tree into LaTeX files. List of tuples
202 201 # (source start file, target name, title, author, document class [howto/manual]).
203 202
204 203 latex_documents = [
205 204 ('index', 'ipython.tex', 'IPython Documentation',
206 205 ur"""The IPython Development Team""", 'manual', True),
207 206 ('parallel/winhpc_index', 'winhpc_whitepaper.tex',
208 207 'Using IPython on Windows HPC Server 2008',
209 208 ur"Brian E. Granger", 'manual', True)
210 209 ]
211 210
212 211 # The name of an image file (relative to this directory) to place at the top of
213 212 # the title page.
214 213 #latex_logo = None
215 214
216 215 # For "manual" documents, if this is true, then toplevel headings are parts,
217 216 # not chapters.
218 217 #latex_use_parts = False
219 218
220 219 # Additional stuff for the LaTeX preamble.
221 220 #latex_preamble = ''
222 221
223 222 # Documents to append as an appendix to all manuals.
224 223 #latex_appendices = []
225 224
226 225 # If false, no module index is generated.
227 226 latex_use_modindex = True
228 227
229 228
230 229 # Options for texinfo output
231 230 # --------------------------
232 231
233 232 texinfo_documents = [
234 233 (master_doc, 'ipython', 'IPython Documentation',
235 234 'The IPython Development Team',
236 235 'IPython',
237 236 'IPython Documentation',
238 237 'Programming',
239 238 1),
240 239 ]
241 240
242 241 modindex_common_prefix = ['IPython.']
243 242
244 243
245 244 # Cleanup
246 245 # -------
247 246 # delete release info to avoid pickling errors from sphinx
248 247
249 248 del iprelease
General Comments 0
You need to be logged in to leave comments. Login now