Hello community,

here is the log from the commit of package python-helpdev for openSUSE:Factory 
checked in at 2020-05-19 14:47:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-helpdev (Old)
 and      /work/SRC/openSUSE:Factory/.python-helpdev.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-helpdev"

Tue May 19 14:47:06 2020 rev:3 rq:806821 version:0.7.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-helpdev/python-helpdev.changes    
2020-03-08 22:24:48.180102103 +0100
+++ /work/SRC/openSUSE:Factory/.python-helpdev.new.2738/python-helpdev.changes  
2020-05-19 14:47:08.747898749 +0200
@@ -1,0 +2,24 @@
+Mon May 18 08:11:04 UTC 2020 - Antonio Larrosa <alarr...@suse.com>
+
+- Update to version 0.7.1 (fixes issue reported in boo#1135733 #c4):
+  * Fix pipeline, doc8 linting ignores D001, line too long
+  * Add customize function, part of #1
+  * Change _filter to filter_packages and make it public
+  * Improve filter_package explanation
+  * Improve docs
+  * Add check_qt() function
+  * Add check_numbers() function
+  * Enhance help from command line parser
+  * Enhance command line order
+  * Correct mispelling errors
+  * Remove importlib_metadata for Python 3.8+, incoporated into std lib, MR#2
+  * Add MANIFEST.in, part of #9
+  * Improve internal code and linting
+  * Remove support for Python 2.7 and 3.4, closes #8
+
+- There's no 0.7.0 release by upstream.
+
+- Remove patch already included by upstream:
+  * python38.patch
+
+-------------------------------------------------------------------

Old:
----
  helpdev-v0.6.10.tar.gz
  python38.patch

New:
----
  helpdev-v0.7.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-helpdev.spec ++++++
--- /var/tmp/diff_new_pack.VTC2yw/_old  2020-05-19 14:47:10.107901655 +0200
+++ /var/tmp/diff_new_pack.VTC2yw/_new  2020-05-19 14:47:10.111901663 +0200
@@ -18,14 +18,13 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-helpdev
-Version:        0.6.10
+Version:        0.7.1
 Release:        0
 Summary:        HelpDev - Extracts information about the Python environment 
easily
 License:        MIT AND CC-BY-4.0
 Group:          Development/Languages/Python
 URL:            https://gitlab.com/dpizetta/helpdev
 Source0:        
https://gitlab.com/dpizetta/helpdev/-/archive/v%{version}/helpdev-v%{version}.tar.gz
-Patch0:         python38.patch
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
@@ -44,7 +43,6 @@
 
 %prep
 %setup -q -n helpdev-v%{version}
-%patch0 -p1
 sed -i '1{\,^#!%{_bindir}/env python,d}' helpdev/*.py
 
 %build

++++++ helpdev-v0.6.10.tar.gz -> helpdev-v0.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/.gitlab-ci.yml 
new/helpdev-v0.7.1/.gitlab-ci.yml
--- old/helpdev-v0.6.10/.gitlab-ci.yml  2019-05-17 04:46:18.000000000 +0200
+++ new/helpdev-v0.7.1/.gitlab-ci.yml   2020-05-05 22:16:22.000000000 +0200
@@ -25,40 +25,18 @@
 before_script:
   # OUTSIDE VIRTUAL ENV -----------------------------------------------------
   - python -V
-  - pip install -U setuptools
-  - pip install -U wheel
-  - pip install -U pip
-  - pip install -U virtualenv
-  - pip install -U tox
-
-  - virtualenv venv
-  - source venv/bin/activate
-
-  # INSIDE VIRTUAL ENV -----------------------------------------------------
-  - python -V
-  - pip install -U setuptools
-  - pip install -U wheel
-  - pip install -U pip
-  - pip install -U virtualenv
-  - pip install -U tox
-
-
-py27-build:
-  stage: build
-  image: python:2.7
-  script:
-    - export TOXENV=py27-build
-    - tox -s true
-
-
-py34-build:
-  stage: build
-  image: python:3.4
-  script:
-    - export TOXENV=py34-build
-    - tox -s true
-
+  - python -m ensurepip
+  - python -m pip install -U pip
+  - python -m pip install -U setuptools
+  - python -m pip install -U wheel
+  - python -m pip install -U virtualenv
+  - python -m pip install -U tox
+
+# Python 2.7 end of support 2020-01
+# Python 3.4 end of support 2019-03
+# Python 3.5 end of support 2020-09
 
+# End of support 2021-12
 py36-build:
   stage: build
   image: python:3.6
@@ -66,7 +44,7 @@
     - export TOXENV=py36-build
     - tox -s true
 
-
+# End of support 2023-06
 py37-build:
   stage: build
   image: python:3.7
@@ -74,38 +52,49 @@
     - export TOXENV=py37-build
     - tox -s true
 
+# End of support 2024-10
+py38-build:
+  stage: build
+  image: python:3.8
+  script:
+    - export TOXENV=py38-build
+    - tox -s true
+
 
-py36-test:
+py38-test:
   stage: test
-  image: python:3.6
+  image: python:3.8
   script:
-    - export TOXENV=py36-test
+    - export TOXENV=py38-test
     - tox -s true
 
 
-py36-lint:
+py38-lint:
   stage: test
-  image: python:3.6
+  image: python:3.8
+  allow_failure: false
   script:
-    - export TOXENV=py36-lint
-    - tox -s true
+    - export TOXENV=py38-lint
+    - tox -r -s true
 
 
-py36-safety:
+py38-safety:
   stage: test
-  image: python:3.6
+  image: python:3.8
   script:
-    - export TOXENV=py36-safety
+    - export TOXENV=py38-safety
     - tox -s true
 
 
-py36-metric:
+py38-metric:
   stage: test
-  image: python:3.6
+  image: python:3.8
   script:
-    - export TOXENV=py36-metric
+    - export TOXENV=py38-metric
     - tox -s true
 
+include:
+  - template: Code-Quality.gitlab-ci.yml
 
 # py36-test-pyqt:
 #   stage: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/CHANGES.rst 
new/helpdev-v0.7.1/CHANGES.rst
--- old/helpdev-v0.6.10/CHANGES.rst     2019-05-17 04:46:18.000000000 +0200
+++ new/helpdev-v0.7.1/CHANGES.rst      2020-05-05 22:16:22.000000000 +0200
@@ -1,10 +1,30 @@
 Changes
 =======
 
+
+v0.7
+----
+
+* Add ``customize`` function, part of #1
+* Change _filter to filter_packages and make it public
+* Improve filter_package explanation
+* Improve docs
+* Add check_qt() function
+* Add check_numbers() function
+* Enhance help from command line parser
+* Enhance command line order
+* Correct mispelling errors
+* Remove importlib_metadata for Pytho 3.8+, incoporated into std lib, MR#2
+* Add MANIFEST.in, part of #9
+* Improve internal code and linting
+* Remove support for Python 2.7 and 3.4, closes #8
+
+
 v0.6.10
 --------
 
 * Fix gitlab-ci, again
+* Whole pipeline working on gitlab, even upload to pypi
 
 
 v0.6.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/MANIFEST.in 
new/helpdev-v0.7.1/MANIFEST.in
--- old/helpdev-v0.6.10/MANIFEST.in     1970-01-01 01:00:00.000000000 +0100
+++ new/helpdev-v0.7.1/MANIFEST.in      2020-05-05 22:16:22.000000000 +0200
@@ -0,0 +1,13 @@
+#
+# MANIFEST.in
+#
+
+include MANIFEST.in
+include setup.py
+include CHANGES.rst
+include LICENSE.rst
+include README.rst
+include helpdev/*
+include tests/*
+include docs/*
+include examples/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/README.rst 
new/helpdev-v0.7.1/README.rst
--- old/helpdev-v0.6.10/README.rst      2019-05-17 04:46:18.000000000 +0200
+++ new/helpdev-v0.7.1/README.rst       2020-05-05 22:16:22.000000000 +0200
@@ -90,10 +90,6 @@
 Help
 ----
 
-.. code-block:: ruby
-
-   Some Ruby code.
-
 
 .. code-block:: console
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/docs/tutorials/customizing.rst 
new/helpdev-v0.7.1/docs/tutorials/customizing.rst
--- old/helpdev-v0.6.10/docs/tutorials/customizing.rst  1970-01-01 
01:00:00.000000000 +0100
+++ new/helpdev-v0.7.1/docs/tutorials/customizing.rst   2020-05-05 
22:16:22.000000000 +0200
@@ -0,0 +1,135 @@
+Customizing for your application
+--------------------------------
+
+You can use this tool to provide a easy way to the users get necessary
+information about their environment when reporting bugs. Even if developers
+can use it to *easilly* get all the information necessary.
+
+1. Add ``helpdev`` to your list of requirements in ``setup.py``
+
+.. code-block:: Python
+
+    # ...
+
+    install_requires=['helpdev'...]
+
+    # ...
+
+
+2. Import ``helpdev`` functions that are important for you
+
+.. code-block:: Python
+
+    # ...
+
+    import helpdev
+
+    report_dict = {}
+
+    # get basic information updating the dictionary
+    report_dict.update(helpdev.check_hardware())
+    report_dict.update(helpdev.check_os())
+    report_dict.update(helpdev.check_python())
+    report_dict.update(helpdev.check_qt_bindings())
+    report_dict.update(helpdev.check_qt_abstractions())
+
+    # list of important packages for your app
+    # note that you can use regex (spyder.*)
+    packages = "spyder.*,ipython,cython,jedi,matplotlib,numpy,pandas,"
+               "psutil,pycodestyle,pyflakes,pygments,pylint,qtconsole,"
+               "rope,sphinx,sympy"
+
+    # get filtered information for those packages
+    report_dict.update(helpdev.check_python_packages(packages))
+
+    # ...
+
+
+3. You can use, then, the dictionary-like information or print it
+
+.. code-block:: Python
+
+    # ...
+
+    # printing the output in the terminal
+    helpdev.print_output(report_dict)
+
+    # ...
+
+4. The output for this example is, then
+
+
+.. code-block:: console
+
+    * 
HARDWARE-----------------------------------------------------------------------
+        - Machine....................... x86_64
+        - Processor..................... Intel(R) Core(TM) i7-4790K CPU @ 
4.00GHz
+        - Total Memory.................. 16689 MB
+        - Free Memory................... 534 MB
+        - Total Swap.................... 19999 MB
+        - Free Swap..................... 19999 MB
+    * OPERATING 
SYSTEM---------------------------------------------------------------
+        - System........................ Linux
+        - Release....................... 4.15.0-48-generic
+        - Platform...................... 
Linux-4.15.0-48-generic-x86_64-with-debian-buster-sid
+        - Version....................... #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 
2019
+    * PYTHON 
DISTRIBUTION------------------------------------------------------------
+        - Version....................... 3.6.8
+        - C Compiler.................... GCC 7.3.0
+        - C API Version................. 1013
+        - Implementation................ cpython
+        - Implementation Version........ 3.6.8
+    * QT 
BINDINGS--------------------------------------------------------------------
+        - PyQt5 Version................. 5.12.2
+        - PyQt5 Qt Version.............. 5.12.3
+    * QT 
ABSTRACTIONS----------------------------------------------------------------
+        - qtpy Version.................. 1.7.1
+        - qtpy Binding.................. pyqt5
+        - qtpy Binding Variable......... os.environ['QT_API']
+        - qtpy Import Name.............. qtpy
+        - qtpy Status................... OK
+        - pyqtgraph Version............. 0.10.0
+        - pyqtgraph Binding............. Not set or inexistent
+        - pyqtgraph Binding Variable.... os.environ['PYQTGRAPH_QT_LIB']
+        - pyqtgraph Import Name......... pyqtgraph
+        - pyqtgraph Status.............. OK
+        - Qt Version.................... 1.1.0
+        - Qt Binding.................... PyQt5
+        - Qt Binding Variable........... Qt.__binding__
+        - Qt Import Name................ Qt
+        - Qt Status..................... OK
+    * PYTHON 
PACKAGES----------------------------------------------------------------
+        - ipython....................... 7.5.0
+        - jedi.......................... 0.13.3
+        - numpy......................... 1.16.3
+        - psutil........................ 5.6.2
+        - pycodestyle................... 2.5.0
+        - pyflakes...................... 2.1.1
+        - Pygments...................... 2.3.1
+        - qtconsole..................... 4.4.4
+        - rope.......................... 0.14.0
+        - Sphinx........................ 2.0.1
+        - spyder........................ 3.3.4
+        - spyder-kernels................ 0.4.4
+
+
+You can obtain the same output using the command-line options as follows
+
+.. code-block:: console
+
+    helpdev --hardware --os --python --qt
+
+    helpdev --packages="spyder.*,ipython,cython,jedi,matplotlib,numpy,
+                        pandas,psutil,pycodestyle,pyflakes,pygments,
+                        pylint,qtconsole,rope,sphinx,sympy"
+
+
+In this example, the packages list was created from the Spyder dependencies
+list and *about* which can be seem below:
+
+
+.. image:: ../images/spyder-dep-list.png
+
+
+.. image:: ../images/spyder-about.png
+    :width: 400
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/docs/tutorials/index.rst 
new/helpdev-v0.7.1/docs/tutorials/index.rst
--- old/helpdev-v0.6.10/docs/tutorials/index.rst        2019-05-17 
04:46:18.000000000 +0200
+++ new/helpdev-v0.7.1/docs/tutorials/index.rst 2020-05-05 22:16:22.000000000 
+0200
@@ -4,4 +4,4 @@
 .. toctree::
    :maxdepth: 2
 
-   personalise.rst
+   customizing.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/docs/tutorials/personalise.rst 
new/helpdev-v0.7.1/docs/tutorials/personalise.rst
--- old/helpdev-v0.6.10/docs/tutorials/personalise.rst  2019-05-17 
04:46:18.000000000 +0200
+++ new/helpdev-v0.7.1/docs/tutorials/personalise.rst   1970-01-01 
01:00:00.000000000 +0100
@@ -1,135 +0,0 @@
-Personalising for your application
-----------------------------------
-
-You can use this tool to provide a easy way to the users get necessary
-information about their environment when reporting bugs. Even if developers
-can use it to *easilly* get all the information necessary.
-
-1. Add ``helpdev`` to your list of requirements in ``setup.py``
-
-.. code-block:: Python
-
-    # ...
-
-    install_requires=['helpdev'...]
-
-    # ...
-
-
-2. Import ``helpdev`` functions that are important for you
-
-.. code-block:: Python
-
-    # ...
-
-    import helpdev
-
-    report_dict = {}
-
-    # get basic information updating the dictionary
-    report_dict.update(helpdev.check_hardware())
-    report_dict.update(helpdev.check_os())
-    report_dict.update(helpdev.check_python())
-    report_dict.update(helpdev.check_qt_bindings())
-    report_dict.update(helpdev.check_qt_abstractions())
-
-    # list of important packages for your app
-    # note that you can use regex (spyder.*)
-    packages = "spyder.*,ipython,cython,jedi,matplotlib,numpy,pandas,"
-               "psutil,pycodestyle,pyflakes,pygments,pylint,qtconsole,"
-               "rope,sphinx,sympy"
-
-    # get filtered information for those packages
-    report_dict.update(helpdev.check_python_packages(packages))
-
-    # ...
-
-
-3. You can use, then, the dictionary-like information or print it
-
-.. code-block:: Python
-
-    # ...
-
-    # printing the output in the terminal
-    helpdev.print_output(report_dict)
-
-    # ...
-
-4. The output for this example is, then
-
-
-.. code-block:: console
-
-    * 
HARDWARE-----------------------------------------------------------------------
-        - Machine....................... x86_64
-        - Processor..................... Intel(R) Core(TM) i7-4790K CPU @ 
4.00GHz
-        - Total Memory.................. 16689 MB
-        - Free Memory................... 534 MB
-        - Total Swap.................... 19999 MB
-        - Free Swap..................... 19999 MB
-    * OPERATING 
SYSTEM---------------------------------------------------------------
-        - System........................ Linux
-        - Release....................... 4.15.0-48-generic
-        - Platform...................... 
Linux-4.15.0-48-generic-x86_64-with-debian-buster-sid
-        - Version....................... #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 
2019
-    * PYTHON 
DISTRIBUTION------------------------------------------------------------
-        - Version....................... 3.6.8
-        - C Compiler.................... GCC 7.3.0
-        - C API Version................. 1013
-        - Implementation................ cpython
-        - Implementation Version........ 3.6.8
-    * QT 
BINDINGS--------------------------------------------------------------------
-        - PyQt5 Version................. 5.12.2
-        - PyQt5 Qt Version.............. 5.12.3
-    * QT 
ABSTRACTIONS----------------------------------------------------------------
-        - qtpy Version.................. 1.7.1
-        - qtpy Binding.................. pyqt5
-        - qtpy Binding Variable......... os.environ['QT_API']
-        - qtpy Import Name.............. qtpy
-        - qtpy Status................... OK
-        - pyqtgraph Version............. 0.10.0
-        - pyqtgraph Binding............. Not set or inexistent
-        - pyqtgraph Binding Variable.... os.environ['PYQTGRAPH_QT_LIB']
-        - pyqtgraph Import Name......... pyqtgraph
-        - pyqtgraph Status.............. OK
-        - Qt Version.................... 1.1.0
-        - Qt Binding.................... PyQt5
-        - Qt Binding Variable........... Qt.__binding__
-        - Qt Import Name................ Qt
-        - Qt Status..................... OK
-    * PYTHON 
PACKAGES----------------------------------------------------------------
-        - ipython....................... 7.5.0
-        - jedi.......................... 0.13.3
-        - numpy......................... 1.16.3
-        - psutil........................ 5.6.2
-        - pycodestyle................... 2.5.0
-        - pyflakes...................... 2.1.1
-        - Pygments...................... 2.3.1
-        - qtconsole..................... 4.4.4
-        - rope.......................... 0.14.0
-        - Sphinx........................ 2.0.1
-        - spyder........................ 3.3.4
-        - spyder-kernels................ 0.4.4
-
-
-You can obtain the same output using the command-line options as follows
-
-.. code-block:: console
-
-    helpdev --hardware --os --python --qt
-
-    helpdev --packages="spyder.*,ipython,cython,jedi,matplotlib,numpy,
-                        pandas,psutil,pycodestyle,pyflakes,pygments,
-                        pylint,qtconsole,rope,sphinx,sympy"
-
-
-In this example, the packages list was created from the Spyder dependencies
-list and *about* which can be seem below:
-
-
-.. image:: ../images/spyder-dep-list.png
-
-
-.. image:: ../images/spyder-about.png
-    :width: 400
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/examples/all.txt 
new/helpdev-v0.7.1/examples/all.txt
--- old/helpdev-v0.6.10/examples/all.txt        2019-05-17 04:46:18.000000000 
+0200
+++ new/helpdev-v0.7.1/examples/all.txt 2020-05-05 22:16:22.000000000 +0200
@@ -1,64 +1,44 @@
-* 
HARDWARE------------------------------------------------------------------------------------------------------
+* 
HARDWARE-----------------------------------------------------------------------
     - Machine....................... x86_64
     - Processor..................... Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
-    - Total Memory.................. 16689 MB
-    - Free Memory................... 5689 MB
-    - Total Swap.................... 19999 MB
-    - Free Swap..................... 19999 MB
-* OPERATING 
SYSTEM----------------------------------------------------------------------------------------------
+    - Total Memory.................. 16661 MB
+    - Free Memory................... 1560 MB
+    - Total Swap.................... 2147 MB
+    - Free Swap..................... 2082 MB
+* OPERATING 
SYSTEM---------------------------------------------------------------
     - System........................ Linux
-    - Release....................... 4.15.0-48-generic
-    - Platform...................... 
Linux-4.15.0-48-generic-x86_64-with-debian-buster-sid
-    - Version....................... #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
-* 
THREADS-------------------------------------------------------------------------------------------------------
+    - Release....................... 5.3.0-51-generic
+    - Platform...................... 
Linux-5.3.0-51-generic-x86_64-with-glibc2.10
+    - Version....................... #44~18.04.2-Ubuntu SMP Thu Apr 23 
14:27:18 UTC 2020
+* 
THREADS------------------------------------------------------------------------
     - Version....................... NPTL 2.27
     - Name.......................... pthread
     - Lock.......................... semaphore
-* PYTHON 
DISTRIBUTION-------------------------------------------------------------------------------------------
-    - Version....................... 3.6.8
+* PYTHON 
DISTRIBUTION------------------------------------------------------------
+    - Version....................... 3.8.2
     - C Compiler.................... GCC 7.3.0
     - C API Version................. 1013
     - Implementation................ cpython
-    - Implementation Version........ 3.6.8
-* CONDA 
DISTRIBUTION--------------------------------------------------------------------------------------------
-    - Version....................... 4.6.12
-    - Build......................... 3.17.8
-* QT 
BINDINGS---------------------------------------------------------------------------------------------------
-    - PyQt5 Version................. 5.12.1
-    - PyQt5 Qt Version.............. 5.12.2
-    - PySide2 Version............... 5.12.2
-    - PySide2 Qt Version............ 5.12.2
-* QT 
ABSTRACTIONS-----------------------------------------------------------------------------------------------
-    - qtpy Version.................. 1.7.0
+    - Implementation Version........ 3.8.2
+* CONDA 
DISTRIBUTION-------------------------------------------------------------
+    - Version....................... 4.8.3
+    - Build......................... 3.18.11
+* QT 
BINDINGS--------------------------------------------------------------------
+    - PyQt5 Version................. 5.14.2
+    - PyQt5 Qt Version.............. 5.14.2
+* QT 
ABSTRACTIONS----------------------------------------------------------------
+    - qtpy Version.................. 1.9.0
     - qtpy Binding.................. pyqt5
     - qtpy Binding Variable......... os.environ['QT_API']
     - qtpy Import Name.............. qtpy
+    - qtpy Status................... OK
     - pyqtgraph Version............. 0.10.0
     - pyqtgraph Binding............. Not set or inexistent
     - pyqtgraph Binding Variable.... os.environ['PYQTGRAPH_QT_LIB']
     - pyqtgraph Import Name......... pyqtgraph
-* 
FLOAT---------------------------------------------------------------------------------------------------------
-    - Epsilon....................... 2.220446049250313e-16
-    - Digits........................ 15
-    - Precision..................... 53
-    - Maximum....................... 1.7976931348623157e+308
-    - Maximum Exp................... 1024
-    - Max. 10 Exp................... 308
-    - Minimum....................... 2.2250738585072014e-308
-    - Miminim Exp................... -1021
-    - Min. 10 Exp................... -307
-    - Radix......................... 2
-    - Rounds........................ 1
-* 
INTEGER-------------------------------------------------------------------------------------------------------
-    - Bits per Digit................ 30
-    - Size of Digit................. 4
-* PYTHON 
PACKAGES-----------------------------------------------------------------------------------------------
-    - alabaster..................... 0.7.12
-    - appdirs....................... 1.4.3
-    - asn1crypto.................... 0.24.0
-    - ...
-* CONDA 
PACKAGES------------------------------------------------------------------------------------------------
-    - alabaster..................... 0.7.12
-    - appdirs....................... 1.4.3
-    - asn1crypto.................... 0.24.0
-    - ...
+    - pyqtgraph Status.............. OK
+    - Qt Version.................... 1.2.5
+    - Qt Binding.................... PyQt5
+    - Qt Binding Variable........... Qt.__binding__
+    - Qt Import Name................ Qt
+    - Qt Status..................... OK
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/examples/help.txt 
new/helpdev-v0.7.1/examples/help.txt
--- old/helpdev-v0.6.10/examples/help.txt       2019-05-17 04:46:18.000000000 
+0200
+++ new/helpdev-v0.7.1/examples/help.txt        2020-05-05 22:16:22.000000000 
+0200
@@ -1,53 +1,57 @@
-usage: helpdev
-       [--hardware] [--os] [--thread] [--network [NETWORK]]
-       [--distributions] [--python] [--conda]
-       [--qt] [--qt-bindings] [--qt-abstractions]
-       [--packages [PACKAGES]]
-       [--packages-pip] [--packages-pip-e]
-       [--packages-conda] [--packages-conda-e]
-       [--numbers] [--float] [--int]
-       [--personal] [--path] [--scope]
-       [--all]
-       [--all-for-sure]
-       [--version]
-       [--help]
+usage: helpdev [--hardware] [--os] [--thread] [--network [NETWORK]]
+               [--distributions] [--python] [--conda]
+               [--packages [PACKAGES]]
+               [--packages-pip] [--packages-pip-e]
+               [--packages-conda] [--packages-conda-e]
+               [--qt] [--qt-bindings] [--qt-abstractions]
+               [--numbers] [--float] [--int]
+               [--personal] [--path] [--scope]
+               [--all] [--all-for-sure]
+               [--report REPORT]
+               [--help]
+               [--version]
 
-HelpDev - Extracts information about the Python environment (hardware, OS,
-distribution, packages, paths, etc).
+HelpDev - Extracts information about the Python environment easily.
 
 optional arguments:
+  --hardware            CPU, memory and architecture (PEI)
 
---hardware            CPU, memory and architecture (PEI)
---os                  Operating system (PEI)
---thread              Threads specification in the system (PEI)
---network [NETWORK]   Network information, DNS and load for usual sites
-                      (PEI). NETWORK timeout defaults to 5s. 0 is disabled
-
---distributions       All options for distributions below (PED)
---python              Python distribution (PED)
---conda               Conda/Anaconda Python distribution (PED)
-
---qt                  All options for Qt below (PEAD)
---qt-bindings         Available Qt bindings (PyQt/Pyside) (PEAD)
---qt-abstractions     Available Qt abstractions (QtPy/Qt.Py/PyQtGraph) (PEAD)
-
---packages [PACKAGES] All options for packages below, except '-e' (PED)
-                      Filter PACKAGE(s) to report. Accepts regex, separator is 
','
---packages-pip        PIP installed packages + PIP check (PED)
---packages-pip-e      PIP locally installed packages + PIP check (PED)
---packages-conda      CONDA installed packages (PED)
---packages-conda-e    CONDA locally installed packages (PED)
-
---numbers             All options for numbers below (PEI)
---float               Float representation in the system (PEI)
---int                 Integer representation in the system (PEI)
-
---personal            All options for personal information below (PEAD)
---path                Show Python current paths i.e. 'sys.path' (PEAD)
---scope               Show Python current scope i.e. 'dir()' (PEAD)
+  --os                  Operating system (PEI)
 
---all                 Run all options above, except 'personal' (PEAD)
---all-for-sure        Run all options above, INCLUDING 'PERSONAL' (PEAD)
+  --thread              Thread specification in the system (PEI)
 
---version, -v         Show program's version number and exit
---help, -h            Show this help message and exit
+  --distributions       All options for distributions below (PED)
+  --python              Python distribution (PED)
+  --conda               Conda/Anaconda Python distribution (PED)
+
+  --packages [PACKAGES]
+                        All options for packages below, except '-e' (PED).
+                        Filter PACKAGE(s) to show. Accepts regex, separator is 
','
+  --packages-pip        PIP installed packages + PIP check (PED)
+  --packages-pip-e      PIP locally installed packages + PIP check (PED)
+  --packages-conda      CONDA installed packages (PED)
+  --packages-conda-e    CONDA locally installed packages (PED)
+
+  --qt                  All options for Qt below (PEAD)
+  --qt-bindings         Available Qt bindings (PyQt/Pyside) (PEAD)
+  --qt-abstractions     Available Qt abstractions (QtPy/Qt.Py/PyQtGraph)(PEAD)
+
+  --numbers             All options for numbers below (PEI)
+  --float               Float representation in the system (PEI)
+  --int                 Integer representation in the system (PEI)
+
+  --network [NETWORK]   Network information, DNS and load for usual sites 
(PEI).
+                        NETWORK timeout defaults to 5s. 0 is disabled
+
+  --personal            All options for personal information below (PEAD)
+  --path                Show Python current paths i.e. 'sys.path' (PEAD)
+  --scope               Show Python current scope i.e. 'dir()' (PEAD)
+
+  --all                 Run all options above, except 'personal' (PEAD)
+  --all-for-sure        Run all options above, INCLUDING 'PERSONAL' (PEAD)
+
+  --report REPORT       Apply a custom filter from REPORT package.
+                        The filter is given by REPORT.custom_helpdev(version)
+
+  --help, -h            Show the program's help
+  --version, -v         Show the program's version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/help.txt new/helpdev-v0.7.1/help.txt
--- old/helpdev-v0.6.10/help.txt        1970-01-01 01:00:00.000000000 +0100
+++ new/helpdev-v0.7.1/help.txt 2020-05-05 22:16:22.000000000 +0200
@@ -0,0 +1,44 @@
+* 
HARDWARE-----------------------------------------------------------------------
+    - Machine....................... x86_64
+    - Processor..................... Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
+    - Total Memory.................. 16661 MB
+    - Free Memory................... 1560 MB
+    - Total Swap.................... 2147 MB
+    - Free Swap..................... 2082 MB
+* OPERATING 
SYSTEM---------------------------------------------------------------
+    - System........................ Linux
+    - Release....................... 5.3.0-51-generic
+    - Platform...................... 
Linux-5.3.0-51-generic-x86_64-with-glibc2.10
+    - Version....................... #44~18.04.2-Ubuntu SMP Thu Apr 23 
14:27:18 UTC 2020
+* 
THREADS------------------------------------------------------------------------
+    - Version....................... NPTL 2.27
+    - Name.......................... pthread
+    - Lock.......................... semaphore
+* PYTHON 
DISTRIBUTION------------------------------------------------------------
+    - Version....................... 3.8.2
+    - C Compiler.................... GCC 7.3.0
+    - C API Version................. 1013
+    - Implementation................ cpython
+    - Implementation Version........ 3.8.2
+* CONDA 
DISTRIBUTION-------------------------------------------------------------
+    - Version....................... 4.8.3
+    - Build......................... 3.18.11
+* QT 
BINDINGS--------------------------------------------------------------------
+    - PyQt5 Version................. 5.14.2
+    - PyQt5 Qt Version.............. 5.14.2
+* QT 
ABSTRACTIONS----------------------------------------------------------------
+    - qtpy Version.................. 1.9.0
+    - qtpy Binding.................. pyqt5
+    - qtpy Binding Variable......... os.environ['QT_API']
+    - qtpy Import Name.............. qtpy
+    - qtpy Status................... OK
+    - pyqtgraph Version............. 0.10.0
+    - pyqtgraph Binding............. Not set or inexistent
+    - pyqtgraph Binding Variable.... os.environ['PYQTGRAPH_QT_LIB']
+    - pyqtgraph Import Name......... pyqtgraph
+    - pyqtgraph Status.............. OK
+    - Qt Version.................... 1.2.5
+    - Qt Binding.................... PyQt5
+    - Qt Binding Variable........... Qt.__binding__
+    - Qt Import Name................ Qt
+    - Qt Status..................... OK
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/helpdev/__init__.py 
new/helpdev-v0.7.1/helpdev/__init__.py
--- old/helpdev-v0.6.10/helpdev/__init__.py     2019-05-17 04:46:18.000000000 
+0200
+++ new/helpdev-v0.7.1/helpdev/__init__.py      2020-05-05 22:16:22.000000000 
+0200
@@ -14,7 +14,7 @@
 
 """
 
-__version__ = "0.6.10"
+__version__ = "0.7.1"
 
 import copy
 import os
@@ -26,7 +26,10 @@
 import time
 import warnings
 
-import importlib_metadata
+if sys.version_info >= (3, 8):
+    from importlib import metadata as importlib_metadata
+else:
+    import importlib_metadata  # pylint: disable=import-error
 
 if sys.version_info >= (3, 4):
     import importlib.util
@@ -60,8 +63,53 @@
 }
 
 
-def _filter(dict_packages, expression):
-    """Filter the dict_packages with expression.
+def _run_subprocess_split(command):
+    """Run command in subprocess and return the splited output.
+
+    Returns:
+        str: Splited output from command execution.
+    """
+
+    output = subprocess.check_output(command, shell=False)
+
+    if sys.version_info >= (3, 0):
+        output = str(output, 'utf-8').strip()
+    else:
+        output = unicode(output, 'utf-8').strip()  # noqa, pylint: 
disable=undefined-variable
+
+    return output
+
+
+def print_output(info_dict):
+    """Print output in a nested list format."""
+    for key, sub_dict in info_dict.items():
+        print('* {:-<79}'.format(key))
+        for sub_key, sub_value in sub_dict.items():
+            print('    - {:.<30} {}'.format(sub_key, sub_value))
+
+
+def filter_packages(dict_packages, expression):
+    """Filter the dict_packages with expression regex.
+
+    In the expression, each item separated by comma is splitted and then
+    surrounded parenthesis (i.e. group), then joined with OR (``|``).
+    The expressions are finally started to match the begin until the
+    end ignoring case (``i``). See the example below ::
+
+        expression = "sphinx.*,qtpy,PYQT5"
+
+
+    Then it will be processed resulting in ::
+
+        expression = "(?i:^((sphinx.*)|(qtpy)|(PYQT5))$)"
+
+
+    If the expression of all of them not match with the package name,
+    this package is removed from the dict (a copy of it).
+
+    Args:
+        dict_packages (dict): Dictionary with package_name:version_number.
+        expression (str): Regular expression separated by commas.
 
     Returns:
         dict(rst): Filtered dict with that matches the expression.
@@ -80,32 +128,78 @@
     return cp_dict_packages
 
 
-def _run_subprocess_split(command):
-    """Run command in subprocess and return the splited output.
+def customize(package):
+    """Get the custom filter from the package imported.
+
+    This is a way to promote a standard format to get a customized information
+    from a specific package. This function try to import the package and
+    run the public method ``get_custom_helpdev(help_dev_version='')`` from
+    that package which gives a customized filter to provide the results.
+
+    For example, this line ::
+
+        info_dict = helpdev.customize('spyder')
+
+    will try this ::
+
+        from spyder import get_custom_helpdev
+        custom_filter = get_custom_helpdev(helpdev.__version__)
+
+    Then, it will apply that filter.
+
+    Args:
+        package (str): Import name to check installation.
 
     Returns:
-        str: Splited output from command execution.
+        dict(str): Customized information from imported packages.
     """
 
-    output = subprocess.check_output(command, shell=False)
+    info = {'REPORT': {}}
 
-    if sys.version_info >= (3, 0):
-        output = str(output, 'utf-8').strip()
+    # Only contains installed packages
+    installed = check_installed([package])
+
+    if installed:
+        sys_path = sys.path
+        try:
+            mod = importlib.import_module(package)
+            custom_filter = mod.custom_helpdev(__version__)
+        except AttributeError:
+            info['REPORT'] = {'Status': "Unknown, package '{}' does not "
+                                        "provide 'custom_helpdev()' "
+                                        "function.".format(package)}
+        except Exception as err:  # noqa:W0703, pylint: disable=broad-except
+            info['REPORT'] = {'Status': "Error, '{}'".format(str(err))}
+        else:
+            info['REPORT'] = {'Filter': "{}".format(custom_filter)}
+            for item in custom_filter:
+                if isinstance(item, str):
+                    info['REPORT'][item] = 'str'
+                elif isinstance(item, tuple):
+                    info['REPORT'][item[0]] = 'tuple'
+                else:
+                    msg = "Unknown, filter has a unknown item/format '{}'."
+                    info['REPORT'] = {'Status': msg.format(item)}
+                    break
+
+        sys.path = sys_path
     else:
-        output = unicode(output, 'utf-8').strip()  # noqa, pylint: 
disable=undefined-variable
+        info['REPORT'] = {'Status': "Not installed, package 
'{}'.".format(package)}
 
-    return output
+    return info
 
 
 def check_installed(import_list):
     """Return a list of installed packages from import_list.
 
+    Note that the strings in the list must match the import name, e.g.
+    pyqt5 will not work as the import name is PyQt5.
+
     Args:
         import_list (list(str)): List of of import names to check installation.
 
     Returns:
         list(str): Filtered list of installed packages.
-
     """
 
     # Disable warnings here
@@ -116,7 +210,6 @@
     # when removing the element, it reflects on for list
     # so it skips next element
     for current_import in import_list:
-
         spec = True
         # Copy the sys path to make sure to not insert anything
         sys_path = sys.path
@@ -147,18 +240,10 @@
     return import_list_return
 
 
-def print_output(info_dict):
-    """Print output in a nested list format."""
-    for key, sub_dict in info_dict.items():
-        print('* {:-<79}'.format(key))
-        for sub_key, sub_value in sub_dict.items():
-            print('    - {:.<30} {}'.format(sub_key, sub_value))
-
-
 def check_hardware():
     """Check hardware information.
 
-    It uses subprocess commands for each system along with psutil library.
+    It uses subprocess commands for each system along with ``psutil`` library.
     So you need to install psutil library.
 
     Returns:
@@ -186,15 +271,18 @@
         all_info = _run_subprocess_split(['wmic', 'cpu', 'get', 'name'])
         if "Name" in all_info:
             cpu = all_info.replace('Name', '')
+
+    # Get info about memory
     try:
-        import psutil
+        import psutil  # analysis: ignore, pylint: 
disable=import-outside-toplevel
+    except ImportError:
+        mem = 'Unknown, needs psutil library'
+        swap = swap_free = mem_free = mem
+    else:
         mem = str(int(psutil.virtual_memory().total / 1000000)) + " MB"
         mem_free = str(int(psutil.virtual_memory().free / 1000000)) + " MB"
         swap = str(int(psutil.swap_memory().total / 1000000)) + " MB"
         swap_free = str(int(psutil.swap_memory().free / 1000000)) + " MB"
-    except ImportError:
-        mem = 'Unknown, needs psutil library'
-        swap = swap_free = mem_free = mem
 
     info = {'HARDWARE':
             {'Machine': platform.machine(),
@@ -305,6 +393,14 @@
     return info
 
 
+def check_numbers():
+    """Check numbers related float and integer information."""
+    info = {}
+    info.update(check_float())
+    info.update(check_int())
+    return info
+
+
 def check_network(timeout):
     """Check network connection for URLS list with timeout.
 
@@ -323,7 +419,7 @@
     if timeout > 0:
         socket.setdefaulttimeout(timeout)
     else:
-        info['NETWORK']['Timeout'] = 'Must be > 0s'
+        info['NETWORK']['Timeout'] = 'Unknown, must be > 0s'
         return info
 
     for name, url in URLS.items():
@@ -421,7 +517,7 @@
         info['PYTHON PACKAGES'][cleaned[0]] = cleaned[1]
 
     if packages:
-        info['PYTHON PACKAGES'] = _filter(info['PYTHON PACKAGES'], packages)
+        info['PYTHON PACKAGES'] = filter_packages(info['PYTHON PACKAGES'], 
packages)
 
     return info
 
@@ -465,7 +561,8 @@
 
     try:
         if not edit_mode:
-            all_packages = _run_subprocess_split(['conda', 'list', '--no-pip', 
'--export'])
+            all_packages = _run_subprocess_split(['conda', 'list', '--no-pip',
+                                                  '--export'])
         else:
             all_packages = _run_subprocess_split(['conda', 'list', '--no-pip',
                                                   '--export', '--develop'])
@@ -482,7 +579,7 @@
             info['CONDA PACKAGES'][cleaned[0]] = cleaned[1]
 
     if packages:
-        info['CONDA PACKAGES'] = _filter(info['CONDA PACKAGES'], packages)
+        info['CONDA PACKAGES'] = filter_packages(info['CONDA PACKAGES'], 
packages)
 
     return info
 
@@ -530,6 +627,14 @@
     return info
 
 
+def check_qt():
+    """Check Qt related bindings and abstractions information."""
+    info = {}
+    info.update(check_qt_bindings)
+    info.update(check_qt_abstractions)
+    return info
+
+
 def installed_qt_bindings():
     """Return a list of qt bindings available.
 
@@ -590,7 +695,7 @@
 
     if import_name == 'pyqtgraph':
         try:
-            from pyqtgraph import __version__ as api_version  # analysis:ignore
+            from pyqtgraph import __version__ as api_version  # analysis: 
ignore, pylint: disable=import-outside-toplevel
         except ImportError:
             raise ImportError('PyQtGraph cannot be imported.')
         except Exception as err:  # noqa:W0703, pylint: disable=broad-except
@@ -606,7 +711,7 @@
 
     elif import_name == 'qtpy':
         try:
-            from qtpy import __version__ as api_version  # analysis:ignore
+            from qtpy import __version__ as api_version  # analysis: ignore, 
pylint: disable=import-outside-toplevel
         except ImportError:
             raise ImportError('QtPy cannot be imported.')
         except RuntimeError as err:
@@ -623,8 +728,8 @@
 
     elif import_name == 'Qt':
         try:
-            from Qt import __version__ as api_version  # analysis:ignore
-            from Qt import __binding__ as env_var  # analysis:ignore
+            from Qt import __version__ as api_version  # analysis: ignore, 
pylint: disable=import-outside-toplevel
+            from Qt import __binding__ as env_var  # analysis: ignore, pylint: 
disable=import-outside-toplevel
         except ImportError as err:
             # this error is the same if a problem with binding appears
             # as this function should be used with already known installed
@@ -669,29 +774,29 @@
 
     if import_name == 'PyQt4':
         try:
-            from PyQt4.Qt import PYQT_VERSION_STR as api_version  # 
analysis:ignore
-            from PyQt4.Qt import QT_VERSION_STR as qt_version  # 
analysis:ignore
+            from PyQt4.Qt import PYQT_VERSION_STR as api_version  # analysis: 
ignore, pylint: disable=import-outside-toplevel
+            from PyQt4.Qt import QT_VERSION_STR as qt_version  # analysis: 
ignore, pylint: disable=import-outside-toplevel
         except ImportError:
             raise ImportError('PyQt4 cannot be imported.')
 
     elif import_name == 'PyQt5':
         try:
-            from PyQt5.QtCore import PYQT_VERSION_STR as api_version  # 
analysis:ignore
-            from PyQt5.QtCore import QT_VERSION_STR as qt_version  # 
analysis:ignore
+            from PyQt5.QtCore import PYQT_VERSION_STR as api_version  # 
analysis: ignore, pylint: disable=import-outside-toplevel
+            from PyQt5.QtCore import QT_VERSION_STR as qt_version  # analysis: 
ignore, pylint: disable=import-outside-toplevel
         except ImportError:
             raise ImportError('PyQt5 cannot be imported.')
 
     elif import_name == 'PySide':
         try:
-            from PySide import __version__ as api_version  # analysis:ignore
-            from PySide.QtCore import __version__ as qt_version  # 
analysis:ignore
+            from PySide import __version__ as api_version  # analysis: ignore, 
pylint: disable=import-outside-toplevel
+            from PySide.QtCore import __version__ as qt_version  # analysis: 
ignore, pylint: disable=import-outside-toplevel
         except ImportError:
             raise ImportError('PySide cannot be imported.')
 
     elif import_name == 'PySide2':
         try:
-            from PySide2 import __version__ as api_version  # analysis:ignore
-            from PySide2.QtCore import __version__ as qt_version  # 
analysis:ignore
+            from PySide2 import __version__ as api_version  # analysis: 
ignore, pylint: disable=import-outside-toplevel
+            from PySide2.QtCore import __version__ as qt_version  # analysis: 
ignore, pylint: disable=import-outside-toplevel
         except ImportError:
             raise ImportError('PySide2 cannot be imported.')
     else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/helpdev/__main__.py 
new/helpdev-v0.7.1/helpdev/__main__.py
--- old/helpdev-v0.6.10/helpdev/__main__.py     2019-05-17 04:46:18.000000000 
+0200
+++ new/helpdev-v0.7.1/helpdev/__main__.py      2020-05-05 22:16:22.000000000 
+0200
@@ -28,36 +28,29 @@
         argparse.Namespace: parsed arguments.
     """
     parser = argparse.ArgumentParser(
-        formatter_class=argparse.ArgumentDefaultsHelpFormatter,
-        description=__doc__.split("\n")[0])
+        description=__doc__.split("\n")[0],
+        add_help=False,
+        formatter_class=argparse.RawTextHelpFormatter)
 
     parser.add_argument('--hardware', action='store_true',
-                        help="CPU, memory and architecture (PEI)")
+                        help="CPU, memory and architecture (PEI)\n\n")
+
     parser.add_argument('--os', action='store_true',
-                        help="Operating system (PEI)")
+                        help="Operating system (PEI)\n\n")
+
     parser.add_argument('--thread', action='store_true',
-                        help="Threads specification in the system (PEI)")
-    parser.add_argument('--network', nargs='?', const=5, default=None, 
type=int,
-                        help="Network information, DNS and load for usual 
sites (PEI). "
-                             "NETWORK timeout defaults to 5s. 0 is disabled.")
+                        help="Thread specification in the system (PEI)\n\n")
 
     parser.add_argument('--distributions', action='store_true',
                         help="All options for distributions below (PED)")
     parser.add_argument('--python', action='store_true',
                         help="Python distribution (PED)")
     parser.add_argument('--conda', action='store_true',
-                        help="Conda/Anaconda Python distribution (PED)")
-
-    parser.add_argument('--qt', action='store_true',
-                        help="All options for Qt below (PEAD)")
-    parser.add_argument('--qt-bindings', action='store_true',
-                        help="Available Qt bindings (PyQt/Pyside) (PEAD)")
-    parser.add_argument('--qt-abstractions', action='store_true',
-                        help="Available Qt abstractions (QtPy/Qt.Py/PyQtGraph) 
(PEAD)")
+                        help="Conda/Anaconda Python distribution (PED)\n\n")
 
     parser.add_argument('--packages', nargs='?', const="", default=None, 
type=str,
-                        help="All options for packages below, except '-e' 
(PED)"
-                        "Filter PACKAGE(s) to report. Accepts regex, separator 
is ','")
+                        help="All options for packages below, except '-e' 
(PED).\n"
+                             "Filter PACKAGE(s) to show. Accepts regex, 
separator is ','")
     parser.add_argument('--packages-pip', action='store_true',
                         help="PIP installed packages + PIP check (PED)")
     parser.add_argument('--packages-pip-e', action='store_true',
@@ -65,29 +58,47 @@
     parser.add_argument('--packages-conda', action='store_true',
                         help="CONDA installed packages (PED)")
     parser.add_argument('--packages-conda-e', action='store_true',
-                        help="CONDA locally installed packages (PED)")
+                        help="CONDA locally installed packages (PED)\n\n")
+
+    parser.add_argument('--qt', action='store_true',
+                        help="All options for Qt below (PEAD)")
+    parser.add_argument('--qt-bindings', action='store_true',
+                        help="Available Qt bindings (PyQt/Pyside) (PEAD)")
+    parser.add_argument('--qt-abstractions', action='store_true',
+                        help="Available Qt abstractions 
(QtPy/Qt.Py/PyQtGraph)(PEAD)\n\n")
 
     parser.add_argument('--numbers', action='store_true',
                         help="All options for numbers below (PEI)")
     parser.add_argument('--float', action='store_true',
                         help="Float representation in the system (PEI)")
     parser.add_argument('--int', action='store_true',
-                        help="Integer representation in the system (PEI)")
+                        help="Integer representation in the system (PEI)\n\n")
+
+    parser.add_argument('--network', nargs='?', const=5, default=None, 
type=int,
+                        help="Network information, DNS and load for usual 
sites (PEI). \n"
+                             "NETWORK timeout defaults to 5s. 0 is 
disabled\n\n")
 
     parser.add_argument('--personal', action='store_true',
                         help="All options for personal information below 
(PEAD)")
     parser.add_argument('--path', action='store_true',
                         help="Show Python current paths i.e. 'sys.path' 
(PEAD)")
     parser.add_argument('--scope', action='store_true',
-                        help="Show Python current scope i.e. 'dir()' (PEAD)")
+                        help="Show Python current scope i.e. 'dir()' 
(PEAD)\n\n")
 
     parser.add_argument('--all', action='store_true',
                         help="Run all options above, except 'personal' (PEAD)")
     parser.add_argument('--all-for-sure', action='store_true',
-                        help="Run all options above, INCLUDING 'PERSONAL' 
(PEAD)")
+                        help="Run all options above, INCLUDING 'PERSONAL' 
(PEAD)\n\n")
+
+    parser.add_argument('--report', default=None, type=str,
+                        help="Apply a custom filter from REPORT package.\n"
+                             "The filter is given by 
REPORT.custom_helpdev(version)\n\n")
 
+    parser.add_argument('--help', '-h', action='help',
+                        help="Show the program's help")
     parser.add_argument('--version', '-v', action='version',
-                        version='v{}'.format(helpdev.__version__))
+                        version='v{}'.format(helpdev.__version__),
+                        help="Show the program's version")
 
     arguments = parser.parse_args()
 
@@ -114,16 +125,22 @@
     if args.thread or args.all or no_args:
         info.update(helpdev.check_thread())
 
-    # Network info
-    if args.network:
-        info.update(helpdev.check_network(args.network))
-
     # Distribution info
     if args.python or args.all or no_args or args.distributions:
         info.update(helpdev.check_python())
     if args.conda or args.all or no_args or args.distributions:
         info.update(helpdev.check_conda())
 
+    # Packages, PIP and Conda info
+    if args.packages_pip or args.all or args.packages or args.packages == '':
+        info.update(helpdev.check_python_packages(packages=args.packages))
+    if args.packages_pip_e:
+        info.update(helpdev.check_python_packages(edit_mode=True, 
packages=args.packages))
+    if args.packages_conda or args.all or args.packages or args.packages == '':
+        info.update(helpdev.check_conda_packages(packages=args.packages))
+    if args.packages_conda_e or args.all:
+        info.update(helpdev.check_conda_packages(edit_mode=True, 
packages=args.packages))
+
     # Qt, binding and abstraction info
     if args.qt_bindings or args.qt or args.all or no_args:
         info.update(helpdev.check_qt_bindings())
@@ -136,15 +153,9 @@
     if args.int or args.all or args.numbers:
         info.update(helpdev.check_int())
 
-    # Packages, PIP and Conda info
-    if args.packages_pip or args.all or args.packages or args.packages == '':
-        info.update(helpdev.check_python_packages(packages=args.packages))
-    if args.packages_pip_e:
-        info.update(helpdev.check_python_packages(edit_mode=True, 
packages=args.packages))
-    if args.packages_conda or args.all or args.packages or args.packages == '':
-        info.update(helpdev.check_conda_packages(packages=args.packages))
-    if args.packages_conda_e or args.all:
-        info.update(helpdev.check_conda_packages(edit_mode=True, 
packages=args.packages))
+    # Network info
+    if args.network:
+        info.update(helpdev.check_network(args.network))
 
     # Personal info for self-check, not executed when --all is passed
     # Needs to use all-for-sure to be listed
@@ -154,4 +165,9 @@
     if args.scope or args.all_for_sure or args.personal:
         info.update(helpdev.check_scope())
 
+    if args.report:
+        info.update(helpdev.customize(package=args.report))
+    elif args.report == '':
+        print("You must pass a package name to report [--report PACKAGE_NAME]")
+
     helpdev.print_output(info)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/setup.py new/helpdev-v0.7.1/setup.py
--- old/helpdev-v0.6.10/setup.py        2019-05-17 04:46:18.000000000 +0200
+++ new/helpdev-v0.7.1/setup.py 2020-05-05 22:16:22.000000000 +0200
@@ -49,8 +49,6 @@
     'Operating System :: MacOS',
     'Operating System :: Microsoft :: Windows',
     'Operating System :: POSIX',
-    'Programming Language :: Python :: 2.7',
-    'Programming Language :: Python :: 3.4',
     'Programming Language :: Python :: 3.6',
     'Programming Language :: Python :: 3.7',
     'Programming Language :: Python :: 3.8',
@@ -62,12 +60,13 @@
     'Topic :: Software Development :: Testing',
     'Topic :: Terminals']
 
-_requires = ['importlib_metadata', 'psutil>=5.6']
+_requires = ['importlib_metadata;python_version<"3.8"']
 
 setup(name='helpdev',
       version=_version,
       description='HelpDev - Extracts information about the Python environment 
easily.',
       long_description=_long_description,
+      license='MIT',
       license_file='LICENSE.rst',
       author='Daniel Cosmo Pizetta',
       author_email='daniel.pize...@usp.br',
@@ -76,6 +75,10 @@
       packages=find_packages(),
       classifiers=_classifiers,
       install_requires=_requires,
+      extras_require={
+          'memory_info': ['psutil>=5.6'],
+      },
+      include_package_data=True,
       entry_points={"console_scripts": ["helpdev=helpdev.__main__:main"]},
       url='https://gitlab.com/dpizetta/helpdev',
       project_urls={
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/helpdev-v0.6.10/tox.ini new/helpdev-v0.7.1/tox.ini
--- old/helpdev-v0.6.10/tox.ini 2019-05-17 04:46:18.000000000 +0200
+++ new/helpdev-v0.7.1/tox.ini  2020-05-05 22:16:22.000000000 +0200
@@ -2,9 +2,9 @@
 
 envlist =
     # tests without qt binding because they are hard to install via pip
-    {win,lin,mac}-{py27,py34,py36,py37}-{build}
-    {win,lin,mac}-{py36}-{doc,release}
-    {win,lin,mac}-{py36}-{test,lint,safety,metric,develop}-{pyqt,pyside}
+    {win,lin,mac}-{py36,py37,py38}-{build}
+    {win,lin,mac}-{py38}-{doc,release}
+    {win,lin,mac}-{py38}-{test,lint,safety,metric,develop}-{pyqt,pyside}
 
 [testenv]
 
@@ -22,9 +22,7 @@
 
 deps =
     # Must be first
-    pyqt: vtk
     pyqt: pyqt5
-    pyside: vtk
     pyside: pyside2
 
     # Dependencies for each environment
@@ -49,25 +47,30 @@
     # try generate build
     build: python setup.py sdist bdist_wheel
     # try install with pip
-    build: pip install .
+    build: python -m pip install .
     # try execute without bindings
     build: helpdev --all-for-sure
 
     # test with abstraction qtpy
-    build: pip install qtpy
+    build: python -m pip install qtpy
     build: helpdev --qt
     # test with abstraction pyqtgraph
-    build: pip install pyqtgraph
+    build: python -m pip install pyqtgraph
     build: helpdev --qt
     # test with abstraction qt.py
-    build: pip install qt.py
+    build: python -m pip install qt.py
     build: helpdev --qt
 
-    # try execute with bindings
+    # test with binding pyqt
+    # It needs to solve many problems in gitlab side to make this work
+    # build: python -m pip install pyqt5
+    # build: helpdev --qt
+
+    # check all info
     build: helpdev --all-for-sure
 
     # check depedencies
-    build: pip check
+    build: python -m pip check
 
     # TEST -------------------------------------------------------------------
 
@@ -112,7 +115,7 @@
     # Documentation - generate apidocs, build html, build latex, build pdf
     doc: make clean
     doc: sphinx-build -b html -j auto -E -d "." "." 
"{toxworkdir}/../build/docs/html"
-    doc: sphinx-build -b latex -j auto -E -d 
"{toxworkdir}/../build/docs/doctrees" . "{toxworkdir}/../build/docs/latex"
+    doc: sphinx-build -b latex -j auto -E -d 
"{toxworkdir}/../build/docs/doctrees" "." "{toxworkdir}/../build/docs/latex"
     doc: make --ignore-errors --keep-going --silent -C 
"{toxworkdir}/../build/docs/latex" all-pdf
 
     # RELEASE ---------------------------------------------------------------
@@ -121,11 +124,11 @@
     release: twine check dist/*
     # try upload in test platform before the oficial
     release: twine upload --repository-url https://test.pypi.org/legacy/ dist/*
-    release: pip install --index-url https://test.pypi.org/simple/ helpdev
+    release: python -m pip install --index-url https://test.pypi.org/simple/ 
helpdev
     # upload to oficial
     release: twine upload dist/*
-    release: pip uninstall helpdev
-    release: pip install helpdev
+    release: python -m pip uninstall helpdev
+    release: python -m pip install helpdev
 
 usedevelop =
     develop: True
@@ -155,11 +158,12 @@
 [doc8]
 
 extension = .rst
+ignore = D001
 file-encoding = "utf-8"
 ignore-path =
     .tox,.env,.venv,build,dist,tests,examples,ui,*.egg-info*,*cache*,.coverage,
     */.tox/*,*/.env/*,*/.venv/*,*/build/*,*/dist/*,*/tests/*,*/ui/*,*/*.egg*,
-    */.*,*/.coverage,*/./venv/*,./venv
+    */.*,*/.coverage,*/./venv/*,./venv,*/examples/*
 
 # PYLAMA #####################################################################
 


Reply via email to