First attempt at porting app_python to app_python3.
Mostly symbols names are the same as app_python so these two modules cannot be loaded together. Exported functions are identical so in theory scripts need not change.
TODO: reenable thread management
<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [ ] Commit message has the format required by CONTRIBUTING guide - [ ] Commits are split per component (core, individual modules, libs, utils, ...) - [ ] Each component has a single commit (if not, squash them into one commit) - [ ] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [ ] Small bug fix (non-breaking change which fixes an issue) - [ X] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [ ] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description - add app_python3 module - this is a direct port of app_python and aims for feature equivalence - script reload does not work yet - disable thread management; fortunately kamailio does not use threads; as the Py3 API is too different; trying to avoid deprecated APIs like PyEval_AcquireLock(). - TODO: need to reenable threads: use case is python extension module that uses native threads (e.g. gRPC)
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/1447
-- Commit Summary --
* app_python3: first release
-- File Changes --
A src/modules/app_python3/Makefile (29) A src/modules/app_python3/README (196) A src/modules/app_python3/README.TestCase-Loggers (16) A src/modules/app_python3/app_python_mod.c (532) A src/modules/app_python3/app_python_mod.h (31) A src/modules/app_python3/apy_kemi.c (1292) A src/modules/app_python3/apy_kemi.h (40) A src/modules/app_python3/apy_kemi_export.c (9288) A src/modules/app_python3/apy_kemi_export.h (42) A src/modules/app_python3/doc/Makefile (4) A src/modules/app_python3/doc/app_python.xml (34) A src/modules/app_python3/doc/app_python_admin.xml (212) A src/modules/app_python3/mod_Core.c (80) A src/modules/app_python3/mod_Core.h (36) A src/modules/app_python3/mod_Logger.c (271) A src/modules/app_python3/mod_Logger.h (37) A src/modules/app_python3/mod_Ranks.c (109) A src/modules/app_python3/mod_Ranks.h (35) A src/modules/app_python3/mod_Router.c (100) A src/modules/app_python3/mod_Router.h (36) A src/modules/app_python3/msgobj_struct.h (36) A src/modules/app_python3/python_examples/Loggers.py (107) A src/modules/app_python3/python_examples/TestCase_Traceback.py (46) A src/modules/app_python3/python_examples/handler.py (26) A src/modules/app_python3/python_exec.c (211) A src/modules/app_python3/python_exec.h (37) A src/modules/app_python3/python_iface.c (54) A src/modules/app_python3/python_iface.h (30) A src/modules/app_python3/python_msgobj.c (545) A src/modules/app_python3/python_msgobj.h (33) A src/modules/app_python3/python_support.c (277) A src/modules/app_python3/python_support.h (37) A src/modules/app_python3/utils/app_python_ctl (148)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/1447.patch https://github.com/kamailio/kamailio/pull/1447.diff
@aalba6675 pushed 1 commit.
fecdde8 use GIL for thread management
Squash and rebase
Closed #1447.