{"id":13610572,"url":"https://github.com/bpython/bpython","last_synced_at":"2025-05-14T08:05:01.238Z","repository":{"id":18329695,"uuid":"21508865","full_name":"bpython/bpython","owner":"bpython","description":"bpython - A fancy curses interface to the Python interactive interpreter","archived":false,"fork":false,"pushed_at":"2025-02-06T13:56:15.000Z","size":10122,"stargazers_count":2697,"open_issues_count":149,"forks_count":245,"subscribers_count":45,"default_branch":"main","last_synced_at":"2025-05-07T07:14:06.389Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://bpython-interpreter.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bpython.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-07-04T22:26:05.000Z","updated_at":"2025-05-07T01:37:51.000Z","dependencies_parsed_at":"2024-06-01T23:02:44.533Z","dependency_job_id":"430de9b4-f283-481c-ba21-060587039768","html_url":"https://github.com/bpython/bpython","commit_stats":{"total_commits":3663,"total_committers":132,"mean_commits":27.75,"dds":0.8405678405678405,"last_synced_commit":"acffa531199c090baa2d512851b1cedd432fefe5"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpython%2Fbpython","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpython%2Fbpython/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpython%2Fbpython/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bpython%2Fbpython/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bpython","download_url":"https://codeload.github.com/bpython/bpython/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254101586,"owners_count":22014907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T19:01:46.008Z","updated_at":"2025-05-14T08:05:01.212Z","avatar_url":"https://github.com/bpython.png","language":"Python","readme":".. image:: https://img.shields.io/pypi/v/bpython\n    :target: https://pypi.org/project/bpython\n\n.. image:: https://readthedocs.org/projects/bpython/badge/?version=latest\n    :target: https://docs.bpython-interpreter.org/en/latest/\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :target: https://github.com/ambv/black\n\n\n****************************************************************\nbpython: A fancy interface to the Python interactive interpreter\n****************************************************************\n\n`bpython`_ is a lightweight Python interpreter that adds several features common\nto IDEs. These features include **syntax highlighting**, **expected parameter\nlist**, **auto-indentation**, and **autocompletion**. (See below for example\nusage).\n\n.. image:: https://bpython-interpreter.org/images/math.gif\n  :alt: bpython\n  :width: 566\n  :height: 348\n  :align: center\n\nbpython does **not** aim to be a complete IDE - the focus is on implementing a\nfew ideas in a practical, useful, and lightweight manner.\n\nbpython is a great replacement to any occasion where you would normally use the\nvanilla Python interpreter - testing out solutions to people's problems on IRC,\nquickly testing a method of doing something without creating a temporary file,\netc.\n\nYou can find more about bpython - including `full documentation`_ - at our\n`homepage`_.\n\n==========================\nInstallation \u0026 Basic Usage\n==========================\n\nInstallation using Pip\n----------------------\n\nIf you have `pip`_ installed, you can simply run:\n\n.. code-block:: bash\n\n    $ pip install bpython\n\nStart bpython by typing ``bpython`` in your terminal. You can exit bpython by\nusing the ``exit()`` command or by pressing control-D like regular interactive\nPython.\n\n===================\nFeatures \u0026 Examples\n===================\n* Readline-like autocomplete, with suggestions displayed as you type.\n\n* In-line syntax highlighting.  This uses Pygments for lexing the code as you\n  type, and colours appropriately.\n\n* Expected parameter list.  As in a lot of modern IDEs, bpython will attempt to\n  display a list of parameters for any function you call. The inspect module (which\n  works with any Python function) is tried first, and then pydoc if that fails.\n\n* Rewind.  This isn't called \"Undo\" because it would be misleading, but \"Rewind\"\n  is probably as bad. The idea is that the code entered is kept in memory and\n  when the Rewind function is called, the last line is popped and the entire\n  session is re-evaluated.  Use \u003ccontrol-R\u003e to rewind.\n\n* Edit the current line or your entire session in an editor. F7 opens the current\n  session in a text editor, and if modifications are made, the session is rerun\n  with these changes.\n\n* Pastebin code/write to file.  Use the \u003cF8\u003e key to upload the screen's contents\n  to pastebin, with a URL returned.\n\n* Reload imported Python modules.  Use \u003cF6\u003e to clear sys.modules and rerun your\n  session to test changes to code in a module you're working on.\n\n=============\nConfiguration\n=============\nSee the sample-config file for a list of available options.  You should save\nyour config file as **~/.config/bpython/config** (i.e.\n``$XDG_CONFIG_HOME/bpython/config``) or specify at the command line::\n\n  bpython --config /path/to/bpython/config\n\n============\nDependencies\n============\n* Pygments\n* curtsies \u003e= 0.4.0\n* greenlet\n* pyxdg\n* requests\n* Sphinx \u003e= 1.5 (optional, for the documentation)\n* babel (optional, for internationalization)\n* jedi (optional, for experimental multiline completion)\n* watchdog (optional, for monitoring imported modules for changes)\n* pyperclip (optional, for copying to the clipboard)\n\nbpython-urwid\n-------------\n``bpython-urwid`` requires the following additional packages:\n\n* urwid\n\n\n===================================\nInstallation via OS Package Manager\n===================================\n\nThe majority of desktop computer operating systems come with package management\nsystems. If you use one of these OSes, you can install ``bpython`` using the\npackage manager.\n\nUbuntu/Debian\n-------------\nUbuntu/Debian family Linux users can install ``bpython`` using the ``apt``\npackage manager, using the command with ``sudo`` privileges:\n\n.. code-block:: bash\n\n    $ apt install bpython\n\nIn case you are using an older version, run\n\n.. code-block:: bash\n\n    $ apt-get install bpython\n\nArch Linux\n----------\nArch Linux uses ``pacman`` as the default package manager; you can use it to install ``bpython``:\n\n.. code-block:: bash\n\n    $ pacman -S bpython\n\nFedora\n------\nFedora users can install ``bpython`` directly from the command line using ``dnf``.\n\n.. code-block:: bash\n\n    $ dnf install bpython\n    \nGNU Guix\n----------\nGuix users can install ``bpython`` on any GNU/Linux distribution directly from the command line:\n\n.. code-block:: bash\n\n    $ guix install bpython\n\nmacOS\n-----\nmacOS does not include a package manager by default. If you have installed any\nthird-party package manager like MacPorts, you can install it via\n\n.. code-block:: bash\n\n    $ sudo port install py-bpython\n\n\n==========\nKnown Bugs\n==========\nFor known bugs please see bpython's `known issues and FAQ`_ page.\n\n======================\nContact \u0026 Contributing\n======================\nI hope you find it useful and please feel free to submit any bugs/patches\nsuggestions to `Robert`_ or place them on the GitHub\n`issues tracker`_.\n\nFor any other ways of communicating with bpython users and devs you can find us\nat the community page on the `project homepage`_, or in the `community`_.\n\nHope to see you there!\n\n.. _homepage: http://www.bpython-interpreter.org\n.. _full documentation: http://docs.bpython-interpreter.org/\n.. _issues tracker: http://github.com/bpython/bpython/issues/\n.. _pip: https://pip.pypa.io/en/latest/index.html\n.. _project homepage: http://bpython-interpreter.org\n.. _community: http://docs.bpython-interpreter.org/community.html\n.. _Robert: robertanthonyfarrell@gmail.com\n.. _bpython: http://www.bpython-interpreter.org/\n.. _Curses: http://www.lfd.uci.edu/~gohlke/pythonlibs/\n.. _pyreadline: http://pypi.python.org/pypi/pyreadline/\n.. _known issues and FAQ: http://bpython-interpreter.org/known-issues-and-faq.html\n","funding_links":[],"categories":["Interactive Interpreter","资源列表","Python","交互式口译员","交互式解析器","Interactive Interpreter [🔝](#readme)","Awesome Python"],"sub_categories":["交互式解析器","Other dialects and variants","Interactive Interpreter"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbpython%2Fbpython","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbpython%2Fbpython","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbpython%2Fbpython/lists"}