robotframework-prometheus 0.8.0__tar.gz → 0.9.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.
Files changed (20) hide show
  1. robotframework_prometheus-0.9.0/MANIFEST.in +1 -0
  2. robotframework_prometheus-0.9.0/PKG-INFO +173 -0
  3. robotframework_prometheus-0.9.0/PrometheusInterface/PrometheusInterface.pdf +0 -0
  4. {robotframework-prometheus-0.8.0 → robotframework_prometheus-0.9.0}/PrometheusInterface/__init__.py +1 -1
  5. {robotframework-prometheus-0.8.0 → robotframework_prometheus-0.9.0}/PrometheusInterface/prometheus_interface.py +3 -3
  6. robotframework_prometheus-0.9.0/README.rst +143 -0
  7. robotframework_prometheus-0.9.0/build_backend.py +97 -0
  8. robotframework_prometheus-0.9.0/pyproject.toml +125 -0
  9. robotframework_prometheus-0.9.0/robotframework_prometheus.egg-info/PKG-INFO +173 -0
  10. {robotframework-prometheus-0.8.0 → robotframework_prometheus-0.9.0}/robotframework_prometheus.egg-info/SOURCES.txt +3 -1
  11. robotframework_prometheus-0.9.0/robotframework_prometheus.egg-info/requires.txt +12 -0
  12. robotframework-prometheus-0.8.0/PKG-INFO +0 -74
  13. robotframework-prometheus-0.8.0/PrometheusInterface/PrometheusInterface.pdf +0 -0
  14. robotframework-prometheus-0.8.0/README.rst +0 -67
  15. robotframework-prometheus-0.8.0/robotframework_prometheus.egg-info/PKG-INFO +0 -74
  16. robotframework-prometheus-0.8.0/robotframework_prometheus.egg-info/requires.txt +0 -3
  17. robotframework-prometheus-0.8.0/setup.py +0 -224
  18. {robotframework-prometheus-0.8.0 → robotframework_prometheus-0.9.0}/robotframework_prometheus.egg-info/dependency_links.txt +0 -0
  19. {robotframework-prometheus-0.8.0 → robotframework_prometheus-0.9.0}/robotframework_prometheus.egg-info/top_level.txt +0 -0
  20. {robotframework-prometheus-0.8.0 → robotframework_prometheus-0.9.0}/setup.cfg +0 -0
@@ -0,0 +1 @@
1
+ include build_backend.py
@@ -0,0 +1,173 @@
1
+ Metadata-Version: 2.4
2
+ Name: robotframework-prometheus
3
+ Version: 0.9.0
4
+ Summary: Robot Framework keywords to communicate with the monitoring system Prometheus
5
+ Author-email: Holger Queckenstedt <Holger.Queckenstedt@de.bosch.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://pypi.org/project/robotframework-prometheus/
8
+ Project-URL: Documentation, https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf
9
+ Project-URL: Readme, https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/README.rst
10
+ Project-URL: Repository, https://github.com/test-fullautomation/robotframework-prometheus
11
+ Project-URL: Issues, https://github.com/test-fullautomation/robotframework-prometheus/issues
12
+ Keywords: robotframework,stringfunctions
13
+ Classifier: Development Status :: 4 - Beta
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
+ Requires-Dist: robotframework>=6.1
21
+ Requires-Dist: colorama
22
+ Requires-Dist: prometheus-client
23
+ Requires-Dist: GenPackageDoc
24
+ Requires-Dist: PythonExtensionsCollection
25
+ Provides-Extra: dev
26
+ Requires-Dist: pytest>=6.0; extra == "dev"
27
+ Requires-Dist: pytest-cov>=3.0; extra == "dev"
28
+ Provides-Extra: docs
29
+ Requires-Dist: docutils>=0.22.4; extra == "docs"
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 interface library **robotframework-prometheus** provides Robot Framework keywords to communicate with the monitoring system **Prometheus**.
49
+
50
+ How to install
51
+ --------------
52
+
53
+ The interface library **robotframework-prometheus** can be installed in two different ways.
54
+
55
+ 1. Installation via PyPi (recommended for users)
56
+
57
+ .. code::
58
+
59
+ pip install robotframework-prometheus
60
+
61
+ `robotframework-prometheus in PyPi <https://pypi.org/project/robotframework-prometheus/>`_
62
+
63
+ 2. Installation via GitHub (recommended for developers)
64
+
65
+ * Clone the **robotframework-prometheus** repository to your machine.
66
+
67
+ .. code::
68
+
69
+ git clone https://github.com/test-fullautomation/robotframework-prometheus.git
70
+
71
+ `robotframework-prometheus in GitHub <https://github.com/test-fullautomation/robotframework-prometheus>`_
72
+
73
+ * Use the following command to install **robotframework-prometheus** (executed in repository main folder):
74
+
75
+ .. code::
76
+
77
+ python -m pip install .
78
+
79
+ Or:
80
+
81
+ .. code::
82
+
83
+ python -m pip install --proxy <proxy> .
84
+
85
+ This command will also download and install all dependencies that are required to work with the source files in the current repository.
86
+ After the initial installation of **robotframework-prometheus** is done, you have the following two possibilities:
87
+
88
+ 1. *Clean the previous installation*:
89
+
90
+ .. code::
91
+
92
+ python "./cleanup_installation.py"
93
+
94
+ ``cleanup_installation.py`` explicitly deletes all files and folders within the component installation folder under
95
+ ``site-packages`` and also deletes local build artefacts.
96
+
97
+ 2. *Render the component documentation*:
98
+
99
+ .. code::
100
+
101
+ python "./genpackagedoc.py"
102
+
103
+ This would e.g. be required in case of changes in the interface of **robotframework-prometheus**.
104
+
105
+ The documentation is rendered by a separate application called **GenPackageDoc**, that is part
106
+ of the build dependencies and runtime dependencies of **robotframework-prometheus**.
107
+
108
+ **GenPackageDoc** needs to be configured. Details about how to do this, can be found in the
109
+ `README.rst <https://github.com/test-fullautomation/python-genpackagedoc/blob/develop/README.rst>`_
110
+ (sections *Install dependencies* and *Configure dependencies*).
111
+
112
+ * Use the following command to build **robotframework-prometheus** (executed in repository main folder):
113
+
114
+ .. code::
115
+
116
+ python -m build .
117
+
118
+ Or:
119
+
120
+ .. code::
121
+
122
+ python -m pip config set global.proxy <proxy>
123
+ python -m build .
124
+
125
+
126
+ Package Documentation
127
+ ---------------------
128
+
129
+ A detailed documentation of the **prometheus_interface** can be found here:
130
+
131
+ `PrometheusInterface.pdf <https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf>`_
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,4 +1,4 @@
1
- # Copyright 2020-2024 Robert Bosch GmbH
1
+ # Copyright 2020-2026 Robert Bosch GmbH
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright 2020-2024 Robert Bosch GmbH
1
+ # Copyright 2020-2026 Robert Bosch GmbH
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -32,8 +32,8 @@ from PythonExtensionsCollection.Utils.CUtils import *
32
32
  # --------------------------------------------------------------------------------------------------------------
33
33
  # this interface library
34
34
  #
35
- LIBRARY_VERSION = "0.8.0"
36
- LIBRARY_VERSION_DATE = "21.10.2024"
35
+ LIBRARY_VERSION = "0.9.0"
36
+ LIBRARY_VERSION_DATE = "23.02.2026"
37
37
  #
38
38
  THISMODULENAME = "prometheus_interface.py"
39
39
  THISMODULE = f"{THISMODULENAME} v. {LIBRARY_VERSION} / {LIBRARY_VERSION_DATE}"
@@ -0,0 +1,143 @@
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.
14
+
15
+ Package Description
16
+ ===================
17
+
18
+ The interface library **robotframework-prometheus** provides Robot Framework keywords to communicate with the monitoring system **Prometheus**.
19
+
20
+ How to install
21
+ --------------
22
+
23
+ The interface library **robotframework-prometheus** can be installed in two different ways.
24
+
25
+ 1. Installation via PyPi (recommended for users)
26
+
27
+ .. code::
28
+
29
+ pip install robotframework-prometheus
30
+
31
+ `robotframework-prometheus in PyPi <https://pypi.org/project/robotframework-prometheus/>`_
32
+
33
+ 2. Installation via GitHub (recommended for developers)
34
+
35
+ * Clone the **robotframework-prometheus** repository to your machine.
36
+
37
+ .. code::
38
+
39
+ git clone https://github.com/test-fullautomation/robotframework-prometheus.git
40
+
41
+ `robotframework-prometheus in GitHub <https://github.com/test-fullautomation/robotframework-prometheus>`_
42
+
43
+ * Use the following command to install **robotframework-prometheus** (executed in repository main folder):
44
+
45
+ .. code::
46
+
47
+ python -m pip install .
48
+
49
+ Or:
50
+
51
+ .. code::
52
+
53
+ python -m pip install --proxy <proxy> .
54
+
55
+ This command will also download and install all dependencies that are required to work with the source files in the current repository.
56
+ After the initial installation of **robotframework-prometheus** is done, you have the following two possibilities:
57
+
58
+ 1. *Clean the previous installation*:
59
+
60
+ .. code::
61
+
62
+ python "./cleanup_installation.py"
63
+
64
+ ``cleanup_installation.py`` explicitly deletes all files and folders within the component installation folder under
65
+ ``site-packages`` and also deletes local build artefacts.
66
+
67
+ 2. *Render the component documentation*:
68
+
69
+ .. code::
70
+
71
+ python "./genpackagedoc.py"
72
+
73
+ This would e.g. be required in case of changes in the interface of **robotframework-prometheus**.
74
+
75
+ The documentation is rendered by a separate application called **GenPackageDoc**, that is part
76
+ of the build dependencies and runtime dependencies of **robotframework-prometheus**.
77
+
78
+ **GenPackageDoc** needs to be configured. Details about how to do this, can be found in the
79
+ `README.rst <https://github.com/test-fullautomation/python-genpackagedoc/blob/develop/README.rst>`_
80
+ (sections *Install dependencies* and *Configure dependencies*).
81
+
82
+ * Use the following command to build **robotframework-prometheus** (executed in repository main folder):
83
+
84
+ .. code::
85
+
86
+ python -m build .
87
+
88
+ Or:
89
+
90
+ .. code::
91
+
92
+ python -m pip config set global.proxy <proxy>
93
+ python -m build .
94
+
95
+
96
+ Package Documentation
97
+ ---------------------
98
+
99
+ A detailed documentation of the **prometheus_interface** can be found here:
100
+
101
+ `PrometheusInterface.pdf <https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf>`_
102
+
103
+ Feedback
104
+ --------
105
+
106
+ To give us a feedback, you can send an email to `Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
107
+
108
+ In case you want to report a bug or request any interesting feature, please don't hesitate to raise a ticket.
109
+
110
+ Maintainers
111
+ -----------
112
+
113
+ `Holger Queckenstedt <mailto:Holger.Queckenstedt@de.bosch.com>`_
114
+
115
+ `Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
116
+
117
+ Contributors
118
+ ------------
119
+
120
+ `Holger Queckenstedt <mailto:Holger.Queckenstedt@de.bosch.com>`_
121
+
122
+ `Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
123
+
124
+ License
125
+ -------
126
+
127
+ Copyright 2020-2026 Robert Bosch GmbH
128
+
129
+ Licensed under the Apache License, Version 2.0 (the "License");
130
+ you may not use this file except in compliance with the License.
131
+ You may obtain a copy of the License at
132
+
133
+ |License: Apache v2|
134
+
135
+ Unless required by applicable law or agreed to in writing, software
136
+ distributed under the License is distributed on an "AS IS" BASIS,
137
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138
+ See the License for the specific language governing permissions and
139
+ limitations under the License.
140
+
141
+
142
+ .. |License: Apache v2| image:: https://img.shields.io/pypi/l/robotframework.svg
143
+ :target: http://www.apache.org/licenses/LICENSE-2.0.html
@@ -0,0 +1,97 @@
1
+ # **************************************************************************************************************
2
+ #
3
+ # Copyright 2020-2026 Robert Bosch GmbH
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ # **************************************************************************************************************
18
+ #
19
+ """
20
+ Custom Build Backend
21
+
22
+ Currently reserved for future development
23
+ """
24
+
25
+ import sys
26
+ import logging
27
+
28
+ from pathlib import Path
29
+ from typing import Dict, Optional
30
+
31
+ from setuptools.build_meta import (
32
+ build_wheel as _build_wheel,
33
+ build_sdist as _build_sdist,
34
+ )
35
+
36
+ project_root = Path(__file__).parent
37
+ sys.path.insert(0, str(project_root))
38
+
39
+ logging.basicConfig(level=logging.INFO, stream=sys.stderr)
40
+ logger = logging.getLogger(__name__)
41
+
42
+ # --------------------------------------------------------------------------------------------------------------
43
+
44
+ SUCCESS = 0
45
+ ERROR = 1
46
+
47
+ # --------------------------------------------------------------------------------------------------------------
48
+
49
+ class BuildManager:
50
+ """
51
+ Custom Build Backend
52
+ """
53
+
54
+ def __init__(self):
55
+ pass
56
+
57
+ def run_pre_build_steps(self) -> int:
58
+ """
59
+ Custom build steps
60
+ """
61
+ # logger.info("Entering pre build process")
62
+ # !!! reserved for future development !!!
63
+ # logger.info("Leaving pre build process")
64
+
65
+ return SUCCESS
66
+
67
+ # eof class BuildManager:
68
+
69
+ build_backend = BuildManager()
70
+
71
+ def build_wheel(
72
+ wheel_directory: str,
73
+ config_settings: Optional[Dict] = None,
74
+ metadata_directory: Optional[str] = None
75
+ ) -> str:
76
+ logger.info("Entering build_wheel")
77
+ returnval = build_backend.run_pre_build_steps()
78
+ if returnval != SUCCESS:
79
+ raise Exception(f"Execution of pre_build_steps failed with error code {returnval}. Premature end of build_wheel.")
80
+ build_wheel_return = _build_wheel(wheel_directory, config_settings, metadata_directory)
81
+ logger.info("Leaving build_wheel")
82
+ return build_wheel_return
83
+
84
+
85
+ def build_sdist(
86
+ sdist_directory: str,
87
+ config_settings: Optional[Dict] = None
88
+ ) -> str:
89
+ logger.info("Entering build_sdist")
90
+ returnval = build_backend.run_pre_build_steps()
91
+ if returnval != SUCCESS:
92
+ raise Exception(f"Execution of pre_build_steps failed with error code {returnval}. Premature end of build_sdist.")
93
+ build_sdist_return = _build_sdist(sdist_directory, config_settings)
94
+ logger.info("Leaving build_sdist")
95
+ return build_sdist_return
96
+
97
+ # --------------------------------------------------------------------------------------------------------------
@@ -0,0 +1,125 @@
1
+ # --------------------------------------------------------------------------------------------------------------
2
+ #
3
+ # Copyright 2020-2026 Robert Bosch GmbH
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ # --------------------------------------------------------------------------------------------------------------
18
+ #
19
+ # TOML file used for component installation
20
+ #
21
+ # Version 0.1.0 / 23.02.2026
22
+ #
23
+ # --------------------------------------------------------------------------------------------------------------
24
+ #
25
+ # According to the TOML specification:
26
+ # * Names in square brackets (e.g. [build-system]) are called 'table'.
27
+ # * Names located to the left of the equal sign (e.g. 'requires') are called 'key'.
28
+ #
29
+ # --------------------------------------------------------------------------------------------------------------
30
+ # [build-system]
31
+ # Specifies the build backend (e.g. setuptools) and required build dependencies.
32
+ # Status: Required
33
+ #
34
+ [build-system]
35
+ # 'requires' specifies the dependencies necessary for the build process (meaning the conversion of source code into an installable distribution)
36
+ requires = ["setuptools>=80.9.0", "wheel", "build", "docutils>=0.22.4", "robotframework>=6.1", "colorama",
37
+ "GenPackageDoc", "PythonExtensionsCollection"] # need to be strengthened later to: "GenPackageDoc>=0.43.0"
38
+ build-backend = "build_backend"
39
+ backend-path = ["."] # the repository main folder
40
+
41
+ # --------------------------------------------------------------------------------------------------------------
42
+ # [project]
43
+ # Core metadata including name, version, authors, and package dependencies.
44
+ # Status: Required
45
+ #
46
+ [project]
47
+ name = "robotframework-prometheus" # the official PyPi package name (must be unique worldwide), not necessarily the import name
48
+ description = "Robot Framework keywords to communicate with the monitoring system Prometheus"
49
+ requires-python = ">=3.11"
50
+ authors = [{name = "Holger Queckenstedt", email = "Holger.Queckenstedt@de.bosch.com"}]
51
+ readme = "README.rst"
52
+ license = "Apache-2.0"
53
+ keywords = ["robotframework", "stringfunctions"]
54
+ # 'classifiers' need to be chosen according to: https://pypi.org/classifiers/
55
+ classifiers = [
56
+ "Development Status :: 4 - Beta",
57
+ "Intended Audience :: Developers",
58
+ "Programming Language :: Python :: 3",
59
+ "Operating System :: OS Independent",
60
+ "Topic :: Software Development"
61
+ ]
62
+ # 'dependencies' defines the dependencies required to run the application or library (runtime dependencies)
63
+ dependencies = [
64
+ "robotframework>=6.1",
65
+ "colorama",
66
+ "prometheus-client",
67
+ "GenPackageDoc",
68
+ "PythonExtensionsCollection"
69
+ ]
70
+ dynamic = ["version"]
71
+
72
+ # --------------------------------------------------------------------------------------------------------------
73
+ # [project.optional-dependencies]
74
+ # Defines optional dependency groups (extras), e.g., for testing or documentation.
75
+ # Status: Optional
76
+ #
77
+ [project.optional-dependencies]
78
+ dev = [
79
+ "pytest>=6.0", # !to be verified !
80
+ "pytest-cov>=3.0", # !to be verified !
81
+ ]
82
+
83
+ docs = [
84
+ "docutils>=0.22.4",
85
+ ]
86
+
87
+ # --------------------------------------------------------------------------------------------------------------
88
+ # [project.urls]
89
+ # External project links such as homepage, source code repository, or documentation.
90
+ # Status: Optional
91
+ #
92
+ [project.urls]
93
+ Homepage = "https://pypi.org/project/robotframework-prometheus/"
94
+ Documentation = "https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf"
95
+ Readme = "https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/README.rst"
96
+ Repository = "https://github.com/test-fullautomation/robotframework-prometheus"
97
+ Issues = "https://github.com/test-fullautomation/robotframework-prometheus/issues"
98
+
99
+ # --------------------------------------------------------------------------------------------------------------
100
+ # [tool.setuptools]
101
+ # Specific settings for the setuptools backend, e.g., package discovery.
102
+ # Defines the main package to be installed.
103
+ # Status: Optional
104
+ #
105
+ [tool.setuptools]
106
+ packages = [
107
+ "PrometheusInterface"
108
+ ]
109
+
110
+ # [tool.setuptools.package-data]
111
+ # Specifies additional non-Python files (e.g., data) to be included in the package.
112
+ # Assigns additional installation files to the main package (without making subfolders a separate sub-package).
113
+ # Status: Optional
114
+ #
115
+ [tool.setuptools.package-data]
116
+ "PrometheusInterface" = ["*.pdf"]
117
+
118
+ # --------------------------------------------------------------------------------------------------------------
119
+ # [tool.setuptools.dynamic]
120
+ # Configures sources for dynamic fields (e.g., version from file or git tags).
121
+ # Status: Optional (but required if 'dynamic' is used within the [project] block!)
122
+ #
123
+ [tool.setuptools.dynamic]
124
+ version = {attr = "PrometheusInterface.prometheus_interface.LIBRARY_VERSION"} # not defined here; we take the version from source code
125
+
@@ -0,0 +1,173 @@
1
+ Metadata-Version: 2.4
2
+ Name: robotframework-prometheus
3
+ Version: 0.9.0
4
+ Summary: Robot Framework keywords to communicate with the monitoring system Prometheus
5
+ Author-email: Holger Queckenstedt <Holger.Queckenstedt@de.bosch.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://pypi.org/project/robotframework-prometheus/
8
+ Project-URL: Documentation, https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf
9
+ Project-URL: Readme, https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/README.rst
10
+ Project-URL: Repository, https://github.com/test-fullautomation/robotframework-prometheus
11
+ Project-URL: Issues, https://github.com/test-fullautomation/robotframework-prometheus/issues
12
+ Keywords: robotframework,stringfunctions
13
+ Classifier: Development Status :: 4 - Beta
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
+ Requires-Dist: robotframework>=6.1
21
+ Requires-Dist: colorama
22
+ Requires-Dist: prometheus-client
23
+ Requires-Dist: GenPackageDoc
24
+ Requires-Dist: PythonExtensionsCollection
25
+ Provides-Extra: dev
26
+ Requires-Dist: pytest>=6.0; extra == "dev"
27
+ Requires-Dist: pytest-cov>=3.0; extra == "dev"
28
+ Provides-Extra: docs
29
+ Requires-Dist: docutils>=0.22.4; extra == "docs"
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 interface library **robotframework-prometheus** provides Robot Framework keywords to communicate with the monitoring system **Prometheus**.
49
+
50
+ How to install
51
+ --------------
52
+
53
+ The interface library **robotframework-prometheus** can be installed in two different ways.
54
+
55
+ 1. Installation via PyPi (recommended for users)
56
+
57
+ .. code::
58
+
59
+ pip install robotframework-prometheus
60
+
61
+ `robotframework-prometheus in PyPi <https://pypi.org/project/robotframework-prometheus/>`_
62
+
63
+ 2. Installation via GitHub (recommended for developers)
64
+
65
+ * Clone the **robotframework-prometheus** repository to your machine.
66
+
67
+ .. code::
68
+
69
+ git clone https://github.com/test-fullautomation/robotframework-prometheus.git
70
+
71
+ `robotframework-prometheus in GitHub <https://github.com/test-fullautomation/robotframework-prometheus>`_
72
+
73
+ * Use the following command to install **robotframework-prometheus** (executed in repository main folder):
74
+
75
+ .. code::
76
+
77
+ python -m pip install .
78
+
79
+ Or:
80
+
81
+ .. code::
82
+
83
+ python -m pip install --proxy <proxy> .
84
+
85
+ This command will also download and install all dependencies that are required to work with the source files in the current repository.
86
+ After the initial installation of **robotframework-prometheus** is done, you have the following two possibilities:
87
+
88
+ 1. *Clean the previous installation*:
89
+
90
+ .. code::
91
+
92
+ python "./cleanup_installation.py"
93
+
94
+ ``cleanup_installation.py`` explicitly deletes all files and folders within the component installation folder under
95
+ ``site-packages`` and also deletes local build artefacts.
96
+
97
+ 2. *Render the component documentation*:
98
+
99
+ .. code::
100
+
101
+ python "./genpackagedoc.py"
102
+
103
+ This would e.g. be required in case of changes in the interface of **robotframework-prometheus**.
104
+
105
+ The documentation is rendered by a separate application called **GenPackageDoc**, that is part
106
+ of the build dependencies and runtime dependencies of **robotframework-prometheus**.
107
+
108
+ **GenPackageDoc** needs to be configured. Details about how to do this, can be found in the
109
+ `README.rst <https://github.com/test-fullautomation/python-genpackagedoc/blob/develop/README.rst>`_
110
+ (sections *Install dependencies* and *Configure dependencies*).
111
+
112
+ * Use the following command to build **robotframework-prometheus** (executed in repository main folder):
113
+
114
+ .. code::
115
+
116
+ python -m build .
117
+
118
+ Or:
119
+
120
+ .. code::
121
+
122
+ python -m pip config set global.proxy <proxy>
123
+ python -m build .
124
+
125
+
126
+ Package Documentation
127
+ ---------------------
128
+
129
+ A detailed documentation of the **prometheus_interface** can be found here:
130
+
131
+ `PrometheusInterface.pdf <https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf>`_
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,5 +1,7 @@
1
+ MANIFEST.in
1
2
  README.rst
