summaryrefslogtreecommitdiffstats
path: root/pyuno/README.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
commit267c6f2ac71f92999e969232431ba04678e7437e (patch)
tree358c9467650e1d0a1d7227a21dac2e3d08b622b2 /pyuno/README.md
parentInitial commit. (diff)
downloadlibreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz
libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'pyuno/README.md')
-rw-r--r--pyuno/README.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/pyuno/README.md b/pyuno/README.md
new file mode 100644
index 0000000000..95e4877067
--- /dev/null
+++ b/pyuno/README.md
@@ -0,0 +1,22 @@
+# Python UNO Bindings
+
+UNO bindings for the Python programming language.
+
+To have much joy debugging Python extensions you need to:
+
++ a) edit `pythonloader.py` in your install setting `DEBUG=1` at the top
++ b) `touch pyuno/source/module/pyuno_runtime.cxx` and `make debug=true` in `pyuno`
+
+Then you'll start to see your exceptions on the console instead of them getting
+lost at the UNO interface.
+
+Python also comes with a gdb script
+`libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so.1.0-gdb.py`
+that is copied to `instdir` and will be auto-loaded by `gdb`;
+it provides commands like `py-bt` to get a Python-level backtrace,
+and `py-print` to print Python variables.
+
+Another way to debug Python code is to use `pdb`: edit some initialization
+function to insert `import pdb; pdb.set_trace()` (somewhere so that it is
+executed early), then run `soffice` from a terminal and a command-line Python
+debugger will appear where you can set Python-level breakpoints.