Coder Social home page Coder Social logo

ratreya / lipika-ime Goto Github PK

View Code? Open in Web Editor NEW
110.0 8.0 26.0 9.91 MB

Input Method Engine (IME) for Mac OS X with built-in support for all Indic Languages

License: GNU General Public License v3.0

Shell 4.10% Swift 93.39% Rich Text Format 2.52%
mac-osx ime input-method keyboard ios transliteration bengali devanagari gujarati gurmukhi

lipika-ime's Introduction

LipikaIME a user-configurable, phonetic, Input Method Engine for Mac OS X with built-in support for the Bengali, Devanagari, Gujarati, Gurmukhi, Hindi, Kannada, Malayalam, Oriya, Tamil and Telugu scripts, as well as the ISO-15919 romanisation scheme. It can also output IPA for Sanskrit and Tamil. It includes support for ITRANS, Baraha, Harvard Kyoto, Barahavat and Ksharanam transliteration schemes.

Copyright (C) 2018 Ranganath Atreya

This program is free software: you can redistribute it and/or modify it under the terms of the GNU 
General Public License as published by the Free Software Foundation; either version 3 of the License, 
or (at your option) any later version.

This program comes with ABSOLUTELY NO WARRANTY; see LICENSE file.

Lipika IME is a multi-codepoint, user configurable, phonetic, input method engine. Originally, designed to type Sanskrit using Devanagari on a Mac. It can be configured to work with any other Indic script of similar structure.

Installation

To install LipikaIME, follow the Installation Instructions.

New releases and their release notes have been moved to the Release Section. And release notes for older releases can be found on this wiki.

Transliteration Schemes

https://github.com/ratreya/lipika-ime/wiki/Transliteration-Schemes

Report issues on facebook or here

lipika-ime's People

Contributors

abhagwat avatar deepestblue avatar ratreya avatar vidyanarayanan 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  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  avatar  avatar  avatar

lipika-ime's Issues

[LipikaBoard] Custom scheme support

Add ability to share a *.scm file on the phone with LipikaBoard that will then introduce that custom script into the set of languages available on the keyboard.

Cannot input consecutive digits

Devanagari/Barahavat. Repros on other scripts and other schemes as well.

I type in <digit1><digit2><digit3>.

Expected: १२३.
Actual: just . The subsequent keystrokes do nothing, until I hit "Enter".

LipikaIME disappearing issue and Mapping question

Lipkia IME is very nice but after a log out or reboot it disappears from the Input Source menu and cannot be used anymore. The app is still in the Input Methods folder of Library but does not work anymore till it is reinstalled. I am using Mac OS X 10.9.4. Hope you can fix this issue.

Also I would like more info on how to change the encodings.

Greg

Lipika menu selection incorrect

Repro:

  1. choose any input or output other than the default
  2. open preferences and hit reset
  3. the menu selection does not change but the engine has silently gone back to defaults

Kannada Dictionary

Google input tools has Kannada dictionary. But this tool doesn't have the dictionary. I see there is a dictionary.raw in the google input tool. Please try to add dictionary to this tool

v1.7.4. Commit text on "Enter": behaviour change with Mojave?

Describe the bug
Lipika 1.7.4. I upgraded to Mojave, and see what seems to be a change in behaviour. On Mojave, hitting Enter no longer seems to commit what's in the pop-up. Only space or switching to a different input source seem to work.

To Reproduce
Steps to reproduce the behavior:

  1. Install Lipika 1.7.4.
  2. Select to Devanagari/Ksharanam.
  3. Switch to Chrome's URL bar.
  4. Type the keys m a m a Enter, in that order.

Expected behaviour and actual behaviour on 10.13.6 (17G4015)
मम in the URL bar.

Actual behaviour on 10.14.2 (18C54)
मम in the popup window. Not committed.

Screenshots
screenshot 2019-01-26 at 23 53 47

screenshot 2019-01-26 at 23 54 38

Desktop (please complete the following information):

  • OS: 10.14.2 (18C54)
  • Browser: Chrome 71.0.3578.98

Nuqta consonants and vowels

I've just started using LipikaIME and can't seem to find a way to enter some nuqta consonants with vowels correctly. With transliteration set to ITRANS, I can type .Dhi and get ढ़ि as expected. Typing .Di results in ऱि instead of the expected ड़ि; indeed, I can't find any way to type ड़ि with LipikaIME. Typing Dz gives ड़्, but Dzi gives ड़्इ, without properly attaching the vowel. Additionally, the output of Ra and .Da is the same, but Rha does not seem to exist as an alternate for .Dha, as it should.

As I understand, ऱ is used for transcribing the Dravidian alveolar R in Devanāgarī, so ड़ should be the output of Ra and .Da. I suppose one fix would be to change RRA in Devanagari.map to 095C instead of 0931, but that doesn't solve the issue of vowels not properly attaching to "manual" nuqta consonants (e.g. attaching a vowel after typing .z to add the nuqta).

Lipika Ime - Not compatible with Mac OS Big Sur

Hello Lipika Ime is not compatible with the latest Mac OS - Mac OS Big Sur. Please make this compatible. This software is the heart of many indian languages. I absolutley love it. @ratreya - My humble request that you should consider making this compatible with the latest Mac OS. thanks a ton

Vasudevan

Provide an option to use typed english word as it is as well

At present when the correct indic word is not provided by the keyboard, there is no option to use the typed in english word as it is. Provide an option to use the english word as it is as well.

For e.g

With google indic transliteration , I could see something like this and can use englishe 'installer' if not satisfied with any of the transliterated words.

screen shot 2017-10-18 at 11 04 52

With LipikaIME
screen shot 2017-10-18 at 11 05 14

SIGSEGV

Attach the crash report
LipikaIME_2019-03-10-134635_steel.crash.txt

To Reproduce
Not sure exactly what I was doing, but I did a killAll LipikaIME to make it re-read some changes in the Mappings. And then I tried switching to it from the menu-bar.

Desktop (please complete the following information):

  • OS: macOS 10.14.3
  • Version: 2.0-alpha.1

Additional context
I have a change in one of the Override files. Could that be the cause?

Literator functionality in LipikaApp

Vertical or horizontally split panes with two editable text inputs that transliterate or anteliterate depending on which side is edited. It should also have the ability to select input and output.

Mapping overrides don't work in LipikaApp Literator View

Describe the bug
Mapping overrides don't work in LipikaApp Literator View but they work in LipikaIME.

To Reproduce
Steps to reproduce the behavior:

  1. Create some overrides for a given scheme:language combination
  2. Go to Literator view in LipikaApp and try out those new mappings
  3. New mappings do not take effect
  4. Go to LipikaIME and try it out in TextEdit - new mappings take effect

Expected behavior
New mappings should take effect but it does not.

Desktop (please complete the following information):

  • OS: macOS 10.15.7
  • Application: LipikaApp
  • Version: 2.2

Additional context
Need to add overrides here.

Assertion Failure in Mac OS X Yosemite

Hi, I'm trying to run Lipika on Yosemite. It was working fine in Mavericks. I can see this Assertion Failure traceback in the logs.

