pybind/pybind11

Unkown objects in docstring function signatures

Open

#1,585 opened on Nov 1, 2018

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (2,005 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (14,677 stars)
PR merge metrics
 (Avg merge 5d 2h) (10 merged PRs in 30d)

Description

I try to rely on mypy's stubgen (with recent improvements) to generate *.pyi files from Python classes generated by pybind11. It's almost perfect, though there are just a few things that needs a bit of polishing:

  • iterator - when creating method with .def("some_func", [](some_type const &a) {return py::make_iterator(a.cbegin<elem_type>(), a.cend<elem_type>());}; then docstring is some_func() -> iterator. Type should be either Iterator (from typing) or even better, if it would be Iterator[elem_type]
  • buffer - when binding method with signature add_buffer(py::buffer const &buf) the docstring is add_buffer(buffer: buffer). Is this buffer in Python2 and bytearray in Python3? Should stubgen alias bytearray as buffer in such cases?

Contributor guide