|
1 | | -RELEASE 1.5 - now switching to 1.7 |
| 1 | +RELEASE 1.7 |
| 2 | + |
| 3 | +Python2 systemctl.py has been removed. If you need then use pip to |
| 4 | +install the pypi.org package which contains the python2 variant. |
| 5 | + |
| 6 | +The 1.7 branch does support AssertionX and ConditionX clauses in |
| 7 | +unit descriptors. However the implementation is about the same |
| 8 | +for both as systemctl3.py can not wait for condition to come true |
| 9 | +to start a service. It can only fail early if the assertion is not met. |
| 10 | + |
| 11 | +With python2 being dropped from sources, so is the pyi typehints file. |
| 12 | +Instead the python3 systemctl3.py does not contain typehints in |
| 13 | +the sourcecode. This gives a minimum of Python3.6 to use that file. |
| 14 | +In the near future, Python3.9 may become the minimum. |
| 15 | + |
| 16 | +That's also needed for the strip_python3 project that has been in |
| 17 | +development during 2025. That tool can strip python3 source code |
| 18 | +from all typehints putting them into a parallel pyi file. That's |
| 19 | +also done for the pypi package. The tool can replace a lot of |
| 20 | +python3 syntax making the file even python2 compatible. So that's |
| 21 | +used for shipping on newer python projects now. |
| 22 | + |
| 23 | +Note that python2 can not be installed on Ubuntu24.04 and AlmaLinux 9.3 (202311). |
| 24 | +The RHEL7 distribution runs out of support by June 2024 (with some |
| 25 | +extended support till 2026). As such, python2 can only be tested |
| 26 | +within docker containers with older os releases. |
| 27 | + |
| 28 | +RELEASE 1.5 |
2 | 29 |
|
3 | 30 | The release branch 1.4 has been stable for a long time. Nethertheless there |
4 | 31 | is still much room for improvement which is also shown by the hundreds of |
@@ -61,35 +88,4 @@ will not be merged soon but the foundation is there where the Python code |
61 | 88 | and C/C++ code represent the same logic with the same variables and |
62 | 89 | the same function names and types. |
63 | 90 |
|
64 | | -RELEASE 1.7 |
65 | 91 |
|
66 | | -Python2 can not be installed on Ubuntu24.04 and AlmaLinux 9.3 (202311). |
67 | | -The RHEL7 distribution runs out of support by June 2024 (with some |
68 | | -extended support till 2026). As such the Python2 development in this |
69 | | -project will be mostly dropped after 2024. The developments for a 2.x |
70 | | -version in 2025 were never released however. Instead the project picked |
71 | | -up some of the changes in 2025 merging them into a 1.7 release |
72 | | -series (version 1.6 is another branch that was never released). |
73 | | - |
74 | | -The release 1.7 is taking advantage of the strip_python3 project |
75 | | -that had been developed during 2025 as a side-project. The |
76 | | -strip_python3 tool allows to use modern python3 features (syntax and |
77 | | -library parts) during development replacing them with compatible older |
78 | | -features for shipping to pypi.org. That way systemctl.py can be installed |
79 | | -on very old systems. Additionally, a back-to-python2 output script can |
80 | | -be tested on the developer side to actually work as expected. As such |
81 | | -python2 does still get minimal support - the easiest way to get a |
82 | | -python2 systemctl.py is by dowloading the pypi package using "pip". |
83 | | - |
84 | | -As a consequence, the systemctl3.pyi typehints file is gone, just as |
85 | | -the systemctl.py python2 script has been removed from the git repo. |
86 | | -Instead there is only systemctl3.py that includes typehints - that makes |
87 | | -for a minimum python version of python3.6 if systemctl3.py is being used |
88 | | -unmodified (not handled by strip_python3). By 2026 even python3.9 has |
89 | | -been out of maintenance, so expect that features up to that version will |
90 | | -picked up. |
91 | | - |
92 | | -The Release 1.7 does support AssertionX and ConditionX clauses in |
93 | | -unit descriptors. However the implementation is about the same as |
94 | | -systemctl3.py can not wait for condition to come true to start a |
95 | | -service. It can only fail early if the assertion is not met. |
0 commit comments