Oct 17 16:50:38 sanantha-mac LipikaIME[1002]: *** Assertion failure in +[NSRunningApplication runningApplicationsWithBundleIdentifier:], /SourceCache/AppKit/AppKit-1343.14/AppKit
Oct 17 16:50:38 sanantha-mac LipikaIME[1002]: Invalid parameter not satisfying: bundleIdentifier != nil
Oct 17 16:50:38 sanantha-mac LipikaIME[1002]: (
0 CoreFoundation 0x00007fff953e364c exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff95a626de objc_exception_throw + 43
2 CoreFoundation 0x00007fff953e342a +[NSException raise:format:arguments:] + 106
3 Foundation 0x00007fff919ae5b9 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
4 AppKit 0x00007fff908a0d62 +[NSRunningApplication runningApplicationsWithBundleIdentifier:] + 152
5 LipikaIME 0x000000010b0d7a19 -[DJLipikaClientDelegate initWithClient:] + 203
6 LipikaIME 0x000000010b0d960c -[DJLipikaInputController initWithServer:delegate:client:] + 188
7 InputMethodKit 0x000000010b11bf3a -[IMKServer _controllerForClientProxy:withDictKey:] + 119
8 InputMethodKit 0x000000010b11bcae -[IMKServer _controllerForClientXPCConn:] + 474
9 InputMethodKit 0x000000010b112912 __37-[IMKServer activateServerWithReply:]_block_invoke + 419
10 CoreFoundation 0x00007fff9530154c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK
+ 12
11 CoreFoundation 0x00007fff952f3655 __CFRunLoopDoBlocks + 341
12 CoreFoundation 0x00007fff952f3196 __CFRunLoopRun + 1814
13 CoreFoundation 0x00007fff952f2838 CFRunLoopRunSpecific + 296
14 HIToolbox 0x00007fff8ca7b43f RunCurrentEventLoopInMode + 235
15 HIToolbox 0x00007fff8ca7b1ba ReceiveNextEventCommon + 431
16 HIToolbox 0x00007fff8ca7affb _BlockUntilNextEventMatchingListInModeWithFilter + 71
17 AppKit 0x00007fff90896821 _DPSNextEvent + 964
18 AppKit 0x00007fff90895fd0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
19 AppKit 0x00007fff90889f73 -[NSApplication run] + 594
20 LipikaIME 0x000000010b0da32c main + 414
21 libdyld.dylib 0x00007fff979a15c9 start + 1
)

Tried uninstalling and re-installing it in vain.

Use in login screen

**Is your feature request related to a problem? Please describe.*t
I cannot use this on the login or lock screen despite enabling the Show Input menu in login window option in Login Options. I don't know if this is a problem that can be addressed but it would be really helpful. I would like to keep an Indian language login password

Describe the solution you'd like
Currently, I see the default Keyboard selected and a list of other languages but I do not see LipikaIME in the list. Would be great if LipikaIME is shown in the list

Describe alternatives you've considered
None

Additional context
I would like to see LipikaIME in this menu:
Screen Shot 2019-11-21 at 6 05 57 PM

Input without mapping is overwritten in some circumstances

I found this weird issue while testing your suggestion regarding pull request 9. I'm not sure if the issue is in the code or in the schemas. If the latter, I'd still like help :-)

  • Switch to ISO-15919 (also reproducible with IPA)
  • Type the following key-sequence B-a-backspace-i
  • Expected: 'Bi'
  • Actual: 'i'
  • The 'B' seems to be being overwritten when the 'i' is typed. This doesn't happen if instead of the 'B', there was an input which has a mapping in the scheme, like, say 'b'. Typing b-a-backspace-i does result in the expected 'bi'.

Deletion skips some characters while Anteliterating

Describe the bug
With Anteliterating turned on, in TextEdit continuous backspacing skips over a few characters.

To Reproduce
Steps to reproduce the behavior:

  1. With Anteliterating turned on, type a few words into TextEdit
  2. Caret at the end, press and hold backspace
  3. Caret reaches the beginning of the document but some characters remain

Expected behavior
All characters are deleted, no character is left in it wake and when the caret reaches the beginning of the doc, everything is deleted.

Screenshots
deletion-bug

Desktop (please complete the following information):

  • OS: macOS 10.14.6
  • Application: TextEdit
  • Version: 1.14 (341)

Additional context
This only happens when Anteliteration is turned on and output is in client.

Installation of latest package does not complete on High Sierra

