{"id":21443982,"url":"https://github.com/scalabli/neuraldig","last_synced_at":"2025-03-17T01:15:27.143Z","repository":{"id":40954262,"uuid":"469020412","full_name":"scalabli/neuraldig","owner":"scalabli","description":"Scalable and powerful Machine Learning tool for NeuroImaging in python","archived":false,"fork":false,"pushed_at":"2023-07-06T22:11:26.000Z","size":13,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T10:44:56.178Z","etag":null,"topics":["data-science","machine-learning","neural-network","neuroimaging"],"latest_commit_sha":null,"homepage":"","language":"Python","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/scalabli.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":"2022-03-12T08:07:17.000Z","updated_at":"2022-03-12T08:43:32.000Z","dependencies_parsed_at":"2023-01-18T12:16:24.226Z","dependency_job_id":null,"html_url":"https://github.com/scalabli/neuraldig","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/scalabli%2Fneuraldig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scalabli%2Fneuraldig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scalabli%2Fneuraldig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scalabli%2Fneuraldig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scalabli","download_url":"https://codeload.github.com/scalabli/neuraldig/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955804,"owners_count":20374373,"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":["data-science","machine-learning","neural-network","neuroimaging"],"created_at":"2024-11-23T02:15:24.095Z","updated_at":"2025-03-17T01:15:27.115Z","avatar_url":"https://github.com/scalabli.png","language":"Python","funding_links":["https://www.paypal.com/donate?hosted_button_id=KP893BC2EKK54"],"categories":[],"sub_categories":[],"readme":"[![Downloads](https://pepy.tech/badge/neuraldig)](https://pepy.tech/project/neuraldig)\n[![PyPI version](https://badge.fury.io/py/neuraldig.svg)](https://badge.fury.io/py/neuraldig)\n[![Wheel](https://img.shields.io/pypi/wheel/neuraldig.svg)](https://pypi.com/project/neuraldig)\n[![Windows Build Status](https://img.shields.io/appveyor/build/gerrishons/neuraldig/master?logo=appveyor\u0026cacheSeconds=600)](https://ci.appveyor.com/project/gerrishons/neuraldig)\n[![pyimp](https://img.shields.io/pypi/implementation/neuraldig.svg)](https://pypi.com/project/neuraldig)\n[![RTD](https://readthedocs.org/projects/neuraldig/badge/)](https://neuraldig.readthedocs.io)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5848515.svg)](https://doi.org/10.5281/zenodo.5848515)\n[![licence](https://img.shields.io/pypi/l/neuraldig.svg)](https://opensource.org/licenses/MIT)\n[![Twitter Follow](https://img.shields.io/twitter/follow/gerrishon_s.svg?style=social)](https://twitter.com/gerrishon_s)\n\n\n[![Logo](https://raw.githubusercontent.com/secretum-inc/quo/master/pics/quo.png)](https://github.com/secretum-inc/quo)\n\n\n`Forever Scalable`\n\n**Neuraldig** is a Python based toolkit for writing Command-Line Interface(CLI) applications.\nQuo is making headway towards composing speedy and orderly CLI applications while forestalling any disappointments brought about by the failure to execute a CLI API.\nSimple to code, easy to learn, and does not come with needless baggage. \n\n## Compatibility\nNeuraldig works flawlessly  with Linux, OSX, and Windows.\nNeuraldig requires Python `3.8` or later. \n\n\n## Features\n- [x] Support for Ansi, RGB and Hex color models\n- [x] Support for tabular presentation of data\n- [x] Intuitive progressbars\n- [x] Code completions\n- [x] Nesting of commands\n- [x] Customizable Text User Interface _(TUI)_ dialogs.\n- [x] Automatic help page generation\n- [x] Syntax highlighting\n- [x] Autosuggestions\n- [x] Key Binders\n\n## Getting Started\n### Installation\nYou can install quo via the Python Package Index (PyPI)\n\n```\npip install -U quo\n\n```\nRun the following to test Quo output on your terminal:\n```\npython -m quo\n\n```\n## Quo echo\nTo output formatted text to your terminal you can import the [echo](https://quo.readthedocs.io/en/latest/introduction.html#quick-start) method.\nTry this:\n\n**Example 1**\n```python\n from quo import echo\n\n echo(f\"Hello, World!\", fg=\"red\", italic=True, bold=True))\n```\n![Hello World](https://github.com/secretum-inc/quo/raw/master/pics/print.png)\n\n**Example 2**\n```python\n from quo import echo\n\n echo(f\"Quo is \", nl=False)\n echo(f\"scalable\", bg=\"red\", fg=\"black\") \n```\n![Scalable](https://github.com/secretum-inc/quo/raw/master/pics/scalable.png)\n\nAlternatively, you can import [print](https://quo.readthedocs.io/en/latest/printing_text.html#print)\n```python\n from quo import print\n from quo.text import Text\n\n print(Text('\u003cb\u003eThis is bold\u003c/b\u003e'))\n print(Text('\u003ci\u003eThis is italic\u003c/i\u003e'))\n print(Text('\u003cu\u003eThis is underlined\u003c/u\u003e'))                        \n # Colors from the ANSI palette.\n print(Text('\u003cred\u003eThis is red\u003c/red\u003e'))\n print(Text('\u003cstyle fg=\"green\" bg=\"red\"\u003eGreen on red background\u003c/stlye\u003e'))\n\n```\n## Quo prompt\n - Using ``quo.prompt`` method.\n```python\n from quo import prompt\n\n prompt(\"What is your name?\")\n```\n![quo.prompt](https://github.com/secretum-inc/quo/raw/master/pics/prompt.png)\n\n- Using ``quo.prompt.Prompt`` object\n\n```python\n from quo.prompt import Prompt\n   \n session = Prompt()\n session.prompt(\"Type something:\") \n```\nRead more on [Prompt](https://quo.readthedocs.io/latest/prompt.html)\n\n# Quo Library\nQuo contains a number of builtin features you can use to create elegant output in your CLI.\n\nClick the following headings for details:»\n\u003cdetails\u003e\n\u003csummary\u003eConsole\u003c/summary\u003e\nFor more control over quo terminal content, import and construct a `Console` object.\n\n```python\n   \n  from quo import Console\n\n  console = Console()\n\n```\n\n## ``Launching Applications``\n\nQuo supports launching applications through `Console.launch`. This can be used to open the default application associated with a URL or filetype.\n```python\n\n from quo import Console\n   \n console = Console()\n console.launch(\"https://quo.rtfd.io/\")\n                                                    \n```\nRead more on [Console](https://quo.readthedocs.io/en/latest/console.html)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCompletion\u003c/summary\u003e\n\n## ``Autocompletion``\n\nPress [Tab] to autocomplete\n```python\n\n from quo.prompt import Prompt\n from quo.completion import WordCompleter\n example = WordCompleter(['USA', 'UK', 'Canada', 'Kenya'])\n session = Prompt(completer=example)\n session.prompt('Which country are you from?: ')\n```\n![Autocompletion](https://github.com/secretum-inc/quo/raw/master/docs/images/autocompletion.png)\n\n## ``Autosuggestion``\nAuto suggestion is a way to propose some input completions to the user. Usually, the input is compared to the history and when there is another entry starting with the given text, the completion will be shown as gray text behind the current input. Pressing the right arrow → or ctrl-e will insert this suggestion, alt-f willinsert the first word of the suggestion.\n```python\n\n from quo.prompt import Prompt\n from quo.completion import AutoSuggestFromHistory\n from quo.history import InMemoryHistory\n\n history = InMemoryHistory(\n history.append(\"import os\")\n history.append('print(\"hello\")') \n history.append('print(\"world\")')  \n history.append(\"import path\"\n\n session = Prompt(auto_suggest=AutoSuggestFromHistory(), history=history)\n\n while True:\n    session.prompt('\u003e ')\n```\nRead more on [Completions](https://quo.readthedocs.io/en/latest/prompt.html#completion)\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDocumenting Scripts\u003c/summary\u003e\nQuo automatically generates help pages for your command-line tools.\n\n```python\n from quo import print\n from quo.console import command\n from quo.console import app\n\n @command()\n @app('--count', default=1, help='number of greetings')\n @app('--name', prompt=\"What is your name?\", help=\"The person to greet\")\n\ndef hello(count: int, name: str):\n    \"\"\"This script prints hello NAME COUNT times.\"\"\"\n       for x in range(count):\n           print(f\"Hello {name}!\")\n\n if __name__ == \"__main__:\n          hello()\n```\nAnd what it looks like:\n![Help Text](https://raw.githubusercontent.com/secretum-inc/quo/master/docs/images/help-text.png)\n\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eProgress\u003c/summary\u003e\nCreating a new progress bar can be done by calling the class **ProgressBar**\nThe progress can be displayed for any iterable. This works by wrapping the iterable (like ``range``) with the class **ProgressBar**\n\n```python\n\n import time\n from quo.progress import ProgressBar\n  \n with ProgressBar() as pb:\n               for i in pb(range(800)):\n                             time.sleep(.01)\n```\n![Progress](https://raw.githubusercontent.com/secretum-inc/quo/master/docs/images/simple-progress-bar.png)\n\nRead more on [Progress](https://quo.readthedocs.io/en/latest/progress.html)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eKey Binding\u003c/summary\u003e\nA key binding is an association between a physical key on a keyboard and a parameter.\n\n```python\n  \n from quo import echo\n from quo.prompt import Prompt\n from quo.keys import Bind\n \n bind = Bind()\n # Print \"Hello world\" when ctrl-h is pressed\n @bind.add(\"ctrl-h\")\n def _(event):\n     echo(\"Hello, World!\")\n session.prompt(\"\u003e\u003e\", bind=bind)\n```\nRead more on [Key bindings](https://quo.readthedocs.io/en/latest/kb.html)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDialog\u003c/summary\u003e\nHigh level API for displaying dialog boxes to the user for informational purposes, or get input fromthe user.\n\n1) Example of a message box dialog.\n```python\n\n from quo.dialog import MessageBox\n\n MessageBox(\n         title=\"Message pop up window\",\n         text=\"Do you want to continue?\\nPress ENTER to quit.\").run()                                       \n```\nThe above produces the following output\n![Message Box](https://github.com/secretum-inc/quo/raw/master/docs/images/messagebox.png)\n\n2) Example of a prompt box dialog\n```python\n from quo.dialog import PromptBox\n\n PromptBox(\n           title=\"PromptBox shenanigans\",\n           text=\"What Country are you from?:\").run()\n\n```\n![Prompt Box](https://github.com/secretum-inc/quo/raw/master/docs/images/promptbox.png)\n\nRead more on [Dialogs](https://quo.readthedocs.io/en/latest/dialogs.html)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eTable\u003c/summary\u003e\n\nFunction [Table](https://quo.readthedocs.io/en/latest/table.html) offers a number of configuration options to set the look and feel of the table, including how borders are rendered and the style and alignment of the columns.\n\nExample\n```python\n from quo import echo\n from quo.table import Table\n\n data = [\n   [\"Name\", \"Gender\", \"Age\"],\n   [\"Alice\", \"F\", 24],\n   [\"Bob\", \"M\", 19],\n   [\"Dave\", \"M\", 24]\n ]\n echo(Table(data))\n```\n![tabulate](https://raw.githubusercontent.com/secretum-inc/quo/master/docs/images/table.png)\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eWidgets\u003c/summary\u003e\nA collection of reusable components for building full screen applications.\n\n## ``Label``\nWidget that displays the given text. It is not editable or focusable.\n```python\n\n from quo.console import Console\n from quo.keys import Bind\n from quo.layout import Layout\n from quo.widget import Label\n\n root = Label(\"Hello, World\", style=\"fg:black bg:red\")\n  \n layout = Layout(root)\n  \n # Ctrl-c to exit\n bind = Bind()\n  \n @bind.add(\"ctrl-c\")\n def _(event):\n    event.app.exit()\n\n Console(\n     layout=layout,\n     bind=bind,\n     full_screen=True).run()\n\n```\nRead more on [Widgets](https://quo.readthedocs.io/en/latest/widgets.html)\n\n\u003c/details\u003e\n\nFor more intricate  examples, have a look in the [examples](https://github.com/secretum-inc/quo/tree/master/examples) directory and the documentation.\n\n## Donate🎁\n\nIn order to for us to maintain this project and grow our community of contributors.\n[Donate](https://www.paypal.com/donate?hosted_button_id=KP893BC2EKK54)\n\n\n\n## Quo is...\n\n**Simple**\n     If you know Python you can  easily use quo and it can integrate with just about anything.\n\n\n\n\n## Getting Help\n\n### Community\n\nFor discussions about the usage, development, and the future of quo, please join our Google community\n\n* [Community👨‍👩‍👦‍👦](https://groups.google.com/forum/#!forum/secretum)\n\n## Resources\n\n### Bug tracker\n\nIf you have any suggestions, bug reports, or annoyances please report them\nto our issue tracker at \n[Bug tracker](https://github.com/secretum-inc/quo/issues/) or send an email to:\n\n 📥 secretum@googlegroups.com\n\n\n## License📑\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)  \nThis software is licensed under the `MIT License`. See the [License](https://github.com/scalabli/quo/blob/master/LICENSE) file in the top distribution directory for the full license text.\n\n\n## Code of Conduct\nCode of Conduct is adapted from the Contributor Covenant,\nversion 1.2.0 available at\n[Code of Conduct](http://contributor-covenant.org/version/1/2/0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscalabli%2Fneuraldig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscalabli%2Fneuraldig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscalabli%2Fneuraldig/lists"}