Code Monkey home page Code Monkey logo

jarvis's Introduction

Jarvis

Build Status Join the chat at https://gitter.im/Sukeesh_Jarvis/Lobby

A Personal Assistant for Linux, MacOS and Windows

Jarvis

Jarvis is a simple personal assistant for Linux, MacOS and Windows which works on the command line. He can talk to you if you enable his voice. He can tell you the weather, he can find restaurants and other places near you. He can do some great stuff for you.

Getting Started

In order to start Jarvis just clone this repository repository and run python installer.

Run Jarvis from anywhere by command jarvis

On Mac OS X run source setup.sh

On Windows run setup.bat

You can start by typing help within the Jarvis command line to check what Jarvis can do for you.

Youtube Video Showing Jarvis

Click here

Contributing

  • PRs are accepted!!
  • We follow PEP 8 guidelines. Before making a PR, make sure that your code is according to PEP 8 standards.
  • If you have some ideas for new features and you don't have time to implement them please open an issue with the tag new_feature
  • Please don't forget to comment (document) your code

QuickStart: Create a new feature (plugin)

Create new file custom/hello_world.py

from plugin import plugin


@plugin("helloworld")
def helloworld(jarvis, s):
    """Repeats what you type"""
    jarvis.say(s)

Check it out!

./jarvis
Jarvis' sound is by default disabled.
In order to let Jarvis talk out loud type: enable sound
Type 'help' for a list of available actions.

~> Hi, what can I do for you?
helloworld Jarvis is cool!
jarvis is cool

Plugins

Click here to learn more about plugins.

Creating a test

Creating a test is optional but never a bad idea ;).

Click here to learn more about testing.

How to run tests:

Run test.sh

./test.sh

Optional Dependencies

  • Any pyttsx3 text-to-speech engine (sapi5, nsss or espeak) for Jarvis to talk out loud (e.g. Ubuntu do sudo apt install espeak)
  • Portaudio + python-devel packages for voice control
  • notify-send on Linux if you want to receive nice and desktop-notification instead of ugly pop up windows (e.g. Ubuntu do sudo apt install libnotify-bin)
  • ffmpeg if you want music to download songs as .mp3 instead of .webm

Docker

Run with docker (docker needs to be installed and running):

[sudo] make build_docker
[sudo] make run_docker

Authors

sukeesh

See also the list of contributors who have participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

jarvis's People

Contributors

appi147 avatar stefanoschaliasos avatar pnhofmann avatar sukeesh avatar anderrasovazquez avatar 5n8ke avatar aazuspan avatar thedevbrent avatar umangahuja1 avatar vieiraroger avatar csenshi avatar jlvivero avatar mmkumr avatar bsushmith avatar trp07 avatar akshgpt7 avatar anaisabel7 avatar mbuildingeveryday avatar chekoduadarsh avatar konstantinosl avatar luisfsilva avatar matthew237 avatar madhavkulkarni1986 avatar apostpap avatar mohit17067 avatar xenakal avatar bisolaomisore avatar yashladha avatar gkodosis avatar sanjaypra555 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.