Skip to main content

Python Intelligent Assistant for Humans.

Project description

jarvy

Dave Bowman (inside EVA pod) trying to convince HAL to open the pod bay doors in “2001: A Space Odyssey” (1968).

Dave: Hello, HAL. Do you read me, HAL?
HAL: Affirmative, Dave. I read you.
Dave: Open the pod bay doors, HAL.
HAL: I'm sorry, Dave. I'm afraid I can't do that.

Although there has been several attempts in making the machines intelligent, the early prototypes were still dumb. Until 2015. Then came Jarvy.

Jarvy : Python Intelligent Assistant for Humans

Travis PyPIv PyPImd

Jarvy, aims to help humans by trying to understand them and figuring out best ways to respond to them. Jarvy is named after Tony Stark’s artificially intelligent assistant in the Iron Man series. However, the inspiration is not restricted to the Iron Man series, but extends to a huge line of books, movies and projects which led to this dream. A dream of living with artificial intelligence.

By design Jarvy does not aim harm, but this is software. Who knows, what could go wrong. I will make it straight. I accept no liability, if one day Jarvy or alike overthrow humans and rule the world.

Why?

The goal is to have a lot of fun, and see where this goes. I want Jarvy to be fully customizable and extensible.

How?

> import jarvy
> j = jarvy.start()

Usage

> Jarvy
> Yes sir
> who is the director of ex machina?
> Ex Machina is a 2015 British science fiction thriller film written
  and directed by Alex Garland, marking his directorial debut.
> who wrote iliad?
> Homer is best known as the author of the Iliad and the Odyssey.
> Good bye jarvy
> Good night sir

Installation

$ pip install jarvy

Contribution

Hey, did you know that you can make a huge difference here? We can together improve Jarvy. Besides, it’s more fun together! If you have any suggestions, please let me know. Or better, fork the repository, play with Jarvy and contribute by just sending a pull request.

I accept pull requests.

Roadmap

Jarvy is written in Python. There is also a web interface in the making. I want Jarvy to be simple and beautiful. Because you know, simple is better than complex and beautiful is better than ugly.

Ideas

  • Add Wolfram alpha as endpoint
  • Add scoring, maybe give weights for sources?
  • Add ranking to select the best response.
  • Unit tests would be nice.
  • Jarvy should be able learn.
  • Continuous Integration would be nice.

Release History

1.3.0 (2015-10-5)

  • Handled no internet access case
  • Fixed a few bugs
  • Removed unnecessary package dependency
  • Did some refactoring

1.2.5 (2015-07-23)

  • Did some refactoring
  • Message comparison is now in lower case
  • Removed console stream for logging
  • Whitespace tokenization is now employed in word matching

1.2.0 (2015-07-21)

  • Simplified import
  • Fixed bug on that prevents termination

1.1.0 (2015-07-21)

  • Made minor changes for packaging and distribution

1.0.0 (2015-07-21)

  • Jarvy is born!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for jarvy, version 1.3.0
Filename, size File type Python version Upload date Hashes
Filename, size jarvy-1.3.0a-py2-none-any.whl (13.9 kB) File type Wheel Python version 2.6 Upload date Hashes View
Filename, size jarvy-1.3.0.tar.gz (11.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page