Giter Club home page Giter Club logo

shur1k-n / meetninja-google-meet-bot Goto Github PK

View Code? Open in Web Editor NEW
69.0 1.0 12.0 74.15 MB

A super dope tool that attends your Google Meet(s) for you. Flawlessly handles scheduled multiple (subsequent) Meet sessions. Also disables the camera & microphone, and shows timestamps of joining & ending times for each Meet. Supported: Google Chrome / Mozilla Firefox running on Linux / Mac / Windows

Home Page: https://TheComputerNoob.com

Python 100.00%
google meet bot autopilot automation chrome mozilla firefox school college

meetninja-google-meet-bot's People

Contributors

shur1k-n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

meetninja-google-meet-bot's Issues

"TypeError: __init__() got an unexpected keyword argument 'service'" [SOLVED]

Hey kind dev!

I use 64bit Arch linux and latest firefox 85.0. And this error popped up. Any idea how to fix it?
Know naught about why the error service popped up. Read previous issues, could not fix it myself sorry.


   ███▄ ▄███▓▓█████ ▓█████▄▄▄█████▓ ███▄    █  ██▓ ███▄    █  ▄▄▄██▀▀▀▄▄▄
  ▓██▒▀█▀ ██▒▓█   ▀ ▓█   ▀▓  ██▒ ▓▒ ██ ▀█   █ ▓██▒ ██ ▀█   █    ▒██  ▒████▄
  ▓██    ▓██░▒███   ▒███  ▒ ▓██░ ▒░▓██  ▀█ ██▒▒██▒▓██  ▀█ ██▒   ░██  ▒██  ▀█▄
  ▒██    ▒██ ▒▓█  ▄ ▒▓█  ▄░ ▓██▓ ░ ▓██▒  ▐▌██▒░██░▓██▒  ▐▌██▒▓██▄██▓ ░██▄▄▄▄██
  ▒██▒   ░██▒░▒████▒░▒████▒ ▒██▒ ░ ▒██░   ▓██░░██░▒██░   ▓██░ ▓███▒   ▓█   ▓██▒
  ░ ▒░   ░  ░░░ ▒░ ░░░ ▒░ ░ ▒ ░░   ░ ▒░   ▒ ▒ ░▓  ░ ▒░   ▒ ▒  ▒▓▒▒░   ▒▒   ▓▒█░
  ░  ░      ░ ░ ░  ░ ░ ░  ░   ░    ░ ░░   ░ ▒░ ▒ ░░ ░░   ░ ▒░ ▒ ░▒░    ▒   ▒▒ ░
  ░      ░      ░      ░    ░         ░   ░ ░  ▒ ░   ░   ░ ░  ░ ░ ░    ░   ▒
         ░      ░  ░   ░  ░                 ░  ░           ░  ░   ░        ░  ░
                    ------------------------------------
                    || MeetNinja: The Google Meet Bot ||
                    ------------------------------------

Checking for MeetNinja updates... You are using the latest version!


Initializing browser...Traceback (most recent call last):
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 247, in <module>
    driver = initBrowser()
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 141, in initBrowser
    driver = webdriver.Firefox(service=serv, options=firefoxOptions)
TypeError: __init__() got an unexpected keyword argument 'service'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 279, in <module>
    print(e)
NameError: name 'e' is not defined

Pop-up blocks "Join" button

WHEN WE GO TO MEET PAGE IT BLOCKS MIC AND CAM THEN IT SHOWS THE POPUP WHICH IS TO BE DISMISSED THAT POPUP BLOCKS JOIN MEET BUTTON

error in README.md file

There is an error in the Readme file.
Under the "Usage" section, in the 2nd point, the spelling of requirements is wrong on "pip install -r requirments.txt" sentence.
Kindly update the above issue.
Thank you

Note: Screenshot is attached for the reference.

image

This browser or app may not be secure.

I am getting the following error

Couldn't sign you in
This browser or app may not be secure. Learn more
Try using a different browser. If you’re already using a supported browser, you can refresh your screen and try again to sign in.

ModuleNotFoundError: No module named 'selenium'

im on windows 10 and when i try to run the meetninja bot it says "no module called selenium found even though i have installed all the required packages using cmd,pls help me.
thank you.Cheers!!!

