1. 20 May, 2022 6 commits
  2. 21 Apr, 2022 1 commit
  3. 11 Apr, 2022 3 commits
  4. 08 Mar, 2022 1 commit
  5. 09 Feb, 2022 1 commit
  6. 08 Feb, 2022 1 commit
  7. 07 Feb, 2022 1 commit
  8. 06 Feb, 2022 2 commits
  9. 05 Feb, 2022 1 commit
  10. 23 Jan, 2022 1 commit
  11. 14 Jan, 2022 2 commits
  12. 20 Dec, 2021 1 commit
  13. 17 Dec, 2021 1 commit
  14. 12 Oct, 2021 1 commit
  15. 05 Oct, 2021 2 commits
  16. 21 Sep, 2021 1 commit
  17. 17 Aug, 2021 1 commit
  18. 07 Jul, 2021 1 commit
  19. 06 Jul, 2021 4 commits
  20. 04 Jun, 2021 1 commit
  21. 21 May, 2021 1 commit
  22. 21 Apr, 2021 1 commit
    • Matias Guijarro's avatar
      repl: introduce 'NoThreadPythonRepl', a thread-free version of ptpython's PythonInput · f86ceeea
      Matias Guijarro authored
      Threads have been introduced in ptpython 3.0.11 ; the input UI runs in a
      separate thread. In addition, default completers also run in threads.
      This is a problem for us, for 3 reasons:
      
          - aiogevent sets up a gevent backend for asyncio, as a result operations that
            run in an executor for example are executing in different gevent hubs ; it
            is not safe to share gevent objects between threads
          - when showing results, code is called from another thread
              - as we display `__info__` strings which can communicate via sockets etc,
              we get "cannot switch to a different thread" error since sockets cannot be
              shared between gevent loops in different threads
          - when executing properties and methods discovery for completion, there is a
            possibility of communication via sockets, to get redis keys (for example),
            this cannot be executed in another thread (same reason as above)
      
      This code overwrites ._create_buffer(), .read() and .run_async() in order to provide
      versions with no threads ; in our case there is no blocking because we use
      aiogevent for asyncio + monkey-patched Python so we can avoid threads.
          completely.
      f86ceeea
  23. 19 Apr, 2021 1 commit
  24. 16 Apr, 2021 2 commits
  25. 15 Apr, 2021 2 commits