Skip to content

Dynamic CLI support for windows OS #94

Open

Description

@guptaaastha

Currently Dynamic CLI has a dependency on the termios module. This module does not support windows OS (refer the links provided below for reference). This issue is to point attention towards this drawback and open up a conversation whether this is something that can be addressed.

Please refer:
https://docs.python.org/3/library/tty.html
https://docs.python.org/3/library/termios.html#module-termios

Activity

  1. github-actions commented on May 19, 2021

    @github-actions

    Hi👋 thanks for creating your first issue for IOSF, Will get back to you soon !.

  2. NamamiShanker commented on May 19, 2021

    @NamamiShanker
    Member

    This dependency has been caused because of the simple-term-menu module. We need this module for StackExchange results to be printed the way they are. Please refer to PR #89. Windows users can use WSL for using Dynamic-CLI.

  3. guptaaastha commented on May 19, 2021

    @guptaaastha
    ContributorAuthor

    One can surely use WSL but that would make Dynamic CLI restrictive and available only for users who are on Unix OS. I think we should try to be more inclusive and find alternatives that support all users regardless of their OS 😄

  4. lainq commented on May 19, 2021

    @lainq
    Contributor

    Yes @guptaaastha, the cli is not supporting windows right now due to the termios package used in the application. The module is not yet implemented for windows. We are searching for a way to solve this issue. All contributions are appreciated.

  5. NamamiShanker commented on May 19, 2021

    @NamamiShanker
    Member

    We can use curses but that can reduce UI/UX capabilities.

  6. lainq commented on May 19, 2021

    @lainq
    Contributor

    We can use curses but that can reduce UI/UX capabilities.

    Hmm yeah

  7. lainq commented on May 19, 2021

    @lainq
    Contributor

    Right now, I am planning to use an online linux environment like repl.it or CS50 IDE.

  8. guptaaastha commented on May 19, 2021

    @guptaaastha
    ContributorAuthor

    Right now, I am planning to use an online linux environment like repl.it or CS50 IDE.

    That's one way to go yes, I think we should still be on the look for a more inclusive module 🚀

  9. GouravSardana commented on May 19, 2021

    @GouravSardana
    Member

    I think we can do specific change only for windows env. So that other would not face UX issues.

  10. GouravSardana commented on May 19, 2021

    @GouravSardana
    Member

    Or else we need to find out some other way to support all the environment equally and efficiently.

  11. lainq commented on May 19, 2021

    @lainq
    Contributor

    Or else we need to find out some other way to support all the environment equally and efficiently.

    I think this is what we have to do

  12. GouravSardana commented on May 19, 2021

    @GouravSardana
    Member

    I'll do a research and find any alternative. You guy's can also search, If you find anything do let me know here.

  13. pinned this issue on May 20, 2021
  14. GouravSardana commented on May 21, 2021

    @GouravSardana
    Member

    This is quite useful. You guys can also take a look. 2-3 people gave suggestions regarding the same problem that we are facing - bchao1/bullet#2

  15. lainq commented on May 22, 2021

    @lainq
    Contributor

    This is quite useful. You guys can also take a look. 2-3 people gave suggestions regarding the same problem that we are facing - bchao1/bullet#2

    But, they don't have a solution for that 🙁

  16. GouravSardana commented on May 22, 2021

    @GouravSardana
    Member

    They have but that was specific to windows only. Still searching for some other alternative

  17. guptaaastha commented on May 22, 2021

    @guptaaastha
    ContributorAuthor

    Let's be on the lookout for solutions

  18. lainq commented on May 22, 2021

    @lainq
    Contributor
  19. GouravSardana commented on May 22, 2021

    @GouravSardana
    Member

    @pranavbaburaj i think you wrote wrong. It's not support for windows and by mistake you wrote it only supports for windows

  20. guptaaastha commented on May 22, 2021

    @guptaaastha
    ContributorAuthor

    @pranavbaburaj i think you wrote wrong. It's not support for windows and by mistake you wrote it only supports for windows

    I just noticed this too, @pranavbaburaj please correct it.

  21. lainq commented on May 22, 2021

    @lainq
    Contributor

    I have updated it, Thank you 🙂

  22. GouravSardana commented on Jun 18, 2021

    @GouravSardana
    Member

    We can use this as a backup option for windows- https://github.com/aegirhall/console-menu

  23. lainq commented on Jun 18, 2021

    @lainq
    Contributor

    Hmm, but we will have to rewrite it entirely or reimplement it for windows 🤔

  24. GouravSardana commented on Jun 18, 2021

    @GouravSardana
    Member

    Fow now should we only integrated it when OS is windows ?

  25. lainq commented on Jun 18, 2021

    @lainq
    Contributor

    Fow now should we only integrated it when OS is windows?

    Yeah, We first check if the platform is windows, then create this interface for windows

  26. GouravSardana commented on Jun 21, 2021

    @GouravSardana
    Member

    @pranavbaburaj Yes, This can be done but this would be temp. We have to migrate the whole things to something else

  27. Manas1820 commented on Mar 10, 2022

    @Manas1820
    Member

    There is a workaround to make it work on window

    if os.name == "nt":
      import msvcrt
    else:
      import terminos
    

    That is we can check if the current os the user is on is windows or not if we found its windows import msvcrt and replace the same functionalities which are done using terminos . @GouravSardana @pranavbaburaj this solution should work and looks like the only workaround rn.

    Moreover the dependency due to which the error occurs i.e simple-term-menu this can be referred.

  28. GouravSardana commented on Oct 21, 2026

    @GouravSardana
    Member

    Restart triage: P1 — establish the Windows support policy before the next release, with #120 linked here. The reported termios limitation is consistent with the top-level simple_term_menu import in dynamic/utility.py and README's WSL-only Windows guidance.

    Next step: capture native-Windows install/import/help smoke-test results, then choose clear unsupported-platform messaging or a separately scoped portability fix. Keep WSL setup documentation under #192; do not advertise native support without verification.

    Source review only; this was not run or reproduced during triage. Keeping the issue open.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions