GithubHelp home page GithubHelp logo

raja-d / yoda Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yoda-pa/yoda

0.0 2.0 0.0 35.82 MB

Wise and powerful personal assistant, available in your nearest terminal

Home Page: https://manparvesh.com/project/yoda/

License: MIT License

Python 100.00%

yoda's Introduction

yoda

Build status SonarCloud Quality Status License Project status

Wise and powerful personal assistant, available in your nearest terminal


Install, how to

Requirements

Run, how to

Clone this repository and create a virtual environment using Python 2 in the cloned directory (virtualenv -p /usr/bin/python2 venv). Steps after that:

Instead of pip install --editable . you can use pip install . if you don't intend to make any changes in the code.

Use this package, how to

chat

This package contains a chatbot too! The chat command can be used to chat with it

You can test the chat functionality on api.ai agent website here

dev

This command group contains some sub-commands that may be helpful for developers and tech-geeks.

  • speedtest

  • url

  • hackernews

  • horoscope
$ yoda dev horoscope aries
You may stomp your feet all you like, but you're not going to get your way today. The days of 'me-myself' are over. Also, today you may invite unwanted trouble. It may do you some good, suggests Ganesha, if you change the hub of your activities.
  • grep
$ yoda dev grep PATTERN FILE|FOLDER -r [True] -i [True]
-r is the flag for recursive search. -i enables case insensitive search.
Both are optional parameter and the flags are off if they are not provided.

$ yoda dev grep \d+ modules/ -r True
Will recursively search all files in modules directory for any line containing 1 or more digits.

$ yoda dev grep yOdA modules/ -i True
Will recursively search all files in modules directory for any line containing the word yoda.
This search is case insensitive.

$ yoda dev grep yOdA yoda.py -i True
Will recursively search the file yoda.py for any line containing the word yoda.
This search is case insensitive.

goals

For settings and maintaining your goals, type

# To set a goal (name, description, deadline)
$ yoda goals new

# To show list of ideas
$ yoda goals view

# To set a goal as completed
$ yoda goals complete

# To see number of completed/incomplete goals, missed deadlines etc.
$ yoda goals analyze

# To view tasks assigned to the goal
$ yoda goals tasks

Use this module with diary module and assign new tasks to the goals by typing

$ yoda diary nt

and adding the goal names to the task when prompted to do so.

diary

This command can be used to maintain a personal diary, roughly based on the concept of Bullet Journal.

For creating and writing new note type

#For writing new note
$yoda diary nn
#First give the title of the note.
#Sencond give the text of the note

#Viewing all notes.
$yoda diary notes
#Updating note
#Choose the date and then the note to update
$yoda diary un
#Deleting Note
#Choose the date and then the note to delete
$yoda diary dn

For writing and viewing tasks.

#Writing new task
$yoda diary nt
#Viewing all tasks
$yoda diary tasks
#Change the status of task to completed
$yoda diary ct
#Update task
#Choose the date and then the task to update
yoda diary ut
#Delete Task
#Choose the date and then the task to delete
yoda diary dt
#Delete all completed tasks for today
yoda diary dct
# type c to confirm the deletion

love

This command can be used to maintain a profile of someone you love.

money

For tracking money, this is.

Idea list

For creating list of ideas, type

# To add idea
$ yoda ideas add --task <task_name> --inside <project_name>

# To show list of ideas
$ yoda ideas show

# To remove a task from idea
$ yoda ideas remove --task <task_name> --inside <project_name>

# To remove an idea completely
$ yoda ideas remove --project <project_name>

learn

This command group contains commands that, helpful in learning new things, will be. Yeesssssss.

  • vocabulary: For enhancing your vocabulary and tracking your progress.

  • flashcards: for learning anything! (inspiration)

    # create new set (remember to keep the name to one word)
    $  yoda flashcards sets new english
    
    # modify set
    $  yoda flashcards sets modify english
    
    # list all sets
    $  yoda flashcards sets list
    
    # select a study set
    $  yoda flashcards select english
    
    # create new card in selected set (card name length can be more than 1 word)
    $  yoda flashcards cards new Oxford comma
    
    # Know which set is selected and its information
    $  yoda flashcards status
    
    # study the selected study set. This will show you all the cards in a study set
    # one by one.
    $  yoda flashcards study
    
  • define: to get different meanings of a word. This definition search will be automatically saved, so that while you are working on your vocabulary, you can come through the new word as well.

Aliasing

This command group contains commands to alias cumbersome commands.

# before: shortening a url
$ yoda url shorten google.com

# alias shorten to be s
$ yoda alias new "shorten" "s"

# can now use s in place of shorten
$ yoda url s google.com

# or alias the whole command as us
$ yoda alias new "url shorten" "us"
$ yoda us google.com

# show your current aliases
$ yoda alias show

# delete aliases
$ yoda alias delete "us"
$ yoda alias delete "s"

feedback

To create an issue in the github repository simple thing that shows a link. Yeesssssss.

Packages and services used

  • Click: for building command line application
  • pychalk: Colors in terminal
  • apiai: api-ai for natural language understanding
  • pyyaml: for parsing yaml files
  • emoji: emojis!
  • lepl: for formatted parsing
  • pycrypto: To encrypt / decrypt your password
  • pyspeedtest: To test network bandwidth
  • forex-python: Foreign exchange rates and currency conversion
  • dulwich: for git
  • PyGithub: for using Github API v3
  • Gravit: for creating the logo
  • chardet: universal character encoding detector
  • Codecov: code coverage dashboard
  • coverage: For code coverage testing
  • NumPy: For scientific computation
  • requests: For HTTP requests
  • nose: For unit testing
  • urllib3: HTTP client
  • Certifi: Python SSL Certificates
  • idna: For the domain name
  • future: the layer of compatability for Python 2/3
  • Google URL Shortener: URL shortener
  • News API: Used to get the top headlines from Hacker News
  • Forismatic API: Get random quotes that are used in the chat module
  • Cocktail DB: Used to search for a drink and to get a random drink
  • Words API: Used to get the definition of a word
  • Yoda's illustration SVG was taken from here

Contribute, you must

Please refer to the contributing guidelines for contributing to this project.

In the news

Changelog

v0.3.0

  • Support for both Python 2 and Python 3
  • Command aliasing
  • Port scanning
  • More features in love module
  • Hackernews
  • yoda inspire
  • Increased test coverage
  • Bug fixes

v0.2.0

  • Idea list
  • Reading list
  • Automated tests
  • Test coverage
  • Custom config directory location
  • Minor bug fixes

v0.1.0

Initial release.

yoda's People

Contributors

manparvesh avatar ybfe1853 avatar kkhsing avatar man-jain avatar alexandruvaleanu avatar tirkarthi avatar skcse avatar wasv avatar zuziik avatar saurabh-kumar-vit avatar lopezjorge1 avatar jekov avatar ujjaldas1997 avatar rensoliemans avatar vvv-aa avatar himanshub16 avatar wcollins3 avatar 7r33 avatar karuvally avatar borzecki avatar mjbrennan avatar ravi-0809 avatar rishabh3 avatar vccolombo avatar akarshsingh9 avatar st3v0o avatar skrambol avatar

Watchers

James Cloos avatar Raja Dorji 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.