Attention is currently required from: dexter, fixeria, laforge.
Hello Jenkins Builder, dexter, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/39742?usp=email
to look at the new patch set (#15).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: personalization: refactor ConfigurableParameter, Iccid, Imsi
......................................................................
personalization: refactor ConfigurableParameter, Iccid, Imsi
Main points/rationales of the refactoring, details below:
1) common validation implementation
2) offer classmethods
The new features are optional, and will be heavily used by batch
personalization patches coming soon.
Implement Iccid and Imsi to use the new way, with a common abstract
DecimalParam implementation.
So far leave the other parameter classes working as they always did, to
follow suit in subsequent commits.
Details:
1) common validation implementation:
There are very common validation steps in the various parameter
implementations. It is more convenient and much more readable to
implement those once and set simple validation parameters per subclass.
So there now is a validate_val() classmethod, which subclasses can use
as-is to apply the validation parameters -- or subclasses can override
their cls.validate_val() for specialized validation.
(Those subclasses that this patch doesn't touch still override the
self.validate() instance method. Hence they still work as before this
patch, but don't use the new common features yet.)
2) offer stateless classmethods:
It is useful for...
- batch processing of multiple profiles (in upcoming patches) and
- user input validation
to be able to have classmethods that do what self.validate() and
self.apply() do, but do not modify any self.* members.
So far the paradigm was to create a class instance to keep state about
the value. This remains available, but in addition we make available the
paradigm of a singleton that is stateless (the classmethods).
Using self.validate() and self.apply() still work the same as before
this patch, i.e. via self.input_value and self.value -- but in addition,
there are now classmethods that don't touch self.* members.
Related: SYS#6768
Change-Id: I6522be4c463e34897ca9bff2309b3706a88b3ce8
---
M pySim/esim/saip/personalization.py
1 file changed, 201 insertions(+), 35 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/42/39742/15
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39742?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I6522be4c463e34897ca9bff2309b3706a88b3ce8
Gerrit-Change-Number: 39742
Gerrit-PatchSet: 15
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Attention is currently required from: laforge.
neels has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/40095?usp=email )
Change subject: personalization: discover all useful ConfigurableParameter subclasses
......................................................................
Patch Set 6:
(1 comment)
Patchset:
PS6:
> I think this must be possible to solve more elegantly or at least in my mind more pythonic. […]
I agree that this is not elegant, and in the other comment i argue more towards dropping this patch entirely, but in case we don't drop it:
i think the simplest approach to serve the purpuse is to make one list containing all the "concrete" classes implemented in this file. like
ALL_CONFIGURABLE_PARAMETERS = [Imsi, Iccid, ....]
the fixed list because: it's questionable whether magically using all implemented subclasses is a good idea for anyone. I mean, *any* merged patch or imported module that happens to contain *any* weird experimental kind of ConfigurableParameter subclass suddenly appears in a magic discovery list. It's like a global variable. Do I want that to mess with my eSIM profiles in unexpected ways? No, so the list should be static, not magic.
i.e. anything using inheritance discovery is IMO not a good idea and it should be static.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/40095?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I4970657294130b6b65d50ff19ffbb9ebab3be609
Gerrit-Change-Number: 40095
Gerrit-PatchSet: 6
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Sun, 11 Jan 2026 04:02:28 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
neels has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/40095?usp=email )
Change subject: personalization: discover all useful ConfigurableParameter subclasses
......................................................................
Patch Set 6:
(1 comment)
Patchset:
PS6:
I've rethought the concept of this patch.
The purpose of the is_abstract flag is to magically create a list of all parameters that I want.
The real functionality now is, it provides always the same specific list of all parameters, stable or experimental.
Instead, I think we could just drop this patch completely.
Or, if we keep this, then add a specific tuple of parameter classes in the end of the module.
(or a function returning a list? doesn't really matter)
For downstream projects, it matters that they can control which parameters suddenly appear in their user interfaces.
They want to maybe stay with the bunch of *stable* parameters, so a list of stable paramters and a list of experimental parameters?
In favor of simplicity, I think I would just drop this patch and put the burdon of selecting classes completely onto the caller.
i.e. instead of adding one specific list here for who knows what purposes, let the callers make their own list because they do know their purpose.
And they should anyway explicitly control what parameters they expose.
We don't really need the magic discovery and it is actually harmful.
agreed?
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/40095?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I4970657294130b6b65d50ff19ffbb9ebab3be609
Gerrit-Change-Number: 40095
Gerrit-PatchSet: 6
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Sun, 11 Jan 2026 03:52:40 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: laforge.
neels has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/41779?usp=email )
Change subject: personalization: refactor SmspTpScAddr
......................................................................
Patch Set 1:
(2 comments)
Patchset:
PS1:
(i hope i'm allowed to just resolve this because of the abstract method aspect)
File pySim/esim/saip/personalization.py:
https://gerrit.osmocom.org/c/pysim/+/41779/comment/8337a2e2_81b72db2?usp=em… :
PS1, Line 362: val must be a tuple (international[bool], digits[str])
> This is a specific implementation of an abstract class method. […]
Done
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/41779?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I2600369e195e9f5aed7f4e6ff99ae273ed3ab3bf
Gerrit-Change-Number: 41779
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Sun, 11 Jan 2026 03:40:28 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Attention is currently required from: laforge.
neels has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/41779?usp=email )
Change subject: personalization: refactor SmspTpScAddr
......................................................................
Patch Set 1:
(1 comment)
File pySim/esim/saip/personalization.py:
https://gerrit.osmocom.org/c/pysim/+/41779/comment/08b50116_023e1ca5?usp=em… :
PS1, Line 362: val must be a tuple (international[bool], digits[str])
> this should be given as type annotation instead of a comment. […]
This is a specific implementation of an abstract class method.
I don't want a linter to tell us that the subclass is not allowed to change the function signature or something.
Python itself really doesn't care.
so why spend time looking up how to type hint a tuple with a bool and a str in it.
apparently i can write ":tuple[bool,str]" or ":(bool,str)" .. are they equivalent? .. since the type isn't enforced, it's hard to tell whether i'm just making it up.
so i originally decided to just write a short comment, as in, to not spread out this weirdly complex fringe detail that is based in laguage evanglism, far from practical usefulness, and not spend more time on it than i need at this point.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/41779?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I2600369e195e9f5aed7f4e6ff99ae273ed3ab3bf
Gerrit-Change-Number: 41779
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Sun, 11 Jan 2026 03:39:15 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Attention is currently required from: dexter, fixeria, laforge.
neels has posted comments on this change by neels. ( https://gerrit.osmocom.org/c/pysim/+/39742?usp=email )
Change subject: personalization: refactor ConfigurableParameter, Iccid, Imsi
......................................................................
Patch Set 14:
(1 comment)
File pySim/esim/saip/personalization.py:
https://gerrit.osmocom.org/c/pysim/+/39742/comment/3aed4a5e_4936a1db?usp=em… :
PS13, Line 50: r"""Base class representing a part of the eSIM profile that is configurable during the
> > abc has no purpose and it doesn't work. […]
I would have liked that my opinion on mini minor aspects would be heard as a useful choice that has been made to save time, and not ridden out over and over until i have to, again, completely give up my entire point -- mind you in disapproval.
I will adjust the patch now, which means I will read up on how to use abstract decorators properly, again, to probably conclude, again, that it is not solving any problem of remote relevance to this branch. I will remember, again, that I have never seen it being used in any RL lib or app anywhere. Mixins, inheritance: yes; ABC: no. I have seen a fair share of python and seeing ABC here did not help me, but confused me into ivestiating what is so different here that it needs ABC; turns out, nothing. So why am I adding this? There is for many months now *objectively* no reason to spend any time on this, at all. I will still add it back despite all this, and I am not very happy about it.
related: I thought about my is_abstract flag and I think it is a misnomer and
still the wrong approach. I will comment about that on the patch adding
the is_abstract flag...
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/39742?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I6522be4c463e34897ca9bff2309b3706a88b3ce8
Gerrit-Change-Number: 39742
Gerrit-PatchSet: 14
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Sun, 11 Jan 2026 02:43:20 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Attention is currently required from: Timur Davydov.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
to look at the new patch set (#5).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Add Emscripten build support and JS callback logging backend
Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
---
M configure.ac
M include/osmocom/core/logging.h
M src/core/Makefile.am
M src/core/libosmocore.map
A src/core/logging_web.c
M src/core/netdev.c
M src/core/osmo_io_internal.h
M src/core/serial.c
M src/core/socket.c
M src/core/stats_tcp.c
M src/core/tun.c
M src/vty/Makefile.am
M src/vty/logging_vty.c
A src/vty/telnet_interface_dummy.c
14 files changed, 282 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/41813/5
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 5
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: Timur Davydov.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
to look at the new patch set (#4).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Add Emscripten build support and JS callback logging backend
Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
---
M configure.ac
M include/osmocom/core/logging.h
M src/core/Makefile.am
A src/core/logging_web.c
M src/core/netdev.c
M src/core/osmo_io_internal.h
M src/core/serial.c
M src/core/socket.c
M src/core/stats_tcp.c
M src/core/tun.c
M src/vty/Makefile.am
M src/vty/logging_vty.c
A src/vty/telnet_interface_dummy.c
13 files changed, 281 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/41813/4
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 4
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: Timur Davydov.
Jenkins Builder has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email )
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Patch Set 3:
(2 comments)
File src/core/socket.c:
Robot Comment from checkpatch (run ID ):
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/e85aa03f_1bd70f5a?… :
PS3, Line 1933: #endif /* HAVE_LIBSCTP */
please, no space before tabs
Robot Comment from checkpatch (run ID ):
https://gerrit.osmocom.org/c/libosmocore/+/41813/comment/d353a931_0638c6fa?… :
PS3, Line 1990: #endif /* HAVE_LIBSCTP */
please, no space before tabs
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 3
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Comment-Date: Sat, 10 Jan 2026 22:47:04 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: Timur Davydov.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: Add Emscripten build support and JS callback logging backend
......................................................................
Add Emscripten build support and JS callback logging backend
Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
---
M configure.ac
M include/osmocom/core/logging.h
M src/core/Makefile.am
A src/core/logging_web.c
M src/core/netdev.c
M src/core/osmo_io_internal.h
M src/core/serial.c
M src/core/socket.c
M src/core/stats_tcp.c
M src/core/tun.c
M src/vty/Makefile.am
M src/vty/logging_vty.c
A src/vty/telnet_interface_dummy.c
13 files changed, 281 insertions(+), 12 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/41813/3
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/41813?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ia8d5f4bb6570b5e055826f3a051e5e5896866e31
Gerrit-Change-Number: 41813
Gerrit-PatchSet: 3
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>