==================
python_plus 2.0.15
==================
|Maturity| |license gpl|
Overview
========
python-plus adds various features to python 2 and python 3 programs.
It is designed to be used as integration of pypi future to help to port your code from
Python 2 to Python 3 and still have it run on Python 2.
Python supplemental features
----------------------------
list_requirements.py: list environment requirements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This command is an internal command of python-plus but may be used as own command.
list_requirements.py displays the pypi and binaries packages needed to create a virtual
environment.
It is specially designed to show Odoo requirements.
Passing Odoo path it reads requirements.txt files in path and setup directories of OCA
repositories.
vem: virtual environment manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This command is an interactive tool with some nice features to manage standard virtual
environment.
Mainly it works ad standard pip but inside a specific virtual environment.
Usage
=====
Code example
------------
Simple examples of code
class / type test
~~~~~~~~~~~~~~~~~
Test if a string is unicode.
On Py2, this gives us:
>>> s = 'Hello World'
>>> isinstance(object, str)
True
On Py3, this gives us:
>>> s = b'Hello World'
>>> isinstance(object, bytes)
True
Then, for example, the following code has the same effect on Py2 as on Py3:
>>> from python_plus import isbytestr
>>> s = b'Hello World'
>>> isbytestr(s)
True
quoted string
~~~~~~~~~~~~~
Using class __:
>>> from python_plus import __
>>> my_str_list = __('abc,"d,e",fgh')
>>> my_list = my_str_list.qsplit(my_str_list)
>>> print my_list
['abc', 'd,e', 'fgh']
|
General function:
>>> from python_plus import qsplit
>>> my_str_list = 'abc,"d,e",fgh'
>>> my_list = qsplit(my_str_list)
>>> print my_list
['abc', 'd,e', 'fgh']
Code reference
~~~~~~~~~~~~~~
`` str.qslit(sep=None, maxsplit=-1, quotes=['"', '"'], escape=None, enquote=None, strip=None)``
Like split function return a list of the words in the string, using sep as the delimiter string. If maxsplit is given, at most maxsplit splits are done (thus, the list will have at most maxsplit+1 elements). If maxsplit is not specified or -1, then there is no limit on the number of splits (all possible splits are made).
If sep is given, consecutive delimiters are not grouped together and are deemed to delimit empty strings (for example, '1,,2'.split(',') returns ['1', '', '2']). The sep argument may consist of multiple characters (for example, '1<>2<>3'.split('<>') returns ['1', '2', '3']). Splitting an empty string with a specified separator returns [''].
If quotes is given, it is used to recognize quoted string: the sep tokens inside quoted string are ignored. The paramters quotes may be a string or a list. If it is a string trailing and ending delimiters are the same, like usual python string; if list is given, the first element is initial delimiter and the second element is the final delimiter like in html tag.
If escape is given, it is used to escape delimiters.
If enquote is True, returned list elements are enquoted by delimiters.
If strip is Tru, trailing and tailing spaces in returned list elements are removed.
For example:
>>> my_str_list = __('abc,"d,e",fgh')
>>> print my_str_list.qsplit(my_str_list)
['abc', 'd,e', 'fgh']
vem: virtual environment manager
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
Usage: vem.sh [-h][-a list][-BCD][-d paths][-E distro][-f][-F name][-gkIi][-l iso][-n][-O version][-o dir][-p pyver][-q][-r file][-stVvy] p3 p4 p5 p6 p7 p8 p9
Manage virtual environment
action may be: help amend cp check create exec info inspect install merge mv python shell rm show uninstall update test
-h --help this help
-a list bin packages to install (* means wkhtmltopdf,lessc)
-B use unstable packages: -B testpypi / -BB from ~/tools / -BBB from ~/pypi / -BBBB link to local ~/pypi
-C clear cache before executing pip command
-D --devel create v.environment with development packages
-d --dep-path paths
odoo dependencies paths (comma separated)
-E --distro distro
simulate Linux distro: like Ubuntu20 Centos7 etc (requires -n switch)
-f --force force v.environment create, even if exists or inside another virtual env
-F name simulate Linux family: may be RHEL or Debian (requires -n switch)
-g --global install npm packages globally
-k --keep keep python2 executable as python (deprecated)
-I --indipendent run pip in an isolated mode and set home virtual directory
-i --isolated run pip in an isolated mode, ignoring environment variables and user configuration
-l --lang iso
set default language
-n --dry_run do nothing (dry-run)
-O --odoo-ver version
install pypi required by odoo version (amend or create)
-o --odoo-path dir
odoo path used to search odoo requirements
-p --python pyver
python version
-q --quiet silent mode
-r --requirement file
after created v.environment install from the given requirements file
-s --system-site-pack
create v.environment with access to the global site-packages
-t --travis activate environment for travis test
-V --version show version
-v --verbose verbose mode
-y --yes assume yes
vem is an interactive tool with some nice features to manage standard virtual environment.
Action is one of:
* help
* amend [OPTIONS] [VENV]
* check [OPTIONS] [VENV]
* cp [OPTIONS] SRC_VENV TGT_ENV
* create -p PYVER [OPTIONS] [VENV]
* exec [OPTIONS] [VENV] CMD
* info [OPTIONS] [VENV] PKG
* inspect [OPTIONS] [VENV]
* install [OPTIONS] [VENV] PKG
* merge [OPTIONS] SRC_VENV TGT_ENV
* mv [OPTIONS] SRC_VENV TGT_ENV
* python VENV
* shell VENV
* show [OPTIONS] [VENV] PKG
* uninstall [OPTIONS] [VENV] PKG
* update [OPTIONS] [VENV] PKG
* test VENV
amend [OPTIONS] [VENV]
Amend package versions against requirements. May used after 'create' when requirements are changed.
check [OPTIONS] [VENV]
Compare package versions against requirements. May be used after 'create' to check virtual environment
consistency.
cp [OPTIONS] SRC_VENV TGT_ENV
Copy SOURCE environment directory to TGT_ENV, like the bash command 'cp' and set relative path inside virtual
environment to aim the new directory name.
Copying virtual environments is not well supported.
Each virtualenv has path information hard-coded into it, and there may be cases where the copy code does not know it needs to update a particular file.
Use with caution.
create -p PYVER [OPTIONS] VENV
Create a new virtual environment directory VENV like virtualenv command but with some nice features. Switch -p
declare which python version will be used to create new environment.
This action can install various python packages to create a ready to use environment directory.
See -I -D -O -o -r switches to furthermore information.
exec [OPTIONS] [SRC_VENV] CMD ...
Execute a command in virtual environment. Enclose command by quotes.
info [OPTIONS] [SRC_VENV] PKG
Show information about pypi package if installed in virtual environment (alias of show).
inspect [OPTIONS] [VENV]
Show internal configuration.
install [OPTIONS] [SRC_VENV] PKG
Install pypi package or bin package into virtual environment.
Warning! currently just 2 bin packages can be installed: wkhtmltopdf and lessc.
merge [OPTIONS] SRC_VENV TGT_ENV
Merge 2 virtual environments.
mv [OPTIONS] SRC_VENV TGT_ENV
Move a virtual environment.
python VENV
Execute python interpreter of virtual environment with packages.
shell VENV
Execute bash inside virtual environment, with packages commands.
show [OPTIONS] [SRC_VENV] PKG
Show information about pypi package if installed in virtual environment (alias of info).
uninstall [OPTIONS] [SRC_VENV] PKG
Uninstall pypi package from virtual environment.
update [OPTIONS] [SRC_VENV] PKG
Upgrade pypi package in virtual environment.
test VENV
Execute pip check inside vritual environment.
Getting started
===============
Prerequisites
-------------
Zeroincombenze(R) tools requires:
* Linux Centos 7/8 or Debian 9/10/11 or Ubuntu 16/18/20/22/24
* python 2.7+, some tools require python 3.7+, best python 3.9+
* bash 5.0+
Installation
------------
Stable version via Python Package
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
pip install python_plus
Current version via Git
~~~~~~~~~~~~~~~~~~~~~~~
::
cd $HOME
[[ ! -d ./tools ]] && git clone https://github.com/zeroincombenze/tools.git
cd ./tools
./install_tools.sh -pUT
source $HOME/devel/activate_tools
Upgrade
-------
Stable version via Python Package
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
pip install --upgrade python_plus
Current version via Git
~~~~~~~~~~~~~~~~~~~~~~~
::
cd ./tools
./install_tools.sh -pUT
source $HOME/devel/activate_tools
ChangeLog History
-----------------
2.0.15 (2024-10-02)
~~~~~~~~~~~~~~~~~~~
* [FIX] vem.py: some packages line invoice2data on python 10.0
* [FIX] vem: upgrade wkhtmltopdf naming
* [FIX] list_requirements.py: packages with similar name (numpy -> numpy-financial)
* [IMP] list_requirements.py: package versions improvements
2.0.14 (2024-07-08)
~~~~~~~~~~~~~~~~~~~
* [IMP] list_requirements.py: package versions improvements
* [IMP] Python 3.6 deprecated
2.0.13 (2024-05-11)
~~~~~~~~~~~~~~~~~~~
* [IMP] list_requirements.py: package versions improvements
* [FIX] list_requirements.py: in some rare cases wrong version to apply (factur-x)
* [IMP] vem: now pip<23 and setuptools<58 are applied just if neeeded
* [IMP] vem: pip is always updated to last version
2.0.12 (2024-02-29)
~~~~~~~~~~~~~~~~~~~
* [IMP] New function str2bool()
2.0.11 (2024-02-05)
~~~~~~~~~~~~~~~~~~~
* [FIX] vem: show right python version if 3.10+
* [IMP] list_requirements.py improvements
* [IMP] new python version assignment from odoo version
2.0.10 (2023-07-18)
~~~~~~~~~~~~~~~~~~~
* [IMP] list_requirements.py: werkzeug for Odoo 16.0
* [FIX] vem create: sometimes "virtualenv create" fails for python 2.7
* [IMP] pip install packages with use2to3 is backupgrdae to < 23
2.0.9 (2023-06-26)
~~~~~~~~~~~~~~~~~~
* [IMP] list_requirements.py: werkzeug for Odoo 16.0
* [IMP] list_requirements.py: best recognize mixed version odoo/python
* [FIX] vem: commands return application status
2.0.7 (2023-05-08)
~~~~~~~~~~~~~~~~~~
* [IMP] list_requirements.py: upgrade version for Odoo 16.0
* [REF] vem: partial refactoring
* [IMP] Mots coverage test
2.0.6 (2023-03-24)
~~~~~~~~~~~~~~~~~~
* [IMP] list_requirements.py: cryptography, pypdf2, requests & urllib3 version adjustment
* [IMP] list_requirements.py: pypdf and pypdf2 version adjustment
* [IMP] list_requirements.py: best resolution when versions conflict
* [IMP] vem: set list_requirements.py executable
2.0.5 (2022-12-23)
~~~~~~~~~~~~~~~~~~
* [IMP] list_requirements.py: refactoring version control
* [IMP] vem: now amend can check current version (with -f switch)
2.0.4 (2022-12-15)
~~~~~~~~~~~~~~~~~~
* [IMP] Package version adjustment
* [IMP] vem: amend show current package version
* [IMP] vem: no python2 warning in linux kernel 3
* [FIX] vem: best recognition of python version
2.0.3 (2022-11-08)
~~~~~~~~~~~~~~~~~~
* [IMP] npm management
* [IMP] compute_date: refdate may be a string
2.0.2.1 (2022-11-01)
~~~~~~~~~~~~~~~~~~~~
* [FIX] Ensure coverage 5.0+
2.0.2 (2022-10-20)
~~~~~~~~~~~~~~~~~~
* [FIX] vem: wrong behavior with > o < in version
* [IMP] list_requirements.py: "Crypto.Cipher": "pycrypto"
2.0.1 (2022-10-12)
~~~~~~~~~~~~~~~~~~
* [IMP] stable version
2.0.0.3 (2022-09-14)
~~~~~~~~~~~~~~~~~~~~
* [FIX] vem: install package with list_requirements.py
2.0.0.2 (2022-09-10)
~~~~~~~~~~~~~~~~~~~~
* [FIX] vem: no input inquire
2.0.0.1 (2022-09-06)
~~~~~~~~~~~~~~~~~~~~
* [IMP] vem: new switch -d for Odoo dependencies path
* [FIX] vem: create with best package list
* [FIX] vem: install odoo/openerp
2.0.0 (2022-08-10)
~~~~~~~~~~~~~~~~~~
* [IMP] Stable version
Credits
=======
Copyright
---------
SHS-AV s.r.l. <https://www.shs-av.com/>
Authors
-------
* `SHS-AV s.r.l. <https://www.zeroincombenze.it>`__
Contributors
------------
* `Antonio Maria Vigliotti <info@shs-av.com>`__
* `Antonio Maria Vigliotti <antoniomaria.vigliotti@gmail.com>`__
|
|
.. |Maturity| image:: https://img.shields.io/badge/maturity-Mature-green.png
:target: https://odoo-community.org/page/development-status
:alt:
.. |license gpl| image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |license opl| image:: https://img.shields.io/badge/licence-OPL-7379c3.svg
:target: https://www.odoo.com/documentation/user/9.0/legal/licenses/licenses.html
:alt: License: OPL
.. |Tech Doc| image:: https://www.zeroincombenze.it/wp-content/uploads/ci-ct/prd/button-docs-2.svg
:target: https://wiki.zeroincombenze.org/en/Odoo/2.0.15/dev
:alt: Technical Documentation
.. |Help| image:: https://www.zeroincombenze.it/wp-content/uploads/ci-ct/prd/button-help-2.svg
:target: https://wiki.zeroincombenze.org/it/Odoo/2.0.15/man
:alt: Technical Documentation
.. |Try Me| image:: https://www.zeroincombenze.it/wp-content/uploads/ci-ct/prd/button-try-it-2.svg
:target: https://erp2.zeroincombenze.it
:alt: Try Me
.. |Zeroincombenze| image:: https://avatars0.githubusercontent.com/u/6972555?s=460&v=4
:target: https://www.zeroincombenze.it/
:alt: Zeroincombenze
.. |en| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/flags/en_US.png
:target: https://www.facebook.com/Zeroincombenze-Software-gestionale-online-249494305219415/
.. |it| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/flags/it_IT.png
:target: https://www.facebook.com/Zeroincombenze-Software-gestionale-online-249494305219415/
.. |check| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/check.png
.. |no_check| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/no_check.png
.. |menu| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/menu.png
.. |right_do| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/right_do.png
.. |exclamation| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/exclamation.png
.. |warning| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/warning.png
.. |same| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/same.png
.. |late| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/late.png
.. |halt| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/halt.png
.. |info| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/info.png
.. |xml_schema| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/certificates/iso/icons/xml-schema.png
:target: https://github.com/zeroincombenze/grymb/blob/master/certificates/iso/scope/xml-schema.md
.. |DesktopTelematico| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/certificates/ade/icons/DesktopTelematico.png
:target: https://github.com/zeroincombenze/grymb/blob/master/certificates/ade/scope/Desktoptelematico.md
.. |FatturaPA| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/certificates/ade/icons/fatturapa.png
:target: https://github.com/zeroincombenze/grymb/blob/master/certificates/ade/scope/fatturapa.md
.. |chat_with_us| image:: https://www.shs-av.com/wp-content/chat_with_us.gif
:target: https://t.me/Assitenza_clienti_powERP
Raw data
{
"_id": null,
"home_page": "https://github.com/zeroincombenze/tools",
"name": "python-plus",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "unit test virtual environment venv",
"author": "Antonio Maria Vigliotti",
"author_email": "antoniomaria.vigliotti@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/db/db/d1d3c4653e969bc2b31dbbb3558ff6b95aa925c9750a5e2aede1d18e6a3c/python_plus-2.0.15.tar.gz",
"platform": null,
"description": "==================\npython_plus 2.0.15\n==================\n\n\n\n|Maturity| |license gpl|\n\n\n\nOverview\n========\n\npython-plus adds various features to python 2 and python 3 programs.\nIt is designed to be used as integration of pypi future to help to port your code from\nPython 2 to Python 3 and still have it run on Python 2.\n\nPython supplemental features\n----------------------------\n\nlist_requirements.py: list environment requirements\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThis command is an internal command of python-plus but may be used as own command.\nlist_requirements.py displays the pypi and binaries packages needed to create a virtual\nenvironment.\nIt is specially designed to show Odoo requirements.\nPassing Odoo path it reads requirements.txt files in path and setup directories of OCA\nrepositories.\n\nvem: virtual environment manager\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThis command is an interactive tool with some nice features to manage standard virtual\nenvironment.\nMainly it works ad standard pip but inside a specific virtual environment.\n\n\n\nUsage\n=====\n\nCode example\n------------\n\nSimple examples of code\n\nclass / type test\n~~~~~~~~~~~~~~~~~\n\nTest if a string is unicode.\n\nOn Py2, this gives us:\n\n >>> s = 'Hello World'\n >>> isinstance(object, str)\n True\n\nOn Py3, this gives us:\n\n >>> s = b'Hello World'\n >>> isinstance(object, bytes)\n True\n\n\nThen, for example, the following code has the same effect on Py2 as on Py3:\n\n >>> from python_plus import isbytestr\n >>> s = b'Hello World'\n >>> isbytestr(s)\n True\n\n\nquoted string\n~~~~~~~~~~~~~\n\nUsing class __:\n\n >>> from python_plus import __\n\n >>> my_str_list = __('abc,\"d,e\",fgh')\n >>> my_list = my_str_list.qsplit(my_str_list)\n >>> print my_list\n ['abc', 'd,e', 'fgh']\n\n|\n\nGeneral function:\n\n >>> from python_plus import qsplit\n\n >>> my_str_list = 'abc,\"d,e\",fgh'\n >>> my_list = qsplit(my_str_list)\n >>> print my_list\n ['abc', 'd,e', 'fgh']\n\n\nCode reference\n~~~~~~~~~~~~~~\n\n`` str.qslit(sep=None, maxsplit=-1, quotes=['\"', '\"'], escape=None, enquote=None, strip=None)``\n\nLike split function return a list of the words in the string, using sep as the delimiter string. If maxsplit is given, at most maxsplit splits are done (thus, the list will have at most maxsplit+1 elements). If maxsplit is not specified or -1, then there is no limit on the number of splits (all possible splits are made).\n\nIf sep is given, consecutive delimiters are not grouped together and are deemed to delimit empty strings (for example, '1,,2'.split(',') returns ['1', '', '2']). The sep argument may consist of multiple characters (for example, '1<>2<>3'.split('<>') returns ['1', '2', '3']). Splitting an empty string with a specified separator returns [''].\n\nIf quotes is given, it is used to recognize quoted string: the sep tokens inside quoted string are ignored. The paramters quotes may be a string or a list. If it is a string trailing and ending delimiters are the same, like usual python string; if list is given, the first element is initial delimiter and the second element is the final delimiter like in html tag.\n\nIf escape is given, it is used to escape delimiters.\n\nIf enquote is True, returned list elements are enquoted by delimiters.\n\nIf strip is Tru, trailing and tailing spaces in returned list elements are removed.\n\n\nFor example:\n\n >>> my_str_list = __('abc,\"d,e\",fgh')\n >>> print my_str_list.qsplit(my_str_list)\n ['abc', 'd,e', 'fgh']\n\n\nvem: virtual environment manager\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n Usage: vem.sh [-h][-a list][-BCD][-d paths][-E distro][-f][-F name][-gkIi][-l iso][-n][-O version][-o dir][-p pyver][-q][-r file][-stVvy] p3 p4 p5 p6 p7 p8 p9\n Manage virtual environment\n action may be: help amend cp check create exec info inspect install merge mv python shell rm show uninstall update test\n -h --help this help\n -a list bin packages to install (* means wkhtmltopdf,lessc)\n -B use unstable packages: -B testpypi / -BB from ~/tools / -BBB from ~/pypi / -BBBB link to local ~/pypi\n -C clear cache before executing pip command\n -D --devel create v.environment with development packages\n -d --dep-path paths\n odoo dependencies paths (comma separated)\n -E --distro distro\n simulate Linux distro: like Ubuntu20 Centos7 etc (requires -n switch)\n -f --force force v.environment create, even if exists or inside another virtual env\n -F name simulate Linux family: may be RHEL or Debian (requires -n switch)\n -g --global install npm packages globally\n -k --keep keep python2 executable as python (deprecated)\n -I --indipendent run pip in an isolated mode and set home virtual directory\n -i --isolated run pip in an isolated mode, ignoring environment variables and user configuration\n -l --lang iso\n set default language\n -n --dry_run do nothing (dry-run)\n -O --odoo-ver version\n install pypi required by odoo version (amend or create)\n -o --odoo-path dir\n odoo path used to search odoo requirements\n -p --python pyver\n python version\n -q --quiet silent mode\n -r --requirement file\n after created v.environment install from the given requirements file\n -s --system-site-pack\n create v.environment with access to the global site-packages\n -t --travis activate environment for travis test\n -V --version show version\n -v --verbose verbose mode\n -y --yes assume yes\n\nvem is an interactive tool with some nice features to manage standard virtual environment.\n\nAction is one of:\n\n* help\n* amend [OPTIONS] [VENV]\n* check [OPTIONS] [VENV]\n* cp [OPTIONS] SRC_VENV TGT_ENV\n* create -p PYVER [OPTIONS] [VENV]\n* exec [OPTIONS] [VENV] CMD\n* info [OPTIONS] [VENV] PKG\n* inspect [OPTIONS] [VENV]\n* install [OPTIONS] [VENV] PKG\n* merge [OPTIONS] SRC_VENV TGT_ENV\n* mv [OPTIONS] SRC_VENV TGT_ENV\n* python VENV\n* shell VENV\n* show [OPTIONS] [VENV] PKG\n* uninstall [OPTIONS] [VENV] PKG\n* update [OPTIONS] [VENV] PKG\n* test VENV\n\n\namend [OPTIONS] [VENV]\n Amend package versions against requirements. May used after 'create' when requirements are changed.\n\ncheck [OPTIONS] [VENV]\n Compare package versions against requirements. May be used after 'create' to check virtual environment\n consistency.\n\ncp [OPTIONS] SRC_VENV TGT_ENV\n Copy SOURCE environment directory to TGT_ENV, like the bash command 'cp' and set relative path inside virtual\n environment to aim the new directory name.\n Copying virtual environments is not well supported.\n Each virtualenv has path information hard-coded into it, and there may be cases where the copy code does not know it needs to update a particular file.\n Use with caution.\n\ncreate -p PYVER [OPTIONS] VENV\n Create a new virtual environment directory VENV like virtualenv command but with some nice features. Switch -p\n declare which python version will be used to create new environment.\n This action can install various python packages to create a ready to use environment directory.\n See -I -D -O -o -r switches to furthermore information.\n\nexec [OPTIONS] [SRC_VENV] CMD ...\n Execute a command in virtual environment. Enclose command by quotes.\n\ninfo [OPTIONS] [SRC_VENV] PKG\n Show information about pypi package if installed in virtual environment (alias of show).\n\ninspect [OPTIONS] [VENV]\n Show internal configuration.\n\ninstall [OPTIONS] [SRC_VENV] PKG\n Install pypi package or bin package into virtual environment.\n Warning! currently just 2 bin packages can be installed: wkhtmltopdf and lessc.\n\nmerge [OPTIONS] SRC_VENV TGT_ENV\n Merge 2 virtual environments.\n\nmv [OPTIONS] SRC_VENV TGT_ENV\n Move a virtual environment.\n\npython VENV\n Execute python interpreter of virtual environment with packages.\n\nshell VENV\n Execute bash inside virtual environment, with packages commands.\n\nshow [OPTIONS] [SRC_VENV] PKG\n Show information about pypi package if installed in virtual environment (alias of info).\n\nuninstall [OPTIONS] [SRC_VENV] PKG\n Uninstall pypi package from virtual environment.\n\nupdate [OPTIONS] [SRC_VENV] PKG\n Upgrade pypi package in virtual environment.\n\ntest VENV\n Execute pip check inside vritual environment.\n\n\n\nGetting started\n===============\n\n\nPrerequisites\n-------------\n\nZeroincombenze(R) tools requires:\n\n* Linux Centos 7/8 or Debian 9/10/11 or Ubuntu 16/18/20/22/24\n* python 2.7+, some tools require python 3.7+, best python 3.9+\n* bash 5.0+\n\n\n\nInstallation\n------------\n\nStable version via Python Package\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n pip install python_plus\n\nCurrent version via Git\n~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n cd $HOME\n [[ ! -d ./tools ]] && git clone https://github.com/zeroincombenze/tools.git\n cd ./tools\n ./install_tools.sh -pUT\n source $HOME/devel/activate_tools\n\n\n\nUpgrade\n-------\n\nStable version via Python Package\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n pip install --upgrade python_plus\n\nCurrent version via Git\n~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n cd ./tools\n ./install_tools.sh -pUT\n source $HOME/devel/activate_tools\n\n\n\nChangeLog History\n-----------------\n\n2.0.15 (2024-10-02)\n~~~~~~~~~~~~~~~~~~~\n\n* [FIX] vem.py: some packages line invoice2data on python 10.0\n* [FIX] vem: upgrade wkhtmltopdf naming\n* [FIX] list_requirements.py: packages with similar name (numpy -> numpy-financial)\n* [IMP] list_requirements.py: package versions improvements\n\n2.0.14 (2024-07-08)\n~~~~~~~~~~~~~~~~~~~\n\n* [IMP] list_requirements.py: package versions improvements\n* [IMP] Python 3.6 deprecated\n\n2.0.13 (2024-05-11)\n~~~~~~~~~~~~~~~~~~~\n\n* [IMP] list_requirements.py: package versions improvements\n* [FIX] list_requirements.py: in some rare cases wrong version to apply (factur-x)\n* [IMP] vem: now pip<23 and setuptools<58 are applied just if neeeded\n* [IMP] vem: pip is always updated to last version\n\n2.0.12 (2024-02-29)\n~~~~~~~~~~~~~~~~~~~\n\n* [IMP] New function str2bool()\n\n2.0.11 (2024-02-05)\n~~~~~~~~~~~~~~~~~~~\n\n* [FIX] vem: show right python version if 3.10+\n* [IMP] list_requirements.py improvements\n* [IMP] new python version assignment from odoo version\n\n2.0.10 (2023-07-18)\n~~~~~~~~~~~~~~~~~~~\n\n* [IMP] list_requirements.py: werkzeug for Odoo 16.0\n* [FIX] vem create: sometimes \"virtualenv create\" fails for python 2.7\n* [IMP] pip install packages with use2to3 is backupgrdae to < 23\n\n2.0.9 (2023-06-26)\n~~~~~~~~~~~~~~~~~~\n\n* [IMP] list_requirements.py: werkzeug for Odoo 16.0\n* [IMP] list_requirements.py: best recognize mixed version odoo/python\n* [FIX] vem: commands return application status\n\n2.0.7 (2023-05-08)\n~~~~~~~~~~~~~~~~~~\n\n* [IMP] list_requirements.py: upgrade version for Odoo 16.0\n* [REF] vem: partial refactoring\n* [IMP] Mots coverage test\n\n2.0.6 (2023-03-24)\n~~~~~~~~~~~~~~~~~~\n\n* [IMP] list_requirements.py: cryptography, pypdf2, requests & urllib3 version adjustment\n* [IMP] list_requirements.py: pypdf and pypdf2 version adjustment\n* [IMP] list_requirements.py: best resolution when versions conflict\n* [IMP] vem: set list_requirements.py executable\n\n2.0.5 (2022-12-23)\n~~~~~~~~~~~~~~~~~~\n\n* [IMP] list_requirements.py: refactoring version control\n* [IMP] vem: now amend can check current version (with -f switch)\n\n2.0.4 (2022-12-15)\n~~~~~~~~~~~~~~~~~~\n\n* [IMP] Package version adjustment\n* [IMP] vem: amend show current package version\n* [IMP] vem: no python2 warning in linux kernel 3\n* [FIX] vem: best recognition of python version\n\n2.0.3 (2022-11-08)\n~~~~~~~~~~~~~~~~~~\n\n* [IMP] npm management\n* [IMP] compute_date: refdate may be a string\n\n2.0.2.1 (2022-11-01)\n~~~~~~~~~~~~~~~~~~~~\n\n* [FIX] Ensure coverage 5.0+\n\n2.0.2 (2022-10-20)\n~~~~~~~~~~~~~~~~~~\n\n* [FIX] vem: wrong behavior with > o < in version\n* [IMP] list_requirements.py: \"Crypto.Cipher\": \"pycrypto\"\n\n2.0.1 (2022-10-12)\n~~~~~~~~~~~~~~~~~~\n\n* [IMP] stable version\n\n2.0.0.3 (2022-09-14)\n~~~~~~~~~~~~~~~~~~~~\n\n* [FIX] vem: install package with list_requirements.py\n\n2.0.0.2 (2022-09-10)\n~~~~~~~~~~~~~~~~~~~~\n\n* [FIX] vem: no input inquire\n\n2.0.0.1 (2022-09-06)\n~~~~~~~~~~~~~~~~~~~~\n\n* [IMP] vem: new switch -d for Odoo dependencies path\n* [FIX] vem: create with best package list\n* [FIX] vem: install odoo/openerp\n\n\n2.0.0 (2022-08-10)\n~~~~~~~~~~~~~~~~~~\n\n* [IMP] Stable version\n\n\n\nCredits\n=======\n\nCopyright\n---------\n\nSHS-AV s.r.l. <https://www.shs-av.com/>\n\n\nAuthors\n-------\n\n* `SHS-AV s.r.l. <https://www.zeroincombenze.it>`__\n\n\n\nContributors\n------------\n\n* `Antonio Maria Vigliotti <info@shs-av.com>`__\n* `Antonio Maria Vigliotti <antoniomaria.vigliotti@gmail.com>`__\n\n\n|\n|\n\n.. |Maturity| image:: https://img.shields.io/badge/maturity-Mature-green.png\n :target: https://odoo-community.org/page/development-status\n :alt: \n.. |license gpl| image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg\n :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html\n :alt: License: AGPL-3\n.. |license opl| image:: https://img.shields.io/badge/licence-OPL-7379c3.svg\n :target: https://www.odoo.com/documentation/user/9.0/legal/licenses/licenses.html\n :alt: License: OPL\n.. |Tech Doc| image:: https://www.zeroincombenze.it/wp-content/uploads/ci-ct/prd/button-docs-2.svg\n :target: https://wiki.zeroincombenze.org/en/Odoo/2.0.15/dev\n :alt: Technical Documentation\n.. |Help| image:: https://www.zeroincombenze.it/wp-content/uploads/ci-ct/prd/button-help-2.svg\n :target: https://wiki.zeroincombenze.org/it/Odoo/2.0.15/man\n :alt: Technical Documentation\n.. |Try Me| image:: https://www.zeroincombenze.it/wp-content/uploads/ci-ct/prd/button-try-it-2.svg\n :target: https://erp2.zeroincombenze.it\n :alt: Try Me\n.. |Zeroincombenze| image:: https://avatars0.githubusercontent.com/u/6972555?s=460&v=4\n :target: https://www.zeroincombenze.it/\n :alt: Zeroincombenze\n.. |en| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/flags/en_US.png\n :target: https://www.facebook.com/Zeroincombenze-Software-gestionale-online-249494305219415/\n.. |it| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/flags/it_IT.png\n :target: https://www.facebook.com/Zeroincombenze-Software-gestionale-online-249494305219415/\n.. |check| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/check.png\n.. |no_check| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/no_check.png\n.. |menu| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/menu.png\n.. |right_do| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/right_do.png\n.. |exclamation| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/exclamation.png\n.. |warning| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/warning.png\n.. |same| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/same.png\n.. |late| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/late.png\n.. |halt| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/halt.png\n.. |info| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/awesome/info.png\n.. |xml_schema| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/certificates/iso/icons/xml-schema.png\n :target: https://github.com/zeroincombenze/grymb/blob/master/certificates/iso/scope/xml-schema.md\n.. |DesktopTelematico| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/certificates/ade/icons/DesktopTelematico.png\n :target: https://github.com/zeroincombenze/grymb/blob/master/certificates/ade/scope/Desktoptelematico.md\n.. |FatturaPA| image:: https://raw.githubusercontent.com/zeroincombenze/grymb/master/certificates/ade/icons/fatturapa.png\n :target: https://github.com/zeroincombenze/grymb/blob/master/certificates/ade/scope/fatturapa.md\n.. |chat_with_us| image:: https://www.shs-av.com/wp-content/chat_with_us.gif\n :target: https://t.me/Assitenza_clienti_powERP",
"bugtrack_url": null,
"license": "Affero GPL",
"summary": "python useful function",
"version": "2.0.15",
"project_urls": {
"Changelog": "https://github.com/zeroincombenze/tools/blob/master/python_plus/egg-info/CHANGELOG.rst",
"Documentation": "https://zeroincombenze-tools.readthedocs.io/en/latest/#python_plus",
"Homepage": "https://github.com/zeroincombenze/tools",
"Source": "https://github.com/zeroincombenze/tools/tree/master/python_plus"
},
"split_keywords": [
"unit",
"test",
"virtual",
"environment",
"venv"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "dbdbd1d3c4653e969bc2b31dbbb3558ff6b95aa925c9750a5e2aede1d18e6a3c",
"md5": "1861372e2b6a2621eae5883f12a114e3",
"sha256": "f3bf3eaa99f113b06503901710ed2d4757a319e48d6576769d30ff39d5608b04"
},
"downloads": -1,
"filename": "python_plus-2.0.15.tar.gz",
"has_sig": false,
"md5_digest": "1861372e2b6a2621eae5883f12a114e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 303893,
"upload_time": "2024-11-02T19:28:02",
"upload_time_iso_8601": "2024-11-02T19:28:02.163511Z",
"url": "https://files.pythonhosted.org/packages/db/db/d1d3c4653e969bc2b31dbbb3558ff6b95aa925c9750a5e2aede1d18e6a3c/python_plus-2.0.15.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-02 19:28:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zeroincombenze",
"github_project": "tools",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "python-plus"
}