cgse-common 2025.0.5__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.
- cgse_common-2025.0.5/.gitignore +39 -0
- cgse_common-2025.0.5/PKG-INFO +62 -0
- cgse_common-2025.0.5/README.md +39 -0
- cgse_common-2025.0.5/pyproject.toml +81 -0
- cgse_common-2025.0.5/src/egse/bits.py +543 -0
- cgse_common-2025.0.5/src/egse/calibration.py +250 -0
- cgse_common-2025.0.5/src/egse/command.py +680 -0
- cgse_common-2025.0.5/src/egse/config.py +415 -0
- cgse_common-2025.0.5/src/egse/control.py +348 -0
- cgse_common-2025.0.5/src/egse/decorators.py +419 -0
- cgse_common-2025.0.5/src/egse/device.py +271 -0
- cgse_common-2025.0.5/src/egse/env.py +802 -0
- cgse_common-2025.0.5/src/egse/exceptions.py +88 -0
- cgse_common-2025.0.5/src/egse/hk.py +792 -0
- cgse_common-2025.0.5/src/egse/metrics.py +106 -0
- cgse_common-2025.0.5/src/egse/mixin.py +464 -0
- cgse_common-2025.0.5/src/egse/monitoring.py +96 -0
- cgse_common-2025.0.5/src/egse/observer.py +41 -0
- cgse_common-2025.0.5/src/egse/obsid.py +161 -0
- cgse_common-2025.0.5/src/egse/persistence.py +58 -0
- cgse_common-2025.0.5/src/egse/plugin.py +97 -0
- cgse_common-2025.0.5/src/egse/process.py +460 -0
- cgse_common-2025.0.5/src/egse/protocol.py +607 -0
- cgse_common-2025.0.5/src/egse/proxy.py +522 -0
- cgse_common-2025.0.5/src/egse/reload.py +122 -0
- cgse_common-2025.0.5/src/egse/resource.py +438 -0
- cgse_common-2025.0.5/src/egse/response.py +102 -0
- cgse_common-2025.0.5/src/egse/services.py +215 -0
- cgse_common-2025.0.5/src/egse/services.yaml +51 -0
- cgse_common-2025.0.5/src/egse/settings.py +434 -0
- cgse_common-2025.0.5/src/egse/settings.yaml +7 -0
- cgse_common-2025.0.5/src/egse/setup.py +1230 -0
- cgse_common-2025.0.5/src/egse/state.py +173 -0
- cgse_common-2025.0.5/src/egse/system.py +1524 -0
- cgse_common-2025.0.5/src/egse/version.py +180 -0
- cgse_common-2025.0.5/src/egse/zmq_ser.py +69 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Python versions and environment
|
|
2
|
+
|
|
3
|
+
__pycache__
|
|
4
|
+
.python-version
|
|
5
|
+
.envrc
|
|
6
|
+
|
|
7
|
+
# Build systems
|
|
8
|
+
|
|
9
|
+
build
|
|
10
|
+
dist
|
|
11
|
+
**/*.egg-info
|
|
12
|
+
|
|
13
|
+
# Apple specific
|
|
14
|
+
|
|
15
|
+
.DS_Store
|
|
16
|
+
|
|
17
|
+
# Unit testing
|
|
18
|
+
|
|
19
|
+
.pytest_cache
|
|
20
|
+
.coverage
|
|
21
|
+
htmlcov
|
|
22
|
+
|
|
23
|
+
# Virtual environments
|
|
24
|
+
|
|
25
|
+
.env
|
|
26
|
+
.venv
|
|
27
|
+
venv
|
|
28
|
+
|
|
29
|
+
# PyCharm IDE
|
|
30
|
+
|
|
31
|
+
.idea
|
|
32
|
+
|
|
33
|
+
# MKDOCS documentation site
|
|
34
|
+
|
|
35
|
+
/site
|
|
36
|
+
|
|
37
|
+
# Packaging
|
|
38
|
+
|
|
39
|
+
uv.lock
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cgse-common
|
|
3
|
+
Version: 2025.0.5
|
|
4
|
+
Summary: Software framework to support hardware testing
|
|
5
|
+
Author: IVS KU Leuven
|
|
6
|
+
Maintainer-email: Rik Huygen <rik.huygen@kuleuven.be>, Sara Regibo <sara.regibo@kuleuven.be>
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
Keywords: CGSE,Common-EGSE,hardware testing,software framework
|
|
9
|
+
Requires-Python: >=3.9
|
|
10
|
+
Requires-Dist: click>=8.1.8
|
|
11
|
+
Requires-Dist: deepdiff>=8.1.1
|
|
12
|
+
Requires-Dist: distro>=1.9.0
|
|
13
|
+
Requires-Dist: gitpython>=3.1.44
|
|
14
|
+
Requires-Dist: numpy==1.22.4
|
|
15
|
+
Requires-Dist: pandas>=1.5.1
|
|
16
|
+
Requires-Dist: pip>=24.3.1
|
|
17
|
+
Requires-Dist: prometheus-client>=0.21.1
|
|
18
|
+
Requires-Dist: psutil>=6.1.1
|
|
19
|
+
Requires-Dist: pyyaml>=6.0.2
|
|
20
|
+
Requires-Dist: pyzmq==23.2.1
|
|
21
|
+
Requires-Dist: rich>=13.9.4
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+

|
|
26
|
+

|
|
27
|
+

|
|
28
|
+

|
|
29
|
+
|
|
30
|
+
# Generic Functionality used in the Common-EGSE
|
|
31
|
+
|
|
32
|
+
This package 'cgse-common' contains functionality that is used by all `cgse` sub-packages, but it is designed to be a stand-alone generic package that can be used also in any other project.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Installation
|
|
36
|
+
|
|
37
|
+
Install the package using pip:
|
|
38
|
+
|
|
39
|
+
$ pip install cgse-common
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## Usage
|
|
43
|
+
|
|
44
|
+
All functionality resides in the package `egse`. As an example, if you need a standard way to format your timestamp, use the `format_datetime()` function from `egse.system`:
|
|
45
|
+
|
|
46
|
+
>>> from egse.system import format_datetime
|
|
47
|
+
>>> print(format_datetime())
|
|
48
|
+
2023-10-10T08:41:51.937+0000
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Included Functionality
|
|
52
|
+
|
|
53
|
+
A non-comprehensive list of available functionality:
|
|
54
|
+
|
|
55
|
+
### Functionality of General Use
|
|
56
|
+
|
|
57
|
+
* **egse.bits**: contains a number of convenience functions to work with bits, bytes and integers
|
|
58
|
+
* **egse.decorators**: a collection of useful decorator functions
|
|
59
|
+
* **egse.reload**: a slightly better approach to reloading modules and function than the standard importlib.reload() function.
|
|
60
|
+
* **egse.resource**: provides convenience functions to use resources in your code without the need to specify an absolute path
|
|
61
|
+
* **egse.system**: defines convenience functions that provide information on system specific functionality like, file system interactions, timing, operating system interactions, etc.
|
|
62
|
+
* **egse.version**: functionality to retrieve the package version information
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+

|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
# Generic Functionality used in the Common-EGSE
|
|
8
|
+
|
|
9
|
+
This package 'cgse-common' contains functionality that is used by all `cgse` sub-packages, but it is designed to be a stand-alone generic package that can be used also in any other project.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
Install the package using pip:
|
|
15
|
+
|
|
16
|
+
$ pip install cgse-common
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
All functionality resides in the package `egse`. As an example, if you need a standard way to format your timestamp, use the `format_datetime()` function from `egse.system`:
|
|
22
|
+
|
|
23
|
+
>>> from egse.system import format_datetime
|
|
24
|
+
>>> print(format_datetime())
|
|
25
|
+
2023-10-10T08:41:51.937+0000
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## Included Functionality
|
|
29
|
+
|
|
30
|
+
A non-comprehensive list of available functionality:
|
|
31
|
+
|
|
32
|
+
### Functionality of General Use
|
|
33
|
+
|
|
34
|
+
* **egse.bits**: contains a number of convenience functions to work with bits, bytes and integers
|
|
35
|
+
* **egse.decorators**: a collection of useful decorator functions
|
|
36
|
+
* **egse.reload**: a slightly better approach to reloading modules and function than the standard importlib.reload() function.
|
|
37
|
+
* **egse.resource**: provides convenience functions to use resources in your code without the need to specify an absolute path
|
|
38
|
+
* **egse.system**: defines convenience functions that provide information on system specific functionality like, file system interactions, timing, operating system interactions, etc.
|
|
39
|
+
* **egse.version**: functionality to retrieve the package version information
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "cgse-common"
|
|
3
|
+
version = "2025.0.5"
|
|
4
|
+
description = "Software framework to support hardware testing"
|
|
5
|
+
authors = [
|
|
6
|
+
{name = "IVS KU Leuven"}
|
|
7
|
+
]
|
|
8
|
+
maintainers = [
|
|
9
|
+
{name = "Rik Huygen", email = "rik.huygen@kuleuven.be"},
|
|
10
|
+
{name = "Sara Regibo", email = "sara.regibo@kuleuven.be"}
|
|
11
|
+
]
|
|
12
|
+
readme = {"file" = "README.md", "content-type" = "text/markdown"}
|
|
13
|
+
requires-python = ">=3.9"
|
|
14
|
+
license = "MIT"
|
|
15
|
+
keywords = [
|
|
16
|
+
"CGSE",
|
|
17
|
+
"Common-EGSE",
|
|
18
|
+
"hardware testing",
|
|
19
|
+
"software framework"
|
|
20
|
+
]
|
|
21
|
+
dependencies = [
|
|
22
|
+
"click>=8.1.8",
|
|
23
|
+
"deepdiff>=8.1.1",
|
|
24
|
+
"distro>=1.9.0",
|
|
25
|
+
"gitpython>=3.1.44",
|
|
26
|
+
"numpy==1.22.4",
|
|
27
|
+
"pandas>=1.5.1",
|
|
28
|
+
"pip>=24.3.1", # only used in setup
|
|
29
|
+
"prometheus-client>=0.21.1",
|
|
30
|
+
"psutil>=6.1.1",
|
|
31
|
+
"pyyaml>=6.0.2",
|
|
32
|
+
"pyzmq == 23.2.1",
|
|
33
|
+
"rich>=13.9.4",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[project.entry-points."cgse.version"]
|
|
37
|
+
cgse-common = 'egse'
|
|
38
|
+
|
|
39
|
+
[tool.pytest.ini_options]
|
|
40
|
+
pythonpath = "src"
|
|
41
|
+
testpaths = ["tests"]
|
|
42
|
+
addopts = "-ra --cov --cov-report html"
|
|
43
|
+
filterwarnings = [
|
|
44
|
+
"ignore::DeprecationWarning"
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
[tool.coverage.run]
|
|
48
|
+
omit = [
|
|
49
|
+
"tests/*",
|
|
50
|
+
"conftest.py",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
[tool.hatch.build.targets.sdist]
|
|
54
|
+
exclude = [
|
|
55
|
+
"/tests",
|
|
56
|
+
"/pytest.ini",
|
|
57
|
+
"/.gitignore",
|
|
58
|
+
"/*poetry*",
|
|
59
|
+
"/*setuptools*",
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
[tool.hatch.build.targets.wheel]
|
|
63
|
+
packages = ["src/egse"]
|
|
64
|
+
|
|
65
|
+
[tool.ruff]
|
|
66
|
+
line-length = 120
|
|
67
|
+
|
|
68
|
+
[tool.ruff.lint]
|
|
69
|
+
extend-select = ["E", "W"]
|
|
70
|
+
|
|
71
|
+
[build-system]
|
|
72
|
+
requires = ["hatchling"]
|
|
73
|
+
build-backend = "hatchling.build"
|
|
74
|
+
|
|
75
|
+
[dependency-groups]
|
|
76
|
+
dev = [
|
|
77
|
+
"pytest>=8.3.4",
|
|
78
|
+
"pytest-cov>=6.0.0",
|
|
79
|
+
"pytest-mock>=3.14.0",
|
|
80
|
+
"ruff>=0.9.0",
|
|
81
|
+
]
|