Describe the bug
During the installation, the install process seems to hang on "Running package scripts". The package is available in the Applications folder and can be added to the keyboard layout though.

To Reproduce
Steps to reproduce the behavior:

  1. Just try to install on High Sierra Macos

Expected behavior
Installation to be completed fully

Desktop (please complete the following information):

  • OS: 10.13.6
  • Application: None
  • Version: Latest version

zwj & zwnj mappings

Hi Atreya,

May I know which key zwj and zwnj (U+200D & U+200C) are mapped for kannada? Tried figuring out but no quick luck. Hope you can respond quickly on that.

Thanks
Shivu

Strange disappearing characters in GMail

Describe the bug
When composing in GMail, under specific circumstances, characters seem to get inputted but then disappear immediately. Repros in rare circumstances, but deterministically.

To Reproduce
Steps to reproduce the behavior:

  1. Start composing email in GMail. [I tried both inline and modal].
  2. Switch to LipikaIME, Devanagari, ITRANS. [Also repros on Ksharanam].
  3. Type in tAvate upayogAya na to try to input तावते उपयोगाय न.
  4. Notice the disappears.

Screenshots
This shows me trying to type four times, and it disappearing four times.

Screen Recording 2020-07-24 at 14 13 38

Desktop (please complete the following information):

  • OS: macOS 10.15.6
  • Application: Chrome
  • Version: 84.0.4147.89

Additional context
I remember seeing this in 2.1 as well but only finally got a consistent repro in 2.2, so this isn't a regression in 2.2.

If input string is in the popup, hitting enter after word outputs the input string

