Skip to main content

Personal voice assistant - Jarvis

GitHub GitHub last commit PyPI PyPI - Python Version PyPI - Wheel GitHub top language GitHub followers

Table of Contents

What is this project about?

We all know the Iron Man, the genius. He created Jarvis during his lifetime. It was an artificial intelligence that helped him fight evil. This project is my approach to the subject of a personal assistant.

Installation

There are two ways to use my library:

$ git clone https://github.com/MichalKacprzak99/jarvis.git
$ cd jarvis/
$ sudo pip install -r requirements.txt

$ pip install jarvis-assistant

How to use it?

After installation create file e.g. "main.py" and write:

from jarvis import Jarvis

if __name__ == '__main__':
    jarvis = Jarvis()
    jarvis.start()

This will run jarvis and you will be able to enjoy your own voice assistant. If you wanna have access to feature which give you weather in specific city you have to do two things:

  1. Go to https://openweathermap.org/api and create own api key/
  2. Create .env file in the same folder as your main.py file and create environment variable like this
# .env, private
API_KEY_WEATHER=yours_top_secret_api_key_weather

Basic Personal Assistant

Main class in this project is PersonalAssistant(code). This class represent voice personal assistant with basic features. The basic implemented features are:

  • introduce yourself
  • convert text to speech
  • handle microphone input
  • welcome you, different greeting depending on the time of day
  • tell a joke
  • shutdown computer
  • say goodbye

A lot of phrases which personal assistant will tell are hard coded so I decided to create simple enum class called BasicPhrases(code). This is very simple class, which only purpose is to store messages, which will be said by personal assistant.

Jarvis

Jarvis(code) inherits after PersonalAssistant class and provide extra features:

  • set timer
  • take note and read the last note
  • browse in google
  • open specific web page
  • search in wikipedia
  • tell a weather in given city

Create your own personal assistant

If you want to create your own version of personal assistant, you can simply create a class which will inherit from the PersonalAssistant. Then you can add additional functionalities as you like.

Future?

There are many possibilities. More features, GUI, face / voice recognition, home automation (as in Mark Zuckerberg's project), file management, project creation and git management

Metadata

Release files for jarvis-assistant 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jarvis-assistant 0.1.3
File Size Uploaded Provenance
jarvis-assistant-0.1.3.tar.gz 7.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for jarvis-assistant 0.1.3
File Interpreter ABI Platform
jarvis_assistant-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 17.2 kB

Release files / jarvis-assistant-0.1.3.tar.gz

Download URL jarvis-assistant-0.1.3.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
064359220706f044f136daafc53d2a3374c0e443e3dfd29ce9ae5002d1d06fba
BLAKE2b-256 checksum
How to use checksums
cffd2848c817746b80e7f794f0479fb1801a53aaae032033675983bf4dc0a686
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.0.post20201103 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.12

Release files / jarvis_assistant-0.1.3-py3-none-any.whl

Download URL jarvis_assistant-0.1.3-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5cec28074e6dcc75922f254518f75215df0c103d873b3dc48f4960e975ad3870
BLAKE2b-256 checksum
How to use checksums
0d1e9a4a011c084ace99879183d6d5df9d66a2d1ace1c6164227919cff387b44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/50.3.0.post20201103 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.12

Security for jarvis-assistant 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page