Skip to content

Conversation

@Monarda
Copy link
Contributor

@Monarda Monarda commented Aug 26, 2025

Currently there are two reasons we are dependent on our p4p fork.

  1. add support to initialise NTEnum like NTScalar #154 which makes NTEnum initialisation easier. This PR has been accepted but not in time to make the latest release (4.2.1).
  2. New methods for Handler and SharedPV is required to implement our method for handling Normative Type logic.

In both cases I have followed the same strategy to resolve the problem. I have created p4p_ext equivalents for the modules and then used monkey patching to implement the small necessary changes to merge the PRs into the p4p library code.

This means that to use the patched code you use p4p_ext.server.thread.SharedPV or p4p_ext.nt.NTENum instead of p4p.server.thread.SharedPV or p4p.nt.NTEnum respectively. The p4p_ext code has been patched to use the monkey patched versions. In the case of p4p_ext.nt.NTENum it should automatically disable itself at the next version increment of p4p.version.

I have also modified the pyproject.yaml and builds so that they now use plain p4p.

@Monarda Monarda requested a review from kurup August 26, 2025 15:07
@Monarda Monarda self-assigned this Aug 26, 2025
@Monarda Monarda added the enhancement New feature or request label Aug 26, 2025
@Monarda Monarda linked an issue Aug 26, 2025 that may be closed by this pull request
Copy link
Contributor

@kurup kurup left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've looked at the changes and I'm happy for this to be merged.

@Monarda Monarda merged commit ebaccb2 into main Aug 27, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove dependency on p4p PR 172

3 participants