office-gobmx/pyuno
Xisco Fauli 4a3706db4f pyuno: fix deprecated warnings
* Replace PyUnicode_FromUnicode(str, len) with PyUnicode_FromWideChar(str, len)
* Replace PyUnicode_AS_UNICODE(PyObject) with PyUnicode_AsWideCharString(PyObject, size)

Change-Id: I1d8b46059d72f4de261d99393e1681f1e41eafdf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169625
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-07-05 23:14:52 +02:00
..
demo
doc
inc
qa/pytests tdf#116412: Add unittest 2024-07-04 15:45:15 +02:00
source pyuno: fix deprecated warnings 2024-07-05 23:14:52 +02:00
zipcore
CustomTarget_python_shell.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
CustomTarget_pyuno_pythonloader_ini.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
Executable_python.mk
IwyuFilter_pyuno.yaml
Library_pythonloader.mk
Library_pyuno.mk
Library_pyuno_wrapper.mk
Makefile
Module_pyuno.mk tdf#116412: Add unittest 2024-07-04 15:45:15 +02:00
Package_python_scripts.mk
Package_python_shell.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
Package_pyuno_pythonloader_ini.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
PythonTest_pyuno_pytests_insertremovecells.mk
PythonTest_pyuno_pytests_testbz2.mk tdf#116412: Add unittest 2024-07-04 15:45:15 +02:00
PythonTest_pyuno_pytests_testcollections.mk
PythonTest_pyuno_pytests_testofficehelper.mk Unit tests for officehelper.py 2024-05-11 11:25:44 +02:00
PythonTest_pyuno_pytests_testssl.mk
Rdb_pyuno.mk
README.md

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.