Coder Social home page Coder Social logo

z1lc / autodefine Goto Github PK

View Code? Open in Web Editor NEW
55.0 5.0 16.0 132 KB

An add-on to Anki that auto-defines words, optionally adding pronunciation and images.

Home Page: https://ankiweb.net/shared/info/2136497008

License: GNU General Public License v2.0

Python 100.00%
anki-addon anki21 python

autodefine's Introduction

AutoDefine Anki Add-On

An add-on to Anki that auto-defines words, optionally adding pronunciation and images. Visit ankisrs.net if you're unfamiliar with Anki and spaced repetition systems.

Only tested on Anki 2.1.x.

Note: This add-on uses Merriam-Webster's Collegiate® Dictionary with Audio API to get definitions and pronunciations. This requires you sign up for a Merriam-Webster account and use your own individual API access key. Go to the Merriam-Webster Dictionary API website, sign up for an account, and request access to the Collegiate Dictionary. Then, replace YOUR_KEY_HERE with the key you receive.

License & Credits

Icon made by Freepik

Code licensed under GPLv2

Release Information

To release to AnkiWeb: package AutoDefineAddon folder into zip file; upload via this link.

autodefine's People

Contributors

kazemihabib avatar lunaleaps avatar mancasg avatar shahrokh-bahtooei avatar z1lc 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

Watchers

 avatar  avatar  avatar  avatar  avatar

autodefine's Issues

'No entry found'

When using the AutoDefine add-on, Anki states 'No entry found in Merriam-Webster dictionary for word 'x'. It does this for all words, for example 'test' (x = given word). Screenshot attached below.

I have added my API key, and have tried uninstalling and re-installing the add-on. My anki version is:
Version 2.1.14 (7b93e985)
Qt 5.12.1 PyQt 5.11.3

Very grateful for any guidance - this looks like a fantastic add-on!

Thanks,
Max

Screenshot 2020-07-22 at 09 48 52

enhancement: add a tag

