|
41 | 41 | NBCONVERT_REQVER = '>=4.0' |
42 | 42 | NUMPYDOC_REQVER = '>=0.6.0' |
43 | 43 | PARAMIKO_REQVER = '>=2.4.0' |
| 44 | +PARSO_REQVER = '=0.5.2' |
44 | 45 | PEXPECT_REQVER = '>=4.4.0' |
45 | 46 | PICKLESHARE_REQVER = '>=0.4' |
46 | 47 | PSUTIL_REQVER = '>=5.3' |
|
73 | 74 | # NOTE: We declare our dependencies in **alphabetical** order |
74 | 75 | # ============================================================================= |
75 | 76 | # List of descriptions |
76 | | -DESCRIPTIONS = [] |
77 | | - |
78 | | -if sys.platform == "darwin": |
79 | | - DESCRIPTIONS.append( |
80 | | - {'modname': "applaunchservices", |
81 | | - 'package_name': "applaunchservices", |
82 | | - 'features': _("Notify macOS that Spyder can open Python files"), |
83 | | - 'required_version': APPLAUNCHSERVICES_REQVER}) |
84 | | - |
85 | | - |
86 | | -DESCRIPTIONS += [ |
| 77 | +DESCRIPTIONS = [ |
| 78 | + {'modname': "applaunchservices", |
| 79 | + 'package_name': "applaunchservices", |
| 80 | + 'features': _("Notify macOS that Spyder can open Python files"), |
| 81 | + 'required_version': APPLAUNCHSERVICES_REQVER, |
| 82 | + 'display': sys.platform == "darwin"}, |
87 | 83 | {'modname': "atomicwrites", |
88 | 84 | 'package_name': "atomicwrites", |
89 | 85 | 'features': _("Atomic file writes in the Editor"), |
|
97 | 93 | 'features': _("Handle communications between kernel and frontend"), |
98 | 94 | 'required_version': CLOUDPICKLE_REQVER}, |
99 | 95 | {'modname': "diff_match_patch", |
100 | | - 'package_name': "diff_match_patch", |
| 96 | + 'package_name': "diff-match-patch", |
101 | 97 | 'features': _("Compute text file diff changes during edition"), |
102 | 98 | 'required_version': DIFF_MATCH_PATCH_REQVER}, |
103 | 99 | {'modname': "intervaltree", |
|
111 | 107 | {'modname': "jedi", |
112 | 108 | 'package_name': "jedi", |
113 | 109 | 'features': _("Main backend for the Python Language Server"), |
114 | | - 'required_version': JEDI_REQVER} |
115 | | -] |
116 | | - |
117 | | - |
118 | | -if sys.platform.startswith('linux') and not PY2: |
119 | | - DESCRIPTIONS.append( |
120 | | - {'modname': "keyring", |
121 | | - 'package_name': "keyring", |
122 | | - 'features': _("Save Github credentials to report internal errors securely"), |
123 | | - 'required_version': KEYRING_REQVER} |
124 | | - ) |
125 | | - |
126 | | - |
127 | | -DESCRIPTIONS += [ |
| 110 | + 'required_version': JEDI_REQVER}, |
| 111 | + {'modname': "keyring", |
| 112 | + 'package_name': "keyring", |
| 113 | + 'features': _("Save Github credentials to report internal errors securely"), |
| 114 | + 'required_version': KEYRING_REQVER, |
| 115 | + 'display': sys.platform.startswith('linux') and not PY2}, |
128 | 116 | {'modname': "nbconvert", |
129 | 117 | 'package_name': "nbconvert", |
130 | 118 | 'features': _("Manipulate Jupyter notebooks in the Editor"), |
131 | 119 | 'required_version': NBCONVERT_REQVER}, |
132 | 120 | {'modname': "numpydoc", |
133 | 121 | 'package_name': "numpydoc", |
134 | 122 | 'features': _("Improve code completion for objects that use Numpy docstrings"), |
135 | | - 'required_version': NUMPYDOC_REQVER} |
136 | | -] |
137 | | - |
138 | | - |
139 | | -if sys.platform == 'nt': |
140 | | - DESCRIPTIONS.append( |
141 | | - {'modname': "paramiko", |
142 | | - 'package_name': "paramiko", |
143 | | - 'features': _("Connect to remote kernels through SSH"), |
144 | | - 'required_version': PARAMIKO_REQVER} |
145 | | - ) |
146 | | - |
147 | | - |
148 | | -DESCRIPTIONS += [ |
| 123 | + 'required_version': NUMPYDOC_REQVER}, |
| 124 | + {'modname': "paramiko", |
| 125 | + 'package_name': "paramiko", |
| 126 | + 'features': _("Connect to remote kernels through SSH"), |
| 127 | + 'required_version': PARAMIKO_REQVER, |
| 128 | + 'display': sys.platform == 'nt'}, |
| 129 | + {'modname': "parso", |
| 130 | + 'package_name': "parso", |
| 131 | + 'features': _("Python parser that supports error recovery and round-trip parsing"), |
| 132 | + 'required_version': PARSO_REQVER}, |
149 | 133 | {'modname': "pexpect", |
150 | 134 | 'package_name': "pexpect", |
151 | 135 | 'features': _("Stdio support for our language server client"), |
|
169 | 153 | {'modname': 'pyls', |
170 | 154 | 'package_name': 'python-language-server', |
171 | 155 | 'features': _("Code completion and linting for the Editor"), |
172 | | - 'required_version': PYLS_REQVER} |
173 | | -] |
174 | | - |
175 | | - |
176 | | -if sys.platform.startswith('linux'): |
177 | | - DESCRIPTIONS.append( |
178 | | - {'modname': "xdg", |
179 | | - 'package_name': "pyxdg", |
180 | | - 'features': _("Parse desktop files on Linux"), |
181 | | - 'required_version': PYXDG_REQVER} |
182 | | - ) |
183 | | - |
184 | | - |
185 | | -DESCRIPTIONS += [ |
| 156 | + 'required_version': PYLS_REQVER}, |
| 157 | + {'modname': "xdg", |
| 158 | + 'package_name': "pyxdg", |
| 159 | + 'features': _("Parse desktop files on Linux"), |
| 160 | + 'required_version': PYXDG_REQVER, |
| 161 | + 'display': sys.platform.startswith('linux')}, |
186 | 162 | {'modname': "zmq", |
187 | 163 | 'package_name': "pyzmq", |
188 | 164 | 'features': _("Client for the language server protocol (LSP)"), |
|
202 | 178 | {'modname': "qtpy", |
203 | 179 | 'package_name': "qtpy", |
204 | 180 | 'features': _("Abstraction layer for Python Qt bindings."), |
205 | | - 'required_version': QTPY_REQVER} |
206 | | -] |
207 | | - |
208 | | - |
209 | | -if is_anaconda(): |
210 | | - DESCRIPTIONS.append( |
211 | | - {'modname': "rtree", |
212 | | - 'package_name': "rtree", |
213 | | - 'features': _("Fast access to code snippets regions"), |
214 | | - 'required_version': RTREE_REQVER} |
215 | | - ) |
216 | | - |
217 | | - |
218 | | -DESCRIPTIONS += [ |
| 181 | + 'required_version': QTPY_REQVER}, |
| 182 | + {'modname': "rtree", |
| 183 | + 'package_name': "rtree", |
| 184 | + 'features': _("Fast access to code snippets regions"), |
| 185 | + 'required_version': RTREE_REQVER, |
| 186 | + 'display': is_anaconda()}, |
219 | 187 | {'modname': "sphinx", |
220 | 188 | 'package_name': "sphinx", |
221 | 189 | 'features': _("Show help for objects in the Editor and Consoles in a dedicated pane"), |
@@ -398,6 +366,7 @@ def missing_dependencies(): |
398 | 366 |
|
399 | 367 | def declare_dependencies(): |
400 | 368 | for dep in DESCRIPTIONS: |
401 | | - add(dep['modname'], dep['package_name'], |
402 | | - dep['features'], dep['required_version'], |
403 | | - kind=dep.get('kind', MANDATORY)) |
| 369 | + if dep.get('display', True): |
| 370 | + add(dep['modname'], dep['package_name'], |
| 371 | + dep['features'], dep['required_version'], |
| 372 | + kind=dep.get('kind', MANDATORY)) |
0 commit comments