{"id":13800897,"url":"https://github.com/kvakvs/tx","last_synced_at":"2025-03-27T02:30:25.791Z","repository":{"id":20938991,"uuid":"24227329","full_name":"kvakvs/tx","owner":"kvakvs","description":"Erlang term explorer. Pastebin type app which displays terms of any complexity straight from your erlang shell in web browser. No external deps (inets only).","archived":false,"fork":false,"pushed_at":"2014-10-08T14:37:39.000Z","size":1100,"stargazers_count":81,"open_issues_count":1,"forks_count":1,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-22T21:36:07.537Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kvakvs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-19T11:24:22.000Z","updated_at":"2024-12-25T06:43:04.000Z","dependencies_parsed_at":"2022-08-05T11:00:33.680Z","dependency_job_id":null,"html_url":"https://github.com/kvakvs/tx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvakvs%2Ftx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvakvs%2Ftx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvakvs%2Ftx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvakvs%2Ftx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvakvs","download_url":"https://codeload.github.com/kvakvs/tx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245769159,"owners_count":20669131,"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-04T00:01:17.429Z","updated_at":"2025-03-27T02:30:25.500Z","avatar_url":"https://github.com/kvakvs.png","language":"CSS","readme":"# Erlang Term Explorer (TX)\n\nThis app was created to fill the void in the data visualisation area. And to \nhelp you follow \"know your data\" paradigm. Basically it shows you your data in \nweb browser via webserver listening to localhost. \n\n## What does it look like?\n\n\u003cimg src=\"https://raw.github.com/kvakvs/tx/master/priv/img/readme_index.png\" width=\"30%\" /\u003e\n\u003cimg src=\"https://raw.github.com/kvakvs/tx/master/priv/img/readme_show.png\" width=\"30%\" /\u003e\n\u003cimg src=\"https://raw.github.com/kvakvs/tx/master/priv/img/readme_inspect_proplist.png\" width=\"30%\" /\u003e\n\n## Features \n\n*  `tx:show(Term)` and `tx:show(Term, Title)`\n   *  Given an arbitrary term, saves it temporarily and creates an unique \n      URL to it (similar to Pastebin but with faster/manual expiration). \n      Click the URL or copy and open in your web browser (Javascript required).\n*  `tx:redbug(Spec)` and `tx:redbug(Spec, Options)`\n   *  If you have [Redbug](http://github.com/massemanet/eper/) available, then\n      tx will run `redbug:start` and capture events output, then store it in a\n      regular way as a browsable term.\n*  Process and ports are \"inspectable\", just click one to see. \n*  Proplists with printable keys are detected and formatted tidier.\n*  Uses only standard Erlang libraries (inets), no external dependencies.\n\n## How to begin\n\nAdd `https://github.com/kvakvs/tx` as your application dependency or download it\nand compile manually. Run your application as usual. When you need to see things,\ncall `tx:show(Term).` in Erlang console or insert call to `tx:show` where you \nneed it. URL is returned from `tx:show`, and Erlang shell will display it. NOTE:\nreturn value won't be displayed if you call `tx:show` in your code.\n\nApplication `tx` will be started automatically and web server will be opened on\nyour first call of `tx:show/1`. Alternatively run tx manually via: `tx:start().`.\nDefault port is 20000, and default host is `localhost`. You can set port to 0 in \ntx.app.src, to start on random available port.\n\n\n## Example\n\nSimple demo: `tx:show(application:which_applications()).`\n\nAll sorts of terms in one: `tx:show([\u003c\u003c123,32,1\u003e\u003e, \u003c\u003c1:1, 3:5, 45:7\u003e\u003e, \u003c\u003c\"test\\ttest\"\u003e\u003e, 123, 123.321, \nmake_ref(), self(), erlang:ports(), fun()-\u003eok end, {fun erlang:ports/0, 'test', \n\"test\"}, [{test, value1}, {fgsfds, 1000}], [1,2,3|{4, [5|test]}]]).`\n\nR17 maps example: `tx:show(#{k1 =\u003e \"test\", k2 =\u003e 'test', k3 =\u003e 123, \nk4 =\u003e \u003c\u003c\"test\"\u003e\u003e}).`\n\n## TODO\n\nPossible things to add of improve\n\n* Support compact display of value-only tuples and lists (multiple values per line)\n* ? Backend could recognize record definitions and supply field information to \n  frontend\n* Paste term from clipboard\n* Implement automatic expiration (cleanup loop on timer)\n* Toolbox for External Term Format: encode, decode, compress, view in hex etc.\n* **Unfold the whole thing into introspection tool like tv (table viewer) or \n  observer.**\n","funding_links":[],"categories":["Debugging"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvakvs%2Ftx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvakvs%2Ftx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvakvs%2Ftx/lists"}