can't enter the meeting

I'm using the geckodriver, i have inserted everything, installed every PIP requirement, everything works except entering the meeting, i have no idea why

Ending Meet fails

yo bro the bot joins the classes and leaves too but when it leaves the class it encounters some error and bot stops although it has left the class but it says leaving meet failed any fixes and there is no sound

Initializing browser... Failed!

hey ..just figuring out everything was fine until this"Initializing browser...�[31m Failed!�[0m"
can you help me out with this?
Screenshot 2020-11-30 at 8 53 54 PM

ModuleNotFoundError: No module named 'selenium'

Traceback (most recent call last):
File "/Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 3, in
from selenium import webdriver; import requests
ModuleNotFoundError: No module named 'selenium'

Selenium Problem

Hi, i cant manage to get the share screen function to work with the chrome browser.
I dont know if i have to add a new flag or something, i tried with --enable-usermedia-screen-capturing, --allow-http-screen-capture and --check-screen-recording-permission but nothing,
any advise would be greatly receive thanks!

init() got an unexpected keyword argument 'service'

Python 3.9.6 (v3.9.6:db3ff76da1, Jun 28 2021, 11:49:53)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license()" for more information.

===== RESTART: /Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py ====
�[34m
███▄ ▄███▓▓█████ ▓█████▄▄▄█████▓ ███▄ █ ██▓ ███▄ █ ▄▄▄██▀▀▀▄▄▄
▓██▒▀█▀ ██▒▓█ ▀ ▓█ ▀▓ ██▒ ▓▒ ██ ▀█ █ ▓██▒ ██ ▀█ █ ▒██ ▒████▄
▓██ ▓██░▒███ ▒███ ▒ ▓██░ ▒░▓██ ▀█ ██▒▒██▒▓██ ▀█ ██▒ ░██ ▒██ ▀█▄
▒██ ▒██ ▒▓█ ▄ ▒▓█ ▄░ ▓██▓ ░ ▓██▒ ▐▌██▒░██░▓██▒ ▐▌██▒▓██▄██▓ ░██▄▄▄▄██
▒██▒ ░██▒░▒████▒░▒████▒ ▒██▒ ░ ▒██░ ▓██░░██░▒██░ ▓██░ ▓███▒ ▓█ ▓██▒
░ ▒░ ░ ░░░ ▒░ ░░░ ▒░ ░ ▒ ░░ ░ ▒░ ▒ ▒ ░▓ ░ ▒░ ▒ ▒ ▒▓▒▒░ ▒▒ ▓▒█░
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ ▒░ ▒ ░░ ░░ ░ ▒░ ▒ ░▒░ ▒ ▒▒ ░
░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ▒
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░�[0m
�[34m ------------------------------------�[0m
�[31m || MeetNinja: The Google Meet Bot ||�[0m
�[34m ------------------------------------�[0m

Checking for MeetNinja updates...�[32m You are using the latest version!
�[0m

Initializing browser...Traceback (most recent call last):
File "/Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 235, in
driver = initBrowser()
File "/Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 114, in initBrowser
driver = webdriver.Chrome(service=servicePath, options=chromeOptions)
TypeError: init() got an unexpected keyword argument 'service'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 267, in
print(e)
NameError: name 'e' is not defined

Couldn't end the meet successfully

hey..can you check this out?

Navigating to Google Meet #1...�[32m Success!�[0m
Entering Google Meet #1...�[32m Success!�[0m
�[32mNow attending Google Meet #1 @09:19:22�[0mTraceback (most recent call last):
  File "/Users/reeswar/Dropbox/My Mac (Reeswars-MacBook-Pro.local)/Downloads/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 242, in <module>
    endMeet()
  File "/Users/reeswar/Dropbox/My Mac (Reeswars-MacBook-Pro.local)/Downloads/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 177, in endMeet
    endButton.click()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
  (Session info: chrome=87.0.4280.67)


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/reeswar/Dropbox/My Mac (Reeswars-MacBook-Pro.local)/Downloads/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 259, in <module>
    print(e)
NameError: name 'e' is not defined
>>> 

Can't run because there is no module named pause

Traceback (most recent call last):
File "/home/kali/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 9, in
import pause; import os; import re
ModuleNotFoundError: No module named 'pause'
I'm on linux, i'm using python3 and edited the credentials and everything but can't run it

Changes a few things up but it doesn't work anymore

Hello Shuriken,

So I tried to add the function of:

Clicking Meet link
Launch chrome with default profile

But the code is failing me right now:

#!/usr/bin/env python3

from selenium import webdriver; import requests
from selenium.webdriver.support import expected_conditions as when
from selenium.webdriver.common.by import By as by
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.common.keys import Keys
import pause; import os; import re
import time; from datetime import datetime
import colorama; from termcolor import colored

colorama.init()

###################################################################
#                        Meets                           HH:MM:SS DD/MM/YYYY
MEETS = {"1 https://classroom.google.com/u/3/c/": "21:00:00 24/02/2021",
         #"2 https://meet.google.com/": "08:29:45 05/02/2021",
         #"3 https://meet.google.com/lookup/": "09:14:50 05/02/2021",
         #"4 https://meet.google.com/": "09:59:50 05/02/2021",
         #"5 https://meet.google.com/": "10:43:00 05/02/2021",
         #"6 https://meet.google.com/": "11:29:00 05/02/2021",
         #"7 https://meet.google.com/": "12:59:00 05/02/2021",
         #"8 https://meet.google.com/": "13:44:00 05/02/2021",
         # Add more Meet URLs (if any) using the same format as above
         }

DURATION = 40 # Duration of each Meet in minutes
USERNAME = 
PASSWORD = 

BROWSER_DRIVER = "ChromeDrivers/linux64/chromedriver"

#                   Google Chrome
#           Linux: "ChromeDrivers/linux64/chromedriver"
#             Mac: "ChromeDrivers/mac64/chromedriver"
#        Mac (M1): "ChromeDrivers/mac64_m1/chromedriver"
#         Windows: "ChromeDrivers/win32/chromedriver.exe"

#                   Mozilla Firefox
#     Linux (x32): "FirefoxDrivers/linux32/geckodriver"
#     Linux (x64): "FirefoxDrivers/linux64/geckodriver"
#             Mac: "FirefoxDrivers/mac64/geckodriver"
#   Windows (x32): "FirefoxDrivers/win32/geckodriver.exe"
#   Windows (x64): "FirefoxDrivers/win64/geckodriver.exe"
##################################################################

# All required interactive elements' locators (text fields, buttons, etc.)
usernameFieldPath = "identifierId"
usernameNextButtonPath = "identifierNext"
passwordFieldPath = "password"
passwordNextButtonPath = "passwordNext"
linkButton1Path = "//*[contains(text(), 'meet.google.com')]"
linkButton2Path = "//*[contains(text(), 'meet.google.com')]"
joinButton1Path = "//span[contains(text(), 'Join')]"
joinButton2Path = "//span[contains(text(), 'Ask to join')]"
endButtonPath = "[aria-label='Leave call']"

currentVersionNumber = "v3.1.1"
VERSION_CHECK_URL = "https://raw.githubusercontent.com/SHUR1K-N/MeetNinja-Google-Meet-Bot/master/versionfile.txt"
BANNER1 = colored('''
   ███▄ ▄███▓▓█████ ▓█████▄▄▄█████▓ ███▄    █  ██▓ ███▄    █  ▄▄▄██▀▀▀▄▄▄
  ▓██▒▀█▀ ██▒▓█   ▀ ▓█   ▀▓  ██▒ ▓▒ ██ ▀█   █ ▓██▒ ██ ▀█   █    ▒██  ▒████▄
  ▓██    ▓██░▒███   ▒███  ▒ ▓██░ ▒░▓██  ▀█ ██▒▒██▒▓██  ▀█ ██▒   ░██  ▒██  ▀█▄
  ▒██    ▒██ ▒▓█  ▄ ▒▓█  ▄░ ▓██▓ ░ ▓██▒  ▐▌██▒░██░▓██▒  ▐▌██▒▓██▄██▓ ░██▄▄▄▄██
  ▒██▒   ░██▒░▒████▒░▒████▒ ▒██▒ ░ ▒██░   ▓██░░██░▒██░   ▓██░ ▓███▒   ▓█   ▓██▒
  ░ ▒░   ░  ░░░ ▒░ ░░░ ▒░ ░ ▒ ░░   ░ ▒░   ▒ ▒ ░▓  ░ ▒░   ▒ ▒  ▒▓▒▒░   ▒▒   ▓▒█░
  ░  ░      ░ ░ ░  ░ ░ ░  ░   ░    ░ ░░   ░ ▒░ ▒ ░░ ░░   ░ ▒░ ▒ ░▒░    ▒   ▒▒ ░
  ░      ░      ░      ░    ░         ░   ░ ░  ▒ ░   ░   ░ ░  ░ ░ ░    ░   ▒
         ░      ░  ░   ░  ░                 ░  ░           ░  ░   ░        ░  ░''', 'blue')
BANNER2 = colored('''                    ------------------------------------''', 'blue')
BANNER3 = colored('''                    || MeetNinja: The Google Meet Bot ||''', 'red')
BANNER4 = colored('''                    ------------------------------------''', 'blue')


def printBanner():
    print(BANNER1), print(BANNER2), print(BANNER3), print(BANNER4)


def versionCheck():
    global currentVersionNumber

    print("\nChecking for MeetNinja updates...", end="")

    crawlVersionFile = requests.get(VERSION_CHECK_URL)
    crawlVersionFile = str(crawlVersionFile.content)
    crawlVersionFile = re.findall(r"([0-9]+)", crawlVersionFile)
    latestVersionNumber = int(''.join(crawlVersionFile))

    currentVersionNumber = re.findall(r"([0-9]+)", currentVersionNumber)
    currentVersionNumber = int(''.join(currentVersionNumber))

    if currentVersionNumber >= latestVersionNumber:
        print(colored(" You are using the latest version!\n", "green"))
    elif currentVersionNumber < latestVersionNumber:
        print(colored(" You are using an older version of MeetNinja.", "red"))
        print(colored("\nGet the latest version at https://github.com/SHUR1K-N/MeetNinja-Google-Meet-Bot", "yellow"))
        print(colored("Every new version comes with fixes, improvements, new features, etc..", "yellow"))
        print(colored("Please do not open an Issue if you see this message and have not yet tried the latest version.", "yellow"))


def fixTimeFormat(rawTime):
    rawTime = list(rawTime.split())
    times = list(map(int, rawTime[0].split(":")))
    dates = list(map(int, reversed(rawTime[1].split("/"))))
    startTime = dates + times
    return startTime


def timeStamp():
    timeNow = str(datetime.now())
    timeRegEx = re.findall(r"([0-9]+:[0-9]+:[0-9]+)", timeNow)
    return(timeRegEx[0])



def initBrowser():
    print("\nInitializing browser...", end="")
    if BROWSER_DRIVER.lower().startswith("chrome"):
        chromeOptions = webdriver.ChromeOptions()
        options = webdriver.ChromeOptions()
        options.add_argument("user-data-dir=/home/user/.config/chromium/Default")
    #w = webdriver.Chrome(executable_path="/usr/lib/chromium/chromium", chrome_options=options)

    driver = webdriver.Chrome(executable_path=BROWSER_DRIVER, options=chromeOptions)




def attendMeet():
    print(f"\n\nNavigating to Google Meet #{meetIndex}...", end="")
    driver.get(URL[2:])
    print(colored(" Success!", "green"))
    print(f"Entering Google Meet #{meetIndex}...", end="")

    try:
        linkButton = wait.until(when.element_to_be_clickable((by.XPATH, linkButton1Path)))
    except:
        linkButton = wait.until(when.element_to_be_clickable((by.XPATH, linkButton2Path)))
    try:
        joinButton = wait.until(when.element_to_be_clickable((by.XPATH, joinButton1Path)))
    except:
        joinButton = wait.until(when.element_to_be_clickable((by.XPATH, joinButton2Path)))
    if BROWSER_DRIVER.lower().startswith("chrome"):
        time.sleep(1)
        action.send_keys(Keys.ESCAPE).perform()
    time.sleep(1)
    linkButton.click()
    joinButton.click()

    print(colored(" Success!", "green"))
    time.sleep(1)
    print(colored(f"Now attending Google Meet #{meetIndex} @{timeStamp()}", "green"), end="")

    try:
        joinButton = wait.until(when.element_to_be_clickable((by.XPATH, joinButton1Path)))   # For another prompt that pops up for Meets being recorded
        time.sleep(1)
        joinButton.click()
    except:
        pass


def endMeet():
    endButton = driver.find_element_by_css_selector(endButtonPath)
    endButton.click()
    print(colored(f"\nSuccessfully ended Google Meet #{meetIndex} @{timeStamp()}\n", "red"), end="")


def genericError():
    # clrscr()
    print(colored(" Failed!", "red"), end="")
    print("\n\nPossible fixes:\n")
    print("1.1 Make sure you have downloaded the latest version of MeetNinja from the GitHub page (every new iteration brings fixes and new capabilities)")
    print("1.2 Make sure you have pip-installed all the required python packages mentioned in the README")
    print("2.1 Check your inputs and run MeetNinja again (make sure there are no leading zeros in the Meet start times)")
    print("2.2 And / Or make sure you have chosen the correct webdriver file respective of your web browser and operating system")
    print("3. Make sure the generated web browser is not \"Minimized\" while MeetNinja is working")
    print("4.1. Make sure the webdriver file is of the latest stable build (https://chromedriver.chromium.org/ or https://github.com/mozilla/geckodriver/releases)")
    print("4.2. And / Or make sure your chosen web browser is updated to the latest version")
    print("4.3. And / Or make sure the webdriver file is at least of the same version as your chosen web browser (or lower)")
    print("5. Make sure the small \"time.sleep()\" delays (in seconds) in the login() and attendMeet() functions are comfortable for your internet speed")
    print("6. Make sure your internet connection is stable throughout the process")
    print("\nPress Enter to exit.")
    input()
    try:
        driver.quit()
    except:
        pass


def clrscr():
    if os.name == 'posix':
        _ = os.system('clear')
    else:
        _ = os.system('cls')
    printBanner()


def hibernate():
    print("\nHibernating in 10 seconds. Press Ctrl + C to abort.")
    time.sleep(13)
    _ = os.system('shutdown /h /f')


############### Main ###############

if __name__ == "__main__":

    printBanner()

    versionCheck()

    try:
        DURATION *= 60
        driver = initBrowser()
        wait = webdriver.support.ui.WebDriverWait(driver, 7)
        action = ActionChains(driver)
        for meetIndex, (URL, rawTime) in enumerate(MEETS.items(), start=1):
            startTime = fixTimeFormat(rawTime)
            if (meetIndex <= 1):
                print(colored(f"Waiting until first Meet start time [{rawTime}]...", "yellow"), end="")
            else:
                print(colored(f"\n\nWaiting until next Meet start time [{rawTime}]...", "yellow"), end="")
            pause.until(datetime(*startTime))
            print(colored(" Started!", "green"))

            attendMeet()
            time.sleep(DURATION)
            endMeet()
        print("\n\nAll Meets completed successfully.")
        # hibernate()
        # Uncomment above to hibernate after a 10 second countdown upon completion of all Meets (Ctrl + C to abort hibernation)
        print("Press Enter to exit.")
        input()
        print("\nCleaning up and exiting...", end="")
        driver.quit()

    except KeyboardInterrupt:
        # clrscr()
        print("\n\nCTRL ^C\n\nThrew a wrench in the works.")
        print("Press Enter to exit.")
        input()
        print("\nCleaning up and exiting...", end="")
        driver.quit()
    except:
        print(e)
        # Uncomment above to display error traceback (use when reporting issues)
        genericError()

Error on bash:

Checking for MeetNinja updates... You are using the latest version!


Initializing browser...Traceback (most recent call last):
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 217, in <module>
    action = ActionChains(driver)
  File "/home/user/.local/lib/python3.9/site-packages/selenium/webdriver/common/action_chains.py", line 72, in __init__
    if self._driver.w3c:
AttributeError: 'NoneType' object has no attribute 'w3c'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 246, in <module>
    print(e)
NameError: name 'e' is not defined

Please let me know if you have any idea to improve this!

web browser not secure

heyy,i have already read the previous threads regarding this issue and tried everything including diabling two step verification,switching on java script and allowing less secure stuff to run, but it still doesnt work,wud appreciate if u cud help.
Cheers!!

2021-06-15.12-26-04.mp4

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.