I'm on the latest release version (how do I find the version info from the installation?)

  • I switched to Lipika, Devanagari (output script doesn't seem to matter).
  • I turned on the setting to render the output-string in the client-window and the input-string in a popup.
  • I then typed in some Indic text (say, the keystrokes that would render the word "लिपिका"), and then hit Enter.

Expected: लिपिका appears in the client window.
Actual: "lipikA" (the input-string) appears in the client window.

v2.0-alpha.1 crashes with SIGILL on 10.14.2

Describe the bug
I tried out the new v2.0-alpha.1 on my Mojave laptop, and could never get it to work. I installed it, and it crashed on first use. See below.

To Reproduce
Steps to reproduce the behavior:

  1. Download https://github.com/ratreya/lipika-ime/releases/download/v2.0-alpha.1/LipikaIME.pkg
  2. Run through installation.
  3. Open Keyboard preferences and add LipikaIME.
  4. Switch to LipikaIME from the system tray.
  5. Switch focus to Chrome window and start typing.

Expected behaviour
Devanagari output.

Actual behaviour
Latin output. And Lipika seems to have crashed. See screenshot below. The following's from system.log
Jan 26 23:28:01 steel com.apple.xpc.launchd[1] (com.daivajnanam.inputmethod.LipikaIME.15900[4259]): Service exited due to SIGILL | sent by exc handler[4259]

Screenshots
screenshot 2019-01-26 at 23 34 19

Desktop:

  • OS: OSX 10.14.2 (18C54)
  • Browser: Chrome 71.0.3578.98

Crash when switching scripts when in Chrome

Attach the crash report
LipikaIME_2019-03-09_steel.crash.zip

What I was doing (not sure if reproducible)

  1. Launch LipikaIME
  2. Select Ksharanam Scheme and ISO-15919 Script
  3. Start typing in Chrome
  4. Try switching to Tamil
  5. Notice output remains in ISO-15919
  6. Go to Console and notice the crash report

Desktop (please complete the following information):

  • macOS 10.14.3
  • Application: Chrome 72.0.3626.12
  • Version: v2.0-alpha.1

Select all and delete does not work

1/ Enable LipikaIME in a document with some text
2/ Select all (⌘-a) and press delete key

Expected: all the selected text is deleted.
Actual: the selection is gone but the text is still there.

Font is frequently automatically changing upon input

When I'm entering the input in Apple's Pages application, the font changes automatically even if the preceding text has the font set. It's automatically setting back to Helvetica, which is the default font in the preview panel.

font_change

However, in my case I've disabled the popups so this shouldn't happen anymore. What can I do in order to fix it?

I'm running this on a 2017 MacBook Air, running macOS Mojave 10.14.1

Newline inbetween marked text

1/ Type something with LipikaIME selected
2/ Move cursor back within marked text to the middle of the word
3/ Press return key

Expected: The marked text prior to the cursor is committed and the remaining moves to the next line as an active session.
Actual: The whole word is committed and there is no way to insert a newline inbetween the word.

Deergha Swaritam

How do you enable deergha swaritha for Vedic swaras?
Thank you!

Sai

Not able to type ಜ಼ and ಫ಼ in Lipika-IME

Hi,

I am not able to type ಜ಼ and ಫ಼ in Lipika-IME.
In ITRANS, the keys used for typing ಜ಼ is za and ಫ಼ is fa. The same doesn't work in Lipika-IME.
Please let me know, if you are providing a different mapping than that of ITRANS or please fix the issue.

Regards,
Narendra

Anteliteration with output in client moves cursor incorrectly

Describe the bug
In TextEdit, type a few words in any language. Press return and create a few new lines. Now move the caret using the back arrow and get it to touch the last word typed. The word is anteliterated but the caret is moved to an incorrect location (ahead of the word).

To Reproduce
Steps to reproduce the behavior:

  1. Go to TextEdit
  2. Type a few words in any language
  3. Press return and add a few new lines
  4. Move the caret backwards using the arrow keys until you reach the last word
  5. The word is anteliterated but the caret moves to an incorrect location

Expected behavior
The last word is anteliterated and the caret remains in the same place.

Desktop (please complete the following information):

  • OS: macOS 10.14.6
  • Application: TextEdit
  • Version: Version 1.14 (341)

Additional context
This only happens with output is going to the client.

Switching application with custom scheme crashes Lipika

  1. Switch to Lipika Input Source from application A
  2. Select a custom scheme
  3. Switch to another application B
  4. LipikaIME crashes with a beep and logs the following:

Fatal: Error initializing. Unable to read file "/Library/Input Methods/LipikaIME.app/Contents/Resources/Schemes/Google/ITRANS.scm" due to: Error Domain=NSCocoaErrorDomain Code=260 "The file “ITRANS.scm” couldn’t be opened because there is no such file." UserInfo=0x600000266ac0 {NSFilePath=/Library/Input Methods/LipikaIME.app/Contents/Resources/Schemes/Google/ITRANS.scm, NSUnderlyingError=0x60000045e420 "The operation couldn’t be completed. No such file or directory"}

LipikaIME disappears after every reboot

After installation, i can use it by changing the Input source icon on the menu bar. However, once i restart, i can no longer see LipikaIME as an option.
Using Mac Mavericks on iMac.

Needs update for macOS Big Sur

I'd love to use this on my Mac with macOS 11.1 (Big Sur) but when trying to run the installer I get an error as shown in the attached screenshot.
Screen Shot 2021-01-13 at 20 16 58

Lipika is not showing Harvard-Kyoto as input

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

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.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. macOS 10.14.3]
  • Application: [e.g. textedit, safari]
  • Version: [e.g. 2.2]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Application: [e.g. whatsapp, imessage]
  • Version: [e.g. 2.1]

Additional context
Add any other context about the problem here.

Keyboard shortcut for switching scripts

Is your feature request related to a problem? Please describe.
I use LipikaIME for multiple scripts (Tamil, Grantha, ISO-15919, etc.), and switch scripts often mid-sentence, especially when writing in Manipravalam.

Describe the solution you'd like
Would love a keyboard shortcut to switch scripts.

Suggestion bar

I have pretty decent Kannada dictionary in hunspell format. Is it possible to add this dictionary for suggestion list in this keyboard?

