Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
30dc50b
Added support for Windows 10 native notifications and icons for norma…
aprzn123 Jun 15, 2020
84a3b5a
Fixed pep8 mistakes and replaced one icon that was
aprzn123 Jun 15, 2020
581dfcf
Created trivia plugin. There may be problems with some characters and…
ak2243 Jun 17, 2020
9c34c1a
Fixed code formatting to match pep8 standards. Additionally, fixed do…
ak2243 Jun 17, 2020
d477fc6
Now gives correct answer for multiple choice
ak2243 Jun 17, 2020
da57ae1
personality plugin
y0mingzhang Jun 9, 2020
41fa70a
personality test LICENSE
y0mingzhang Jun 24, 2020
3e2fd4e
pep8
y0mingzhang Jun 24, 2020
b4d2984
removed redundant comments, repeating code was present-created superc…
Jun 19, 2020
7bd04f3
Add first gui + android test
pnhofmann Jun 18, 2020
724cc6d
snips language package
antiDigest Jun 24, 2020
5d1e2f7
Snips: Recognize sub commands
pnhofmann Jun 25, 2020
f3ea113
fixing whatever error I can find
antiDigest Jun 30, 2020
185daa1
Fix android build
pnhofmann Jul 1, 2020
f9f4fb8
Fix #724
alexandr7035 Jul 1, 2020
382a4cf
Basketball plugin (#723)
dudupopkhadze Jul 2, 2020
4a26a34
Convert image to pdf and vice versa (#720)
jay24rajput Jul 3, 2020
60b5e92
tests for binary added, testing doc fix
gegadarakhvelidze Jul 6, 2020
8a6d8e9
list randomizer
Jul 8, 2020
d7fb4f6
upd
Jul 8, 2020
dc4d813
add tests for football plugin
Jul 8, 2020
ec9cd73
added upside-down plugin
enqidu Jul 10, 2020
4ba3a22
PEP8: Clean up empty lines
Jul 13, 2020
b87be07
added tasks manager plugin
Jul 9, 2020
1366081
enhance taskmanager plugin
Jul 11, 2020
66b30ce
enhance tests
Jul 11, 2020
7e521e4
added jod test
Jul 11, 2020
c0cfdde
added more tests
Jul 11, 2020
67fd79f
Create asteroids_neows.py
Jul 12, 2020
51cd98f
Create caesar_cipher.py
Jul 12, 2020
a1338c5
Latin extended
Jul 13, 2020
a4dd5b0
new year tree added in advance
vakhokoto Jul 13, 2020
cbfa30e
we all love that number
enqidu Jul 13, 2020
803d15f
plugin of pi
enqidu Jul 13, 2020
253c123
mars weather
Jul 13, 2020
bf03eed
small fix
Jul 13, 2020
cbf94dd
Fix PEP8
pnhofmann Jul 14, 2020
7cdf094
language detection
jupyterjazz Jul 11, 2020
9e60d0f
newlines added
jupyterjazz Jul 11, 2020
9523dc9
word meanings, synonyms and antonyms
jupyterjazz Jul 11, 2020
9b62127
fasttext license added
jupyterjazz Jul 13, 2020
20a59e1
deleting wrong files
jupyterjazz Jul 13, 2020
7141514
library corrected
jupyterjazz Jul 13, 2020
2490d5c
Make fasttext optional dependency
pnhofmann Jul 14, 2020
12c7b82
Motivation quotes from Shia
enqidu Jul 14, 2020
62b2ae6
Merge remote-tracking branch 'upstream/restructure' into restructure
antiDigest Jul 22, 2020
1df95c5
added class for JarvisServer. init of server at startup.
antiDigest Jul 25, 2020
0ba44b4
Update websites.csv
Devansh3712 Jul 24, 2020
1cb7b08
Added matrix addition functionality (#745)
shoniavika Jul 26, 2020
fb0e682
Plugin to generate curl request (#747)
adarshtri Jul 26, 2020
c7a2969
initial commit
vvash17 Jul 26, 2020
31ec6dd
near complete hangman implementation
vvash17 Jul 26, 2020
cf4aec6
additional initialText, newlines for formatting
vvash17 Jul 26, 2020
d6cd0d4
added goodbye text
vvash17 Jul 26, 2020
ee1bfcd
Add random-word to requirements.txt
pnhofmann Jul 26, 2020
1c3ccd6
PEP8
pnhofmann Jul 26, 2020
8e42661
Implement server plugin entry point
pnhofmann Jul 26, 2020
3268529
Allow for routine creation and execution
aprzn123 Jul 13, 2020
7a4d58e
Created list routines and delete routines commands
aprzn123 Jul 21, 2020
aec516f
Fixed various issues
aprzn123 Jul 27, 2020
27abeb4
roulette plugin
Jul 14, 2020
5f3258f
complete expression validation checker implementation
vvash17 Jul 26, 2020
8867e7b
advice giver implementation
vvash17 Jul 26, 2020
194a185
Some inconsistencies fixed
O-T-O-Z Aug 12, 2020
a175fbf
Update e_launcher.py
dbherol Aug 1, 2020
70bb84e
Add files via upload
dbherol Aug 2, 2020
22e388b
Handle whois requirement
pnhofmann Aug 28, 2020
9b14287
Freeze Archey4==4.6.0
pnhofmann Sep 23, 2020
f70a895
Travis CI: sudo and martrix are now deprecated
cclauss Oct 1, 2020
020340b
made bmr plugin
nindroz Sep 25, 2020
ad872a1
added offline speech recognition for voice_control.py and added inter…
erick-dsnk Oct 1, 2020
5f9f763
Merge pull request #772 from cclauss/patch-1
appi147 Oct 1, 2020
19de9f2
replace print_say with JarvisAPI.say in CmdInterpreter
bersamtrustyou Oct 1, 2020
dc06e92
add deprecation warning to print_say method
bersamtrustyou Oct 1, 2020
a8b7281
removed unused dependency in forecast
bersamtrustyou Oct 1, 2020
0b6b0ef
Typo
pnhofmann Oct 2, 2020
2588fab
Added new plugin - Jokes
JeswinSunsi Oct 1, 2020
2efa3bd
Add pyjokes to requirements.txt
pnhofmann Oct 7, 2020
ac79426
Code refactoring
pnhofmann Oct 7, 2020
888df28
NoneType Error and incorrect scores fixed
Oct 3, 2020
73c103d
MAC changer for linux and initial structure for windows
mikek4233 Oct 1, 2020
996a541
Plugin for viewing and changing any devices MAC address connected to …
mikek4233 Oct 3, 2020
b31a8f8
Switched ifconfig to ip
mikek4233 Oct 13, 2020
252541b
Tweak to ip command
mikek4233 Oct 13, 2020
ece1af0
Fix pep8
pnhofmann Oct 13, 2020
e3b4c2c
Wifi password getter (#795)
mikek4233 Oct 18, 2020
ddf92f1
Update Akinator.py
SanvikaSinghania Oct 17, 2020
a087cba
Merge branch 'master' into restructure
pnhofmann Oct 21, 2020
acb9576
Merge branch 'restructure' into master
Oct 21, 2020
1cb9205
Merge pull request #779 from erick-dsnk/master
Oct 21, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ myinfo\.csv
.vscode
.buildozer
.mypy_cache
bin
4 changes: 1 addition & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
language: python
matrix:
jobs:
cache: pip
include:
- name: "Python 3.7 on Linux"
os: linux
dist: xenial
sudo: true
python: 3.7
env: TOXENV=py37
- name: "Python 3.7 on MacOS"
os: osx
language: generic
sudo: required
env: TOXENV=py37
- name: "Python 3.7 on Windows"
os: windows
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Jarvis is a simple personal assistant for Linux, MacOS and Windows which works o

## Getting Started

In order to start Jarvis just clone [this repository](https://github.com/sukeesh/Jarvis.git) repository and run `python installer`.
In order to start Jarvis just clone [this repository](https://github.com/sukeesh/Jarvis.git) and run `python installer`.

Run **Jarvis** from anywhere by command `jarvis`

Expand All @@ -29,8 +29,8 @@ You can start by typing `help` within the Jarvis command line to check what Jarv

- PRs are accepted!!
- We follow [PEP 8](https://www.python.org/dev/peps/pep-0008/) 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
- 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!



Expand Down Expand Up @@ -100,4 +100,4 @@ See also the list of [contributors](https://github.com/sukeesh/Jarvis/graphs/con

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
319 changes: 319 additions & 0 deletions buildozer.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,319 @@
[app]
title = Jarvis
package.name = Jarvis
package.domain = org.jarvis

source.dir = jarviscli


# (list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas

# (list) List of inclusions using pattern matching
#source.include_patterns = assets/*,images/*.png

# (list) Source files to exclude (let empty to not exclude anything)
#source.exclude_exts = spec

# (list) List of directory to exclude (let empty to not exclude anything)
source.exclude_dirs = tests, bin, env

# (list) List of exclusions using pattern matching
#source.exclude_patterns = license,images/*/*.jpg

# (str) Application versioning (method 1)
version = 0.1

# (str) Application versioning (method 2)
# version.regex = __version__ = ['"](.*)['"]
# version.filename = %(source.dir)s/main.py

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy,pluginmanager,colorama,requests,python-dateutil

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy

# (list) Garden requirements
#garden_requirements =

# (str) Presplash of the application
#presplash.filename = %(source.dir)s/data/presplash.png

# (str) Icon of the application
#icon.filename = %(source.dir)s/data/icon.png

# (str) Supported orientation (one of landscape, sensorLandscape, portrait or all)
orientation = all

# (list) List of service to declare
#services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY

#
# OSX Specific
#

#
# author = © Copyright Info

# change the major version of python used by the app
osx.python_version = 3

# Kivy version to use
osx.kivy_version = 1.9.1

#
# Android specific
#

# (bool) Indicate if the application should be fullscreen or not
fullscreen = 0

# (string) Presplash background color (for new android toolchain)
# Supported formats are: #RRGGBB #AARRGGBB or one of the following names:
# red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,
# darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,
# olive, purple, silver, teal.
#android.presplash_color = #FFFFFF

# (list) Permissions
#android.permissions = INTERNET

# (int) Target Android API, should be as high as possible.
#android.api = 27

# (int) Minimum API your APK will support.
android.minapi = 21

# (int) Android SDK version to use
#android.sdk = 20

# (str) Android NDK version to use
#android.ndk = 19b

# (int) Android NDK API to use. This is the minimum API your app will support, it should usually match android.minapi.
android.ndk_api = 21

# (bool) Use --private data storage (True) or --dir public storage (False)
#android.private_storage = True

# (str) Android NDK directory (if empty, it will be automatically downloaded.)
#android.ndk_path =

# (str) Android SDK directory (if empty, it will be automatically downloaded.)
#android.sdk_path =

# (str) ANT directory (if empty, it will be automatically downloaded.)
#android.ant_path =

# (bool) If True, then skip trying to update the Android sdk
# This can be useful to avoid excess Internet downloads or save time
# when an update is due and you just want to test/build your package
# android.skip_update = False

# (bool) If True, then automatically accept SDK license
# agreements. This is intended for automation only. If set to False,
# the default, you will be shown the license when first running
# buildozer.
# android.accept_sdk_license = False

# (str) Android entry point, default is ok for Kivy-based app
#android.entrypoint = org.renpy.android.PythonActivity

# (str) Android app theme, default is ok for Kivy-based app
# android.apptheme = "@android:style/Theme.NoTitleBar"

# (list) Pattern to whitelist for the whole project
#android.whitelist =

# (str) Path to a custom whitelist file
#android.whitelist_src =

# (str) Path to a custom blacklist file
#android.blacklist_src =

# (list) List of Java .jar files to add to the libs so that pyjnius can access
# their classes. Don't add jars that you do not need, since extra jars can slow
# down the build process. Allows wildcards matching, for example:
# OUYA-ODK/libs/*.jar
#android.add_jars = foo.jar,bar.jar,path/to/more/*.jar

# (list) List of Java files to add to the android project (can be java or a
# directory containing the files)
#android.add_src =

# (list) Android AAR archives to add (currently works only with sdl2_gradle
# bootstrap)
#android.add_aars =

# (list) Gradle dependencies to add (currently works only with sdl2_gradle
# bootstrap)
#android.gradle_dependencies =

# (list) add java compile options
# this can for example be necessary when importing certain java libraries using the 'android.gradle_dependencies' option
# see https://developer.android.com/studio/write/java8-support for further information
# android.add_compile_options = "sourceCompatibility = 1.8", "targetCompatibility = 1.8"

# (list) Gradle repositories to add {can be necessary for some android.gradle_dependencies}
# please enclose in double quotes
# e.g. android.gradle_repositories = "maven { url 'https://kotlin.bintray.com/ktor' }"
#android.add_gradle_repositories =

# (list) packaging options to add
# see https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
# can be necessary to solve conflicts in gradle_dependencies
# please enclose in double quotes
# e.g. android.add_packaging_options = "exclude 'META-INF/common.kotlin_module'", "exclude 'META-INF/*.kotlin_module'"
#android.add_gradle_repositories =

# (list) Java classes to add as activities to the manifest.
#android.add_activites = com.example.ExampleActivity

# (str) OUYA Console category. Should be one of GAME or APP
# If you leave this blank, OUYA support will not be enabled
#android.ouya.category = GAME

# (str) Filename of OUYA Console icon. It must be a 732x412 png image.
#android.ouya.icon.filename = %(source.dir)s/data/ouya_icon.png

# (str) XML file to include as an intent filters in <activity> tag
#android.manifest.intent_filters =

# (str) launchMode to set for the main activity
#android.manifest.launch_mode = standard

# (list) Android additional libraries to copy into libs/armeabi
#android.add_libs_armeabi = libs/android/*.so
#android.add_libs_armeabi_v7a = libs/android-v7/*.so
#android.add_libs_arm64_v8a = libs/android-v8/*.so
#android.add_libs_x86 = libs/android-x86/*.so
#android.add_libs_mips = libs/android-mips/*.so

# (bool) Indicate whether the screen should stay on
# Don't forget to add the WAKE_LOCK permission if you set this to True
#android.wakelock = False

# (list) Android application meta-data to set (key=value format)
#android.meta_data =

# (list) Android library project to add (will be added in the
# project.properties automatically.)
#android.library_references =

# (list) Android shared libraries which will be added to AndroidManifest.xml using <uses-library> tag
#android.uses_library =

# (str) Android logcat filters to use
#android.logcat_filters = *:S python:D

# (bool) Copy library instead of making a libpymodules.so
#android.copy_libs = 1

# (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64
android.arch = armeabi-v7a

#
# Python for android (p4a) specific
#

# (str) python-for-android fork to use, defaults to upstream (kivy)
#p4a.fork = kivy

# (str) python-for-android branch to use, defaults to master
#p4a.branch = master

# (str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
#p4a.source_dir =

# (str) The directory in which python-for-android should look for your own build recipes (if any)
#p4a.local_recipes =

# (str) Filename to the hook for p4a
#p4a.hook =

# (str) Bootstrap to use for android builds
p4a.bootstrap = sdl2

# (int) port number to specify an explicit --port= p4a argument (eg for bootstrap flask)
#p4a.port =


#
# iOS specific
#

# (str) Path to a custom kivy-ios folder
#ios.kivy_ios_dir = ../kivy-ios
# Alternately, specify the URL and branch of a git checkout:
ios.kivy_ios_url = https://github.com/kivy/kivy-ios
ios.kivy_ios_branch = master

# Another platform dependency: ios-deploy
# Uncomment to use a custom checkout
#ios.ios_deploy_dir = ../ios_deploy
# Or specify URL and branch
ios.ios_deploy_url = https://github.com/phonegap/ios-deploy
ios.ios_deploy_branch = 1.7.0

# (str) Name of the certificate to use for signing the debug version
# Get a list of available identities: buildozer ios list_identities
#ios.codesign.debug = "iPhone Developer: <lastname> <firstname> (<hexstring>)"

# (str) Name of the certificate to use for signing the release version
#ios.codesign.release = %(ios.codesign.debug)s


[buildozer]

# (int) Log level (0 = error only, 1 = info, 2 = debug (with command output))
log_level = 2

# (int) Display warning if buildozer is run as root (0 = False, 1 = True)
warn_on_root = 1

# (str) Path to build artifact storage, absolute or relative to spec file
# build_dir = ./.buildozer

# (str) Path to build output (i.e. .apk, .ipa) storage
# bin_dir = ./bin

# -----------------------------------------------------------------------------
# List as sections
#
# You can define all the "list" as [section:key].
# Each line will be considered as a option to the list.
# Let's take [app] / source.exclude_patterns.
# Instead of doing:
#
#[app]
#source.exclude_patterns = license,data/audio/*.wav,data/images/original/*
#
# This can be translated into:
#
#[app:source.exclude_patterns]
#license
#data/audio/*.wav
#data/images/original/*
#


# -----------------------------------------------------------------------------
# Profiles
#
# You can extend section / key with a profile
# For example, you want to deploy a demo version of your application without
# HD content. You could first change the title to add "(demo)" in the name
# and extend the excluded directories to remove the HD content.
#
#[app@demo]
#title = My Application (demo)
#
#[app:source.exclude_patterns@demo]
#images/hd/*
#
# Then, invoke the command line with the "demo" profile:
#
#buildozer --profile demo android debug
2 changes: 1 addition & 1 deletion doc/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class XXXTest(PluginTest):
self.test.run(TEST_STRING)

# verify that code works
self.assertEqual(self.history_say.last_text, EXPECTED_OUTPUT)
self.assertEqual(self.history_say().last_text(), EXPECTED_OUTPUT)


if __name__ == '__main__':
Expand Down
Binary file added icons/default.ico
Binary file not shown.
Binary file added icons/warn.ico
Binary file not shown.
2 changes: 1 addition & 1 deletion installer/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ def log(msg):
print('msg:')
try:
print(str(msg))
except:
except BaseException:
print('msg unprintable')
print('-----------------------------')

Expand Down
Loading