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 Django interface in the making. I want Jarvy to be dead simple. I want Jarvy to be beautiful. Because you know, simple is better than complex and beautiful is better than ugly.

Ideas

  • Need to write some unit tests, should use nose?

  • Add Wolfram alpha as endpoint

  • Integrate Travis CI for testing and deployment

  • Add wikipedia as knowledge base. Maybe simple english?

  • Cosine similarity. gensim might be a good idea.

  • How about shallow parsing?

  • A hook to production server for the web binding?

  • How to score multiple sources, and rank them?

  • Will probably need a database and an instantaneous search. Elasticsearch?

  • How about using redis?

  • How about heroku?

  • Better logging mechanism

Release History

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.

Source Distribution

jarvy-1.2.5.tar.gz (11.3 kB view hashes)

Uploaded Source

Built Distribution

jarvy-1.2.5-py2-none-any.whl (13.6 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page