2
- setup.py
3
+ build_backend.py
4
+ pyproject.toml
3
5
  PrometheusInterface/PrometheusInterface.pdf
4
6
  PrometheusInterface/__init__.py
5
7
  PrometheusInterface/prometheus_interface.py
@@ -0,0 +1,12 @@
1
+ robotframework>=6.1
2
+ colorama
3
+ prometheus-client
4
+ GenPackageDoc
5
+ PythonExtensionsCollection
6
+
7
+ [dev]
8
+ pytest>=6.0
9
+ pytest-cov>=3.0
10
+
11
+ [docs]
12
+ docutils>=0.22.4
@@ -1,74 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: robotframework-prometheus
3
- Version: 0.8.0
4
- Summary: Additional Robot Framework keywords
5
- Home-page: https://github.com/test-fullautomation/robotframework-prometheus
6
- Author: Holger Queckenstedt
7
- Author-email: Holger.Queckenstedt@de.bosch.com
8
- License: UNKNOWN
9
- Platform: UNKNOWN
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: License :: OSI Approved :: Apache Software License
12
- Classifier: Operating System :: OS Independent
13
- Classifier: Development Status :: 4 - Beta
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Topic :: Software Development
16
- Requires-Python: >=3.0
17
- Description-Content-Type: text/markdown
18
-
19
- Package Description
20
- ===================
21
-
22
- The interface library **prometheus\_interface** provides Robot Framework
23
- keywords to communicate with the monitoring system **Prometheus**.
24
-
25
- Package Documentation
26
- ---------------------
27
-
28
- A detailed documentation of the **prometheus\_interface** can be found
29
- here:
30
-
31
- [PrometheusInterface.pdf](https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf)
32
-
33
- Feedback
34
- --------
35
-
36
- To give us a feedback, you can send an email to [Thomas
37
- Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com)
38
-
39
- In case you want to report a bug or request any interesting feature,
40
- please don\'t hesitate to raise a ticket.
41
-
42
- Maintainers
43
- -----------
44
-
45
- [Holger Queckenstedt](mailto:Holger.Queckenstedt@de.bosch.com)
46
-
47
- [Thomas Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com)
48
-
49
- Contributors
50
- ------------
51
-
52
- [Holger Queckenstedt](mailto:Holger.Queckenstedt@de.bosch.com)
53
-
54
- [Thomas Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com)
55
-
56
- License
57
- -------
58
-
59
- Copyright 2020-2024 Robert Bosch GmbH
60
-
61
- Licensed under the Apache License, Version 2.0 (the \"License\"); you
62
- may not use this file except in compliance with the License. You may
63
- obtain a copy of the License at
64
-
65
- > [![License: Apache
66
- > v2](https://img.shields.io/pypi/l/robotframework.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
67
-
68
- Unless required by applicable law or agreed to in writing, software
69
- distributed under the License is distributed on an \"AS IS\" BASIS,
70
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
71
- See the License for the specific language governing permissions and
72
- limitations under the License.
73
-
74
-
@@ -1,67 +0,0 @@
1
- .. Copyright 2020-2024 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.
14
-
15
- Package Description
16
- ===================
17
-
18
- The interface library **prometheus_interface** provides Robot Framework keywords to communicate with the monitoring system **Prometheus**.
19
-
20
- Package Documentation
21
- ---------------------
22
-
23
- A detailed documentation of the **prometheus_interface** can be found here:
24
-
25
- `PrometheusInterface.pdf <https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf>`_
26
-
27
- Feedback
28
- --------
29
-
30
- To give us a feedback, you can send an email to `Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
31
-
32
- In case you want to report a bug or request any interesting feature, please don't hesitate to raise a ticket.
33
-
34
- Maintainers
35
- -----------
36
-
37
- `Holger Queckenstedt <mailto:Holger.Queckenstedt@de.bosch.com>`_
38
-
39
- `Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
40
-
41
- Contributors
42
- ------------
43
-
44
- `Holger Queckenstedt <mailto:Holger.Queckenstedt@de.bosch.com>`_
45
-
46
- `Thomas Pollerspöck <mailto:Thomas.Pollerspoeck@de.bosch.com>`_
47
-
48
- License
49
- -------
50
-
51
- Copyright 2020-2024 Robert Bosch GmbH
52
-
53
- Licensed under the Apache License, Version 2.0 (the "License");
54
- you may not use this file except in compliance with the License.
55
- You may obtain a copy of the License at
56
-
57
- |License: Apache v2|
58
-
59
- Unless required by applicable law or agreed to in writing, software
60
- distributed under the License is distributed on an "AS IS" BASIS,
61
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
62
- See the License for the specific language governing permissions and
63
- limitations under the License.
64
-
65
-
66
- .. |License: Apache v2| image:: https://img.shields.io/pypi/l/robotframework.svg
67
- :target: http://www.apache.org/licenses/LICENSE-2.0.html
@@ -1,74 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: robotframework-prometheus
3
- Version: 0.8.0
4
- Summary: Additional Robot Framework keywords
5
- Home-page: https://github.com/test-fullautomation/robotframework-prometheus
6
- Author: Holger Queckenstedt
7
- Author-email: Holger.Queckenstedt@de.bosch.com
8
- License: UNKNOWN
9
- Platform: UNKNOWN
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: License :: OSI Approved :: Apache Software License
12
- Classifier: Operating System :: OS Independent
13
- Classifier: Development Status :: 4 - Beta
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Topic :: Software Development
16
- Requires-Python: >=3.0
17
- Description-Content-Type: text/markdown
18
-
19
- Package Description
20
- ===================
21
-
22
- The interface library **prometheus\_interface** provides Robot Framework
23
- keywords to communicate with the monitoring system **Prometheus**.
24
-
25
- Package Documentation
26
- ---------------------
27
-
28
- A detailed documentation of the **prometheus\_interface** can be found
29
- here:
30
-
31
- [PrometheusInterface.pdf](https://github.com/test-fullautomation/robotframework-prometheus/blob/develop/PrometheusInterface/PrometheusInterface.pdf)
32
-
33
- Feedback
34
- --------
35
-
36
- To give us a feedback, you can send an email to [Thomas
37
- Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com)
38
-
39
- In case you want to report a bug or request any interesting feature,
40
- please don\'t hesitate to raise a ticket.
41
-
42
- Maintainers
43
- -----------
44
-
45
- [Holger Queckenstedt](mailto:Holger.Queckenstedt@de.bosch.com)
46
-
47
- [Thomas Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com)
48
-
49
- Contributors
50
- ------------
51
-
52
- [Holger Queckenstedt](mailto:Holger.Queckenstedt@de.bosch.com)
53
-
54
- [Thomas Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com)
55
-
56
- License
57
- -------
58
-
59
- Copyright 2020-2024 Robert Bosch GmbH
60
-
61
- Licensed under the Apache License, Version 2.0 (the \"License\"); you
62
- may not use this file except in compliance with the License. You may
63
- obtain a copy of the License at
64
-
65
- > [![License: Apache
66
- > v2](https://img.shields.io/pypi/l/robotframework.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
67
-
68
- Unless required by applicable law or agreed to in writing, software
69
- distributed under the License is distributed on an \"AS IS\" BASIS,
70
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
71
- See the License for the specific language governing permissions and
72
- limitations under the License.
73
-
74
-
@@ -1,3 +0,0 @@
1
- PythonExtensionsCollection
2
- robotframework
3
- prometheus-client
@@ -1,224 +0,0 @@
1
- # **************************************************************************************************************
2
- #
3
- # Copyright 2020-2024 Robert Bosch GmbH
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
- #
17
- # **************************************************************************************************************
18
- #
19
- # setup.py
20
- #
21
- # XC-HWP/ESW3-Queckenstedt
22
- #
23
- # Extends the standard setuptools installation by adding the documentation in PDF format
24
- # (requires installation mode) and tidying up some folders.
25
- #
26
- # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
- #
28
- # This script deletes folders (as defined in config.CRepositoryConfig, depending on the position of this script):
29
- # - previous builds within this repository
30
- # - previous installations within
31
- # * <Python installation>\Lib\site-packages (Windows)
32
- # * <Python installation>/../lib/python3.9/site-packages (Linux)
33
- #
34
- # before the build and the installation start again!
35
- #
36
- # !!! USE WITH CAUTION !!!
37
- #
38
- # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
39
- #
40
- # --------------------------------------------------------------------------------------------------------------
41
- #
42
- # * Hints:
43
- #
44
- # The usual
45
- # packages = setuptools.find_packages(),
46
- # is replaced by
47
- # packages = [str(oRepositoryConfig.Get('PACKAGENAME')), ],
48
- # to avoid that also config.CRepositoryConfig() and additions.CExtendedSetup() are part of the distribution.
49
- # CRepositoryConfig and CExtendedSetup() are only repository internal helper.
50
- #
51
- # * Known issues:
52
- #
53
- # - setuptools do not properly update an existing package installation under <Python installation>\Lib\site-packages\<package name>!
54
- # > Files modified manually within installation folder, are still modified after repeated execution of setuptools.
55
- # > Files added manually within installation folder, are still present there after repeated execution of setuptools.
56
- # > Only files deleted manually within installation folder, are are restored there after repeated execution of setuptools.
57
- # - No such issues with <Python installation>\Lib\site-packages\<package name>-<versions>.egg-info.
58
- # - Solution: explicit deletion of all previous output (all documentation-, build- and installation-folder, except the egg-info folder)
59
- # (see 'delete_previous_build()' and 'delete_previous_installation()')
60
- #
61
- # --------------------------------------------------------------------------------------------------------------
62
- #
63
- # 24.06.2022
64
- #
65
- # --------------------------------------------------------------------------------------------------------------
66
-
67
- import os, sys, platform, shlex, subprocess
68
- import setuptools
69
- from setuptools.command.install import install
70
-
71
- # prefer the repository local version of all additional libraries (instead of the installed version under site-packages)
72
- sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "./additions")))
73
-
74
- from config.CRepositoryConfig import CRepositoryConfig # providing repository and environment specific information
75
- from additions.CExtendedSetup import CExtendedSetup # providing functions to support the extended setup process
76
-
77
- import colorama as col
78
-
79
- col.init(autoreset=True)
80
-
81
- COLBR = col.Style.BRIGHT + col.Fore.RED
82
- COLBY = col.Style.BRIGHT + col.Fore.YELLOW
83
- COLBG = col.Style.BRIGHT + col.Fore.GREEN
84
-
85
- SUCCESS = 0
86
- ERROR = 1
87
-
88
- # --------------------------------------------------------------------------------------------------------------
89
-
90
- def printerror(sMsg):
91
- sys.stderr.write(COLBR + f"Error: {sMsg}!\n")
92
-
93
- def printexception(sMsg):
94
- sys.stderr.write(COLBR + f"Exception: {sMsg}!\n")
95
-
96
- # --------------------------------------------------------------------------------------------------------------
97
-
98
- class ExtendedInstallCommand(install):
99
- """Extended setup for installation mode."""
100
-
101
- def run(self):
102
-
103
- listCmdArgs = sys.argv
104
- if ( ('install' in listCmdArgs) or ('build' in listCmdArgs) or ('sdist' in listCmdArgs) or ('bdist_wheel' in listCmdArgs) ):
105
- install.run(self)
106
- return SUCCESS
107
-
108
- # eof class ExtendedInstallCommand(install):
109
-
110
- # --------------------------------------------------------------------------------------------------------------
111
-
112
- # -- Even in case of other command line parameters than 'install' or 'build' are used we need the following objects.
113
- # (Without repository configuration commands like '--author-email' would not be possible)
114
-
115
- # -- setting up the repository configuration
116
- oRepositoryConfig = None
117
- try:
118
- oRepositoryConfig = CRepositoryConfig(os.path.abspath(sys.argv[0]))
119
- except Exception as ex:
120
- print()
121
- printexception(str(ex))
122
- print()
123
- sys.exit(ERROR)
124
-
125
- # -- setting up the extended setup
126
- oExtendedSetup = None
127
- try:
128
- oExtendedSetup = CExtendedSetup(oRepositoryConfig)
129
- except Exception as ex:
130
- print()
131
- printexception(str(ex))
132
- print()
133
- sys.exit(ERROR)
134
-
135
- # --------------------------------------------------------------------------------------------------------------
136
-
137
- long_description = "long description" # variable is required even in case of other command line parameters than 'install' or 'build' are used
138
-
139
- listCmdArgs = sys.argv
140
- if ( ('install' in listCmdArgs) or ('build' in listCmdArgs) or ('sdist' in listCmdArgs) or ('bdist_wheel' in listCmdArgs) ):
141
- print()
142
- print(COLBY + "Entering extended installation")
143
- print()
144
-
145
- print(COLBY + "Extended setup step 1/5: Calling the documentation builder")
146
- print()
147
-
148
- nReturn = oExtendedSetup.genpackagedoc()
149
- if nReturn != SUCCESS:
150
- sys.exit(nReturn)
151
-
152
- print(COLBY + "Extended setup step 2/5: Converting the repository README")
153
- print()
154
-
155
- nReturn = oExtendedSetup.convert_repo_readme()
156
- if nReturn != SUCCESS:
157
- sys.exit(nReturn)
158
-
159
- print(COLBY + "Extended setup step 3/5: Deleting previous setup outputs (build, dist, <package name>.egg-info within repository)")
160
- print()
161
-
162
- nReturn = oExtendedSetup.delete_previous_build()
163
- if nReturn != SUCCESS:
164
- sys.exit(nReturn)
165
-
166
- if ( ('bdist_wheel' in listCmdArgs) or ('build' in listCmdArgs) ):
167
- print()
168
- print(COLBY + "Skipping extended setup step 4/5: Deleting previous package installation folder within site-packages")
169
- print()
170
- else:
171
- print()
172
- print(COLBY + "Extended setup step 4/5: Deleting previous package installation folder within site-packages") # (<package name> and <package name>_doc under <Python installation>\Lib\site-packages
173
- print()
174
- nReturn = oExtendedSetup.delete_previous_installation()
175
- if nReturn != SUCCESS:
176
- sys.exit(nReturn)
177
-
178
- README_MD = str(oRepositoryConfig.Get('README_MD'))
179
- with open(README_MD, "r", encoding="utf-8") as fh:
180
- long_description = fh.read()
181
- fh.close()
182
-
183
- # --------------------------------------------------------------------------------------------------------------
184
-
185
- # -- the 'setup' itself
186
-
187
- print(COLBY + "Extended setup step 5/5: install.run(self)")
188
- print()
189
-
190
- setuptools.setup(
191
- name = str(oRepositoryConfig.Get('REPOSITORYNAME')),
192
- version = str(oRepositoryConfig.Get('PACKAGEVERSION')),
193
- author = str(oRepositoryConfig.Get('AUTHOR')),
194
- author_email = str(oRepositoryConfig.Get('AUTHOREMAIL')),
195
- description = str(oRepositoryConfig.Get('DESCRIPTION')),
196
- long_description = long_description,
197
- long_description_content_type = str(oRepositoryConfig.Get('LONGDESCRIPTIONCONTENTTYPE')),
198
- url = str(oRepositoryConfig.Get('URL')),
199
- packages = [str(oRepositoryConfig.Get('PACKAGENAME')),],
200
- package_dir = {str(oRepositoryConfig.Get('REPOSITORYNAME')) : str(oRepositoryConfig.Get('PACKAGENAME'))},
201
- classifiers = [
202
- str(oRepositoryConfig.Get('PROGRAMMINGLANGUAGE')),
203
- str(oRepositoryConfig.Get('LICENCE')),
204
- str(oRepositoryConfig.Get('OPERATINGSYSTEM')),
205
- str(oRepositoryConfig.Get('DEVELOPMENTSTATUS')),
206
- str(oRepositoryConfig.Get('INTENDEDAUDIENCE')),
207
- str(oRepositoryConfig.Get('TOPIC')),
208
- ],
209
- python_requires = str(oRepositoryConfig.Get('PYTHONREQUIRES')),
210
- cmdclass={
211
- 'install': ExtendedInstallCommand,
212
- },
213
- install_requires = oRepositoryConfig.Get('INSTALLREQUIRES'),
214
- package_data={f"{oRepositoryConfig.Get('PACKAGENAME')}" : oRepositoryConfig.Get('PACKAGEDATA')},
215
- )
216
-
217
- # --------------------------------------------------------------------------------------------------------------
218
-
219
- print()
220
- print(COLBG + "Extended installation done")
221
- print()
222
-
223
- # --------------------------------------------------------------------------------------------------------------
224
-