ekfsm 0.11.0b1.post3__py3-none-any.whl → 0.13.0a160.post4__py3-none-any.whl
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.
Potentially problematic release.
This version of ekfsm might be problematic. Click here for more details.
- ekfsm/boards/oem/ekf/ccu.yaml +2 -0
- ekfsm/boards/oem/ekf/se5-club.yaml +41 -0
- ekfsm/boards/oem/ekf/sn4-djembe.yaml +41 -0
- ekfsm/boards/oem/ekf/sq3-quartet.yaml +41 -0
- ekfsm/boards/oem/hitron/{hdrc-300.yaml → hdrc-300s.yaml} +6 -2
- ekfsm/cli.py +6 -1
- ekfsm/config.py +1 -0
- ekfsm/core/components.py +19 -7
- ekfsm/core/utils.py +26 -11
- ekfsm/devices/__init__.py +4 -3
- ekfsm/devices/{hwmon.py → coretemp.py} +8 -6
- ekfsm/devices/eeprom.py +41 -4
- ekfsm/devices/ekf_ccu_uc.py +68 -2
- ekfsm/devices/ekf_sur_led.py +2 -2
- ekfsm/devices/generic.py +20 -15
- ekfsm/devices/gpio.py +8 -7
- ekfsm/devices/iio_thermal_humidity.py +2 -2
- ekfsm/devices/imu.py +14 -0
- ekfsm/devices/mux.py +3 -3
- ekfsm/devices/pmbus.py +196 -14
- ekfsm/devices/smbus.py +24 -0
- ekfsm/simctrl.py +5 -27
- ekfsm/system.py +46 -19
- ekfsm-0.13.0a160.post4.dist-info/METADATA +174 -0
- ekfsm-0.13.0a160.post4.dist-info/RECORD +44 -0
- ekfsm-0.11.0b1.post3.dist-info/METADATA +0 -86
- ekfsm-0.11.0b1.post3.dist-info/RECORD +0 -39
- {ekfsm-0.11.0b1.post3.dist-info → ekfsm-0.13.0a160.post4.dist-info}/WHEEL +0 -0
- {ekfsm-0.11.0b1.post3.dist-info → ekfsm-0.13.0a160.post4.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ekfsm
|
|
3
|
+
Version: 0.13.0a160.post4
|
|
4
|
+
Summary: The EKF System Management Library (ekfsm) is a sensor monitoring suite for Compact PCI Serial devices.
|
|
5
|
+
Author-email: Klaus Popp <klaus.popp@ci4rail.com>, Jan Jansen <jan@ekf.de>, Felix Päßler <fp@ekf.de>
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
|
+
Requires-Dist: anytree
|
|
8
|
+
Requires-Dist: click>=8.0.1
|
|
9
|
+
Requires-Dist: crcmod
|
|
10
|
+
Requires-Dist: gpiod>=2.1.0
|
|
11
|
+
Requires-Dist: hexdump
|
|
12
|
+
Requires-Dist: more-itertools
|
|
13
|
+
Requires-Dist: munch
|
|
14
|
+
Requires-Dist: smbus2
|
|
15
|
+
Requires-Dist: types-pyyaml>=6.0.12.20241230
|
|
16
|
+
Requires-Dist: yamale
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# ekfsm - EKF system management library
|
|
20
|
+
|
|
21
|
+
Provides a python library framework for access to system management functions on Linux based modular hardware systems,
|
|
22
|
+
such as CompactPCI-Serial systems.
|
|
23
|
+
|
|
24
|
+
## Features
|
|
25
|
+
|
|
26
|
+
- System configuration via YAML configuration file
|
|
27
|
+
- Obtain inventory information of the system and its components
|
|
28
|
+
- Obtain sensor information, such as temperature, humidity, voltage, current, accelerometer, gyroscope, etc.
|
|
29
|
+
- Write and read EEPROM contents
|
|
30
|
+
- Access to system level functions, such as system LEDs, system fan, system power supply, etc.
|
|
31
|
+
- Supports simulation mode for development and testing
|
|
32
|
+
- Probing of desired boards in configured slots
|
|
33
|
+
|
|
34
|
+
## Requirements
|
|
35
|
+
|
|
36
|
+
Prior to the use of I2C, PMBus or GPIO devices using the API, those devices have to be initialised by ACPI or manual device setup.
|
|
37
|
+
|
|
38
|
+
### Example
|
|
39
|
+
|
|
40
|
+
In order to initialize an EEPROM of type AT24 behind a Mux channel 0, manualy add the device:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cd /sys/bus/i2c/devices/0-0074/channel-0/
|
|
44
|
+
echo 24c02 0x55 >new_device
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Now we can access the EEPROM contents:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
hd 8-0055/eeprom
|
|
51
|
+
00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
|
|
52
|
+
*
|
|
53
|
+
00000100
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
## Installation
|
|
58
|
+
|
|
59
|
+
To install the package via pip, you have to use a virtual environment to ensure full operabilty.
|
|
60
|
+
*Note: CLI entrypoint script won't work if installed in the system store!*
|
|
61
|
+
|
|
62
|
+
### Prepare virtual environment
|
|
63
|
+
|
|
64
|
+
First, name, create and activate your virtual environment (here `myvenv`):
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
$ python -m venv myvenv
|
|
68
|
+
$ source myvenv/bin/activate
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Package install
|
|
72
|
+
|
|
73
|
+
Now install the ekfsm package and all dependencies from the [project pypi registry](https://gitlab.ekf.com/libs/apis/ekfsm/-/packages):
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
(myvenv) $ pip install ekfsm --index-url https://gitlab.ekf.com/api/v4/projects/407/packages/pypi/simple
|
|
77
|
+
Looking in indexes: https://gitlab.ekf.com/api/v4/projects/407/packages/pypi/simple
|
|
78
|
+
Collecting ekfsm
|
|
79
|
+
Downloading https://gitlab.ekf.com/api/v4/projects/407/packages/pypi/files/e400ee46de9346c086ce708675977cc6ab080c8c016d360970c82d1c436f7c89/ekfsm-0.12.0-py3-none-any.whl (43 kB)
|
|
80
|
+
Collecting anytree (from ekfsm)
|
|
81
|
+
Using cached anytree-2.12.1-py3-none-any.whl.metadata (8.1 kB)
|
|
82
|
+
Collecting click>=8.0.1 (from ekfsm)
|
|
83
|
+
Using cached click-8.1.8-py3-none-any.whl.metadata (2.3 kB)
|
|
84
|
+
Collecting crcmod (from ekfsm)
|
|
85
|
+
Using cached crcmod-1.7-cp312-cp312-linux_x86_64.whl
|
|
86
|
+
Collecting gpiod>=2.1.0 (from ekfsm)
|
|
87
|
+
Using cached gpiod-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)
|
|
88
|
+
Collecting hexdump (from ekfsm)
|
|
89
|
+
Using cached hexdump-3.3-py3-none-any.whl
|
|
90
|
+
Collecting more-itertools (from ekfsm)
|
|
91
|
+
Using cached more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
|
|
92
|
+
Collecting munch (from ekfsm)
|
|
93
|
+
Using cached munch-4.0.0-py2.py3-none-any.whl.metadata (5.9 kB)
|
|
94
|
+
Collecting smbus2 (from ekfsm)
|
|
95
|
+
Using cached smbus2-0.5.0-py2.py3-none-any.whl.metadata (6.9 kB)
|
|
96
|
+
Collecting types-pyyaml>=6.0.12.20241230 (from ekfsm)
|
|
97
|
+
Using cached types_PyYAML-6.0.12.20241230-py3-none-any.whl.metadata (1.8 kB)
|
|
98
|
+
Collecting yamale (from ekfsm)
|
|
99
|
+
Using cached yamale-6.0.0-py3-none-any.whl.metadata (22 kB)
|
|
100
|
+
Collecting six (from anytree->ekfsm)
|
|
101
|
+
Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
|
|
102
|
+
Collecting pyyaml (from yamale->ekfsm)
|
|
103
|
+
Using cached PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
|
|
104
|
+
Using cached click-8.1.8-py3-none-any.whl (98 kB)
|
|
105
|
+
Using cached gpiod-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (103 kB)
|
|
106
|
+
Using cached types_PyYAML-6.0.12.20241230-py3-none-any.whl (20 kB)
|
|
107
|
+
Using cached anytree-2.12.1-py3-none-any.whl (44 kB)
|
|
108
|
+
Using cached more_itertools-10.6.0-py3-none-any.whl (63 kB)
|
|
109
|
+
Using cached munch-4.0.0-py2.py3-none-any.whl (9.9 kB)
|
|
110
|
+
Using cached smbus2-0.5.0-py2.py3-none-any.whl (11 kB)
|
|
111
|
+
Using cached yamale-6.0.0-py3-none-any.whl (57 kB)
|
|
112
|
+
Using cached PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (767 kB)
|
|
113
|
+
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
|
|
114
|
+
Installing collected packages: smbus2, hexdump, crcmod, types-pyyaml, six, pyyaml, munch, more-itertools, gpiod, click, yamale, anytree, ekfsm
|
|
115
|
+
Successfully installed anytree-2.12.1 click-8.1.8 crcmod-1.7 ekfsm-0.12.0 gpiod-2.3.0 hexdump-3.3 more-itertools-10.6.0 munch-4.0.0 pyyaml-6.0.2 six-1.17.0 smbus2-0.5.0 types-pyyaml-6.0.12.20241230 yamale-6.0.0
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Example Usage Scenario
|
|
119
|
+
|
|
120
|
+
To use the library for a desired system, it must be configured in a system config yaml file:
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
# Example config
|
|
124
|
+
system_config:
|
|
125
|
+
name: "Simple System"
|
|
126
|
+
slots:
|
|
127
|
+
- name: SYSTEM_SLOT
|
|
128
|
+
slot_type: CPCI_S0_SYS
|
|
129
|
+
desired_hwmodule_type: EKF SC9-Toccata
|
|
130
|
+
desired_hwmodule_name: CPU
|
|
131
|
+
attributes:
|
|
132
|
+
is_master: true
|
|
133
|
+
- name: SLOT1
|
|
134
|
+
slot_type: CPCI_S0_PER
|
|
135
|
+
desired_hwmodule_type: EKF SRF-SUR
|
|
136
|
+
desired_hwmodule_name: SER
|
|
137
|
+
attributes:
|
|
138
|
+
slot_coding: 0x1
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### API
|
|
142
|
+
|
|
143
|
+
If you want to access the LEDs on the EKF SUR-UART, you can do the following:
|
|
144
|
+
```python
|
|
145
|
+
import ekfsm
|
|
146
|
+
|
|
147
|
+
system = ekfsm.System("system.yaml")
|
|
148
|
+
|
|
149
|
+
# alternative ways to get the SUR HwModule
|
|
150
|
+
sur = system["SER"] # by using the hwmodule name as key
|
|
151
|
+
sur = system.ser # by using the hwmodule name as attribute
|
|
152
|
+
sur = system.slots["SLOT1"].hwmodule # by using the slot name as key
|
|
153
|
+
sur = system.slots.slot1.hwmodule # by using the slot name as attribute
|
|
154
|
+
|
|
155
|
+
# accessing the LED device
|
|
156
|
+
sur.led_a.set(0,"purple") # set the color of the LED to purple
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
For further infos on all API aspects, please see the [API Reference](https://ekfsm.readthedocs.io/en/main/reference/index.html).
|
|
160
|
+
|
|
161
|
+
### CLI
|
|
162
|
+
|
|
163
|
+
Upon activation of a venv provided with the ekfsm library, an entry point script `ekfsm-cli` is exported in the current shell.
|
|
164
|
+
|
|
165
|
+
See `ekfsm-cli -h` for a help on the usage.
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
## Resources
|
|
169
|
+
|
|
170
|
+
[Documentation](https://ekfsm.readthedocs.io/en/main/)
|
|
171
|
+
|
|
172
|
+
[Source Code](https://gitlab.ekf.com/libs/apis/ekfsm)
|
|
173
|
+
|
|
174
|
+
[Developer Wiki](https://gitlab.ekf.com/libs/apis/ekfsm/-/wikis/home)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
ekfsm/__init__.py,sha256=RF5mSVhkFWVsbJgYk-qMKb9eVHAcQ7WbJCunGBim4Ig,244
|
|
2
|
+
ekfsm/cli.py,sha256=hBF7Gi2JQqV6s470dDrDJQsLz0KP4sZ9cIp2_cHqcQI,2919
|
|
3
|
+
ekfsm/config.py,sha256=FTk47f3qA05Zv6Cy_L_5XlGmmbC9z_kPdQJKpVoHkWs,924
|
|
4
|
+
ekfsm/exceptions.py,sha256=25P677GxfBTdBWHRngPce0bmhcLg7MFeTtuAvguxd90,1310
|
|
5
|
+
ekfsm/log.py,sha256=_GC8Y7a4fFV4_DNicbwQ-5rRzNQU6WSotXd2etXSrZk,866
|
|
6
|
+
ekfsm/py.typed,sha256=1gNRtmxvYcVqDDEyAzBLnD8dAOweUfYxW2ZPdJzN1fg,102
|
|
7
|
+
ekfsm/simctrl.py,sha256=9mkhlEpbUOpN252voHFBpvc3LOor3ezhqya-j1fshdY,6592
|
|
8
|
+
ekfsm/system.py,sha256=NoLvfkAKIuyE_1K7EA4mIcwAfGeO50lU-0wfSqj-0jA,11809
|
|
9
|
+
ekfsm/boards/oem/ekf/ccu.yaml,sha256=qgr7YZO0kEddD9K6tv6222NyozkRNuF7NFw6hyX0XgE,2094
|
|
10
|
+
ekfsm/boards/oem/ekf/sc5-festival.yaml,sha256=_0kS5GegfyOt5CTJc9kY6HJbr9yZo4i18sVo6F4KE9c,772
|
|
11
|
+
ekfsm/boards/oem/ekf/sc9-toccata.yaml,sha256=btLgQMSsW0tRipnUYUkVQSIsjzxfKq0NXaQ1fMMyBRI,771
|
|
12
|
+
ekfsm/boards/oem/ekf/se5-club.yaml,sha256=j3u6sDwXMUBM0LNKwVm920w3T3tzjia2BRTQb2rRPZo,1049
|
|
13
|
+
ekfsm/boards/oem/ekf/sn4-djembe.yaml,sha256=ddLDdw7JpPpvR3TmlcTxNVNTOueTl6_A9LSveFrtz3E,1051
|
|
14
|
+
ekfsm/boards/oem/ekf/spv-mystic.yaml,sha256=zcLiNE7wVdXIT4vkwEYSqQ8ff-KEjCHfHnQzzPXJQ4E,1804
|
|
15
|
+
ekfsm/boards/oem/ekf/sq1-track.yaml,sha256=YU83BQjGu-4ejirwnGxd38sJme859kdRovkZyiOJciU,1050
|
|
16
|
+
ekfsm/boards/oem/ekf/sq3-quartet.yaml,sha256=pBB7Tv0IWLkFUYBs3tFvZriA-uqPuPIgzjaN0aHT4e4,1052
|
|
17
|
+
ekfsm/boards/oem/ekf/srf-fan.yaml,sha256=Mcu1Q8B1Ih10hoc_hbkGlppBmbOFcufsVUR42iW4Rwc,1368
|
|
18
|
+
ekfsm/boards/oem/ekf/sur-uart.yaml,sha256=VaNP2BSlNTi1lDco16Ma9smPEAMaVKvx-ZNDcm3QptM,1890
|
|
19
|
+
ekfsm/boards/oem/hitron/hdrc-300s.yaml,sha256=Cji2ZmYsEUvHQ0m04iKkPlzDNRwJgqj8y2lzQzkAWd4,560
|
|
20
|
+
ekfsm/core/__init__.py,sha256=nv3Rs-E953M9PBFV9ryejRY-KM6xG1NMlQTWwzCEQwo,212
|
|
21
|
+
ekfsm/core/components.py,sha256=dh71jM_OJ8QhTzou-5L6RaF3abXgE470KJfxQRqq1CY,3836
|
|
22
|
+
ekfsm/core/probe.py,sha256=DgJvkvMjVk09n0Rzn13ybRvidrmFn_D2PD56XS-KgxU,262
|
|
23
|
+
ekfsm/core/slots.py,sha256=WOKYO-8TfpWexu3DsSjrYTvjtN4pAMiy22zMjjUI-qQ,6569
|
|
24
|
+
ekfsm/core/sysfs.py,sha256=iW_XWtEjW7pZqpJc_RyMzhVjbetw0ydTH11lhfxrPbc,2541
|
|
25
|
+
ekfsm/core/utils.py,sha256=EoPOuRmLlvHvGneDcKjP7Qbjfsc4XlMbLeaSFRObt_E,3145
|
|
26
|
+
ekfsm/devices/__init__.py,sha256=UtFLCtAdpDJ3OaY7fedk13bx90NMsfxhyVAHV13t2U4,936
|
|
27
|
+
ekfsm/devices/coretemp.py,sha256=s0qUoVR90hr9O7Yp7AecXc_LAfrd0LUIJSm2Wh7AJZY,2012
|
|
28
|
+
ekfsm/devices/eeprom.py,sha256=8z0eWs4ljRtoLoS3rLbMiGcSxWmNmXeJ8zB6hRGZXis,32042
|
|
29
|
+
ekfsm/devices/ekf_ccu_uc.py,sha256=Jmy2HiXPG39MHmD9JGtIR5U9UoeyIQnIbiz9VPZteEk,15252
|
|
30
|
+
ekfsm/devices/ekf_sur_led.py,sha256=dY2EIqUx4-LV7ipCEIg8DfXWlGxpspRmEtEhVfHY6LI,1871
|
|
31
|
+
ekfsm/devices/generic.py,sha256=Xii1fkV8R2kRvWCe9Pg-uOVDWXa-Ow5AM6CbUYKcxSI,9494
|
|
32
|
+
ekfsm/devices/gpio.py,sha256=hlJ3yJ8jSGUIkPpjymani0EcxYJX2iEybGbnV8N0O5E,9552
|
|
33
|
+
ekfsm/devices/iio.py,sha256=gMOJGdg2PvFbAvlBpLfDTIc_-9i1Z3OLpuabTke6N3I,1480
|
|
34
|
+
ekfsm/devices/iio_thermal_humidity.py,sha256=4Qod31hhnUIHP6ojv_cf2JLld8OCN1McFOPTJL-Ue-A,1196
|
|
35
|
+
ekfsm/devices/imu.py,sha256=bnSaTjGSLV90FyUbkK9oTon0dmF7N_JQ4uGmBPFA5Co,414
|
|
36
|
+
ekfsm/devices/mux.py,sha256=CV5ECUiEvaxXNoozMFchsuLD4FpYD_7uFp62DNWVFJ0,1026
|
|
37
|
+
ekfsm/devices/pmbus.py,sha256=Tgve-a_-9SvlaPUGZw87Ulh3Z5wIBxBPLap3zzsgr2Q,6383
|
|
38
|
+
ekfsm/devices/smbios.py,sha256=KC1D2dSRaertYLeMFF6C9hQUI_RcTzVdtQ1qh8Hbces,985
|
|
39
|
+
ekfsm/devices/smbus.py,sha256=zD9b6PehipMw-xoaOMC-oorDVxBoo30hc98gyFxFLs0,500
|
|
40
|
+
ekfsm/devices/utils.py,sha256=4-0Kmvy4ou8R71afNj6RqdBTjLW4SMWPHqVrzB2RUZw,397
|
|
41
|
+
ekfsm-0.13.0a160.post4.dist-info/METADATA,sha256=OiIYRWWb1QKoI0-pA88Yq3MI2t0-NDack61vjs3ZLgM,6552
|
|
42
|
+
ekfsm-0.13.0a160.post4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
43
|
+
ekfsm-0.13.0a160.post4.dist-info/entry_points.txt,sha256=WhUR4FzuxPoGrbTOKLsNJO7NAnk2qd4T30fqzN1yLw8,45
|
|
44
|
+
ekfsm-0.13.0a160.post4.dist-info/RECORD,,
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: ekfsm
|
|
3
|
-
Version: 0.11.0b1.post3
|
|
4
|
-
Summary: The EKF System Management Library (ekfsm) is a sensor monitoring suite for Compact PCI Serial devices.
|
|
5
|
-
Author-email: Klaus Popp <klaus.popp@ci4rail.com>, Jan Jansen <jan@ekf.de>, Felix Päßler <fp@ekf.de>
|
|
6
|
-
Requires-Python: >=3.10
|
|
7
|
-
Requires-Dist: anytree
|
|
8
|
-
Requires-Dist: click>=8.0.1
|
|
9
|
-
Requires-Dist: crcmod
|
|
10
|
-
Requires-Dist: gpiod>=2.1.0
|
|
11
|
-
Requires-Dist: hexdump
|
|
12
|
-
Requires-Dist: more-itertools
|
|
13
|
-
Requires-Dist: munch
|
|
14
|
-
Requires-Dist: smbus2
|
|
15
|
-
Requires-Dist: types-pyyaml>=6.0.12.20241230
|
|
16
|
-
Requires-Dist: yamale
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
|
|
19
|
-
# ekfsm - EKF system management library
|
|
20
|
-
|
|
21
|
-
Provides access to system management functions on Linux based modular hardware systems,
|
|
22
|
-
such as CompactPCI-Serial systems.
|
|
23
|
-
|
|
24
|
-
Initial implementation for [DP-ZIP2 CompactPCI-Serial system](https://ekf.atlassian.net/l/cp/KzN2q7KR)
|
|
25
|
-
|
|
26
|
-
## Features
|
|
27
|
-
|
|
28
|
-
- System configuration via YAML configuration file
|
|
29
|
-
- Obtain inventory information of the system and its components
|
|
30
|
-
- Obtain sensor information, such as temperature, humidity, voltage, current, accelerometer, gyroscope, etc.
|
|
31
|
-
- Access to system level functions, such as system LEDs, system fan, system power supply, etc.
|
|
32
|
-
- Supports simulation mode for development and testing
|
|
33
|
-
|
|
34
|
-
## Packaging
|
|
35
|
-
|
|
36
|
-
The project can be packaged and deployed as a pypi package to the gitlab pypi registry.
|
|
37
|
-
|
|
38
|
-
The project metadata is partially generated dynamically from the project readme and the auto generated version tag from SCM.
|
|
39
|
-
|
|
40
|
-
### Build the package
|
|
41
|
-
|
|
42
|
-
To build the package run `make build`
|
|
43
|
-
|
|
44
|
-
### Upload package manually to the GITLAB package registry
|
|
45
|
-
|
|
46
|
-
1. Set up your authentication method and the project URL in your `~/.pypirc` according to [Authenticate with the package registry](https://gitlab.ekf.com/api/v4/projects/407/packages/pypi)
|
|
47
|
-
2. Run `make upload`
|
|
48
|
-
|
|
49
|
-
Note that the version string which is generated complies to the `setuptools-scm` default versioning scheme and thus the version string will be slightly different from the string generated during the pipeline build if running from a shell in a workspace.
|
|
50
|
-
|
|
51
|
-
*See also [SetupTools-SCM Documentation](https://setuptools-scm.readthedocs.io/en/latest/) and [SetupTool UserGuide](https://setuptools.pypa.io/en/latest/userguide).*
|
|
52
|
-
|
|
53
|
-
## Install a package
|
|
54
|
-
|
|
55
|
-
See instructions given in the packages deployed under [this projects pypi registry](https://gitlab.ekf.com/libs/apis/ekfsm/-/packages/).
|
|
56
|
-
|
|
57
|
-
## Generating documentation
|
|
58
|
-
|
|
59
|
-
From the nix shell, run `make docs` to generate the documentation. This will start a local web server to view the generated documentation. It is automatically updated when the source code changes.
|
|
60
|
-
|
|
61
|
-
The documentation is generated using the `sphinx` tool. The configuration and docs are stored in the `docs` folder.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
## Remote development on the target
|
|
65
|
-
|
|
66
|
-
On the remote machine, install recent version of direnv:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
curl -sfL https://direnv.net/install.sh | bash
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Add the following line to your ~/.bashrc or ~/.bash_profile:
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
eval "$(direnv hook bash)"
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Install the following extensions in VSCode:
|
|
79
|
-
* cab404.vscode-direnv
|
|
80
|
-
* ms-python.mypy-type-checker
|
|
81
|
-
* mikoz.black-py
|
|
82
|
-
* ms-python.python
|
|
83
|
-
* ms-python.vscode-pylance
|
|
84
|
-
* ms-python.debugpy
|
|
85
|
-
|
|
86
|
-
From vscode on the host machine, open the project folder on the remote machine via ssh. The direnv extension will automatically load the environment variables from the `.envrc` file.
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
ekfsm/__init__.py,sha256=RF5mSVhkFWVsbJgYk-qMKb9eVHAcQ7WbJCunGBim4Ig,244
|
|
2
|
-
ekfsm/cli.py,sha256=HJuqHtaa0RH2m-1yk5J9d2gQ8ybjVf7FdIzLcBssacA,2743
|
|
3
|
-
ekfsm/config.py,sha256=mBWfPeD7U3Zh9qPwLVC_mfykGI6lxZ4mJcV8Vf3PI_0,890
|
|
4
|
-
ekfsm/exceptions.py,sha256=25P677GxfBTdBWHRngPce0bmhcLg7MFeTtuAvguxd90,1310
|
|
5
|
-
ekfsm/log.py,sha256=_GC8Y7a4fFV4_DNicbwQ-5rRzNQU6WSotXd2etXSrZk,866
|
|
6
|
-
ekfsm/py.typed,sha256=1gNRtmxvYcVqDDEyAzBLnD8dAOweUfYxW2ZPdJzN1fg,102
|
|
7
|
-
ekfsm/simctrl.py,sha256=dD7pO7EBTiWwSP8ZrGf9-H69g4yDQE3hGtQn5Y3MR1w,7002
|
|
8
|
-
ekfsm/system.py,sha256=_4jkaoikSY5SbHtrzuwiAInE9EnorDh1IampC5v-gHw,10732
|
|
9
|
-
ekfsm/boards/oem/ekf/ccu.yaml,sha256=WgENJDHBYFgUoiYxl4DNv5f6Mz_5oMA-cyD0y1aHvkg,2034
|
|
10
|
-
ekfsm/boards/oem/ekf/sc5-festival.yaml,sha256=_0kS5GegfyOt5CTJc9kY6HJbr9yZo4i18sVo6F4KE9c,772
|
|
11
|
-
ekfsm/boards/oem/ekf/sc9-toccata.yaml,sha256=btLgQMSsW0tRipnUYUkVQSIsjzxfKq0NXaQ1fMMyBRI,771
|
|
12
|
-
ekfsm/boards/oem/ekf/spv-mystic.yaml,sha256=zcLiNE7wVdXIT4vkwEYSqQ8ff-KEjCHfHnQzzPXJQ4E,1804
|
|
13
|
-
ekfsm/boards/oem/ekf/sq1-track.yaml,sha256=YU83BQjGu-4ejirwnGxd38sJme859kdRovkZyiOJciU,1050
|
|
14
|
-
ekfsm/boards/oem/ekf/srf-fan.yaml,sha256=Mcu1Q8B1Ih10hoc_hbkGlppBmbOFcufsVUR42iW4Rwc,1368
|
|
15
|
-
ekfsm/boards/oem/ekf/sur-uart.yaml,sha256=VaNP2BSlNTi1lDco16Ma9smPEAMaVKvx-ZNDcm3QptM,1890
|
|
16
|
-
ekfsm/boards/oem/hitron/hdrc-300.yaml,sha256=juRO3ahLNNqCH099-QJGQRWRh5qg-brAob0maJ0R5tY,427
|
|
17
|
-
ekfsm/core/__init__.py,sha256=nv3Rs-E953M9PBFV9ryejRY-KM6xG1NMlQTWwzCEQwo,212
|
|
18
|
-
ekfsm/core/components.py,sha256=yCHU88DF4ECjzHiJ9ofg_ic7oX6dm3ACIbV7Ve6At_o,3558
|
|
19
|
-
ekfsm/core/probe.py,sha256=DgJvkvMjVk09n0Rzn13ybRvidrmFn_D2PD56XS-KgxU,262
|
|
20
|
-
ekfsm/core/slots.py,sha256=WOKYO-8TfpWexu3DsSjrYTvjtN4pAMiy22zMjjUI-qQ,6569
|
|
21
|
-
ekfsm/core/sysfs.py,sha256=iW_XWtEjW7pZqpJc_RyMzhVjbetw0ydTH11lhfxrPbc,2541
|
|
22
|
-
ekfsm/core/utils.py,sha256=RYX-rd0pBBXvwjyInDFD8BKZppIBvln9sT4o4kRRcMk,2504
|
|
23
|
-
ekfsm/devices/__init__.py,sha256=h3pE3yPnquTIykpi7yxoTJOJ8YfVh_PqGiFMJGpXdCs,888
|
|
24
|
-
ekfsm/devices/eeprom.py,sha256=ubeext9PC6FDQ1qoaYZp3ZNRlEhPYBzTe1oXJdm4qtU,31029
|
|
25
|
-
ekfsm/devices/ekf_ccu_uc.py,sha256=H5nt51cu8oTPos-SYmoDvVioG4QoFs11XX7LiUySLwQ,12796
|
|
26
|
-
ekfsm/devices/ekf_sur_led.py,sha256=KPr75RVQQKEUWj5gP0ciSJam9jWniG1ew3k_62onwrE,1887
|
|
27
|
-
ekfsm/devices/generic.py,sha256=LuNpf0sn-TwZ1nkJc3Shu4-07mAhQIc6-CJwu7cNZwc,9273
|
|
28
|
-
ekfsm/devices/gpio.py,sha256=6ofOlOm7toAHb7J2FSYqs0Wu8lhShCHDAWA0rhsZJLI,9510
|
|
29
|
-
ekfsm/devices/hwmon.py,sha256=EXBFTE6QfhpA-Xb7CnhlR_fVGIjw5tWt3JzrtkXKGic,1987
|
|
30
|
-
ekfsm/devices/iio.py,sha256=gMOJGdg2PvFbAvlBpLfDTIc_-9i1Z3OLpuabTke6N3I,1480
|
|
31
|
-
ekfsm/devices/iio_thermal_humidity.py,sha256=YjXHI2AXSDpAuAGHYc_Kk7wMO9LGimHSXnARw4rxYJ0,1212
|
|
32
|
-
ekfsm/devices/mux.py,sha256=mFd0Tr5XQp6MIMNV1xpsQETrELWkvx1ZTSAemiUasoU,1042
|
|
33
|
-
ekfsm/devices/pmbus.py,sha256=Zf3JfMX1VTmmU2hoZkqOR9UTZcNRvnbqhhOlZ4sdoX4,2033
|
|
34
|
-
ekfsm/devices/smbios.py,sha256=KC1D2dSRaertYLeMFF6C9hQUI_RcTzVdtQ1qh8Hbces,985
|
|
35
|
-
ekfsm/devices/utils.py,sha256=4-0Kmvy4ou8R71afNj6RqdBTjLW4SMWPHqVrzB2RUZw,397
|
|
36
|
-
ekfsm-0.11.0b1.post3.dist-info/METADATA,sha256=9gZmLcYKM0u-vjRTMXY9Fi6NzMssPZUpoD6CJZbyyOQ,3370
|
|
37
|
-
ekfsm-0.11.0b1.post3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
38
|
-
ekfsm-0.11.0b1.post3.dist-info/entry_points.txt,sha256=WhUR4FzuxPoGrbTOKLsNJO7NAnk2qd4T30fqzN1yLw8,45
|
|
39
|
-
ekfsm-0.11.0b1.post3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|