I manually add the tags en vocabulary autodefine but if this addon added the tag autodefine (or whatever you want to call it) to the card it would help with record-keeping (if there's ever a need to find which cards were made through this addon)

Don't work when editing existing card

Hi,

This add-on works well when add new a new card. But when I try to use it when editing a card, it empties the card's back content. And also nothing is fetched.

Option to use multiple Merriam-Webster dictionaries

I emailed the author and he requested I make the suggestion here:

When one signs up with Merriam-Webster, they also offer a free Medical Dictionary API. The plug-in doesn't work with this API entered instead of the standard one already (in a brief test by me), so my suggestion is to add that functionality and allow multiple definitions. This is what I tried, intending to be able to switch between dictionaries by moving the # symbol:

#standard dictionary API below this line
#core.MERRIAM_WEBSTER_API_KEY = "(normal dictionary API)"
#medical dictionary API below this line
core.MERRIAM_WEBSTER_API_KEY = "(medical dictionary API)"

Thank you very much for a great plug-in.

Parse error for word 'stolid'

Anki Version: 2.1.35%0APlatform: Darwin 19.6.0%0AURL: http://www.dictionaryapi.com/api/v1/references/collegiate/xml/stolid?key=c552a057-33bb-48de-8a96-745ffc4c791c%0AStack Trace: Traceback (most recent call last):
File %22/Users/fa/Library/Application Support/Anki2/addons21/2136497008/autodefine.py%22, line 213, in get_entries_from_api
returned = urllib.request.urlopen(req).read()
File %22urllib/request.py%22, line 222, in urlopen
File %22urllib/request.py%22, line 525, in open
File %22urllib/request.py%22, line 542, in _open
File %22urllib/request.py%22, line 502, in _call_chain
File %22urllib/request.py%22, line 1346, in http_open
File %22urllib/request.py%22, line 1321, in do_open
File %22http/client.py%22, line 1322, in getresponse
File %22http/client.py%22, line 303, in begin
File %22http/client.py%22, line 272, in _read_status
http.client.RemoteDisconnected: Remote end closed connection without response

Can any support be added from wording.info for picture dictionary.

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Debug info:

  • Anki Version [e.g. 2.1.5]
  • OS: [Linux, Mac, Windows]

Additional context (e.g., exception)
Add any other context about the problem here.

[question] Is there a way to use AutoDefine to pronounce certain terms in pre-made decks on demand?

Hi there,

To start, thanks for creating & sharing this add-on. The installation instructions & vid is very clear. I'm wondering if I could use this add-on to help me learn how to pronounce certain terms in pre-made Anki decks.

I'm envisioning being able to highlight a word while reviewing, right-clicking or invoking a keyboard shortcut, then the pronunciation being announced. Is there any way AutoDefine can do this?

AutoDefine works once per Anki start

If I use the add-on once it works how expected.
If I want to add another word the following Debug info appears on the screen:

Debug info:
Anki 2.1.12 (eef86bf3) Python 3.6.7 Qt 5.12.1 PyQt 5.11.3
Platform: Mac 10.14.4
Flags: frz=True ao=True sv=1
Add-ons possibly involved: AutoDefine - Automatically define vocabulary words with pronunciations and image

Caught exception:
File "aqt/progress.py", line 72, in handler
File "/Users/humbug/Library/Application Support/Anki2/addons21/2136497008/autodefine.py", line 91, in
editor.saveNow(lambda: _get_definition(editor, force_pronounce, force_definition))
File "/Users/humbug/Library/Application Support/Anki2/addons21/2136497008/autodefine.py", line 211, in _get_definition
word = clean_html(editor.note.fields[0]).strip()
<class 'AttributeError'>: 'NoneType' object has no attribute 'fields'

Additional context (e.g., exception)
After restarting anki without changing anything the add on works fine for one other "definition".

Order of vocal pronunciations is in reverse order

Describe the bug
For the words which have multiple pronunciations, the order of played vocal pronunciations does not match to the order of definitions and phonetic transcriptions. As changing pronunciation of some English words can dramatically alter its meaning or its part of speech, this bug actually can mislead English learners.

To Reproduce
Enable Phonetic Transcription. Search for 'lead' or 'conduct'. You'll see the order of definition matches to phonetic transcription, yet differs from vocal pronunciation.

Expected behavior
The order of vocal pronunciations should be exactly reversed.

Debug info:

  • Anki Version: 2.1
  • OS: Mac

Additional context (e.g., exception)
I've fixed the bug for myself, so I can share it if you like.

Other languages than English

Is it possible to modify this addon and use with other dictionaries' APIs? This would be great for languages other than English.

error in code when run

Traceback (most recent call last):
File "/home/abdelrahman/Documents/AutoDefine/AutoDefineAddon/autodefine.py", line 24, in
from .libs import webbrowser
ImportError: attempted relative import with no known parent package

** When changing the from .libs import webbrowser "to" from libs import webbrowser "or" import libs.webbrowser
the next error apper

Traceback (most recent call last):
File "/home/abdelrahman/Documents/AutoDefine/AutoDefineAddon/autodefine.py", line 486, in
if getattr(mw.addonManager, "getConfig", None):
AttributeError: 'NoneType' object has no attribute 'addonManager'

Parse error for word 'trickle'

Anki Version: 2.1.35%0APlatform: Darwin 19.6.0%0AURL: http://www.dictionaryapi.com/api/v1/references/collegiate/xml/trickle?key=c552a057-33bb-48de-8a96-745ffc4c791c%0AStack Trace: Traceback (most recent call last):
File %22/Users/fa/Library/Application Support/Anki2/addons21/2136497008/autodefine.py%22, line 213, in get_entries_from_api
returned = urllib.request.urlopen(req).read()
File %22urllib/request.py%22, line 222, in urlopen
File %22urllib/request.py%22, line 525, in open
File %22urllib/request.py%22, line 542, in _open
File %22urllib/request.py%22, line 502, in _call_chain
File %22urllib/request.py%22, line 1346, in http_open
File %22urllib/request.py%22, line 1321, in do_open
File %22http/client.py%22, line 1322, in getresponse
File %22http/client.py%22, line 303, in begin
File %22http/client.py%22, line 272, in _read_status
http.client.RemoteDisconnected: Remote end closed connection without response

Error

Error
An error occurred. Please start Anki while holding down the shift key, which will temporarily disable the add-ons you have installed.
If the issue only occurs when add-ons are enabled, please use the Tools>Add-ons menu item to disable some add-ons and restart Anki, repeating until you discover the add-on that is causing the problem.
When you've discovered the add-on that is causing the problem, please report the issue on the add-ons section of our support site.
Debug info:
Anki 2.1.15 (442df9d6) Python 3.8.2 Qt 5.12.8 PyQt 5.14.1
Platform: Linux
Flags: frz=False ao=True sv=1
Add-ons possibly involved: AutoDefine - Automatically define vocabulary words with pronunciations and image

Caught exception:
File "/usr/share/anki/aqt/webview.py", line 340, in handler
cb(val)
File "/usr/share/anki/aqt/editor.py", line 351, in
self.web.evalWithCallback("saveNow(%d)" % keepFocus, lambda res: callback())
File "/home/abdelrahman/.local/share/Anki2/addons21/2136497008/autodefine.py", line 100, in
editor.saveNow(lambda: _get_definition(editor, force_pronounce, force_definition, force_phonetic_transcription))
File "/home/abdelrahman/.local/share/Anki2/addons21/2136497008/autodefine.py", line 276, in _get_definition
all_sounds.append(editor.urlToFile(wav_url).strip())
<class 'AttributeError'>: 'NoneType' object has no attribute 'strip'

can not be used on window

错误
有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。
如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。
当你已经发现是因为插件引起的问题,请在我们的支持网站上 插件支持 上报告问题。
调试信息:
Anki 2.1.49 (dc80804a) Python 3.8.6 Qt 5.14.2 PyQt 5.14.2
Platform: Windows 10
Flags: frz=True ao=True sv=2
Add-ons, last update check: 2022-07-18 16:07:01

Caught exception:
Traceback (most recent call last):
File "aqt\webview.py", line 541, in handler
File "aqt\editor.py", line 528, in
File "C:\Users\19737\AppData\Roaming\Anki2\addons21\1709973686\main.py", line 90, in newCallback
callback()
File "C:\Users\19737\AppData\Roaming\Anki2\addons21\570730390\autodefine.py", line 74, in
editor.saveNow(lambda: _get_definition(editor))
File "C:\Users\19737\AppData\Roaming\Anki2\addons21\570730390\autodefine.py", line 113, in _get_definition
articles_list = get_articles_list(word)
File "C:\Users\19737\AppData\Roaming\Anki2\addons21\570730390\autodefine.py", line 199, in get_articles_list
raise Exception("spellcheck error url: " + url)
Exception: spellcheck error url: https://www.oxfordlearnersdictionaries.com/search/american_english/?q=partir-(s,-s,-t,-nos,-ez,-ent)

Use with Medical Dictionary

Is there any way to get the add on to work with the use of Merriam Webster Medical dictionary?

Not sure if this is the correct place for this. Thanks in advance!

Parsing error for "apropos"

Debug info:
Anki 2.1.38 (355e4cd5) Python 3.8.6 Qt 5.14.2 PyQt 5.14.2
Platform: Windows 10
Flags: frz=True ao=True sv=1
Add-ons, last update check: 2021-02-08 23:06:57

Caught exception:
Traceback (most recent call last):
  File "aqt\webview.py", line 515, in handler
  File "aqt\editor.py", line 508, in <lambda>
  File "C:\Users\joshua\AppData\Roaming\Anki2\addons21\2136497008\autodefine.py", line 99, in <lambda>
    editor.saveNow(lambda: _get_definition(editor, force_pronounce, force_definition, force_phonetic_transcription))
  File "C:\Users\joshua\AppData\Roaming\Anki2\addons21\2136497008\autodefine.py", line 278, in _get_definition
    all_sounds.append(editor.urlToLink(wav_url).strip())
AttributeError: 'NoneType' object has no attribute 'strip'

Feature Request: Add Spanish-English Dictionary as a Secondary Option to the M-W Dictionary

Describe the bug
Not a bug Feature Request. AutoDefine is really useful. I would like to see the addition of the "MERRIAM_WEBSTER_SPANISH-ENGLISH_API_KEY"

The medical dictionary is not of use to me, but the "MERRIAM_WEBSTER_SPANISH-ENGLISH_API_KEY" would be.

To Reproduce
na

Expected behavior
I would like to see the "MERRIAM_WEBSTER_SPANISH-ENGLISH_API_KEY" work the same way as the M-W dictionary, but in Spanish - English, English to Spanish. Currently, it brings up images in Spanish, but no definitions.

Debug info:

  • Anki Version 2.1.35 (84dcaa86)
  • OS: [Linux, Mac, Windows]
  • Windows 10 Pro

Additional context (e.g., exception)
Add any other context about the problem here.

Parse error for word 'test'

Anki Version: 2.1.5
Platform: Windows 10
URL: http://www.dictionaryapi.com/api/v1/references/collegiate/xml/test?key=77c9e2ea-c1b6-482b-af44-696203812386
Stack Trace: Traceback (most recent call last): File C:\Users\int\AppData\Roaming\Anki2\addons21\2136497008\autodefine.py, line 103, in _get_definition etree = ET.fromstring(urllib.request.urlopen(url).read()) File xml\etree\ElementTree.py, line 1314, in XML File , line Nonexml.etree.ElementTree.ParseError: syntax error: line 1, column 0

AutoDefineAddon/core.py", line 184 error

I have error in addon.

Traceback (most recent call last):
File "/home/fin/.local/share/Anki2/addons/AutoDefineAddon/core.py", line 184, in
editor._addButton("AutoDefine", lambda ed=editor: get_definition(ed),
File "/home/lina/.local/share/Anki2/addons/AutoDefineAddon/core.py", line 55, in get_definition
etree = ET.fromstring(urllib2.urlopen(url).read())
File "xml/etree/ElementTree.py", line 1301, in XML
File "xml/etree/ElementTree.py", line 1643, in feed
File "xml/etree/ElementTree.py", line 1507, in _raiseerror
xml.etree.ElementTree.ParseError: syntax error: line 1, column 0

Can you help me with this error?

Remote end closed connection without response

Thanks for your add-on. it could be very useful.
but when I click on search button get this error:

Debug info:
Anki 2.1.5 Python 3.6.2 Qt 5.9.2 PyQt 5.9
Platform: Linux
Flags: frz=True ao=True sv=1

Caught exception:
File "aqt/webview.py", line 295, in handler
File "aqt/editor.py", line 344, in
File "/home/username/.local/share/Anki2/addons21/2136497008/autodefine.py", line 78, in
editor.saveNow(lambda: _get_definition(editor, force_pronounce, force_definition))
File "/home/username/.local/share/Anki2/addons21/2136497008/autodefine.py", line 103, in _get_definition
returned = urllib.request.urlopen(url).read()
File "urllib/request.py", line 223, in urlopen
File "urllib/request.py", line 526, in open
File "urllib/request.py", line 544, in _open
File "urllib/request.py", line 504, in _call_chain
File "urllib/request.py", line 1346, in http_open
File "urllib/request.py", line 1321, in do_open
File "http/client.py", line 1331, in getresponse
File "http/client.py", line 297, in begin
File "http/client.py", line 266, in _read_status
<class 'http.client.RemoteDisconnected'>: Remote end closed connection without response

Medical Dictionary not fetching definitions

This is the error that I get:

Caught exception:
File "aqt/progress.py", line 67, in handler
File "/Users//Library/Application Support/Anki2/addons21/2136497008/autodefine.py", line 90, in
editor.saveNow(lambda: _get_definition(editor, force_pronounce, force_definition))
File "/Users/
/Library/Application Support/Anki2/addons21/2136497008/autodefine.py", line 192, in _get_definition
word = clean_html(editor.note.fields[0]).strip()
<class 'AttributeError'>: 'NoneType' object has no attribute 'fields'

Also, I get this some times as well:

Didn't find definition for word 'hematuria'
Using URL 'https://www.dictionaryapi.com/api/references/medical/v2/xml/hematuria?key=***'

***: Used to redact personal info.

P.s: Thanks for addressing this suggested update so quickly.

EDIT: Now working perfectly. Thanks!

Does not work because my key is apparently not valid

When I try to use the add-on, it says my key is not valid. I checked the key a few times and even signed up with another email on the dictionary api website but it still does not work. Might there be a problem with newly generated keys?

Parse error for word 'baffle'

Anki Version: 2.1.44%0APlatform: Darwin 19.0.0%0AURL: http://www.dictionaryapi.com/api/v1/references/collegiate/xml/baffle?key=2a9e7b0f-461f-44a5-980f-550941899fe1%0AStack Trace: Traceback (most recent call last):
File %22/Users/liching/Library/Application Support/Anki2/addons21/2136497008/autodefine.py%22, line 220, in get_entries_from_api
etree = ET.fromstring(returned)
File %22xml/etree/ElementTree.py%22, line 1320, in XML
File %22%22, line None
xml.etree.ElementTree.ParseError: mismatched tag: line 1, column 126

Parse error for word 'custome'

Anki Version: 23.12.1
Platform: Windows 10
URL: http://www.dictionaryapi.com/api/v1/references/collegiate/xml/custome?key=https://www.dictionaryapi.com/api/v3/references/collegiate/json/test?key=418dad06-afd2-4be3-baaa-64a76b304ec1
Stack Trace: Traceback (most recent call last): File "C:\Users\Sanaa\AppData\Roaming\Anki2\addons21\2136497008\autodefine.py", line 220, in get_entries_from_api etree = ET.fromstring(returned) File "xml.etree.ElementTree", line 1342, in XMLxml.etree.ElementTree.ParseError: mismatched tag: line 36, column 4

Adding pronunciation and phonetic transcription for undefined words

There are many words in Merriam Webster's dictionary which derived from another word but do not have a definition. Considerable numbers of these words have different pronunciation than their root. Nevertheless, the currently developed add-on does not cover bringing their vocal pronunciation or phonetic transcription to Anki flashcards.

As an example:
arbitrary ✔︎ -> arbitrarily ✘, arbitrariness ✘

Auto define doesn't work

After properly getting the API key and setting up the add on, trying to use the feature with Ctrl + E or AD button gives out this error all the time:

An error occurred in an add-on.
Please post on the add-on forum:
https://anki.tenderapp.com/discussions/add-ons

Traceback (most recent call last):
File "C:\Users\Morteza\Documents\Anki\addons\AutoDefineAddon\core.py", line 175, in
editor._addButton("AutoDefine", lambda ed=editor: get_definition(ed),
File "C:\Users\Morteza\Documents\Anki\addons\AutoDefineAddon\core.py", line 57, in get_definition
etree = ET.parse(urllib.urlopen(url))
File "C:\cygwin\home\dae\win\build\pyi.win32\anki\outPYZ1.pyz/xml.etree.ElementTree", line 1183, in parse
File "C:\cygwin\home\dae\win\build\pyi.win32\anki\outPYZ1.pyz/xml.etree.ElementTree", line 656, in parse
File "C:\cygwin\home\dae\win\build\pyi.win32\anki\outPYZ1.pyz/xml.etree.ElementTree", line 1643, in feed
File "C:\cygwin\home\dae\win\build\pyi.win32\anki\outPYZ1.pyz/xml.etree.ElementTree", line 1507, in _raiseerror
xml.etree.ElementTree.ParseError: syntax error: line 1, column 0

Cannot go to a card's edit note twice

Describe the bug
I face a bug each time when go out from card's edit mode and then go in to edit mode again.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Learning mode'
  2. When a card appears click on 'Edit'
  3. Close opened window
  4. When the card appears again click on 'Edit'
  5. Click on button 'Auto Define Word'
  6. See error

Expected behavior
The add-on should put the appropriate information into fields.

Debug info:
Anki 2.1.0beta36 Python 3.6.7 Qt 5.9.5 PyQt 5.10.1
Platform: Linux
Flags: frz=False ao=True

Caught exception:
File "/usr/share/anki/aqt/progress.py", line 67, in handler
func()
File "/home/dusk/.local/share/Anki2/addons21/2136497008/autodefine.py", line 91, in
editor.saveNow(lambda: _get_definition(editor, force_pronounce, force_definition))
File "/home/dusk/.local/share/Anki2/addons21/2136497008/autodefine.py", line 211, in _get_definition
word = clean_html(editor.note.fields[0]).strip()
<class 'AttributeError'>: 'NoneType' object has no attribute 'fields'

Using the other dictionaries

Hi @z1lc
I wanted to take a moment to express my gratitude for the wonderful tool you have created. Thanks to your efforts, my English learning has greatly accelerated.

However, I was wondering if it would be possible to incorporate accessibility to other dictionaries, specifically learner's dictionaries. If it is feasible, I would be grateful for the opportunity to edit (fork) the code so that I can personally use the other dictionaries. I am not entirely confident in my ability to make these modifications, but I am eager to try.

Thank you again for your excellent work.

Best regards,
Ryosuke

"No text found in note fields"

Describe the bug
If I add one or more cards, close the editor, then add a new card, AutoDefine will return: "No text found in note fields" even when text is in the first note field

To Reproduce
Steps to reproduce the behavior:
From decks screen, click "Add"
Create one or more notes using AutoDefine (input word into first field, click AutoDefine button)
Close the editor
From decks screen, click "Add"
Attempt to create a note with AutoDefine (input word into first field, click AutoDefine button)
Error: "No text found in note fields"

Debug info:
Anki Version 2.1.11 (3cf770c7)
Qt 5.12.1 PyQt 5.11.3
Platform: Windows 10

Word is in field number 2

Do I have to have the word I want to define in field 0? I currently have the words I want to define in field 2 of all my cards; would it be possible that I use field 2 as the source?

Phonetic Pronunciation Symbols

Hi kindly guys,
I appreciate your efforts in simplifying English learning :) I wanted to include written phonetic pronunciation of the word in my flashcards. You know, it seems more precise to me. Can I do that with this add-on?
Cheers

add dictionary

Sans titre

I don't understand why it doesn't work.
I have created 2 accounts and always the same results
Can you explain to me

PS i'm french

Mac OSX 10.10.5

Keep getting this error every time I press "Cmd+E"
An error occurred in an add-on.
Please post on the add-on forum:
https://anki.tenderapp.com/discussions/add-ons

Traceback (most recent call last):
File "/Users/Spartan5685/Documents/Anki/addons/AutoDefineAddon/core.py", line 175, in
editor._addButton("AutoDefine", lambda ed=editor: get_definition(ed),
File "/Users/Spartan5685/Documents/Anki/addons/AutoDefineAddon/core.py", line 57, in get_definition
etree = ET.parse(urllib.urlopen(url))
File "xml/etree/ElementTree.pyc", line 1182, in parse
File "xml/etree/ElementTree.pyc", line 656, in parse
File "xml/etree/ElementTree.pyc", line 1642, in feed
File "xml/etree/ElementTree.pyc", line 1506, in _raiseerror
xml.etree.ElementTree.ParseError: syntax error: line 1, column 0

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.