PythonExtensionsCollection 0.15.1__tar.gz → 0.17.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pythonextensionscollection-0.17.0/MANIFEST.in +1 -0
- pythonextensionscollection-0.17.0/PKG-INFO +173 -0
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/Comparison/CComparison.py +2 -2
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/Comparison/__init__.py +1 -1
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/File/CFile.py +2 -2
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/File/__init__.py +1 -1
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/Folder/CFolder.py +2 -2
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/Folder/__init__.py +1 -1
- pythonextensionscollection-0.17.0/PythonExtensionsCollection/PythonExtensionsCollection.pdf +0 -0
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/String/CString.py +2 -2
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/String/__init__.py +1 -1
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/Utils/CUtils.py +32 -26
- pythonextensionscollection-0.17.0/PythonExtensionsCollection/Utils/__init__.py +13 -0
- pythonextensionscollection-0.17.0/PythonExtensionsCollection/__init__.py +13 -0
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection/version.py +3 -4
- pythonextensionscollection-0.17.0/PythonExtensionsCollection.egg-info/PKG-INFO +173 -0
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection.egg-info/SOURCES.txt +3 -1
- pythonextensionscollection-0.17.0/PythonExtensionsCollection.egg-info/requires.txt +10 -0
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/README.rst +36 -19
- pythonextensionscollection-0.17.0/build_backend.py +97 -0
- pythonextensionscollection-0.17.0/pyproject.toml +126 -0
- PythonExtensionsCollection-0.15.1/PKG-INFO +0 -145
- PythonExtensionsCollection-0.15.1/PythonExtensionsCollection/PythonExtensionsCollection.pdf +0 -0
- PythonExtensionsCollection-0.15.1/PythonExtensionsCollection/Utils/__init__.py +0 -13
- PythonExtensionsCollection-0.15.1/PythonExtensionsCollection/__init__.py +0 -13
- PythonExtensionsCollection-0.15.1/PythonExtensionsCollection.egg-info/PKG-INFO +0 -145
- PythonExtensionsCollection-0.15.1/PythonExtensionsCollection.egg-info/requires.txt +0 -1
- PythonExtensionsCollection-0.15.1/setup.py +0 -225
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/LICENSE +0 -0
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection.egg-info/dependency_links.txt +0 -0
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/PythonExtensionsCollection.egg-info/top_level.txt +0 -0
- {PythonExtensionsCollection-0.15.1 → pythonextensionscollection-0.17.0}/setup.cfg +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include build_backend.py
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: PythonExtensionsCollection
|
|
3
|
+
Version: 0.17.0
|
|
4
|
+
Summary: Additional Python functions
|
|
5
|
+
Author-email: Holger Queckenstedt <Holger.Queckenstedt@de.bosch.com>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://pypi.org/project/PythonExtensionsCollection/
|
|
8
|
+
Project-URL: Documentation, https://github.com/test-fullautomation/python-extensions-collection/blob/develop/PythonExtensionsCollection/PythonExtensionsCollection.pdf
|
|
9
|
+
Project-URL: Readme, https://github.com/test-fullautomation/python-extensions-collection/blob/develop/README.rst
|
|
10
|
+
Project-URL: Repository, https://github.com/test-fullautomation/python-extensions-collection
|
|
11
|
+
Project-URL: Issues, https://github.com/test-fullautomation/python-extensions-collection/issues
|
|
12
|
+
Keywords: string,file,folder,path
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Topic :: Software Development
|
|
18
|
+
Requires-Python: >=3.11
|
|
19
|
+
Description-Content-Type: text/x-rst
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: docutils>=0.22.4
|
|
22
|
+
Requires-Dist: colorama
|
|
23
|
+
Requires-Dist: GenPackageDoc
|
|
24
|
+
Provides-Extra: dev
|
|
25
|
+
Requires-Dist: pytest>=6.0; extra == "dev"
|
|
26
|
+
Requires-Dist: pytest-cov>=3.0; extra == "dev"
|
|
27
|
+
Provides-Extra: docs
|
|
28
|
+
Requires-Dist: docutils>=0.22.4; extra == "docs"
|
|
29
|
+
Dynamic: license-file
|
|
30
|
+
|
|
31
|
+
.. Copyright 2020-2026 Robert Bosch GmbH
|
|
32
|
+
|
|
33
|
+
.. Licensed under the Apache License, Version 2.0 (the "License");
|
|
34
|
+
you may not use this file except in compliance with the License.
|
|
35
|
+
You may obtain a copy of the License at
|
|
36
|
+
|
|
37
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
38
|
+
|
|
39
|
+
.. Unless required by applicable law or agreed to in writing, software
|
|
40
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
41
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
42
|
+
See the License for the specific language governing permissions and
|
|
43
|
+
limitations under the License.
|
|
44
|
+
|
|
45
|
+
Package Description
|
|
46
|
+
===================
|
|
47
|
+
|
|
48
|
+
The **PythonExtensionsCollection** extends the functionality of Python by some useful functions
|
|
49
|
+
that are not available in Python immediately.
|
|
50
|
+
|
|
51
|
+
How to install
|
|
52
|
+
--------------
|
|
53
|
+
|
|
54
|
+
The **PythonExtensionsCollection** can be installed in two different ways.
|
|
55
|
+
|
|
56
|
+
1. Installation via PyPi (recommended for users)
|
|
57
|
+
|
|
58
|
+
.. code::
|
|
59
|
+
|
|
60
|
+
pip install PythonExtensionsCollection
|
|
61
|
+
|
|
62
|
+
`PythonExtensionsCollection in PyPi <https://pypi.org/project/PythonExtensionsCollection/>`_
|
|
63
|
+
|
|
64
|
+
2. Installation via GitHub (recommended for developers)
|
|
65
|
+
|
|
66
|
+
* Clone the **python-extensions-collection** repository to your machine.
|
|
67
|
+
|
|
68
|
+
.. code::
|
|
69
|
+
|
|
70
|
+
git clone https://github.com/test-fullautomation/python-extensions-collection.git
|
|
71
|
+
|
|
72
|
+
`PythonExtensionsCollection in GitHub <https://github.com/test-fullautomation/python-extensions-collection>`_
|
|
73
|
+
|
|
74
|
+
* Use the following command to install **PythonExtensionsCollection** (executed in repository main folder):
|
|
75
|
+
|
|
76
|
+
.. code::
|
|
77
|
+
|
|
78
|
+
python -m pip install .
|
|
79
|
+
|
|
80
|
+
Or:
|
|
81
|
+
|
|
82
|
+
.. code::
|
|
83
|
+
|
|
84
|
+
python -m pip install --proxy <proxy> .
|
|
85
|
+
|
|
86
|
+
This command will also download and install all dependencies that are required to work with the source files in the current repository.
|
|
87
|
+
After the initial installation of **PythonExtensionsCollection** is done, you have the following two possibilities:
|
|
88
|
+
|
|
89
|
+
1. *Clean the previous installation*:
|
|
90
|
+
|
|
91
|
+
.. code::
|
|
92
|
+
|
|
93
|
+
python "./cleanup_installation.py"
|
|
94
|
+
|
|
95
|
+
``cleanup_installation.py`` explicitly deletes all files and folders within the component installation folder under
|
|
96
|
+
``site-packages`` and also deletes local build artefacts.
|
|
97
|
+
|
|
98
|
+
2. *Render the component documentation*:
|
|
99
|
+
|
|
100
|
+
.. code::
|
|
101
|
+
|
|
102
|
+
python "./genpackagedoc.py"
|
|
103
|
+
|
|
104
|
+
This would e.g. be required in case of changes in the interface of **PythonExtensionsCollection**.
|
|
105
|
+
|
|
106
|
+
The documentation is rendered by a separate application called **GenPackageDoc**, that is part
|
|
107
|
+
of the build dependencies and runtime dependencies of **PythonExtensionsCollection**.
|
|
108
|
+
|
|
109
|
+
**GenPackageDoc** needs to be configured. Details about how to do this, can be found in the
|
|
110
|
+
`README.rst <https://github.com/test-fullautomation/python-genpackagedoc/blob/develop/README.rst>`_
|
|
111
|
+
(sections *Install dependencies* and *Configure dependencies*).
|
|
112
|
+
|
|
113
|
+
* Use the following command to build **PythonExtensionsCollection** (executed in repository main folder):
|
|
114
|
+
|
|
115
|
+
.. code::
|
|
116
|
+
|
|
117
|
+
python -m build .
|
|
118
|
+
|
|
119
|
+
Or:
|
|
120
|
+
|
|
121
|
+
.. code::
|
|
122
|
+
|
|
123
|
+
python -m pip config set global.proxy <proxy>
|
|
124
|
+
python -m build .
|
|
125
|
+
|
|
126
|
+
Package Documentation
|
|
127
|
+
---------------------
|
|
128
|
+
|
|
129
|
+
A detailed documentation of the **PythonExtensionsCollection** can be found here:
|
|
130
|
+
`PythonExtensionsCollection.pdf <https://github.com/test-fullautomation/python-extensions-collection/blob/develop/PythonExtensionsCollection/PythonExtensionsCollection.pdf>`_
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
Feedback
|
|
134
|
+
--------
|
|
135
|
+
|
|
136
|
+
To give us a feedback, you can send an email to `Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
|
|
137
|
+
|
|
138
|
+
In case you want to report a bug or request any interesting feature, please don't hesitate to raise a ticket.
|
|
139
|
+
|
|
140
|
+
Maintainers
|
|
141
|
+
-----------
|
|
142
|
+
|
|
143
|
+
`Holger Queckenstedt <mailto:Holger.Queckenstedt@de.bosch.com>`_
|
|
144
|
+
|
|
145
|
+
`Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
|
|
146
|
+
|
|
147
|
+
Contributors
|
|
148
|
+
------------
|
|
149
|
+
|
|
150
|
+
`Holger Queckenstedt <mailto:Holger.Queckenstedt@de.bosch.com>`_
|
|
151
|
+
|
|
152
|
+
`Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
|
|
153
|
+
|
|
154
|
+
License
|
|
155
|
+
-------
|
|
156
|
+
|
|
157
|
+
Copyright 2020-2026 Robert Bosch GmbH
|
|
158
|
+
|
|
159
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
160
|
+
you may not use this file except in compliance with the License.
|
|
161
|
+
You may obtain a copy of the License at
|
|
162
|
+
|
|
163
|
+
|License: Apache v2|
|
|
164
|
+
|
|
165
|
+
Unless required by applicable law or agreed to in writing, software
|
|
166
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
167
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
168
|
+
See the License for the specific language governing permissions and
|
|
169
|
+
limitations under the License.
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
.. |License: Apache v2| image:: https://img.shields.io/pypi/l/robotframework.svg
|
|
173
|
+
:target: http://www.apache.org/licenses/LICENSE-2.0.html
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# **************************************************************************************************************
|
|
2
2
|
#
|
|
3
|
-
# Copyright 2020-
|
|
3
|
+
# Copyright 2020-2026 Robert Bosch GmbH
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
#
|
|
19
19
|
# CComparison.py
|
|
20
20
|
#
|
|
21
|
-
# XC-
|
|
21
|
+
# XC-HWP/ESW3-Queckenstedt
|
|
22
22
|
#
|
|
23
23
|
# 03.04.2023
|
|
24
24
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# **************************************************************************************************************
|
|
2
2
|
#
|
|
3
|
-
# Copyright 2020-
|
|
3
|
+
# Copyright 2020-2026 Robert Bosch GmbH
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
#
|
|
19
19
|
# CFile.py
|
|
20
20
|
#
|
|
21
|
-
# XC-
|
|
21
|
+
# XC-HWP/ESW3-Queckenstedt
|
|
22
22
|
#
|
|
23
23
|
# 15.11.2022
|
|
24
24
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# **************************************************************************************************************
|
|
2
2
|
#
|
|
3
|
-
# Copyright 2020-
|
|
3
|
+
# Copyright 2020-2026 Robert Bosch GmbH
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
#
|
|
19
19
|
# CFolder.py
|
|
20
20
|
#
|
|
21
|
-
# XC-
|
|
21
|
+
# XC-HWP/ESW3-Queckenstedt
|
|
22
22
|
#
|
|
23
23
|
# 28.06.2022
|
|
24
24
|
#
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# **************************************************************************************************************
|
|
2
2
|
#
|
|
3
|
-
# Copyright 2020-
|
|
3
|
+
# Copyright 2020-2026 Robert Bosch GmbH
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
#
|
|
19
19
|
# CString.py
|
|
20
20
|
#
|
|
21
|
-
# XC-
|
|
21
|
+
# XC-HWP/ESW3-Queckenstedt
|
|
22
22
|
#
|
|
23
23
|
# 19.10.2023
|
|
24
24
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# **************************************************************************************************************
|
|
2
2
|
#
|
|
3
|
-
# Copyright 2020-
|
|
3
|
+
# Copyright 2020-2026 Robert Bosch GmbH
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
#
|
|
19
19
|
# CUtils.py
|
|
20
20
|
#
|
|
21
|
-
# XC-
|
|
21
|
+
# XC-HWP/ESW3-Queckenstedt
|
|
22
22
|
#
|
|
23
|
-
#
|
|
23
|
+
# 12.03.2026
|
|
24
24
|
#
|
|
25
25
|
# **************************************************************************************************************
|
|
26
26
|
|
|
@@ -30,6 +30,8 @@ from dotdict import dotdict
|
|
|
30
30
|
|
|
31
31
|
from PythonExtensionsCollection.String.CString import CString
|
|
32
32
|
from PythonExtensionsCollection.File.CFile import CFile
|
|
33
|
+
from PythonExtensionsCollection.version import VERSION
|
|
34
|
+
from PythonExtensionsCollection.version import VERSION_DATE
|
|
33
35
|
|
|
34
36
|
|
|
35
37
|
# **************************************************************************************************************
|
|
@@ -293,7 +295,8 @@ The method ``TypePrint`` computes details about the input variable ``oData``.
|
|
|
293
295
|
del self.listGlobalPrefixes[-1] # remove prefix count
|
|
294
296
|
del self.listGlobalPrefixes[-1] # remove prefix name
|
|
295
297
|
|
|
296
|
-
elif ( (type(oData) is dotdict) or (str(type(oData))
|
|
298
|
+
# previous version # elif ( (type(oData) is dotdict) or (".DotDict'>" in str(type(oData))) ):
|
|
299
|
+
elif ( (type(oData) is dotdict) or (str(type(oData)).upper().find("DOTDICT") != -1) ):
|
|
297
300
|
nNrOfElements = len(oData)
|
|
298
301
|
if nNrOfElements == 0:
|
|
299
302
|
# -- indicate empty dot dictionary
|
|
@@ -330,7 +333,6 @@ The method ``TypePrint`` computes details about the input variable ``oData``.
|
|
|
330
333
|
|
|
331
334
|
# eof class CTypePrint():
|
|
332
335
|
|
|
333
|
-
|
|
334
336
|
# --------------------------------------------------------------------------------------------------------------
|
|
335
337
|
# TM***
|
|
336
338
|
|
|
@@ -377,38 +379,28 @@ It is also possible to let the method dump the list to a text file.
|
|
|
377
379
|
bSuccess = None
|
|
378
380
|
sResult = "UNKNOWN"
|
|
379
381
|
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
sFreezeData = None
|
|
382
|
+
sListData = None
|
|
383
383
|
try:
|
|
384
|
-
|
|
384
|
+
sListData = subprocess.run([sys.executable, '-m', 'pip', 'list', '--format=columns'], capture_output=True, text=True)
|
|
385
|
+
sListLines = sListData.stdout.strip().split('\n')
|
|
385
386
|
except Exception as reason:
|
|
386
387
|
bSuccess = None
|
|
387
388
|
sResult = str(reason)
|
|
388
389
|
sResult = CString.FormatResult(sMethod, bSuccess, sResult)
|
|
389
390
|
return listofTuplesPackages, bSuccess, sResult
|
|
390
391
|
|
|
391
|
-
if
|
|
392
|
+
if sListData is None:
|
|
392
393
|
bSuccess = None
|
|
393
|
-
sResult = "
|
|
394
|
+
sResult = "sListData is None"
|
|
394
395
|
sResult = CString.FormatResult(sMethod, bSuccess, sResult)
|
|
395
396
|
return listofTuplesPackages, bSuccess, sResult
|
|
396
397
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
for
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
if len(listParts) != 2:
|
|
404
|
-
sName = sPackage
|
|
405
|
-
sVersion = "UNKNOWN"
|
|
406
|
-
# but I really would not expect this
|
|
407
|
-
else:
|
|
408
|
-
sName = listParts[0]
|
|
409
|
-
sVersion = listParts[1]
|
|
410
|
-
listofTuplesPackages.append((sName, sVersion))
|
|
411
|
-
# eof for sPackage in sFreezeData.split():
|
|
398
|
+
listofTuplesPackages = []
|
|
399
|
+
# lines[2:] => skip headline of 'pip list'
|
|
400
|
+
for sLine in sListLines[2:]:
|
|
401
|
+
parts = sLine.split()
|
|
402
|
+
if len(parts) >= 2:
|
|
403
|
+
listofTuplesPackages.append((parts[0], parts[1]))
|
|
412
404
|
|
|
413
405
|
nNrOfPackages = len(listofTuplesPackages)
|
|
414
406
|
|
|
@@ -437,12 +429,26 @@ It is also possible to let the method dump the list to a text file.
|
|
|
437
429
|
|
|
438
430
|
# eof def GetInstalledPackages(sOutputFile=None):
|
|
439
431
|
|
|
432
|
+
def GetComponentName():
|
|
433
|
+
"""**Returns:**
|
|
434
|
+
|
|
435
|
+
* ``ComponentName``
|
|
436
|
+
|
|
437
|
+
/ *Type*: str /
|
|
438
|
+
|
|
439
|
+
Full name of the component including the version and the version date.
|
|
440
|
+
"""
|
|
441
|
+
return f"PythonExtensionsCollection v. {VERSION}, {VERSION_DATE}"
|
|
442
|
+
|
|
443
|
+
#eof def GetComponentName():
|
|
444
|
+
|
|
440
445
|
# --------------------------------------------------------------------------------------------------------------
|
|
441
446
|
#TM***
|
|
442
447
|
|
|
443
448
|
# - make the methods static
|
|
444
449
|
|
|
445
450
|
GetInstalledPackages = staticmethod(GetInstalledPackages)
|
|
451
|
+
GetComponentName = staticmethod(GetComponentName)
|
|
446
452
|
|
|
447
453
|
# eof class CUtils(object):
|
|
448
454
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Copyright 2020-2026 Robert Bosch GmbH
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Copyright 2020-2026 Robert Bosch GmbH
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# **************************************************************************************************************
|
|
2
2
|
#
|
|
3
|
-
# Copyright 2020-
|
|
3
|
+
# Copyright 2020-2026 Robert Bosch GmbH
|
|
4
4
|
#
|
|
5
5
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,6 +18,5 @@
|
|
|
18
18
|
#
|
|
19
19
|
# Version and date of PythonExtensionsCollection
|
|
20
20
|
#
|
|
21
|
-
VERSION = "0.
|
|
22
|
-
VERSION_DATE = "
|
|
23
|
-
|
|
21
|
+
VERSION = "0.17.0"
|
|
22
|
+
VERSION_DATE = "28.05.2026"
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: PythonExtensionsCollection
|
|
3
|
+
Version: 0.17.0
|
|
4
|
+
Summary: Additional Python functions
|
|
5
|
+
Author-email: Holger Queckenstedt <Holger.Queckenstedt@de.bosch.com>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://pypi.org/project/PythonExtensionsCollection/
|
|
8
|
+
Project-URL: Documentation, https://github.com/test-fullautomation/python-extensions-collection/blob/develop/PythonExtensionsCollection/PythonExtensionsCollection.pdf
|
|
9
|
+
Project-URL: Readme, https://github.com/test-fullautomation/python-extensions-collection/blob/develop/README.rst
|
|
10
|
+
Project-URL: Repository, https://github.com/test-fullautomation/python-extensions-collection
|
|
11
|
+
Project-URL: Issues, https://github.com/test-fullautomation/python-extensions-collection/issues
|
|
12
|
+
Keywords: string,file,folder,path
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Topic :: Software Development
|
|
18
|
+
Requires-Python: >=3.11
|
|
19
|
+
Description-Content-Type: text/x-rst
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: docutils>=0.22.4
|
|
22
|
+
Requires-Dist: colorama
|
|
23
|
+
Requires-Dist: GenPackageDoc
|
|
24
|
+
Provides-Extra: dev
|
|
25
|
+
Requires-Dist: pytest>=6.0; extra == "dev"
|
|
26
|
+
Requires-Dist: pytest-cov>=3.0; extra == "dev"
|
|
27
|
+
Provides-Extra: docs
|
|
28
|
+
Requires-Dist: docutils>=0.22.4; extra == "docs"
|
|
29
|
+
Dynamic: license-file
|
|
30
|
+
|
|
31
|
+
.. Copyright 2020-2026 Robert Bosch GmbH
|
|
32
|
+
|
|
33
|
+
.. Licensed under the Apache License, Version 2.0 (the "License");
|
|
34
|
+
you may not use this file except in compliance with the License.
|
|
35
|
+
You may obtain a copy of the License at
|
|
36
|
+
|
|
37
|
+
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
38
|
+
|
|
39
|
+
.. Unless required by applicable law or agreed to in writing, software
|
|
40
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
41
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
42
|
+
See the License for the specific language governing permissions and
|
|
43
|
+
limitations under the License.
|
|
44
|
+
|
|
45
|
+
Package Description
|
|
46
|
+
===================
|
|
47
|
+
|
|
48
|
+
The **PythonExtensionsCollection** extends the functionality of Python by some useful functions
|
|
49
|
+
that are not available in Python immediately.
|
|
50
|
+
|
|
51
|
+
How to install
|
|
52
|
+
--------------
|
|
53
|
+
|
|
54
|
+
The **PythonExtensionsCollection** can be installed in two different ways.
|
|
55
|
+
|
|
56
|
+
1. Installation via PyPi (recommended for users)
|
|
57
|
+
|
|
58
|
+
.. code::
|
|
59
|
+
|
|
60
|
+
pip install PythonExtensionsCollection
|
|
61
|
+
|
|
62
|
+
`PythonExtensionsCollection in PyPi <https://pypi.org/project/PythonExtensionsCollection/>`_
|
|
63
|
+
|
|
64
|
+
2. Installation via GitHub (recommended for developers)
|
|
65
|
+
|
|
66
|
+
* Clone the **python-extensions-collection** repository to your machine.
|
|
67
|
+
|
|
68
|
+
.. code::
|
|
69
|
+
|
|
70
|
+
git clone https://github.com/test-fullautomation/python-extensions-collection.git
|
|
71
|
+
|
|
72
|
+
`PythonExtensionsCollection in GitHub <https://github.com/test-fullautomation/python-extensions-collection>`_
|
|
73
|
+
|
|
74
|
+
* Use the following command to install **PythonExtensionsCollection** (executed in repository main folder):
|
|
75
|
+
|
|
76
|
+
.. code::
|
|
77
|
+
|
|
78
|
+
python -m pip install .
|
|
79
|
+
|
|
80
|
+
Or:
|
|
81
|
+
|
|
82
|
+
.. code::
|
|
83
|
+
|
|
84
|
+
python -m pip install --proxy <proxy> .
|
|
85
|
+
|
|
86
|
+
This command will also download and install all dependencies that are required to work with the source files in the current repository.
|
|
87
|
+
After the initial installation of **PythonExtensionsCollection** is done, you have the following two possibilities:
|
|
88
|
+
|
|
89
|
+
1. *Clean the previous installation*:
|
|
90
|
+
|
|
91
|
+
.. code::
|
|
92
|
+
|
|
93
|
+
python "./cleanup_installation.py"
|
|
94
|
+
|
|
95
|
+
``cleanup_installation.py`` explicitly deletes all files and folders within the component installation folder under
|
|
96
|
+
``site-packages`` and also deletes local build artefacts.
|
|
97
|
+
|
|
98
|
+
2. *Render the component documentation*:
|
|
99
|
+
|
|
100
|
+
.. code::
|
|
101
|
+
|
|
102
|
+
python "./genpackagedoc.py"
|
|
103
|
+
|
|
104
|
+
This would e.g. be required in case of changes in the interface of **PythonExtensionsCollection**.
|
|
105
|
+
|
|
106
|
+
The documentation is rendered by a separate application called **GenPackageDoc**, that is part
|
|
107
|
+
of the build dependencies and runtime dependencies of **PythonExtensionsCollection**.
|
|
108
|
+
|
|
109
|
+
**GenPackageDoc** needs to be configured. Details about how to do this, can be found in the
|
|
110
|
+
`README.rst <https://github.com/test-fullautomation/python-genpackagedoc/blob/develop/README.rst>`_
|
|
111
|
+
(sections *Install dependencies* and *Configure dependencies*).
|
|
112
|
+
|
|
113
|
+
* Use the following command to build **PythonExtensionsCollection** (executed in repository main folder):
|
|
114
|
+
|
|
115
|
+
.. code::
|
|
116
|
+
|
|
117
|
+
python -m build .
|
|
118
|
+
|
|
119
|
+
Or:
|
|
120
|
+
|
|
121
|
+
.. code::
|
|
122
|
+
|
|
123
|
+
python -m pip config set global.proxy <proxy>
|
|
124
|
+
python -m build .
|
|
125
|
+
|
|
126
|
+
Package Documentation
|
|
127
|
+
---------------------
|
|
128
|
+
|
|
129
|
+
A detailed documentation of the **PythonExtensionsCollection** can be found here:
|
|
130
|
+
`PythonExtensionsCollection.pdf <https://github.com/test-fullautomation/python-extensions-collection/blob/develop/PythonExtensionsCollection/PythonExtensionsCollection.pdf>`_
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
Feedback
|
|
134
|
+
--------
|
|
135
|
+
|
|
136
|
+
To give us a feedback, you can send an email to `Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
|
|
137
|
+
|
|
138
|
+
In case you want to report a bug or request any interesting feature, please don't hesitate to raise a ticket.
|
|
139
|
+
|
|
140
|
+
Maintainers
|
|
141
|
+
-----------
|
|
142
|
+
|
|
143
|
+
`Holger Queckenstedt <mailto:Holger.Queckenstedt@de.bosch.com>`_
|
|
144
|
+
|
|
145
|
+
`Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
|
|
146
|
+
|
|
147
|
+
Contributors
|
|
148
|
+
------------
|
|
149
|
+
|
|
150
|
+
`Holger Queckenstedt <mailto:Holger.Queckenstedt@de.bosch.com>`_
|
|
151
|
+
|
|
152
|
+
`Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
|
|
153
|
+
|
|
154
|
+
License
|
|
155
|
+
-------
|
|
156
|
+
|
|
157
|
+
Copyright 2020-2026 Robert Bosch GmbH
|
|
158
|
+
|
|
159
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
160
|
+
you may not use this file except in compliance with the License.
|
|
161
|
+
You may obtain a copy of the License at
|
|
162
|
+
|
|
163
|
+
|License: Apache v2|
|
|
164
|
+
|
|
165
|
+
Unless required by applicable law or agreed to in writing, software
|
|
166
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
167
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
168
|
+
See the License for the specific language governing permissions and
|
|
169
|
+
limitations under the License.
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
.. |License: Apache v2| image:: https://img.shields.io/pypi/l/robotframework.svg
|
|
173
|
+
:target: http://www.apache.org/licenses/LICENSE-2.0.html
|