moulti

View on PyPIReverse Dependencies (1)

1.33.0 moulti-1.33.0-py3-none-any.whl

Wheel Details

Project: moulti
Version: 1.33.0
Filename: moulti-1.33.0-py3-none-any.whl
Download: [link]
Size: 94087
MD5: 846ec2f86e0901421c56f9d279062ab1
SHA256: 344b860db46357386dd4b653c6b9b5e93878447a827133c7a2a51e301b393a99
Uploaded: 2025-02-26 21:48:09 +0000

dist-info

METADATA

Metadata-Version: 2.2
Name: moulti
Version: 1.33.0
Summary: Moulti is a CLI-driven Terminal User Interface (TUI) displaying arbitrary outputs inside visual, collapsible blocks called steps.
Author-Email: "Xavier G." <xavier.moulti[at]kindwolf.org>
Project-Url: Homepage, https://moulti.run/
Project-Url: Documentation, https://moulti.run/
Project-Url: Repository, https://github.com/xavierog/moulti.git
Project-Url: Issues, https://github.com/xavierog/moulti/issues
Project-Url: Changelog, https://github.com/xavierog/moulti/blob/master/CHANGELOG.md
License: MIT License Copyright (c) 2024-2025 Xavier G. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Keywords: ansible,cli,collapsible,curses,diff,multiplex,output,script,steps,terminal,textual,tui
Classifier: Environment :: Console :: Curses
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
Classifier: Operating System :: POSIX :: BSD :: NetBSD
Classifier: Operating System :: POSIX :: BSD :: OpenBSD
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: System :: Logging
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Requires-Dist: argcomplete
Requires-Dist: pyperclip
Requires-Dist: textual (==1.0.*)
Requires-Dist: unidiff
Requires-Dist: bpython; extra == "tinker"
Requires-Dist: textual-dev; extra == "tinker"
Requires-Dist: mypy; extra == "check-py"
Requires-Dist: pylint; extra == "check-py"
Requires-Dist: ruff; extra == "check-rust"
Requires-Dist: moulti[check-py,check-rust]; extra == "check"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: pytest-forked; extra == "test"
Requires-Dist: pytest-textual-snapshot; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Requires-Dist: build; extra == "release"
Requires-Dist: twine; extra == "release"
Requires-Dist: mkdocs-material[imaging]; extra == "doc"
Requires-Dist: mkdocs-inline-select-svg-plugin; extra == "doc"
Requires-Dist: moulti[check,doc,release,test,tinker]; extra == "dev"
Requires-Dist: moulti[check,test]; extra == "ci"
Requires-Dist: moulti[check-py,test]; extra == "bsd-ci"
Provides-Extra: tinker
Provides-Extra: check-py
Provides-Extra: check-rust
Provides-Extra: check
Provides-Extra: test
Provides-Extra: release
Provides-Extra: doc
Provides-Extra: dev
Provides-Extra: ci
Provides-Extra: bsd-ci
Description-Content-Type: text/markdown
License-File: LICENSE
[Description omitted; length: 4428 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (75.8.2)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
moulti/__init__.py sha256=AWaAma81eqRvmoDRWFQW4tiuLTfSPfikasrQSafzlyo 189
moulti/__main__.py sha256=z3OQolCKD8rUd3pKYp_FISq2VctFhFl1mV-DVnaoNOM 29
moulti/ansi.py sha256=r1Cu8QsZJ_Jk0ouIRL1fVw-8p0utG_Hr9gowshb5Zhc 7651
moulti/app.py sha256=RKy0mwBBqX9vNANpy_bNP6dXYBlbIaMyuE1oERe6ug0 33726
moulti/askpass.py sha256=D_uyriU8U2hqPOC8Pm5KjBzO7q-esjMkJFweuWzQ2RI 3423
moulti/cli.py sha256=wp-6A1dUqgpavJSQcdgxp9QYr2AK51MdoIWMJ9N-kQI 10536
moulti/client.py sha256=qHBhkoo3D71FC-5vJmQaPTIhpKhUmTMikWl6nej32bc 1412
moulti/clipboard.py sha256=CuWnJM2JZ4j2MPck8zUGFbBTE1KXAvANgWKxdKdWElg 895
moulti/diff.py sha256=36M6f6uSWArJ8N0EDU8m4PiKzXBgtBRFOOlkiX04n3s 4634
moulti/environ.py sha256=Gn5fW-r4bF2MzTXxATXpp-vvxq6YPZDB-0ChBJ79TQg 3601
moulti/helpers.py sha256=Z4rnabtjYaS9zlftvgZW7E9JHuySWM8n3Xz2pK4U-30 2376
moulti/manpage.py sha256=3NB3U1f3h4yXl0sfbUOjrDyy6rmnMp983WEcdQ4XAxM 4303
moulti/pipeline.py sha256=qwY_epZECoElUx43Ud4JojWzLk8K1f7X8brrsX1t6mM 2830
moulti/precli.py sha256=fW8x2iRK8aiw3Fr_tuNgt78UTtWs_7Cssn_GUnhSHOY 820
moulti/protocol.py sha256=3UezelQqxNiYxlm-raKjffcGitHRMRBzsMFF28RafW0 14467
moulti/search.py sha256=qgyn1ABYBkr7LdOrEB0WidA4I0TlptFSdQrN2pPZNYA 2787
moulti/security.py sha256=9yTJAA7MCUIhfUsCoQp6I8rTGrvXcTdfpcv5CccnMUI 1737
moulti/server.py sha256=sxlVPcEXj4qrUZrWSXs73U8RTU6X54YMTBG0nQxj_fo 8760
moulti/themes.py sha256=US2gT_4CcMpJX3DITWqq_c1UZ4z4BbCmRmydVqRJ2nU 1244
moulti/ansible/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
moulti/ansible/moulti.py sha256=qK5X2tsrDrJ2vspe5P3Q1xhz49p0MAe-izlOG0jhSa8 14208
moulti/widgets/__init__.py sha256=a0R_w4DLniKwsOf2t3Owl0hKOJlZvdn6jZ55vl5DPqY 441
moulti/widgets/cli.py sha256=iEImfXeqOoRb2kUvwzlHqmBSLZBiJZ6HFXD4_6RtgE8 408
moulti/widgets/footer.py sha256=aVymtolm_emAQUv1t7Pg1O3MCB4_GxE5tbR-3rayBA4 1438
moulti/widgets/helpscreen.py sha256=nWUqir2ilE5ksgDfqYxEFTYg1X6CsWYidlbAhiPmp6Q 2446
moulti/widgets/mixin.py sha256=-h6TxeeUR5KPRq83Ogu6JniSNboeVdIfytzLmyW0N78 3194
moulti/widgets/moulticonsole.py sha256=dnSEKZqiKpW8jlFkRCfK8gSoR_ijuIrDW5e42dZrXxE 6404
moulti/widgets/moultilog.py sha256=IbEOac2XYDH9UkZz6ZqFR1BLAaIulagcBo9N_nkVOVQ 8313
moulti/widgets/quitdialog.py sha256=o-bBmy9w98x0KJGr93O7UW-TyAx5KdC7yd3DVSaKYjY 3401
moulti/widgets/searchinput.py sha256=9hPohYMiOIvUUBBrst7_semnS7Ve9RV63mpwcpFPJDY 6815
moulti/widgets/stepcontainer.py sha256=9bVmcmF4EAMecjme6O4US4YIla-Tr1LmS2ZzfhXp3Ts 7286
moulti/widgets/tui.py sha256=r3PQpwVr7f9ucM_yeOZwPVe6OO0VbrYZfHrJ6iRPxYY 1786
moulti/widgets/vertscroll.py sha256=r5E8LTbUo_7uh48xsWojs7u_GlYXmICBONgvUS1zvws 356
moulti/widgets/abstractquestion/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
moulti/widgets/abstractquestion/cli.py sha256=sFV1VkfIqEgSqzZbPYLDQ0oLC3zgn78zroXus1Fjc1Y 581
moulti/widgets/abstractquestion/tui.py sha256=0CfmnpOqvw6pru3q0qBa9xHsJ15Xdz0Gw3nh6Sr0GLE 3437
moulti/widgets/abstractstep/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
moulti/widgets/abstractstep/cli.py sha256=p_G0hGQFLrwJImN1uOAXQi_VuQh4yVosUC5rhFX_pbo 699
moulti/widgets/abstractstep/tui.py sha256=32V5_PPY69DzltLF6RMdcgSkKFGFb_JFtdmHA1g-oMg 5338
moulti/widgets/buttonquestion/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
moulti/widgets/buttonquestion/cli.py sha256=cYHqih33pWwZvRSqC-IFXLiMkU65qjxky0w81Doa36I 2347
moulti/widgets/buttonquestion/tui.py sha256=dqHF0VtDg6o8NmTDVSVRSdJ-NTA71YizYeqBoO9gZZw 7261
moulti/widgets/collapsiblestep/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
moulti/widgets/collapsiblestep/cli.py sha256=gXvYZOnEFaKgHiiOr7dr63G23WVIRxeJjZrHJGEkEHE 749
moulti/widgets/collapsiblestep/tui.py sha256=zCMGRDTt6Y7W4XCe9-geKyC48eup0qm3BTz3waLzrjY 5717
moulti/widgets/divider/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
moulti/widgets/divider/cli.py sha256=BxPMbDnbg6Gj3cSkH6PG5qX02VZwHT7QeXVh-4RU4fk 1613
moulti/widgets/divider/tui.py sha256=HP6Sn3Z64q9vbdNe5y5_MKOt5o8e5xhXUFmK3TraOQ8 1101
moulti/widgets/inputquestion/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
moulti/widgets/inputquestion/cli.py sha256=Sxhwd0v8mZubckgHNstr_Y2opxEgmiW9XvJflFtSDuE 2923
moulti/widgets/inputquestion/tui.py sha256=iKop_zktX6ndtcE5kSeRZ1Y-CJXl4XMVu4-_gKgHm3c 2195
moulti/widgets/question/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
moulti/widgets/question/cli.py sha256=-5ehzlMSJaYq0I8w-fPtemfoAKfqr3SdMhRl72Y4CfQ 2482
moulti/widgets/question/tui.py sha256=RqYejMlDX5iBvOZztylsq76oZheXNJQEnFVPAYpx4hw 1367
moulti/widgets/step/__init__.py sha256=YrBfHiYJdB_xXxhaEVQiP-rSxdI_PNxIvjOluQmAWws 37
moulti/widgets/step/cli.py sha256=AxxzaoE0gsdWgiYKikW1ojkGAFZWIvrOBsAcLTDvHKI 4814
moulti/widgets/step/tui.py sha256=PvofyX43lrUrdeh_4ABYuulDcbWM5LRFkoUF2eER7e8 16599
moulti-1.33.0.data/scripts/moulti-functions.bash sha256=9U-9l1DXj5VZqOIg6qn-wrB8tdJD5rfwaqGBUVMKftA 7487
moulti-1.33.0.data/scripts/moulti-man sha256=ktkUEKCcY-Ts9fpvOqtoEMBDCie2NKNrhuOeKB-h0pg 482
moulti-1.33.0.dist-info/LICENSE sha256=sNlkybgl1LPthUWoEek5k1OVI6d_eORYB-SZWL4HxmQ 1071
moulti-1.33.0.dist-info/METADATA sha256=yvndtDL58_ZxCgGsJ9yQfFaNhqZ-e96rcJ0huexQBL8 8205
moulti-1.33.0.dist-info/WHEEL sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM 91
moulti-1.33.0.dist-info/entry_points.txt sha256=ZkWU4TibmzyfhqF0W9F422daVrrAzF2cVbgEhrasGx8 243
moulti-1.33.0.dist-info/top_level.txt sha256=V023B3Gplxw8-07sflOrEHTNlsJ6sax4DbjuW2N9LOg 7
moulti-1.33.0.dist-info/RECORD

top_level.txt

moulti

entry_points.txt

moulti = moulti.precli:main
moulti-askpass = moulti.askpass:main
moulti-askpass-become-password = moulti.askpass:main
moulti-askpass-connection-password = moulti.askpass:main
moulti-askpass-vault-client = moulti.askpass:main