Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some publicly exposed functions/properties have no documentation #3226

Open
33 tasks
A5rocks opened this issue Mar 20, 2025 · 0 comments
Open
33 tasks

Some publicly exposed functions/properties have no documentation #3226

A5rocks opened this issue Mar 20, 2025 · 0 comments

Comments

@A5rocks
Copy link
Contributor

A5rocks commented Mar 20, 2025

This issue should only really be looked at after #3221 is closed (because this is mainly about what people see in an editor, rather than our documentation). The following attributes are listed in our _type_completeness.json as not having a docstring:

  • trio._unix_pipes.FdStream.send_all
  • trio._unix_pipes.FdStream.wait_send_all_might_not_block
  • trio._unix_pipes.FdStream.receive_some
  • trio._unix_pipes.FdStream.close
  • trio._unix_pipes.FdStream.aclose
  • trio._unix_pipes.FdStream.fileno
  • trio._core._io_epoll._EpollStatistics
  • trio._channel.MemoryReceiveChannel
  • trio._channel.MemoryChannelStatistics
  • trio._channel.MemorySendChannel
  • trio._core._run.Task
  • trio._socket.SocketType
  • trio._highlevel_socket.SocketStream.send_all
  • trio._highlevel_socket.SocketStream.wait_send_all_might_not_block
  • trio._highlevel_socket.SocketStream.send_eof
  • trio._highlevel_socket.SocketStream.receive_some
  • trio._highlevel_socket.SocketStream.aclose
  • trio._subprocess.HasFileno.fileno
  • trio._sync.AsyncContextManagerMixin
  • trio._sync._HasAcquireRelease.acquire
  • trio._sync._HasAcquireRelease.release
  • trio._sync._LockImpl
  • trio._core._local._NoValue
  • trio._core._local.RunVarToken
  • trio.socket.gaierror
  • trio.socket.herror
  • trio._core._mock_clock.MockClock.start_clock
  • trio._core._mock_clock.MockClock.current_time
  • trio._core._mock_clock.MockClock.deadline_to_sleep_time
  • trio.testing._raises_group._ExceptionInfo.exconly
  • trio.testing._raises_group._ExceptionInfo.errisinstance
  • trio.testing._raises_group._ExceptionInfo.getrepr
  • trio.testing._raises_group.RaisesGroup.expected_type

I expect most of these are trivial. There's a couple groups I noticed while copying them over:

  • some aren't actually publicly exposed and so we should update check_type_completeness.py to filter them out (e.g. _HasAcquireRelease)
  • some should really just inherit documentation from parents (e.g. SocketStream.wait_send_all_might_not_block). I don't know if pyright supports anything like that but it should

I think some of the logic from check_type_completeness.py is kind of strange: it shouldn't filter out docstrings that are available at runtime because... pyright still can't see those?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant