Skip to content

TypeError: No Python class registered for C++ class #232

@lenard-mosys

Description

@lenard-mosys

I'm trying pybind-stubgen on libtorrent, which apparently uses Boost::python.

$ pybind11-stubgen --ignore-all-errors libtorrent
Traceback (most recent call last):
  File "/home/lenard/git/torrent/venv/bin/pybind11-stubgen", line 8, in <module>
    sys.exit(main())
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/__init__.py", line 319, in main
    run(
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/__init__.py", line 357, in run
    module = parser.handle_module(
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/error_handlers.py", line 45, in handle_module
    return super().handle_module(path, module)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/fix.py", line 207, in handle_module
    result = super().handle_module(path, module)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/fix.py", line 223, in handle_module
    result = super().handle_module(path, module)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/fix.py", line 128, in handle_module
    result = super().handle_module(path, module)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/fix.py", line 451, in handle_module
    result = super().handle_module(path, module)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/parse.py", line 90, in handle_module
    obj = self.handle_module_member(
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/filter.py", line 119, in handle_module_member
    return super().handle_module_member(path, module, obj)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/filter.py", line 136, in handle_module_member
    result = super().handle_module_member(path, module, obj)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/parse.py", line 133, in handle_module_member
    return self.handle_class(path, member)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/error_handlers.py", line 49, in handle_class
    return super().handle_class(path, class_)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/fix.py", line 110, in handle_class
    result = super().handle_class(path, class_)
  File "/home/lenard/git/torrent/venv/lib/python3.10/site-packages/pybind11_stubgen/parser/mixins/parse.py", line 48, in handle_class
    for name, member in inspect.getmembers(class_):
  File "/usr/lib/python3.10/inspect.py", line 469, in getmembers
    value = getattr(object, key)
TypeError: No Python class registered for C++ class deprecate_visitor<int libtorrent::fingerprint::*>

version: 2.5.1
libtorrent version: 2.0.9

I would expect --ignore-all-errors to pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions