Package: termr 1.0.1

Akims Mensikovs

termr: Modern Reactive Terminal Applications with Data Workflows

Build modern reactive terminal applications for data workflows in R using reusable widgets, layouts, events, focus management and themes. A virtual screen buffer and incremental rendering update changed cells, while a headless driver supports deterministic application tests. Includes data tables that render visible rows on demand, lazy table sources, data inspection, SQL editing and background R workers with progress and streamed output. Optional database support and static text, Markdown, HTML, SVG and JSON exports support analytical tools and reports without requiring an interactive terminal for static output.

Authors:Akims Mensikovs [aut, cre, cph]

termr_1.0.1.tar.gz
termr_1.0.1.zip(r-4.7-any)termr_1.0.1.zip(r-4.6-any)
termr_1.0.1.tar.gz(r-4.7-any)termr_1.0.1.tar.gz(r-4.6-any)
termr_1.0.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
termr/json (API)

# Install 'termr' in R:
install.packages('termr', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/41929424/termr/issues

On CRAN:

Conda:

2.30 score 40 scripts 155 exports 4 dependencies

Last updated from:1241faa9b1. Checks:6 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK278
source / vignettesOK277
linux-releaseOK244
windows-develOK258
windows-releaseOK177
wasm-releaseOK90

Exports:alert_dialoganimateAnimationappAppbatchbindBlurEventbrowse_databuttonButtoncellcheckboxCheckboxcolumncommandcomputedconfirm_dialogcurrent_appdata_browserdata_profiledata_tableDataProfileDataTabledb_connectiondb_explorerdb_metadatadb_query_sourcedb_table_sourcediff_screendisposedropdownEventFocusEventGridgrid_layouthorizontalHorizontalinputInputinspect_signalinspect_widgetjson_viewkey_eventkey_valueKeyEventKeyValueknit_termrlabelLabellog_viewLogViewmarkdown_viewMarkdownViewMessageEventmetricMetricmodalModalScreenmotion_reducedMountEventMouseEventonoption_listOptionListpanelPanelPasteEventpatch_to_ansipeekprocess_viewProcessViewprogress_barProgressBarproperty_gridPropertyGridr_highlighterradio_buttonradio_setRadioButtonRadioSetreactiverecord_viewregionregister_layoutrender_htmlrender_linesrender_markdownrender_svgrender_textrender_widgetResizeEventruleRulerunrun_examplerun_processrun_workerScreenscreen_bufferscreen_snapshotscreen_snapshot_jsonScreenBufferscroll_viewScrollViewSelectset_intervalset_timeoutsignalspansparklineSparklinespinnerSpinnersplit_paneSplitHandleSplitPanesql_editorsql_highlighterstatus_barStatusBarstrip_ansistylestylesheetstylesheet_filetabtable_filtertable_sourceTabPanetabsTabsterminal_capabilitiestermr_themetest_apptext_areaTextAreaTimerToasttree_nodetree_viewTreeNodeTreeViewUnmountEventunregister_layoutuntrackedupdate_signalverticalVerticalwatchwidgetWidgetwidget_snapshotwidget_snapshot_jsonWorkerwrite_rendered

Dependencies:codetoolsprocessxpsR6

Readme and manuals

Help Manual

Help pageTopics
Animate a widget fieldanimate
Animation handleAnimation
Create an applicationapp
ApplicationApp
Key bindingsbind
Browse a data frame in the terminalbrowse_data data_browser
Buttonbutton
Button widgetButton
A single terminal cellcell
Checkboxcheckbox
Checkbox widgetCheckbox
Column options for data tablescolumn
Commandscommand
The running appcurrent_app
Compact vector profiledata_profile
Data tabledata_table
DataProfile widgetDataProfile
DataTable widgetDataTable
Wrap a DBI connection for use by termr SQL widgetsdb_connection
Database explorer widgetdb_explorer
Create a DBI metadata interfacedb_metadata
Create a lazy DBI query sourcedb_query_source
Create a lazy source for a SQLite tabledb_table_source
Compare two screen buffersdiff_screen
Drop-down selectdropdown
EventsBlurEvent Event FocusEvent KeyEvent MessageEvent MountEvent MouseEvent PasteEvent ResizeEvent UnmountEvent
Grid containerGrid
Grid containergrid_layout
Horizontal containerHorizontal
Single-line text inputinput
Input widgetInput
Inspect one node in the experimental signal graphinspect_signal
Inspect a widgetinspect_widget
Collapsible viewer for R list-like datajson_view
Create a key eventkey_event
Key/value listkey_value
KeyValue widgetKeyValue
Render a static representation for knitr or Quartoknit_termr
Text labellabel
Label widgetLabel
Log viewlog_view
LogView widgetLogView
Markdown viewmarkdown_view
MarkdownView widgetMarkdownView
Metricmetric
Metric widgetMetric
Modal screens and dialogsalert_dialog confirm_dialog modal
Modal screenModalScreen
Reduced motionmotion_reduced
Event handlerson
Option listoption_list
OptionList widgetOptionList
Panelpanel
Panel widgetPanel
Convert a screen patch to ANSI escape sequencespatch_to_ansi
Process viewprocess_view
ProcessView widgetProcessView
Progress barprogress_bar
ProgressBar widgetProgressBar
Key/value property inspectorproperty_grid
PropertyGrid widgetPropertyGrid
Lightweight R syntax highlighterr_highlighter
Radio buttonsradio_button radio_set
RadioButton widgetRadioButton
RadioSet widgetRadioSet
Reactive state fieldsreactive
View one recordrecord_view
Screen regionsregion
Register an experimental custom container layoutregister_layout
Render a styled HTML fragmentrender_html
Render a terminal frame as a Markdown code blockrender_markdown
Render a static frame as SVGrender_svg
Render a widget tree as plain textrender_lines render_text
Render widgets to a virtual screenrender_widget
Rule (separator)rule
Rule widgetRule
Run an applicationrun
Run a bundled example apprun_example
Background workers and subprocessesrun_process run_worker
Screen widgetScreen
Create a virtual screen bufferscreen_buffer
Create a deterministic screen snapshotscreen_snapshot
Serialize a screen snapshot as JSONscreen_snapshot_json
Virtual screen (framebuffer)ScreenBuffer
Scrollable containerscroll_view
ScrollView widgetScrollView
Select widgetSelect
Timersset_interval set_timeout
Reactive values, computed values and watchersbatch computed dispose peek signal signals untracked update_signal watch
Styled textc.termr_text span
Sparklinesparkline
Sparkline widgetSparkline
Spinnerspinner
Spinner widgetSpinner
Split panesplit_pane
SplitPane widgetSplitPane
SQL editor widgetsql_editor
SQL syntax highlightersql_highlighter
One-line status barstatus_bar
StatusBar widgetStatusBar
Remove ANSI escape sequences from a stringstrip_ansi
Widget stylesstyle
Stylesheetsstylesheet stylesheet_file
Create a DataTable column filtertable_filter
Create an experimental lazy table sourcetable_source
TabPane widgetTabPane
Tabstab tabs
Tabs widgetTabs
Terminal capabilitiesterminal_capabilities
Themestermr_theme
Test an app without a terminaltest_app
Multi-line text editortext_area
TextArea widgetTextArea
Timer handleTimer
Toast widgetToast
Tree nodestree_node
Tree viewtree_view
Tree nodeTreeNode
TreeView widgetTreeView
Remove an experimental custom layoutunregister_layout
Layout containershorizontal vertical
Vertical containerVertical
Define a custom widget typewidget
Widget base classWidget
Snapshot the safe, structural parts of a widget treewidget_snapshot
Serialize a structural widget snapshot as JSONwidget_snapshot_json
Worker handleWorker
Write a static rendering to a UTF-8 filewrite_rendered