When I use this keyboard, there is a dropdown menu, which shows suggestions. But this is limited to one word.

Unable to use Lipika on MacOS 10.15.7

Describe the bug
Switching to Lipika shows an error message on MacOS 10.15.7 with text that "LipikaIME" will damage your computer.

To Reproduce
Steps to reproduce the behavior:

  1. Install Lipika from the provided installer
  2. Follow the instructions on the wiki to install.
  3. See error upon switching input source.

Screenshots
Screen Shot 2020-10-26 at 2 15 50 PM

Desktop (please complete the following information):

  • OS: macOS 10.15.7
  • Version: 2.2

Change of output script does not always take effect on other apps

I don't know if this by-design for OS X.

  1. Launch 2 apps, say Terminal and Chrome.
  2. While Terminal has focus, switch to Lipika as the IME. Let's say Devanagari is the selected output script.
  3. Start typing in Terminal; observe Devanagari.
  4. Switch to Chrome.
  5. Go to Lipika and change the output script to, say, Tamil.
  6. Switch back to Terminal.
  7. Start typing.

Expected: Tamil output
Actual: Devanagari output

Loss of focus results in Latin text, not text in the target script

Seems to be a Chrome 69 or a Mojave regression? I upgraded to Mojave at the same time I upgraded to Chrome 69.

  1. Launch Chrome
  2. Switch to Ksharanam, Tamil in Lipika
  3. Type "tamiz" in the URL bar
  4. Switch focus to elsewhere (either cmd+Tab or simply clicking somewhere else)

Expected: "தமிழ்" in the URL bar.
Actual: "tamiz" in the URL bar.

Does not repro in TextEdit.

Existing adjoining word deletion

1/ Type something outside LipikaIME
2/ Move the cursor to the end of any word
3/ Switch to LipikaIME
4/ Type something in LipikaIME

Expected: The existing word is converted to an active session and new typing is appended to it.
Actual: The existing word is replaced by the new typing.

Unifying LA across scripts

I recently observed that the only way to input the Tamil consonant ல் in LipikaIME is to switch to Ksharanam transliteration and type Ll or lL. I thought it was strange that a consonant should only be accessible in one transliteration scheme, so I did some further research.

  • The source of the Ksharanam transliteration scheme is here. The different inputs for Tamil ல் and Devanāgarī ल् appear to stem partially from differences in Sanskrit and Tamil pronunciation, and partially from the author's mistaken interpretation of ISO 15919, which prescribes different representations for these consonants than are given in the tables (e.g. the author gives for Tamil ல், when ISO 15919 uses it for ழ instead).
  • One might expect l to produce ல் when typing Tamil in Baraha transliteration; Baraha's documentation indicates that this is the correct way to type ல் using their input method. Despite this, typing la with LipikaIME set to Baraha > Tamil instead produces lஅ, a Latin letter followed by a Tamil vowel.
  • When typing Kannada and Telugu, Dravidian languages with phonologies resembling that of Tamil, typing la in, say, Baraha, produces the expected output. For example, la in Baraha > Telugu produces ల, not lఅ (as could be expected based on the Tamil behavior).

Is there some other reason to single out ல as "LLLLA" in the input schemes? From what I can tell, it's only used for Tamil, and is superfluous; instead, "LA" should be mapped to ல in Tamil.

Crash on TextEdit termination

Attach the crash report
LipikaIME_2019-03-10-193157_MacBook-Pro-Work.txt

To Reproduce
Steps to reproduce the behavior:

  1. Select default configuration
  2. Open TextEdit with LipikaIME enabled
  3. Type something
  4. Quit TextEdit
  5. In the Save Dialog, type something using LipikaIME and hit Delete

Desktop (please complete the following information):

  • OS: macOS 10.14.3
  • Application: TextEdit
  • Version: LipikaIME v2.0

Additional context
This only happens when reverse transliteration settings are enabled.

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.