Saravanan666/pypi-org huggingface dataset:
Package: tui-editor
Features:simple multi-line editornot whole screen but only next N linesstatus bar (supporting multiple lines):
show interactive feedback. e.g. mark edits, show number of edits, show diff in separate plane or soThis is just a simple multi-line editor for the terminal
(VT100).
It is a bit likeinput(doc)
but supporting multiple lines
and behaving more like a simple editor.
It is different to other editors
and other TUI frameworks in that it will not go full-screen
but only use the last N lines of the terminal.
It is intended to be simple and flexible and hackable,
i.e. the behavior can be changed, typing events can be handled,
etc.
It takes extra care to handle terminal resizing.
It also supports to show a status bar (potential multi-line).Homepage:https://github.com/albertz/py-tui-editorInstallationThe project is on PyPI:https://pypi.org/project/tui-editor/Thus you can just do:pipinstalltui-editorUsageSimple empty editor:>>>fromtui_editorimportTuiEditor>>>editor=TuiEditor()>>>editor.edit()>>>editor.get_text()'Hello World!'Predefined editable text:>>>fromtui_editorimportTuiEditor>>>editor=TuiEditor()>>>editor.set_text('Hello World!')>>>editor.edit()>>>editor.get_text()'Hello World!'Seedemo-prompt.pyanddemo-editor.py.ScreenshotScreencastThis shows thedemo-prompt.pyanddemo-editor.py.This uses avery custom small app,
which I use to take over annotated PDF edits into my Latex file,
where I get the editor, and it shows me the live-diff in the status bar of the editor.LicenceMIT LicenseHistory2015 Paul Sokolovsky:picotui projectseditor.py example.
2022 Albert Zeyer: extend and redesign and package just the text editor as this library.Related projectsPython terminal user interface (TUI) and related.The features stated in the beginning were the main motivation.
The related work here did not really satisfy me in getting those features,
or did not really make it simpler to accomplish them.
(At least from a first glance to those other projects
- maybe I’m missing sth! Please share a short demo,
similar to the demos here, if you know how to easily implement it.)https://docs.python.org/3/library/curses.html- too complex but at the same time too limited?https://github.com/bczsalba/pytermgui(1.2k stars)
- limited, no real text editorhttps://urwid.org/examples/index.html(2.5k stars)
- edit example:https://github.com/urwid/urwid/blob/master/examples/edit.pyhttps://github.com/prompt-toolkit/python-prompt-toolkit(7.9k stars)
- too complex…? similar as curses…https://github.com/pfalcon/picotui(0.7k stars)
- good enough? editor:https://github.com/pfalcon/picotui/blob/master/picotui/editor.py- another editor:https://github.com/pfalcon/picotui/blob/master/seditor.pyhttps://github.com/Textualize/textual(13k stars)
- async framework, I don’t want that…(Or coding some line edit by hand, should not be too difficult…?)https://github.com/pfalcon/picotui/blob/master/seditor.pyReferenceshttps://en.wikipedia.org/wiki/ANSI_escape_codehttps://invisible-island.net/xterm/ctlseqs/ctlseqs.html
Package: tuiframework
tui frameworkTurning ideas into web app fast.Explore the docs »简体中文·Report Bug·Request FeatureWhat is tui?tui is a Python framework for building full-stack web applications. It constructs user interfaces by utilizing Pydantic
models in the backend that correspond to the properties of React components in the frontend. This integration enables
quick development of interactive and beautiful UIs using Python.The key features are:Fast development: Write your entire app with Python, seamlessly integrating backend logic and frontend UI.Easy Form Validation: Define a single Pydantic model for seamless and consistent form validation across your app, enhancing development speed and reducing potential errors.Client-Side Routing: Fast, smooth page transitions without reloads.Folder-Based Routing: Easy route management through folder structure.SEO Friendly: Supports server-side rendering for better search engine visibility.RequirementsPython 3.9+Installation$pipinstalltuiframework---> 100%ExampleThe simple todo app is shown below.importjsonfromtypingimportAnnotated,Optionalfromfastapi.encodersimportjsonable_encoderfrompydanticimportBaseModelfromtuiimportPageResponsefromtuiimportcomponentsascfromtuiimportformasffromtui.actionsimportNotifyfromtui.responseimportActionResponse# Define a model for creating new todo items with a single 'task' fieldclassTodoInCreate(BaseModel):task:Annotated[str,f.Input(placeholder="Enter task...")]# Define a model for todo items stored in the database, extending the creation model with an 'id' and 'completed' fieldclassTodoInDB(TodoInCreate):id:intcompleted:Optional[bool]=False# Initialize a list of todo itemstodos=[TodoInDB(id=1,task="Task 1",completed=False),TodoInDB(id=2,task="Task 2",completed=True),TodoInDB(id=3,task="Task 3",completed=False),]# Define the pageasyncdefpage()->PageResponse:returnPageResponse(element=c.Container(# support tailwind cssclass_name="container mx-auto px-32 py-10",children=[# Add a heading to the pagec.Heading(level=1,text="Todo App",class_name="text-3xl mb-10",),# Add a form for creating new todo itemsc.Form(model=TodoInCreate,submit_url="/",class_name="mb-5 border p-5",),# Add a table displaying all todo itemsc.Table(datasets=todos,class_name="border p-5",)]))# Define the form handling logicasyncdefpost(form:TodoInCreate)->ActionResponse:todos.append(TodoInDB(id=len(todos)+1,task=form.task,completed=False,))# Return a notification with the submitted form valuesreturnActionResponse(action=Notify(title="You submitted the following values:",description=json.dumps(jsonable_encoder(form),indent=2),))Which renders like this:DemoCheck out thedocsfolder in the project repository. The documentation website is built directly from these sources.LicenseThis project is licensed under the terms of the MIT license.
Package: tuify
tuifyTransforming Python CLIs into TUIs:warning:This package is currently under developmentGet StartedInstallingThe easiest way to installtuifyis viapip:pip install tuifySimple ExampleHow-to-GuidesDeep DiveContributingClone this repositorygit clone git@github.com:alwinw/tuify.gitInstall the development versionpip install -v -e .[<extras>](-eneeds pip >= 22.0 for pyproject.toml) orpoetry install --extras "<extras>"Make your changes and commit usingcommitizenand ensurepre-commitis activeWhen ready, bump the version and runpoetry build -v. If deploying, runpoetry publish --build -vAcknowledgementsThis package is heavily inspired byGooeyandRich CLI. It would not be possible withoutTextualizeandclick
Package: tuilang
TUILANGCreate a runnable Python code quickly for TUI Rich-based applications.Sample code and outputSample codeCreate four rows with 2 columns each and with a portion of 1, 6, 2, 1 respectively.Each row's two columns have a 3:7 width ratio.<layout(
    <content(
        <row[fraction=1](
            <col[fraction=3]
            <col[fraction=7]
        )
        <row[fraction=6](
            <col
            <col
        )
        <row[fraction=2](
            <col
            <col
        )
        <row[fraction=1](
            <col
            <col
        )
    )
)Screenshot output
Package: tuilwindcss
tuilwindcssThis project is inspired bytailwind.cssto offers a similar set of classes that can be used directly to construct TUI apps withTextual. It's an experimental project to see if it makes it easier to construct apps.Note! This project is not affiliated or endorsed by tailwind labs, but it's an awesome project. Please check outtailwind.cssif you haven't already.ContentsThere are two files generated by this project:tuilwind.cssandtuilwind.min.css. These contain the relevant classes that mimic the names that tailwind uses.Demo DocsThe documentation page gives a visual gallery of all the features of the library.DownloadTo use the most recent CSS file locally, you can easily download it via:wget https://raw.githubusercontent.com/koaning/tuilwindcss/main/tuilwind.cssYou can also pick the minified version if you prefer.wget https://raw.githubusercontent.com/koaning/tuilwindcss/main/tuilwind.min.css
Package: tui-menu
TUI-MenuThis is a Python Module for Menu driven TUI scriptsIt helps developers to write menu-driven scripts (or apps) in a simple way.InstallationYou have two wayes to install and use this module:Use pip to install itpipinstalltui-menuCopy thetui-menu/Menu.pyto your projectUsageAn example of using this module.fromtui_menu.MenuimportMenu# Create main menumain_menu=Menu()# Creating sub-menusub_menu=Menu()# Setting up the title and menu levelmain_manu.title("My Application main menu")main_menu.level(0)sub_menu.title("My Application sub menu")sub_menu.level(1)sub_menu.add_item(key="1",name="running option 2",data=op_func2)main_menu.add_item(key="1",name="running option 1",data=op_func1)main_menu.add_item(key="2",name="sub menu 1",data=sub_menu)# Create functions for menu operationsdefop_func1():# do somethingdefop_func2():# do something# running the applicationmain_menu.run()You can create as many as you want of sub-menus, each sub menu is a Menu object.Every Menu item can be a Menu object (sub-menu) or a Function which can be call and
execute some operation.The menu key isone letterkey, you cannot use'x'or'r'which use for'x' - exit the script / app'r' - use in sub menu to return one level upContributingPull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.Please make sure to update tests as appropriate.LicenseThis Module is distributing under theGPLv3+Licensing
Package: tuimoji
tuimojituimoji is a terminal based emoji chooser for *nix. With tuimoji you
can search and browse emojis and copy them to your clipboard without ever
leaving the comfort of your terminal!FeaturesInstallationUsageSkin tone modifierChange the clipboardAcknowledgementsFeaturesBrowse emojis by category.Search emojis by name.Supportsskin tone modifiers.Installationtuimoji requires Python3 and xclip to be installed. xclip can be installed
via your favorite package manager (if it is not already).To install tuimoji, use pip:pip3 install --user tuimojiUsageLaunch tuimoji with thetuimojicommand. By default, the search input is
focused, allowing you to type to search immediately:Press Enter to highlight the first result, and use the cursor keys to navigate
to the desired emoji. Pressing Enter again will copy the emoji to your
clipboard and exit the program.Alternatively you may browse emojis using the named categories. Use the cursor
keys to navigate and press Enter to select a category.Skin tone modifiertuimoji defaults to0which is the original Simpsons skin tone (no modifier).To change the tone launch tuimoji with the-tor--tonecommand line argument:tuimoji -t 6The available skin tone modifiers are:ToneResult0👊1_2👊🏻3👊🏼4👊🏽5👊🏾6👊🏿Change the clipboardBy default tuimoji will copy characters to the clipboard, which is the usual
selection when using copy and paste operations (ctrl+c/ctrl+v). You can also
tell tuimoji to place the character on the primary (middle click paste) or
secondary (unused?) selections.Launch tuimoji with the-sor--selectioncommand line argument:tuimoji -s primaryAcknowledgementsThanks toshanraisshan/EmojiCodeSheetfor the contents of the .json data file in this project.
Package: tuindow
tuindow -- A small package for creating TUI applicationsRequirementsTested on python versions 3.8 - 3.11This package makes use of the builtin curses module, so it's only available on Linux.
I will probably look into testing and supporting Windows in the future. I do not have a
macOS device to test on and so won't be supporting the OS.Installationpython3-mpipinstalltuindowBasic Usageimporttuindowpanel=tuindow.Panel()deflayout(width:int,height:int)->None:panel.rect=(0,0,width,height)withtuindow.init(layout):tuindow.set_active_cursor(panel.cursor)while1:forkeyintuindow.keys():ifkey==tuindow.DOWNorkey=="\n":try:panel.cursor.down()excepttuindow.Overscroll:passelifkey==tuindow.UPor(panel.cursor.index==0andkey==tuindow.BACKSPACE):try:panel.cursor.up()excepttuindow.Overscroll:passelifkey==tuindow.RIGHT:panel.cursor.right()elifkey==tuindow.LEFT:panel.cursor.left()elifkey==tuindow.ESCAPE:exit(0)elifkey==tuindow.BACKSPACE:panel.cursor.backspace()elifkey==tuindow.DELETE:panel.cursor.delete()elifkeyintuindow.PRINTABLE:panel.cursor.insert(key)tuindow.draw(panel)tuindow.update()A More Advanced ExampleThis will create the code for a simple text editor in the current working directory and open the file using the editor itself.
In the future there may be more examples available using this method.python3-mtuindowMore DocumentationThe source code is documented fairly thoroughly.For more documentation refer to the source code or get it interactively for specific objects using the pythonhelpbuiltin at an interactive prompt.
Package: tuinty-forpy-eight
Why?I made this over the course of a week to test out the features of textual, and felt like sharing it.InstallationInstall the script and associated files:pip install tuinty-forpy-eightLaunch the game by running2048in a terminal of your choiceInfinite fun, at your terminal!Customizing Colour Scheme1. BackgroundSupply the rgb values of the background colour you want along with the 2048 commande.g2048 -bg[--background] 0 0 0it is optional and defaults to (143, 0, 255)2. Background OpacitySupply the opacity as a float between 0 and 1e.g.2048 -op[--opacity] 0.2it is optional and defaults to 0.133. Tile colourSupply the rgb values of the tile colour you want along with the 2048 commande.g.2048 -tl[--tile] 0 0 0it is optional and defaults to (237, 115, 255)The above arguments can be used in combinationHow toFor instructions on how to play, bring up the help screen by pressing "?" or the F1 key when in the game
Package: tui-typer-tutor
tui-typer-tutorUncomplicated terminal typing practice.Fork ofkraanzu/termtyperwith a focus on special characters. Inspired byclimech/typing-practiceandjustinsgithub/terminal-typing-tutor.InstallationInstall withpipxpipxinstalltui-typer-tutorUsageLaunch a typing session with the default text:tttOr specify custom files with:ttt--seed-file='./any-file.txt'To uninstall run:ttt--uninstall&&pipxuninstalltui-typer-tutorKeysThis app supports a few unicode characters when found in the seed file:tab:→shift+tab:←enter/return:⏎escape:␛All supported characters are documented here.Ctrlkey combinations aren't yet supported and appear as an unknown character.Seed FileThe algorithm for generating the expected text is:Load each line of the seed fileReorder randomly (keeping each line of text together)Join without a delimeter keeping any leading white space per lineThe default seed file is here:./tui_typer_tutor/core/seed_data.txtIdeas for better seed text generation are welcome!Project StatusSee theOpen Issuesand/or theCODE_TAG_SUMMARY. For release history, see theCHANGELOG.ContributingWe welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation:DEVELOPER_GUIDESTYLE_GUIDECode of ConductWe follow theContributor Covenant Code of Conduct.Open Source StatusWe try to reasonably meet most aspects of the "OpenSSF scorecard" fromOpen Source InsightsResponsible DisclosureIf you have any security issue to report, please contact the project maintainers privately. You can reach us atdev.act.kyle@gmail.com.LicenseLICENSE
Package: tukaan
TukaanTukaan is a Python toolkit for creating cross-platform GUI applicationsWe are looking for contributors 😍Tukaan is already one and a half years old, but it is still in alpha state. Developing such a toolkit takes a lot of work, so the more of us there are, the better it will be, and the sooner we can release a stable version.SeeCONTRIBUTING.mdfor more.What is Tukaan?Tukaan is a GUI toolkit based on Tcl/Tk. Yeah, that’s the same thing that powers Tkinter, but don’t worry, Tukaan is far not as bad as Tkinter.It is designed to be a modern and pythonic framework that provides everything you need in a GUI application, without having to install all sorts of third-party extensions to accomplish a basic task.🔶 Tukaan is powerfulWith Tukaan you can build whatever you want. It includes a wide variety of widgets, from basic things like tooltips to advanced megawidgets, dozens of options for integration with the operating system, and a bunch of other things that make creating an application even more convenient.🔶 Tukaan is modernTukaan does not try to mimic the look and feel of Motif or Windows 95. You can create interfaces that look native on Windows, macOS and Plasma, or theme it however you like, so the users might actually want to use it. Unlike Tkinter, it has most of the features you expect from a GUI toolkit in the 21st century. No need to spend hours browsing random forums to figure out how to load a custom font file, such basic things are built in already!🔶 Tukaan is intuitiveTukaan is pythonic and intuitive, so you don’t necessarily have to look up the documentation every time, you can figure it out for yourself. However, keep in mind that it is not recommended for complete beginners. You need some knowledge of Python, and some sort of experience in GUI programming can also come handy, although that’s not required.Get started with Tukaan!FAQWhy did you name this projectTukaan?Tk's logo is a feather, so I wanted to name the project after a bird withTandKin its name. So I came up withtukán(means toucan in english). However Github doesn't allow non-english characters in repository names, so I had to simplify it totukaan.How do you pronounceTukaan?tukaːnCreditsAldo Buratti -extrafontInspirationAkuli/TeekUnsignedArduino/TkZerolawsie/guizeroLogo design inspired byTajulislam12's design on Dribbble
Package: tukey-middleware
Tukey is a console for managing cloud resources particularly IaaS clouds.
Tukey is built on the OpenStack Dashboard, Horizon, and provides the
additional functionality of interacting with ec2 compatible clouds and
authentication via Shibboleth and OpenID.Tukey Middleware provides access to multiple cloud resources using the
a subset of the OpenStack Identity and Compute JSON APIs. Clouds currently
supported are Eucalyptus and OpenStack.For info go to:http://opensciencedatacloud.orgDependenciesFor Ubuntu use apt to install:$ sudo apt-get install python-virtualenv postgresql-9.1 postgresql-server-dev-9.1 swig build-essential memcached
$ sudo apt-get build-dep python-psycopg2Getting StartedFor local development, first create a virtualenv for the project.
In thetoolsdirectory there is a script to create one for you:$ python tools/install_venv.pyThere are three main proxies you will need to start: the authentication
service the nova proxy and the glance proxy
Run the start up scripts for each service:$ ./auth.sh
$ ./nova.sh
$ ./glance.sh
Package: tulflow
TULFLOWSmall Python package / library for common ETL-adjacent functions, primarily used in the TU Libraries Airflow tasks.Updating/Adding PackageIf you make any updates or additions to this repository, a release will need to be created in order for the related Airflow DAGS to pick it up.Releases are currently managed by PyPi and this project can be foundhere. In order for releases to be pushed to PyPi, you will need to updatesetup.pywith the new version number.Within your DAG project, you will need to update the Pipfile to use the latest version of Tulflow.Update release version in Pipfilerunpipenv shellrunpipenv install tulflowCommit your changes in each repositoryRight now we are using Tulflow in 3 different DAG repositories, so you should update the release in each one in order to ensure that the most recent version is actually the one being used.cob_datapipelinefuncake_dagsmainfold_airflow_dagsHow to UseIf you would like to use one of these common functions in an Airflow DAG, you will need to include it as one of the import statements at the top of the file.Example:from tulflow import process
Package: tulia
Tulia: a comprehensive machine learning project entirely from scratch, utilizing the power of Python and numpy.FeaturesSimplicityBy encapsulating both the training and predicting logic within just a couple of classes, complexity is greatly reduced compared to popular frameworks that heavily rely on abstraction.
Moreover, the library provided here offers a streamlined approach by maintaining only essential parameters in the model class.Familiar approachThis library uses sklearn API to build the codebase.Example usagefromsrc.linearimportLinearRegressionX_train,X_test,y_train,y_test=...lr=LinearRegression(n_steps=10_000,learning_rate=1e-4)lr.fit(X_train,y_train)y_pred=lr.predict(X_test)mse=mean_squared_error(y_pred,y_test)# Here mean_squared_error() is a pseudocode.InstallationTo use in codepipinstalltuliaDownload a whole librarygitclonehttps://github.com/chuvalniy/Tulia.git
pipinstall-rrequirements.txtTestingEvery machine learning model is provided with unit test that verifies correctness of fit and predict methods.Execute the following command in your project directory to run the tests.pytest-vLicenseMIT License
Package: tulip
This is the source repository for TuLiP, the temporal logic planning toolbox.
The project website ishttp://tulip-control.orgInstallationIn most cases, it suffices to:pip install .TuLiP can be installed alsofrom PyPI:pip install tulipThis will install the required dependencies.
To find out what dependencies (including optional ones) are installed, call:tulip.interfaces.print_env()For detailed instructions, including notes about dependencies and troubleshooting,
consulthttp://tulip-control.sourceforge.net/doc/install.htmlThe next section describes how to build documentation.
A test suite is provided undertests/.  Consult the section “Testing” below.DocumentationThere are two main sources of documentation outside the code.  The “user”
documentation is underdoc/and is built withSphinx, so the usual steps apply,make htmlAPI documentation is generated usingEpydocand can also be built from thedocdirectory, now bymake apiBuilt copies for the most recent release of TuLiP are available online at:http://tulip-control.sourceforge.net/doc/http://tulip-control.sourceforge.net/api-doc/Command summaries are provided bymake help.  Besides the above sources, you
may also read API documentation using the standard pydoc tool.  E.g.,pydoc tulipTestingTests are performed usingnose.  From the
root of the source tree (i.e., wheresetup.pyis located),./run_tests.pyto perform basic tests.  To try all available tests,./run_tests.py full.
For alternatives and a summary of usage,./run_tests.py-hLicenseThis is free software released under the terms ofthe BSD 3-Clause License.  There is no warranty; not even
for merchantability or fitness for a particular purpose.  Consult LICENSE for
copying conditions.When code is modified or re-distributed, the LICENSE file should accompany the code or any subset of it, however small.
As an alternative, the LICENSE text can be copied within files, if so desired.
Package: tulipcore
tulipcoreis an alternativegeventcore loop. It is based onasyncioa.k.a.
tulip, the async library for Python 3. Withtulipcore, you can rungeventcode on top ofasyncio.tulipcoreis written and maintained byFantix Kingand is licensed under
MIT license.Install tulipcoreInstall Python 3.4 or newer,greenletextension andgeventlibrary. Note if
you are running on Python 3.3, you still need to install theasynciolibrary.Please note, at this point (mid 2014) main linegeventis in a progress fully
supporting Python 3. So if you want to take a try right now, you can install
my gevent fork:pipinstallgit+git://github.com/fantix/gevent.gitInstall tulipcore:pipinstallgit+git://github.com/decentfox/tulipcore.gitUse tulipcoreAdd this environment variable, it will tellgeventto usetulipcore:GEVENT_LOOP=tulipcore.LoopFor example, you can run thegeventtest suite withtulipcoreinstalled:cdgevent/greentestGEVENT_LOOP=tulipcore.Looppythontestrunner.pyHistoryThis project was originally calledgevent3, which was a wrapper ofasynciofor Python 3 offering a gevent-compatible API. It was developed in a wrong
direction and I decided to abandon it.