{"id":15044038,"url":"https://github.com/thevickypedia/jarvis","last_synced_at":"2025-05-16T03:06:52.991Z","repository":{"id":40549382,"uuid":"293330662","full_name":"thevickypedia/Jarvis","owner":"thevickypedia","description":"Fully Functional Voice Based Natural Language UI","archived":false,"fork":false,"pushed_at":"2025-03-09T19:45:53.000Z","size":91606,"stargazers_count":218,"open_issues_count":2,"forks_count":44,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-16T03:06:46.233Z","etag":null,"topics":["fastapi","hotword-detection","icalendar","ics","jaguar","jarvis","landrover","magichome","monitor-surrounding-conditions","offline-capable-app","pydantic-models","robinhood-portfolio","speech-recognition","telegram-bot-api","text-to-speech","virtual-assistant","voice-messaging","vpn-server","weather-api","webos-tv"],"latest_commit_sha":null,"homepage":"https://jarvis-health.vigneshrao.com","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/thevickypedia.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-06T17:45:10.000Z","updated_at":"2025-05-10T07:43:39.000Z","dependencies_parsed_at":"2023-11-06T02:24:03.811Z","dependency_job_id":"a4fe3d94-5267-4335-a528-d160efaf58ca","html_url":"https://github.com/thevickypedia/Jarvis","commit_stats":{"total_commits":903,"total_committers":3,"mean_commits":301.0,"dds":0.06866002214839428,"last_synced_commit":"304de18cdb47b4bd64ed9f61b9f08d411023d807"},"previous_names":[],"tags_count":116,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thevickypedia%2FJarvis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thevickypedia%2FJarvis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thevickypedia%2FJarvis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thevickypedia%2FJarvis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thevickypedia","download_url":"https://codeload.github.com/thevickypedia/Jarvis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254459088,"owners_count":22074605,"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":["fastapi","hotword-detection","icalendar","ics","jaguar","jarvis","landrover","magichome","monitor-surrounding-conditions","offline-capable-app","pydantic-models","robinhood-portfolio","speech-recognition","telegram-bot-api","text-to-speech","virtual-assistant","voice-messaging","vpn-server","weather-api","webos-tv"],"created_at":"2024-09-24T20:49:59.332Z","updated_at":"2025-05-16T03:06:47.982Z","avatar_url":"https://github.com/thevickypedia.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\" style=\"text-align: center\"\u003e\n  \u003cimg src=\"https://thevickypedia.github.io/open-source/images/logo/jarvis.png\" width=\"371px\" height=\"350px\" alt=\"logo\"\u003e\n\u003c/p\u003e\n\u003ch2 align=\"center\"\u003eVoice-Activated Natural Language UI\u003c/h2\u003e\n\n[![made-with-python][label-python]][python]\n\n![Python][label-pyversion]\n![Pypi-downloads][label-pypi-downloads]\n[![OpenSSF Scorecard][label-open-ssf]][link-open-ssf]\n\n**Platform Supported**\n\n![Platform][label-platform]\n\n**Language Stats**\n\n![Language count][label-language-ct]\n![Code coverage][label-code-coverage]\n\n**[Repo Stats][repo]**\n\n[![GitHub][label-license]][license]\n\n![GitHub Repo stars][label-stars]\n![GitHub Repo forks][label-forks]\n![GitHub Repo watchers][label-watchers]\n\n![GitHub repo size][label-repo-size]\n![GitHub code size][label-code-size]\n![GitHub code line][label-code-line]\n![GitHub file count][label-file-count]\n\n![GitHub Repo issues][label-issues-closed]\n![GitHub Repo issues][label-issues-raw]\n![GitHub Repo pr][label-pr-closed]\n![GitHub Repo pr][label-pr-raw]\n\n**Code Stats**\n\n\u003c!-- todo: self-host a code analyzer\n![GitHub file count][label-file-count]\n![GitHub lines of code][label-line-of-code]\n--\u003e\n\n![Modules][label-stats-Modules]\n![Python][label-stats-Python]\n![Threads][label-stats-Threads]\n![Listener][label-stats-Listener]\n![Speaker][label-stats-Speaker]\n![Bash][label-stats-Bash]\n![AppleScript][label-stats-AppleScript]\n![Make][label-stats-Make]\n\n**Deployments**\n\n[![pages][label-actions-pages]][gha_pages]\n[![pypi][label-actions-pypi]][gha_pypi]\n[![markdown][label-actions-markdown]][gha_md_valid]\n\n[![Pypi][label-pypi]][pypi]\n[![Pypi-format][label-pypi-format]][pypi-files]\n[![Pypi-status][label-pypi-status]][pypi]\n\n**Activity**\n\n![GitHub Repo created][label-github-repo-created]\n![GitHub commit activity][label-github-commit-activity]\n![GitHub last commit][label-github-last-commit]\n![GitHub last release][label-github-last-release]\n\n**Development and Maintenance**\n\n![Active Development][label-active-development]\n![Actively Maintained][label-actively-maintained]\n[![Maintainer][label-maintainer]][webpage]\n\n**Reach Out**\n\n[![askme][label-askme]][webpage_contact]\n\n## Kick off\n\n**Recommendations**\n\n- Install `python` [3.10] or [3.11]\n- Use a dedicated [virtual environment]\n\n**Install Jarvis**\n```shell\npython -m pip install jarvis-ironman\n```\n\n**Install Dependencies**\n```shell\njarvis install\n```\n\n**Initiate - IDE**\n```python\nimport jarvis\n\n\nif __name__ == '__main__':\n    jarvis.start()\n```\n\n**Initiate - CLI**\n```shell\njarvis start\n```\n\n\u003e Use `jarvis --help` for usage instructions.\n\n## Prerequisites\n   - **MacOS** \u003cbr\u003e _Tested on **Mojave, Catalina, Big Sur, Monterey and Ventura**_\n     - `System Preferences` → `Security \u0026 Privacy` → `Privacy`\n     - Click `+` sign and add the preferred `IDE` and `Terminal` in the following sections in left pane.\n       - `Microphone` - **Required** to listen and respond.\n       - `Accessibility` - **Required** to use key combinations for brightness and volume controls.\n       - `Camera` - **[Optional]** Required only during face recognition/detection.\n       - `Automation` - **Required** to control `System Events` and other apps like Outlook and Calendar.\n       - `Files and Folders` **[OR]** `Full Disk Access` - **Required** for all `FileIO` operations.\n\n   - **Linux** \u003cbr\u003e _Tested on **Ubuntu 22.04 LTS**_\n     - Store the host machine's password as the env var: `ROOT_PASSWORD`\n     - Unlike macOS and Windows, `Ubuntu` does not have app specific permissions.\n\n   - **Windows** \u003cbr\u003e _Tested on **Windows 10**_\n     - `Settings` → `Privacy`\n       - `Microphone` - **Required** to listen and respond.\n       - `Camera` - **[Optional]** Required only during face recognition/detection.\n       - Unlike `macOS`, `Windows` pops a confirmation window to **Allow** or **Deny** access to files and folders.\n     - Install [Anaconda] or [Miniconda], [VisualStudio C++ BuildTools][vcpp], and [Git][git-cli]\n     - Make sure C++ build tools are installed completely and restart\n     - Add anaconda/miniconda scripts location to `PATH` in Environment Variables\n\n## Enchiridion\nHandbook - [GitHub Wiki][wiki]\n\n## Coding Standards\nDocstring format: [`Google`][google-docs] \u003cbr\u003e\nStyling conventions: [`PEP 8`][pep8] and [`isort`][isort]\n\n## [Release Notes][release-notes]\n**Requirement**\n```shell\npython -m pip install gitverse\n```\n\n**Usage**\n```shell\ngitverse-release reverse -f release_notes.rst -t 'Release Notes'\n```\n\n## Linting\n`pre-commit` will ensure linting, run pytest, generate runbook \u0026 release notes, and validate hyperlinks in ALL\nmarkdown files (including Wiki pages)\n\n**Requirement**\n```shell\npython -m pip install sphinx==5.1.1 pre-commit recommonmark\n```\n\n**Usage**\n```shell\npre-commit run --all-files\n```\n\n## Pypi Package\n[![pypi-module](https://img.shields.io/badge/Software%20Repository-pypi-1f425f.svg)][pypi-repo]\n\n[https://pypi.org/project/jarvis-ironman/][pypi]\n\n## Runbook\n[![made-with-sphinx-doc](https://img.shields.io/badge/Code%20Docs-Sphinx-1f425f.svg)][sphinx]\n\n[https://jarvis-docs.vigneshrao.com/][runbook]\n\n## License \u0026 copyright\n\n\u0026copy; Vignesh Rao\n\nLicensed under the [MIT License][license]\n\n[python]: https://python.org\n[3.10]: https://docs.python.org/3/whatsnew/3.10.html\n[3.11]: https://docs.python.org/3/whatsnew/3.11.html\n[virtual environment]: https://docs.python.org/3/tutorial/venv.html\n[PyCharm]: https://www.jetbrains.com/pycharm/\n[VSCode]: https://code.visualstudio.com/download\n[repo]: https://api.github.com/repos/thevickypedia/Jarvis\n[license]: https://github.com/thevickypedia/Jarvis/blob/master/LICENSE\n[pypi]: https://pypi.org/project/jarvis-ironman\n[pypi-files]: https://pypi.org/project/jarvis-ironman/#files\n[pypi-repo]: https://packaging.python.org/tutorials/packaging-projects/\n[wiki]: https://github.com/thevickypedia/Jarvis/wiki\n[release-notes]: https://github.com/thevickypedia/Jarvis/blob/master/release_notes.rst\n[gha_pages]: https://github.com/thevickypedia/Jarvis/actions/workflows/pages/pages-build-deployment\n[gha_pypi]: https://github.com/thevickypedia/Jarvis/actions/workflows/matrix-publisher.yml\n[gha_md_valid]: https://github.com/thevickypedia/Jarvis/actions/workflows/markdown.yml\n[webpage]: https://vigneshrao.com/\n[webpage_contact]: https://vigneshrao.com/contact\n[Anaconda]: https://docs.conda.io/projects/conda/en/latest/user-guide/install/\n[Miniconda]: https://docs.conda.io/en/latest/miniconda.html#windows-installers\n[vcpp]: https://visualstudio.microsoft.com/visual-cpp-build-tools/\n[git-cli]: https://git-scm.com/download/win/\n[google-docs]: https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings\n[pep8]: https://www.python.org/dev/peps/pep-0008/\n[isort]: https://pycqa.github.io/isort/\n[sphinx]: https://www.sphinx-doc.org/en/master/man/sphinx-autogen.html\n[runbook]: https://jarvis-docs.vigneshrao.com/\n\n\u003c!-- labels --\u003e\n\n[label-python]: https://img.shields.io/badge/Made%20with-Python-blue?style=for-the-badge\u0026logo=Python\n[label-pyversion]: https://img.shields.io/badge/python-3.10%20%7C%203.11-orange\n[label-pypi-downloads]: https://img.shields.io/pypi/dm/jarvis-ironman\n[label-platform]: https://img.shields.io/badge/Platform-Linux|macOS|Windows-1f425f.svg\n\n[label-language-ct]: https://img.shields.io/github/languages/count/thevickypedia/Jarvis\n[label-code-coverage]: https://img.shields.io/github/languages/top/thevickypedia/Jarvis\n\n[label-license]: https://img.shields.io/github/license/thevickypedia/Jarvis\n\n[label-stars]: https://img.shields.io/github/stars/thevickypedia/Jarvis\n[label-forks]: https://img.shields.io/github/forks/thevickypedia/Jarvis\n[label-watchers]: https://img.shields.io/github/watchers/thevickypedia/Jarvis\n\n[label-repo-size]: https://img.shields.io/github/repo-size/thevickypedia/Jarvis\n[label-code-size]: https://img.shields.io/github/languages/code-size/thevickypedia/Jarvis\n[label-code-line]: http://jarvis.vigneshrao.com/line-count?badge=true\n[label-file-count]: http://jarvis.vigneshrao.com/file-count?badge=true\n\n[label-issues-closed]: https://img.shields.io/github/issues-closed-raw/thevickypedia/Jarvis\n[label-issues-raw]: https://img.shields.io/github/issues-raw/thevickypedia/Jarvis\n[label-pr-closed]: https://img.shields.io/github/issues-pr-closed-raw/thevickypedia/Jarvis\n[label-pr-raw]: https://img.shields.io/github/issues-pr-raw/thevickypedia/Jarvis\n\n[label-file-count]: https://tokei.rs/b1/github/thevickypedia/Jarvis?category=files\n[label-line-of-code]: https://tokei.rs/b1/github/thevickypedia/Jarvis?category=code\n\n[label-stats-Modules]: https://img.shields.io/github/search/thevickypedia/Jarvis/module\n[label-stats-Python]: https://img.shields.io/github/search/thevickypedia/Jarvis/.py\n[label-stats-Threads]: https://img.shields.io/github/search/thevickypedia/Jarvis/thread\n[label-stats-Listener]: https://img.shields.io/github/search/thevickypedia/Jarvis/listener\n[label-stats-Speaker]: https://img.shields.io/github/search/thevickypedia/Jarvis/speaker\n[label-stats-Bash]: https://img.shields.io/github/search/thevickypedia/Jarvis/.sh\n[label-stats-AppleScript]: https://img.shields.io/github/search/thevickypedia/Jarvis/.scpt\n[label-stats-Make]: https://img.shields.io/github/search/thevickypedia/Jarvis/Makefile\n\n[label-actions-pages]: https://github.com/thevickypedia/Jarvis/actions/workflows/pages/pages-build-deployment/badge.svg\n[label-actions-pypi]: https://github.com/thevickypedia/Jarvis/actions/workflows/matrix-publisher.yml/badge.svg\n[label-actions-markdown]: https://github.com/thevickypedia/Jarvis/actions/workflows/markdown.yml/badge.svg\n\n[label-pypi]: https://img.shields.io/pypi/v/jarvis-ironman\n[label-pypi-format]: https://img.shields.io/pypi/format/jarvis-ironman\n[label-pypi-status]: https://img.shields.io/pypi/status/jarvis-ironman\n\n[label-github-repo-created]: https://img.shields.io/date/1599432310\n[label-github-commit-activity]: https://img.shields.io/github/commit-activity/y/thevickypedia/Jarvis\n[label-github-last-commit]: https://img.shields.io/github/last-commit/thevickypedia/Jarvis\n[label-github-last-release]: https://img.shields.io/github/release-date/thevickypedia/Jarvis\n\n[label-active-development]: https://img.shields.io/badge/Development%20Level-Actively%20Developed-success.svg\n[label-actively-maintained]: https://img.shields.io/badge/Maintenance%20Level-Actively%20Maintained-success.svg\n[label-maintainer]: https://img.shields.io/badge/Maintained%20By-Vignesh%20Rao-blue.svg\n\n[label-askme]: https://img.shields.io/badge/SELECT%20*%20FROM-questions-1abc9c.svg\n\n[label-open-ssf]: https://api.securityscorecards.dev/projects/github.com/thevickypedia/Jarvis/badge\n[link-open-ssf]: https://securityscorecards.dev/viewer/?uri=github.com/thevickypedia/Jarvis\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthevickypedia%2Fjarvis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthevickypedia%2Fjarvis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthevickypedia%2Fjarvis/lists"}