Coverage for src/pymyinstall/packaged/packaged_config_1_small.py: 100%
7 statements
« prev ^ index » next coverage.py v7.1.0, created at 2023-07-19 01:47 +0200
« prev ^ index » next coverage.py v7.1.0, created at 2023-07-19 01:47 +0200
1# -*- coding: utf-8 -*-
2"""
3@file
4@brief Defines different a set of usual modules for Python.
5"""
6import sys
7from ..installhelper.module_install import ModuleInstall
8from ..installhelper.install_cmd_helper import is_conda_distribution
11def small_set():
12 """
13 list of modules to work with pandas, numpy, ipython, ...
14 """
15 mod = [
16 # issues with this modules in a virtual environment raise a, b, c instead or raise (a, b, c)
17 # ModuleInstall("futures", "pip", mname="concurrent.futures",
18 # purpose="Backport of the concurrent.futures package from Python
19 # 3.2"),
20 ModuleInstall(
21 "wincertstore", "pip", purpose="Python module to extract CA and CRL certs from Windows' cert store (ctypes based).") \
22 if sys.platform.startswith("win") else None,
23 ModuleInstall(
24 "pyquicksetup", "pip", purpose="helpers for setup", usage="TEACH"),
25 ModuleInstall(
26 "virtualenv", "pip", purpose="creatre virtual environments") if not is_conda_distribution() else None,
27 ModuleInstall(
28 "six", "pip", purpose="helpers for python 2/3 conversion"),
29 ModuleInstall("lxml", "wheel", purpose="xml parsers (C++)"),
30 ModuleInstall('markupsafe', 'pip', purpose="parses mardown"),
31 ModuleInstall("jinja2", "pip", purpose="templating"),
32 ModuleInstall("Mako", "pip", mname="mako", purpose="templating"),
33 ModuleInstall(
34 "pygments", "pip", purpose="syntax highlighting package written in Python"),
35 ModuleInstall(
36 "pyparsing", "pip", purpose="alternative approach to creating and executing simple grammars"),
37 ModuleInstall("idna", "pip", usage="WEB",
38 purpose="Internationalized Domain Names in Applications (IDNA)"),
39 ModuleInstall(
40 "python-dateutil", "pip", "dateutil", purpose="helpers to manipulate dates"),
41 ModuleInstall(
42 "webencodings", "pip", purpose="Character encoding aliases for legacy web content"),
43 ModuleInstall("soupsieve", "pip",
44 purpose="Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4."),
45 ModuleInstall("beautifulsoup4", "pip", mname="bs4",
46 purpose="Beautiful Soup sits atop an HTML or XML parser, providing Pythonic idioms for " +
47 "iterating, searching, and modifying the parse tree."),
48 ModuleInstall(
49 "certifi", "pip", purpose="Certifi is a carefully curated collection of Root Certificates for validating the trustworthiness " +
50 "of SSL certificates while verifying the identity of TLS hosts."),
51 ModuleInstall("requests", "pip", purpose="human interface for http"),
52 ModuleInstall(
53 "coverage", "pip", purpose="measure the coverage of unit tests"),
54 ModuleInstall("urllib3", "pip",
55 purpose="urllib2 extension"),
56 ModuleInstall(
57 "chardet", "pip", usage="WEB",
58 purpose="Universal encoding detector."),
59 ModuleInstall(
60 "codecov", "pip", purpose="submit coverage report to codecov"),
61 ModuleInstall("nose", "pip", purpose="run unit tests"),
62 ModuleInstall(
63 "pytz", "pip", purpose="World timezone definitions, modern and historical"),
64 ModuleInstall("pyreadline", "pip",
65 purpose="python implementation of GNU readline functionality"),
66 ModuleInstall(
67 "pipdeptree", "pip", purpose="displays module dependencies as a tree"),
68 ModuleInstall("jdcal", "pip",
69 purpose="Julian dates from proleptic Gregorian and Julian calendars."),
70 ModuleInstall('et_xmlfile', "pip",
71 purpose="et_xmlfile is a low memory library for creating large XML files (for openpyxl)."),
72 ModuleInstall("openpyxl", "pip",
73 purpose="reads/writes Excel files, version is 1.8.6 due to pandas which does not work with more recent verrsions yet"),
74 ModuleInstall("xlrd", "pip", purpose="reads Excel files"),
75 ModuleInstall("xlwt", "pip", purpose="writes Excel files"),
76 ModuleInstall(
77 'XlsxWriter', 'pip', mname='xlsxwriter', purpose="writes Excel files"),
78 ModuleInstall(
79 "tornado", "wheel", purpose="python server, IPython relies on it", usage="NETWORK"),
80 ModuleInstall(
81 "sockjs-tornado", "pip", mname="sockjs.tornado", usage="NETWORK",
82 purpose="SockJS-tornado is a Python server side counterpart of SockJS-client browser library running " +
83 "on top of Tornado framework."),
84 ModuleInstall(
85 "pyzmq", "wheel", mname="zmq", purpose="python librairies for Omz (pipy distributes the binaries)", usage="NETWORK"),
86 ModuleInstall(
87 "pycparser", "pip", purpose="pycparser is a complete parser of the C language, written in pure " +
88 "Python using the PLY parsing library. It parses C code into " +
89 "an AST and can serve as a front-end for C compilers or analysis tools."),
90 ModuleInstall("numpy", "wheel",
91 purpose="matrix computation", usage="DATA/ML"),
92 ModuleInstall("mkl_service", "wheel", mname="mkl",
93 purpose="This package exposes a few functions which are declared in mkl_service.h. The main purpose of the " +
94 "package is to allow the user to change the number of CPU's MKL is using at runtime.", usage="DATA/ML"),
95 ModuleInstall("Cython", "wheel", mname="cython",
96 purpose="pseudo C++ in python"),
97 ModuleInstall("cycler", "pip",
98 purpose="dependency for matplotlib", usage="VIZ"),
99 ModuleInstall("kiwisolver", "wheel",
100 purpose="Kiwi is an efficient C++ implementation of the Cassowary constraint solving algorithm."),
101 ModuleInstall("matplotlib", "wheel",
102 purpose="most used plotting library", usage="VIZ"),
103 ModuleInstall("mpl_finance", "github", "matplotlib", usage="VIZ",
104 purpose="This module consists of code extracted from the deprecated matplotlib.finance " +
105 "module along with a few examples of usage."),
106 ModuleInstall("pywin32", "wheel2",
107 mname="win32com", purpose="call Windows DLL",
108 post=dict(
109 pre_cmd="module_install_preprocess",
110 cmd_python="{0}\\Scripts\\pywin32_postinstall.py -install"),
111 usage="WINDOWS") if sys.platform.startswith("win") else None,
112 ModuleInstall("pywin32-ctypes", "pip", mname="win32ctypes",
113 purpose="call Windows DLL", usage="WINDOWS") if sys.platform.startswith("win") else None,
114 ModuleInstall("winshell", "pip", purpose="Windows shell functions",
115 usage="WINDOWS") if sys.platform.startswith("win") else None,
116 ModuleInstall(
117 "brewer2mpl", "pip", purpose="Connect colorbrewer2.org color maps to Python and matplotlib"),
118 ModuleInstall(
119 "scipy", "wheel", purpose="scientific computation, eigen values, linear algebra", usage="DATA/ML"),
120 ModuleInstall(
121 "patsy", "pip", purpose="A Python package for describing statistical models and for building design matrices.", usage="DATA/ML"),
122 ModuleInstall(
123 "decorator", "pip", purpose="Better living through Python with decorators"),
124 ModuleInstall(
125 "networkx", "pip", purpose="graph libraries, basic drawing", usage="VIZ"),
126 ModuleInstall(
127 "graphviz", "pip", purpose="wrapper for graphviz (most famous tool to draw graphs", usage="VIZ"),
128 ModuleInstall("pyrsistent", "pip", purpose="Pyrsistent is a number of persistent collections (by some referred to as functional data "
129 "structures). Persistent in the sense that they are immutable."),
130 ModuleInstall('attrs', 'pip',
131 purpose="Attributes without boilerplate."),
132 ModuleInstall(
133 "jsonschema", "pip", purpose="An implementation of JSON Schema validation for Python"),
134 ModuleInstall(
135 "mistune", "pip", purpose="The fastest markdown parser in pure Python with renderer features, inspired by marked."),
136 ModuleInstall("wheel", "pip", purpose="handle wheels"),
137 ModuleInstall(
138 "alabaster", "pip", purpose="A configurable sidebar-enabled Sphinx theme", usage="SPHINX"),
139 ModuleInstall("babel", "pip", # version="1.3",
140 purpose="Internationalization utilities, version 2.0 has bugs", usage="SPHINX"),
141 ModuleInstall(
142 "colorama", "pip", purpose="Cross-platform colored terminal text.", usage="SPHINX"),
143 ModuleInstall(
144 "wcwidth", "pip", purpose="Measures number of Terminal column cells of wide-character codes", usage="JUPYTER"),
145 ModuleInstall(
146 "prompt_toolkit", "pip", purpose="Library for building powerful interactive command lines in Python", usage="JUPYTER"),
147 ModuleInstall("docutils", "pip",
148 purpose="interpret RST format", usage="SPHINX"),
149 ModuleInstall("packaging", "pip",
150 purpose="Core utilities for Python packages"),
151 ModuleInstall("sphinxcontrib-applehelp", "pip", mname="sphinxcontrib.applehelp",
152 purpose="extension for Sphinx", usage="SPHINX"),
153 ModuleInstall("sphinxcontrib-devhelp", "pip", mname="sphinxcontrib.devhelp",
154 purpose="extension for Sphinx", usage="SPHINX"),
155 ModuleInstall("sphinxcontrib-htmlhelp", "pip", mname="sphinxcontrib.htmlhelp",
156 purpose="extension for Sphinx", usage="SPHINX"),
157 ModuleInstall("sphinxcontrib-jsmath", "pip", mname="sphinxcontrib.jsmath",
158 purpose="extension for Sphinx", usage="SPHINX"),
159 ModuleInstall("sphinxcontrib-qthelp", "pip", mname="sphinxcontrib.qthelp",
160 purpose="extension for Sphinx", usage="SPHINX"),
161 ModuleInstall("sphinxcontrib-serializinghtml", "pip", mname="sphinxcontrib.serializinghtml",
162 purpose="extension for Sphinx", usage="SPHINX"),
163 ModuleInstall("sphinxcontrib-websupport", "pip", mname="sphinxcontrib.websupport",
164 purpose="extension for Sphinx", usage="SPHINX"),
165 ModuleInstall(
166 "sphinx", "pip", purpose="documentation generation based on RST", usage="SPHINX"),
167 ModuleInstall(
168 'imagesize', 'pip', usage="SPHINX", purpose="Getting image size from png/jpeg/jpeg2000/gif file"),
169 # ModuleInstall(
170 # 'sphinxcontrib-images', 'github', "sdpython", mname='sphinxcontrib.images',
171 # usage="SPHINX", purpose="include images in Sphinx documentation"),
172 ModuleInstall('pypiserver', 'pip',
173 purpose="run a local pypi server"),
174 ModuleInstall(
175 "untokenize", "pip", purpose="Transforms tokens into original source code (while preserving whitespace).", usage="STYLE"),
176 ModuleInstall(
177 "pycodestyle", "pip", purpose="Python style guide checker", usage="STYLE"),
178 ModuleInstall(
179 "pep8", "pip", purpose="official guidelines on Python style"),
180 ModuleInstall("autopep8", "pip",
181 purpose="apply pep8 on a script", usage="STYLE"),
182 ModuleInstall("docformatter", "pip",
183 purpose="Formats docstrings to follow PEP 257.", usage="STYLE"),
184 ModuleInstall("unify", "pip",
185 purpose="Modifies strings to all use the same (single/double) quote where possible.", usage="STYLE"),
186 ModuleInstall("mccabe", "pip", usage="STYLE",
187 purpose="This module provides a plugin for flake8, the Python code checker."),
188 ModuleInstall("pyflakes", "pip",
189 purpose="verify pep8 on a script", usage="STYLE"),
190 ModuleInstall("flake8", "pip",
191 purpose="verify pep8 on a script", usage="STYLE"),
192 ModuleInstall(
193 "bottleneck", "wheel", purpose="pandas depenencies, faster arrays", usage="DATA/ML"),
194 ModuleInstall(
195 "pandas", "wheel", purpose="manipulate table as SQL in memory", usage="DATA/ML"),
196 ModuleInstall(
197 "statsmodels", "wheel", purpose="statistical modelling, depends on scipy", usage="DATA/ML"),
198 ModuleInstall(
199 "enum34", "pip", purpose="for ggplot, Object-oriented filesystem paths") if sys.version_info[:2] < (3, 4) else None,
200 ModuleInstall("fire", "pip",
201 purpose="Python Fire is a library for automatically generating command line "
202 "interfaces (CLIs) from absolutely any Python object."),
203 ModuleInstall("pathlib2", "pip",
204 purpose="for ggplot, Object-oriented filesystem paths"),
205 ModuleInstall("ggplot", "pip", purpose="ggplot graphics style"),
206 ModuleInstall("plotnine", "pip",
207 purpose="A grammar of graphics for Python"),
208 ModuleInstall(
209 "requests-file", "pip", mname="requests_file", purpose="File transport adapter for Requests"),
210 ModuleInstall(
211 "requests-ftp", "pip", mname="requests_ftp", purpose="FTP Transport Adapter for Requests"),
212 ModuleInstall(
213 "pandas-datareader", "pip", mname="pandas_datareader",
214 purpose="Up to date remote data access for pandas, works for multiple versions of pandas.", usage="DATA/ML"),
215 ModuleInstall("cftime", "wheel",
216 purpose="Time-handling functionality from netcdf4-python."),
217 ModuleInstall("netCDF4", "wheel",
218 purpose="xarray uses this module to save and read data (netCDF=Unidata network Common Data Form)"),
219 ModuleInstall(
220 "xarray", "pip", purpose="pandas like library for cubes (N-dimensional data)", usage="DATA/ML"),
221 ModuleInstall(
222 "threadpoolctl", "pip", purpose="Python helpers to limit the number of threads used in the "
223 "threadpool-backed of common native libraries used for scientific computing and data science "
224 "(e.g. BLAS and OpenMP)."),
225 ModuleInstall(
226 "joblib", "pip", purpose="distribute jobs, parallelization"),
227 ModuleInstall(
228 "scikit-learn", "wheel", mname="sklearn", purpose="machine learning", usage="DATA/ML"),
229 # ipython
230 ModuleInstall("pandocfilters", "pip",
231 purpose="Utilities for writing pandoc filters in python"),
232 ModuleInstall("pandoc-attributes", "pip", mname="pandocattributes",
233 purpose="An Attribute class to be used with pandocfilters"),
234 ModuleInstall("win_unicode_console", "pip",
235 "Enable Unicode input and display when running Python from Windows console."),
236 ModuleInstall(
237 "ipython_genutils", "pip", purpose="IPython utils (nbformat)", usage="JUPYTER"),
238 ModuleInstall(
239 "html5lib", "pip", purpose="pure-python library for parsing HTML"),
240 ModuleInstall("bleach", "pip", usage="WEB",
241 purpose="An easy whitelist-based HTML-sanitizing tool."),
242 ModuleInstall(
243 "testpath", "pip", purpose="Test utilities for code working with files and commands"),
244 ModuleInstall(
245 "traitlets", "pip", purpose="IPython, dependency", usage="JUPYTER"),
246 ModuleInstall(
247 "pickleshare", "pip", purpose="IPython, dependency", usage="JUPYTER"),
248 ModuleInstall(
249 "simplegeneric", "pip", purpose="IPython, dependency", usage="JUPYTER"),
250 ModuleInstall(
251 "parso", "pip", purpose="Parso is a Python parser that supports error recovery and " +
252 "round-trip parsing for different Python versions (in multiple Python versions). Parso " +
253 "is also able to list multiple syntax errors in your python file."),
254 ModuleInstall(
255 "jedi", "pip", purpose="An autocompletion tool for Python that can be used for text editors."),
256 ModuleInstall("backcall", "pip", usage="JUPYTER",
257 purpose="Specifications for callback functions passed in to an API (IPython, Jupyter)"),
258 ModuleInstall(
259 "ipython", "pip", mname="IPython", purpose="IPython, Jupyter", usage="JUPYTER"),
260 ModuleInstall(
261 "jupyter_core", "pip", purpose="Jupyter Core", usage="JUPYTER"),
262 ModuleInstall(
263 "jupyter", "pip", purpose="Jupyter", usage="JUPYTER"),
264 ModuleInstall(
265 "jupyter_client", "pip", purpose="Jupyter client", usage="JUPYTER"),
266 ModuleInstall(
267 "jupyterlab_pygments", "pip", purpose="Jupyterlab", usage="JUPYTER"),
268 ModuleInstall(
269 "nbformat", "pip", purpose="IPython, notebooks conversion, new in Jupyter 4.0", usage="JUPYTER"),
270 ModuleInstall(
271 "entrypoints", "pip", purpose="Discover and load entry points from installed packages.", usage="JUPYTER"),
272 ModuleInstall(
273 "nbconvert", "pip", purpose="IPython, notebooks conversion, new in Jupyter 4.0", usage="JUPYTER"),
274 ModuleInstall(
275 "jupyter_sphinx", "pip", purpose="Jupyter Sphinx Extensions", usage="JUPYTER"),
276 ModuleInstall(
277 "jupyterlab-launcher", "pip", mname="jupyterlab_launcher",
278 purpose="Jupyter Lab Launcher", usage="JUPYTER"),
279 ModuleInstall("jupyterlab-server", "pip", mname="jupyterlab_server",
280 purpose="Jupyter Lab Server", usage="JUPYTER"),
281 ModuleInstall(
282 "jupyterlab", "pip", purpose="Jupyter Lab", usage="JUPYTER"),
283 ModuleInstall(
284 "ipympl", "pip", purpose="Matplotlib Jupyter Extension", usage="JUPYTER"),
285 ModuleInstall(
286 "nbsphinx", "pip", purpose="nbsphinx is a Sphinx extension that provides a source parser for *.ipynb files.", usage="JUPYTER"),
287 ModuleInstall("PyPDF2", "pip", purpose="PDF toolkit", usage="PDF"),
288 ModuleInstall(
289 "ghost.py", "pip", mname="ghost", purpose="ghost.py is a webkit web client written in python", usage="JUPYTER"),
290 ModuleInstall("nbbrowserpdf", "pip",
291 purpose="LaTeX-free PDF generation from Jupyter Notebooks", usage="JUPYTER"),
292 ModuleInstall("Send2Trash", "pip", mname="send2trash",
293 purpose="Send file to trash natively under Mac OS X, Windows and Linux."),
294 ModuleInstall(
295 "notedown", "pip", purpose="Convert markdown to IPython notebook.", usage="JUPYTER"),
296 ModuleInstall(
297 "ipykernel", "pip", purpose="IPython, Jupyter, kernels", usage="JUPYTER"),
298 ModuleInstall(
299 "qtconsole", "pip", purpose="IPython, notebooks, qtconsole", usage="JUPYTER"),
300 ModuleInstall("zipp", "pip",
301 purpose="A pathlib-compatible Zipfile object wrapper."),
302 ModuleInstall("importlib-metadata", "pip", mname="importlib_metadata",
303 purpose="library to access the metadata for a Python package. It is intended to be ported to Python 3.8.",
304 usage="JUPYTER"),
305 ModuleInstall(
306 "path.py", "pip", mname="path", purpose="IPython, dependency", usage="JUPYTER"),
307 ModuleInstall(
308 "micropython-libc", "pip", mname="libc", purpose="dependency for ptyprocess, MicroPython FFI helper module",
309 usage="JUPYTER/LINUX") if not sys.platform.startswith("win") else None,
310 ModuleInstall(
311 "micropython-ffilib", "pip", mname="ffi", purpose="dependency for ptyprocess, MicroPython FFI helper module",
312 usage="JUPYTER/LINUX") if not sys.platform.startswith("win") else None,
313 ModuleInstall(
314 "micropython-fcntl", "pip", mname="fcntl", purpose="dependency for ptyprocess, Functions to compute fnctl.ioctl's opt argument",
315 usage="JUPYTER/LINUX") if not sys.platform.startswith("win") else None,
316 ModuleInstall(
317 "ptyprocess", "pip", purpose="dependency for the terminado, Run a subprocess in a pseudo terminal",
318 usage="JUPYTER/LINUX"),
319 ModuleInstall("pexpect", "pip", usage="JUPYTER",
320 purpose="needed by ipykernel on Linux, Pexpect makes Python a better tool for controlling " +
321 "other applications (needed by metakernel)."),
322 ModuleInstall("pywinpty", "wheel",
323 purpose="Python bindings for the winpty pseudo terminal library. It allows to create and " +
324 "communicate with Windows processes that print outputs and recieve inputs via console input " +
325 "and output pipes."),
326 ModuleInstall(
327 "terminado", "pip", purpose="dependency for the notebooks, Terminals served to term.js using Tornado websockets",
328 usage="JUPYTER/LINUX"),
329 ModuleInstall(
330 "ipywidgets", "pip", purpose="IPython, Jupyter, widgets", usage="JUPYTER"),
331 ModuleInstall("ipyscales", "pip",
332 purpose="A widget library for scales", usage="JUPYTER"),
333 ModuleInstall("ipydatawidgets", "pip",
334 purpose="A set of widgets to help facilitate reuse of large datasets across widgets", usage="JUPYTER"),
335 ModuleInstall(
336 "backports_abc", "pip", purpose="A backport of recent additions to the 'collections.abc' module",
337 usage="JUPYTER"),
338 ModuleInstall("yapf", "pip", purpose="Code formatter"),
339 ModuleInstall(
340 "widgetsnbextension", "pip",
341 purpose="Interactive HTML widgets for Jupyter notebooks.", usage="JUPYTER"),
342 ModuleInstall(
343 "jupyter_contrib_nbextensions", "github", "ipython-contrib",
344 purpose="This repository contains a collection of extensions that add functionality to the Jupyter notebook.", usage="JUPYTER"),
345 ModuleInstall(
346 "backports.shutil-get-terminal-size", "pip", mname="backports", purpose="needed for Jupyter",
347 usage="JUPYTER"),
348 ModuleInstall(
349 "prometheus_client", "pip", purpose="The official Python 2 and 3 client for Prometheus.", usage="JUPYTER"),
350 ModuleInstall(
351 "notebook", "pip", purpose="Jupyter notebooks, new in Jupyter 4.0", usage="JUPYTER"),
352 ModuleInstall(
353 "nbpresent", "pip", purpose="Next generation slides from Jupyter Notebooks", usage="JUPYTER"),
354 ModuleInstall(
355 "jupyter-console", "pip", mname="jupyter_console", purpose="Jupyter console, new in Jupyter 4.0", usage="JUPYTER"),
356 ModuleInstall(
357 "metakernel", "pip", purpose="more magic commands for Jupyter", usage="JUPYTER"),
358 ModuleInstall('SQLAlchemy', 'wheel', mname='sqlalchemy',
359 purpose="model SQL queries as objects", usage="SQL"),
360 ModuleInstall('sqlparse', 'pip', usage="SQL",
361 purpose="Non-validating SQL parser"),
362 ModuleInstall(
363 "ipystata", "pip", purpose="Jupyter kernel for Stata",
364 usage="JUPYTER/PY2") if sys.version_info[0] == 2 else None,
365 ModuleInstall("jupyter-pip", "pip", mname="jupyterpip",
366 purpose="Allows Jupyter notebook extension writers to make their extension pip installable!",
367 usage="JUPYTER"),
368 ModuleInstall("portalocker", "pip", usage="JUPYTER",
369 purpose="Portalocker is a library to provide an easy API to file locking."),
370 ModuleInstall("ipyparallel", "pip", usage="JUPYTER",
371 purpose="Interactive Parallel Computing with IPython"),
372 # end of ipython
373 #
374 ModuleInstall("typecheck-decorator", "pip", mname="typecheck",
375 purpose="verifies decorators at running time"),
376 ModuleInstall("requests-cache", "pip", mname="requests_cache",
377 purpose="Persistent cache for requests library"),
378 ModuleInstall("SIP", "pip", mname="sip",
379 usage="GUI", purpose="For PyQt5"),
380 ModuleInstall("ete3", "pip", "http://etetoolkit.org/", usage="VIZ",
381 purpose="tree visualisation, ete3 does not work with PyQt4 (2017-11)."),
382 ModuleInstall("PyQt5-sip", "pip", mname="PyQt5_sip", usage="GUI"),
383 ModuleInstall("PyQt5", "pip", usage="GUI"),
384 ModuleInstall("shiboken2", "pip", purpose="for PySide"),
385 ModuleInstall("qtpy", "pip", usage="GUI",
386 purpose="single interface for QtPy4, 5, PySide"),
387 ModuleInstall(
388 "PySide2", "pip",
389 purpose="The Qt for Python project aims to provide a complete port of the PySide module to Qt 5. ",
390 usage="GUI"),
391 ModuleInstall(
392 "psutil", "wheel", purpose="cross-platform library for retrieving information " +
393 "onrunning processes and system utilization (CPU, memory, disks, network)in Python."), #
394 ModuleInstall(
395 "rope_py3k", "pip", mname="rope", purpose="refactoring library") if sys.version_info[0] >= 3 else None, #
396 ModuleInstall(
397 "isort", "pip", purpose="A Python utility / library to sort Python imports."),
398 ModuleInstall(
399 "backports.functools_lru_cache", "pip",
400 purpose="backports.functools_lru_cache"),
401 ModuleInstall("lazy-object-proxy", "pip", mname="lazy_object_proxy",
402 purpose="A fast and thorough lazy object proxy"),
403 ModuleInstall("wrapt", "wheel",
404 purpose="A Python module for decorators, wrappers and monkey patching."),
405 ModuleInstall(
406 "typed_ast", "pip",
407 purpose="typed_ast is a Python 3 package that provides a Python 2.7 and Python 3 "
408 "parser similar to the standard ast library."),
409 ModuleInstall(
410 "astroid", "pip",
411 purpose="A abstract syntax tree for Python with inference support."),
412 ModuleInstall(
413 "pylint", "pip", purpose="statistics on Python script style"), #
414 ModuleInstall(
415 "pythonqwt", "pip", purpose="Qt plotting widgets (Spyder)"),
416 ModuleInstall("wurlitzer", "pip", purpose="for spyder"),
417 ModuleInstall("spyder-kernels", "pip", mname="spyder_kernels",
418 purpose="Jupyter Kernels for the Spyder console"),
419 ModuleInstall(
420 "spyder", "pip", mname="spyderlib", purpose="scientific IDE"),
421 ModuleInstall("dbfread", "pip", purpose="access DBase format"),
422 ModuleInstall(
423 "aenum", "pip", purpose="Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and NamedConstants"),
424 ModuleInstall("dbf", "pip", purpose="access DBase format"),
425 ModuleInstall(
426 "xmltodict", "pip", purpose="Makes working with XML feel like you are working with JSON"),
427 ModuleInstall(
428 "ansiconv", "pip", purpose="A Python module for converting ANSI coded text and converts it to either plain text or HTML."),
429 ModuleInstall(
430 "ansi2html", "pip", purpose="Convert text with ANSI color codes to HTML"),
431 ModuleInstall(
432 "nodeenv", "pip", purpose="Node.js virtual environment builder"),
433 ModuleInstall("greenlet", "wheel",
434 purpose="Greenlet allows lightweight in-process concurrent programming."),
435 ModuleInstall(
436 'werkzeug', 'pip', purpose="The Swiss Army knife of Python web development"),
437 ModuleInstall('itsdangerous', 'pip',
438 purpose="Various helpers to pass trusted data to untrusted environments and back."),
439 ModuleInstall('simplejson', 'wheel',
440 purpose="Simple, fast, extensible JSON encoder/decoder for Python"),
441 ModuleInstall(
442 'ijson', 'pip', purpose="Iterative JSON parser with a standard Python iterator interface"),
443 ModuleInstall("click", "pip",
444 purpose="A simple wrapper around optparse for powerful command line utilities."),
445 ModuleInstall('flask', 'pip', usage="NETWORK",
446 purpose="Flask is a microframework for Python based on Werkzeug, " +
447 "Jinja 2 and good intentions. And before you ask: It's BSD licensed!"),
448 ModuleInstall('flask-sqlalchemy', 'pip',
449 mname='flask.ext.sqlalchemy', usage="NETWORK"),
450 ModuleInstall('Flask-Login', 'pip', mname="flask_login",
451 usage="NETWORK"),
452 ModuleInstall("Flask-Cors", "pip", mname="flask_cors",
453 purpose="A Flask extension for handling Cross Origin Resource Sharing (CORS), " +
454 "making cross-origin AJAX possible."),
455 ModuleInstall('PyYAML', 'wheel', mname='yaml',
456 purpose=" YAML parser and emitter for Python"),
457 ModuleInstall('python-mimeparse', 'pip',
458 purpose="A module provides basic functions for parsing mime-type names and matching " +
459 "them against a list of media-ranges. (falcon)"),
460 ModuleInstall('falcon', 'pip', usage="NETWORK",
461 purpose="Falcon is a very fast, very minimal Python web framework for building microservices, " +
462 "app backends, and higher-level frameworks."),
463 ModuleInstall('falcon-auth', 'pip', mname='falcon_auth', usage="NETWORK",
464 purpose="A falcon middleware + authentication backends that adds authentication layer to you app/api service."),
465 ModuleInstall('waitress', 'pip', usage="NETWORK",
466 purpose="Waitress WSGI server"),
467 ModuleInstall(
468 'markdown', 'pip', purpose="markdown parser (for bokeh)"),
469 ModuleInstall(
470 'pystache', 'pip', purpose="Mustache for Python (for bokeh)"),
471 ModuleInstall(
472 'bokeh', 'pip', purpose="interactive graphs, zoomable, javascript", usage="VIZ"),
473 ModuleInstall(
474 'bkcharts', 'pip', purpose="High level chart types built on top of Bokeh", usage="VIZ"),
475 ModuleInstall(
476 'traittypes', 'pip', purpose="Custom trait types for scientific computing."),
477 ModuleInstall(
478 'bqplot', 'pip', purpose="interactive graphs, zoomable, d3.js for notebooks", usage="VIZ"),
479 ModuleInstall(
480 'seaborn', 'pip', purpose="nicer graphs than matplotlib for statistical purposes", usage="VIZ"),
481 ModuleInstall(
482 'scikit-plot', 'pip', purpose="nicer graphs than matplotlib for datascientist", usage="VIZ"),
483 ModuleInstall(
484 'toolz', 'pip', purpose="Toolz provides a set of utility functions for iterators, functions, and dictionaries.", usage="DATA/ML"),
485 ModuleInstall(
486 'cytoolz', 'wheel', purpose="Cython implementation of Toolz: High performance functional utilities", usage="DATA/ML"),
487 ModuleInstall('snowballstemmer', 'pip',
488 purpose="This package provides 16 stemmer algorithms (15 + Porter English stemmer) generated from Snowball " +
489 "algorithms, needed by sphinx-rtd-theme."),
490 ModuleInstall('sphinx-rtd-theme', 'pip', mname='sphinx_rtd_theme',
491 purpose="sphinx theme", usage="SPHINX"),
492 ModuleInstall("feedparser", "pip", purpose="parse RSS streams"),
493 ModuleInstall(
494 "pbr", "pip", purpose="PBR is a library that injects some useful and sensible default behaviors into your setuptools run."),
495 ModuleInstall(
496 "multi-key-dict", "pip", mname="multi_key_dict", purpose="Multi key dictionary implementation"),
497 ModuleInstall(
498 "python-jenkins", "pip", mname="jenkins", purpose="interact with Jenkins"),
499 ModuleInstall(
500 'envoy', 'pip', purpose="Simple API for running external processes."),
501 ModuleInstall('Logbook', 'wheel', mname='logbook',
502 purpose="A logging replacement for Python"),
503 ModuleInstall(
504 'pkginfo', 'pip', purpose="Query metadatdata from sdists / bdists / installed packages."),
505 ModuleInstall("multipledispatch", "pip",
506 purpose="A relatively sane approach to multiple dispatch in Python."),
507 ModuleInstall("future", "pip",
508 purpose="Clean single-source support for Python 3 and 2"),
509 ModuleInstall("mock", "pip",
510 purpose="mock is a library for testing in Python. It allows you to replace parts of your system " +
511 "under test with mock objects and make assertions about how they have been used."),
512 ModuleInstall("multimethods", "pip",
513 purpose="A multimethod implementation, loosely based on Guido’s initial ‘Five-minute Multimethods in Python."),
514 ModuleInstall("distlib", "pip",
515 purpose="Low-level components of distutils2/packaging, augmented with higher-level APIs for "
516 "making packaging easier."),
517 ModuleInstall("appdirs", "pip",
518 purpose="A small Python module for determining appropriate platform-specific dirs"),
519 ModuleInstall("qgrid", "pip", usage="VIZ",
520 purpose="A Pandas DataFrame viewer for IPython Notebook."),
521 ModuleInstall("ujson", "wheel",
522 purpose="Ultra fast JSON encoder and decoder for Python"),
523 ModuleInstall("natsort", "pip", purpose="Sort lists naturally"),
524 ModuleInstall("wget", "pip", purpose="pure python download utility"),
525 ModuleInstall("queuelib", "pip",
526 purpose="Collection of persistent (disk-based) queues"),
527 ModuleInstall("semantic_version", "pip",
528 purpose="A library implementing the 'SemVer' scheme."),
529 ModuleInstall("unidecode", "pip",
530 purpose="ASCII transliterations of Unicode text"),
531 ModuleInstall("sqlite_bro", "pip",
532 purpose="GUI for SQLite"),
533 ModuleInstall("uvloop", "pip", purpose="Fast implementation of asyncio event loop on top of libuv") if sys.version_info[
534 :2] > (3, 5) and not sys.platform.startswith("win") else None, # requires VS 2015 ?
535 ModuleInstall("tabulate", "pip",
536 purpose="Pretty-print tabular data"),
537 ModuleInstall("httpie", "pip",
538 purpose="HTTPie - a CLI, cURL-like tool for humans"),
539 ModuleInstall("version-information", "pip", mname="version_information",
540 purpose="Version information"),
541 ModuleInstall("isodate", "pip",
542 purpose="An ISO 8601 date/time/duration parser and formatter"),
543 ModuleInstall("dominate", "pip",
544 purpose="Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API."),
545 ModuleInstall("mbstrdecoder", "pip",
546 purpose="multi-byte character string decoder"),
547 ModuleInstall("ipaddress", "pip",
548 purpose="IPv4/IPv6 manipulation library"),
549 ModuleInstall("typepy", "pip",
550 purpose="A python library for variable type checker/validator/converter at run time."),
551 ModuleInstall("pathvalidate", "pip",
552 purpose="A python library to validate/sanitize a string such as filenames/variable-names/excel-sheet-names."),
553 ModuleInstall("toml", "pip",
554 purpose="Python Library for Tom's Obvious, Minimal Language"),
555 ModuleInstall("DataProperty", "pip", mname="dataproperty",
556 purpose="Python library for extract property from data."),
557 ModuleInstall("tabledata", "pip",
558 purpose="A Python library to represent tabular data for pytablewriter/pytablereader/SimpleSQLite."),
559 ModuleInstall("msgfy", "pip",
560 purpose="msgfy is a Python library for convert Exception instance to a human-readable error message."),
561 ModuleInstall("SimpleSQLite", "pip", mname="simplesqlite",
562 purpose="SimpleSQLite is a Python library to simplify the table creation and data insertion into SQLite database."),
563 ModuleInstall("sqliteschema", "pip",
564 purpose="sqliteschema is a Python library to dump table schema of a SQLite database file."),
565 ModuleInstall("pytablereader", "pip",
566 purpose="A python library to load structured table data from files/URL with various data format: " +
567 "CSV/Excel/HTML/JSON/LTSV/Markdown/TSV."),
568 ModuleInstall("elasticsearch", "pip",
569 purpose="Python client for Elasticsearch"),
570 ModuleInstall("pytablewriter", "pip",
571 purpose="convert a dataframe into many formats"),
572 ModuleInstall("defusedxml", "pip",
573 purpose="XML bomb protection for Python stdlib modules"),
574 ModuleInstall(
575 "tqdm", "pip", purpose="A Simple Python Progress Meter", usage="JUPYTER"),
577 ModuleInstall(
578 'olefile', 'pip', purpose="Python package to parse, read and write Microsoft OLE2 files " +
579 "(Structured Storage or Compound Document, Microsoft Office) - Improved version of the " +
580 "OleFileIO module from PIL, the Python Image Library."),
581 ModuleInstall(
582 'Pillow', 'wheel', mname='PIL', purpose="read/create images"),
583 # Sphinx extension to draw graphs.
584 ModuleInstall(
585 "webcolors", "pip", purpose="A library for working with color names and color value formats defined " +
586 "by the HTML and CSS specifications for use in documents on the Web."),
587 ModuleInstall(
588 "funcparserlib", "pip", purpose="Recursive descent parsing library based on functional combinators"),
589 ModuleInstall(
590 "blockdiag", "pip", purpose="blockdiag generates block-diagram image from text"),
591 ModuleInstall(
592 "sphinxcontrib-blockdiag", "pip", mname="sphinxcontrib.blockdiag",
593 purpose="Sphinx 'blockdiag' extension"),
594 ModuleInstall('pyproj', 'wheel',
595 purpose="python interface to PROJ4 library for cartographic transformations " +
596 "https://jswhit.github.io/pyproj, needed by cartopy", usage="VIZ"),
597 ModuleInstall('Cartopy', 'wheel', mname="cartopy",
598 purpose="Cartopy is a Python package designed to make drawing maps for data analysis " +
599 "and visualisation as easy as possible (issue on Linux and Anaconda)", usage="VIZ"),
600 ModuleInstall('Shapely', 'wheel', mname='shapely',
601 purpose="Manipulation and analysis of geometric objects in the Cartesian plane."),
602 ModuleInstall("Fiona", "wheel", usage="GEO", mname="fiona",
603 purpose="Fiona is OGR’s neat, nimble, no-nonsense API for Python programmers."),
604 ModuleInstall("GDAL", "wheel", mname="osgeo",
605 purpose="GDAL is a translator library for raster and vector geospatial data formats "
606 + "that is released under an X/MIT style "
607 + "Open Source license by the Open Source Geospatial Foundation."),
608 ]
610 return [_ for _ in mod if _ is not None]