Coder Social home page Coder Social logo

line's Introduction

LINE

Join the chat at https://gitter.im/carpedm20/LINE

May the LINE be with you...

Update

2015.05.28

sendImage and sendImageWithURL is fixed.

To send an Image:

>>> contact = client.contacts[0]
>>> contact.sendImage('./image.jpg')

Or use:

>>> contact = client.contacts[0]
>>> contact.sendImageWithURL('https://avatars3.githubusercontent.com/u/3346407?v=3&s=460')

2015.03.31

authToken expiration issue solved.

update authToken automatically:

$ pip install line --upgrade

There is nothing to change in your original code.

update authToken manually:

$ pip install line --upgrade
$ python
>>> from line import LineClient, LineGroup, LineContact
>>> client = LineClient("ID", "PASSWORD")
>>> client.updateAuthToken() # manual update
True

2014.08.08

Some codes are removed because of the request of LINE corporation. You can use library only with authToken login.

Screenshot

alt_tag

Author

Taehoon Kim / @carpedm20

line's People

Contributors

carpedm20 avatar cjltsod avatar clifflin avatar clyang avatar cybai avatar dtzwill avatar gitter-badger avatar mrswiss avatar nengoz avatar samsam2310 avatar sh1ma avatar shinznatkid avatar turfaa avatar v123582 avatar wuboy0307 avatar zachary822 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  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

line's Issues

KeyError 14 when receiving file.

When someone sending file where bot lives will cause unexcept error KeyError: 14

  File "models.py", line 49, in __repr__
    raise e
KeyError: 14

Here's my fix

    def __repr__(self):
        try:
            ContentTypeText = ContentType._VALUES_TO_NAMES[self.contentType]
        except KeyError:
            print "*** Unknow Content Type", self.contentType
            ContentTypeText = self.contentType
        return 'LineMessage (contentType=%s, sender=%s, receiver=%s, msg="%s")' % (
                    ContentTypeText,
                    self.sender,
                    self.receiver,
                    self.text
                )

Login issue

Hello there,

I just got my never account. And when I login with the code here I got 'Account ID or password is invalid' error, but I do see a record said "signed in" my sing-in log at NAVER dashbroad. Any idea?

who use??

for op in client.longPoll():

It anything other than the use ?

Login Failed

After rebooting the bot, this occur login error at login.
Last rebooting is 2 month ago.

I guess some problem in "SESSION_LINE".

Traceback (most recent call last):
  File "token.py", line 2, in <module>
    client = LineClient("[email protected]", "password")
  File "/home/isair/private/LINE/line/client.py", line 88, in __init__
    self.login()
  File "/home/isair/private/LINE/line/api.py", line 101, in login
    j = self._get_json(self.LINE_SESSION_LINE_URL)
  File "/home/isair/private/LINE/line/api.py", line 348, in _get_json
    return json.loads(self._session.get(url, headers=self._headers).text)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 412, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))

LINE end-to-end encryption issue

I'm not sure but seem some contact that has end-to-end encryption send message to this application will get text=None
So, I'm investigating to deep thrift and found in thrift ttypes file.
That class Message has new unknown attribute when encrypted contact has message.
(new type fid=20 is List of String)
I'm stuck here and cannot decrypt that message. :(

If anybody has same issue or any solution plz advise.

Thankyou.

Does this still work for anyone?

Everywhere I see, the moment you log in, you're banned for 24 hours. I've been trying to reverse engineer the Chrome app, but it's so overly complicated it's just not worth the time and trouble.

Push/Pull for _fetchOperations

I've capture traffic and found that longPoll function use the _fetchOperations which is using _client:

api.py
self._client.fetchOperations(revision, count)

This _client is based on non-blocking pull endpoint which result in excessive uses of data
so I've changed to

api.py
return self._client_in.fetchOperations(revision, count)

which still receives event and not use too many calls and seem much faster, but this method is blocking.

I'm not sure if we should have two modes (blocking via _client_in and non-blocking via _client) or not.

AttributeError: 'NoneType' object has no attribute 'read'

Traceback (most recent call last):
File "echobot.py", line 34, in
for op in client.longPoll():
File "/usr/local/lib/python2.7/dist-packages/line-0.4.1-py2.7.egg/line/client.py", line 504, in longPoll
operations = self._fetchOperations(self.revision, count)
File "/usr/local/lib/python2.7/dist-packages/line-0.4.1-py2.7.egg/line/api.py", line 308, in _fetchOperations
return self._client.fetchOperations(revision, count)
File "/usr/local/lib/python2.7/dist-packages/curve-0.1.0-py2.7.egg/curve/CurveThrift.py", line 483, in fetchOperations
return self.recv_fetchOperations()
File "/usr/local/lib/python2.7/dist-packages/curve-0.1.0-py2.7.egg/curve/CurveThrift.py", line 495, in recv_fetchOperations
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
File "/usr/local/lib/python2.7/dist-packages/thrift-0.9.1-py2.7.egg/thrift/protocol/TCompactProtocol.py", line 308, in readMessageBegin
proto_id = self.__readUByte()
File "/usr/local/lib/python2.7/dist-packages/thrift-0.9.1-py2.7.egg/thrift/protocol/TCompactProtocol.py", line 287, in __readUByte
result, = unpack('!B', self.trans.readAll(1))
File "/usr/local/lib/python2.7/dist-packages/thrift-0.9.1-py2.7.egg/thrift/transport/TTransport.py", line 58, in readAll
chunk = self.read(sz - have)
File "/usr/local/lib/python2.7/dist-packages/thrift-0.9.1-py2.7.egg/thrift/transport/THttpClient.py", line 97, in read
return self.__http.file.read(sz)
AttributeError: 'NoneType' object has no attribute 'read'

Line 34 echobot.py is

while True:
    op_list = []

>>>    for op in client.longPoll():
        op_list.append(op)

Authentication fault exceeded

When i login to LINE, i got a message Authentication fault exceeded. Could you tell me what's wrong with my account?

line login erorr

As for the version of LINE for Mac which is going to log in, support is finished now.
Please update LINE in the most recent version.

You input to the address bar of the update method browser of LINE for Mac with "http ://m e2.do/5uXxVIxR" or search LINE by iTunes, and please download the most recent version.

After having updated it in the most recent version, please try LIN E for Chrome when you cannot start LINE.

http://me2.do/5Qq0ZU3g

Can not Login again

The first login, I can get PIN code.
I can login success, but wait two minutes.
Server throw logout, and banned IP.
After changing the IP. I login again.
Can get PIN code, but can not login success.
My Line account banned.
Use official software,also can not login.
I have to wait for 24 hours. I can login again in the computer.

How do I get authToken?

    clinet = LineClient('*********', '*******')
    Enter PinCode '3793' to your mobile phone in 2 minutes
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Users/master/.virtualenvs/dsmk3/lib/python2.7/site-packages/line/client.py", line 79, in __init__
        self.login()
      File "/Users/master/.virtualenvs/dsmk3/lib/python2.7/site-packages/line/api.py", line 98, in login
        raise Exception("Code is removed because of the request of LINE corporation")
    Exception: Code is removed because of the request of LINE corporation

I cannot init with id/pw. It means I can't get authToken.
How do I get authToken?

Download picture/video from Line Official Account

First of all thank you for wonderful line python library. I got it working and it works great.
However I really want to download all picture/video from several Official Account.
Is it possible with current version?

LINE Messages Delayed

Hello, I want to ask why my messages when sending using the code delayed?And sometimes when I`m opening the chat from my tablet the messages instantly sent. :O

I'm using client.contacts[53].sendMessage("ABCD ZYX 5") to sent the messages

For info, the messages timestamp when received is the time when I'm sending the messages but the actual time needed to received the messages was longer than that.. about 7 minutes in my second experiment

loginWithVerifierForCertificate failed [Login]

Today Line change somethings about certificate.

File "line/client.py", line 88, in init
self.login()
File "line/api.py", line 147, in login
msg = self._client.loginWithVerifierForCertificate(self.verifier)

thrift.Thrift.TApplicationException: loginWithVerifierForCertificate failed: unknown result

How can i fix it?

Thank you

Get profile avatar

In object contact i saw some keys related with picture and had value such as: picturePath, pictureStatus. How can i get profile avatar? Could you give me some suggestion? :)

Cant reply message when the sender is line user who has no User ID.

Here is my code for reply message with the sender's name.

while True:
    op_list = []

    for op in client.longPoll():
        sender  = op[0]
        receiver = op[1]
        message  = op[2]

        print "sender = %s" % (sender)
        print "receiver = %s" % (receiver)
        print "message.text = %s" % (message.text)

        sender.sendMessage("[%s]: %s" % (sender.name, message.text))

    time.sleep(5);

I test to my spare line accounts. The one with Line User ID is work perfectly, but error with another one that has no Line User ID like this

sender = None
receiver = <LineContact blankblankblank>
message.text = test
Traceback (most recent call last):
    File "hello.py", line 32, in <module>
        sender.sendMessage("[%s]: %s" % (sender.name, message.text))
AttributeError: 'NoneType' object has no attribute 'sendMessage'

Message is not going until I send a new message on my phone

When I send a message with this API,
the message only shown in my LINE app on my phone.

Then if I send another message to the one I tried to send with the API,
at the time the old messages are sent simultaneously with the new message.

hmm weird.

Implement sendChatChecked (mark as read)

I found a way to implement sendChatChecked method with LINE thrift while making a bot. (It's not python, https://github.com/ssut/llama)
Since you may know, there is a method which marks a message as read.

Here are the details as follows:

In thrift file:
(I think you've removed this shortcode from the origin or not. for what it's worth, you have to update the curve package for implementing.)

...
    void sendChatChecked(
        1: i32 seq,
        2: string consumer,
        3: string lastMessageId) throws(1: TalkException e);
...

In a python code:

def _sendChatChecked(self, target, msgid, seq=0):
    return self._client.sendChatChecked(seq, target, msgid)

Just as the above code shown, it requires 2 parameters:

  • The target to send it's read confirmation.
  • The msgid as we can suggest by its name, message.id.

The target becomes a reference to the interlocutor, which can be a "room", a "group" or a "user", for instance, If the chat room's ToType is a GROUP or a ROOM then it becomes a message.to.

Good luck to implement that support for developers who use this library! 👍
BTW, can I write any issues in Korean next time? :p (just, All issues written in English.)

longPoll() Problem

I made an echo bot using by client.longPoll() function, but I just got an "account banned" in a few minute.

EOFError after using ._fetchOperations

i've got this error message after trying to use ._fetchOperations(me.revision,50)

My code snip >>

me = LineClient(authToken='xxxxxxxxxxx')
ops = me._fetchOperations(me.revision,50)
for op in ops:
if op.type==OT.END_OF_OPERATION:
pass
else:
print "[*] %s" %OT._VALUES_TO_NAMES[op.type]
me.revision = max(op.revision, me.revision)

Error >>

Traceback (most recent call last):
File "./LineNotification.py", line 22, in
ops = me._fetchOperations(me.revision,50)
File "/usr/local/lib/python2.7/site-packages/line/api.py", line 274, in _fetchOperations
return self._client.fetchOperations(revision, count)
File "/usr/local/lib/python2.7/site-packages/curve/CurveThrift.py", line 483, in fetchOperations
return self.recv_fetchOperations()
File "/usr/local/lib/python2.7/site-packages/curve/CurveThrift.py", line 495, in recv_fetchOperations
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
File "/usr/local/lib/python2.7/site-packages/thrift/protocol/TCompactProtocol.py", line 310, in readMessageBegin
proto_id = self.__readUByte()
File "/usr/local/lib/python2.7/site-packages/thrift/protocol/TCompactProtocol.py", line 289, in __readUByte
result, = unpack('!B', self.trans.readAll(1))
File "/usr/local/lib/python2.7/site-packages/thrift/transport/TTransport.py", line 63, in readAll
raise EOFError()
EOFError

getRecenetMessages returns sender "None"

LineMessage (contentType=NONE, sender=None, receiver=<LineGroup Group Name #51>, msg="Ez fite ez life")

This appears to be related to the person in the group being added as a contact or not.

Find contact by phone

Is it possible to search for a user by phone number?
In the code, there is a method (_findAndAddContactByPhone(phone="xxxxx")), but when using it gives an error.
Do I understand correctly that this is not possible at all?

Lost connection in longPoll

This error sometimes occur every 10 minutes, but sometime connection last many hours.

Traceback (most recent call last):
File "echobot.py", line 30, in
for op in client.longPoll():
File "/usr/local/lib/python2.7/dist-packages/line-0.1.8-py2.7.egg/line/client.py", line 379, in longPoll
operations = self._fetchOperations(self.revision, count)
File "/usr/local/lib/python2.7/dist-packages/line-0.1.8-py2.7.egg/line/api.py", line 255, in _fetchOperations
return self._client.fetchOperations(revision, count)
File "/usr/local/lib/python2.7/dist-packages/curve-0.1.0-py2.7.egg/curve/CurveThrift.py", line 482, in fetchOperations
self.send_fetchOperations(localRev, count)
File "/usr/local/lib/python2.7/dist-packages/curve-0.1.0-py2.7.egg/curve/CurveThrift.py", line 492, in send_fetchOperations
self._oprot.trans.flush()
File "/usr/local/lib/python2.7/dist-packages/thrift-0.9.1-py2.7.egg/thrift/transport/THttpClient.py", line 106, in _f
result = f(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/thrift-0.9.1-py2.7.egg/thrift/transport/THttpClient.py", line 139, in flush
self.__http.endheaders()
File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 791, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 772, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known

Exception - Bad protocol id in the message: 83

I got a unknown Bad protocol id in the message: 83 exception.
This is my code :
https://github.com/NitroXenon/feed2line/blob/master/feed2line.py

If I call sendToLine separately to test, message will be sent to all of my contacts.
But if I call sendToLine in a loop, it throws a exception.
Any ide?

Exception log :

Traceback (most recent call last):
  File "feed2line.py", line 48, in <module>
    checkFeed();
  File "feed2line.py", line 42, in checkFeed
    sendToLine(newest,feed['entries'][0]['link'])
  File "feed2line.py", line 27, in sendToLine
    c.sendMessage("在小N的3C研究所發表的新文章 - " + title + " : " + link)
  File "/usr/local/lib/python2.7/dist-packages/line/client.py", line 80, in sendMessage
    raise e
thrift.protocol.TProtocol.TProtocolException: Bad protocol id in the message: 83

Retrieving full size image from LineMessage?

This is a copy from : https://groups.google.com/forum/#!topic/line-python-developer/6VyNAYu5ASI

Hi, I'm not really fond of python so I'm sorry if this question is quite dense.

So I tried retrieving the message, I got:
LineMessage (contentType=IMAGE, sender=, receiver=<LineGroup group_name #2>, msg="")

from models.py I found out the properties from LineMessage
self._client
self._message
self.id
self.text
self.hasContent
self.contentType
self.contentPreview
self.contentMetadata
self.sender
self.receiver
self.toType
self.createdTime

message.text will return as "" (empty)
message.contentMetadata will return {'seq': '14'}, which I'm not sure as well what is this about
message.contentPreview will return the image preview.

I tried looking here then http://altrepo.eu/git/line-protocol/blob/master/line-protocol.md for the library used by Kim (the Author)

contentMetadata map with the following keys:
PREVIEW_URL = absolute URL for preview image
DOWNLOAD_URL = absolute URL for full-size image
PUBLIC = "TRUE" (haven't seen other values)
but from message.contentMetadata I can't find any of these (perhaps the protocol was altered?)

Any idea on how do I get the full size image from LineMessage?
Thanks a lot :)

It doesn't work login()

line = LineClient('id','pswd')
Enter pincode XXXX to your mobile phone in 2 minutes.

and raise up Exception("Code is removed because of the request of LINE corporation")

List index out of range

Using the latest version of the API I get a list error, please take a look at it

Can't paste the code in here for some reason

PASTEBIN link: http://pastebin.com/g4FzftK8

What am I doing wrong and how can I fix this?
Please help me lol

Group message

How can I check if that message come from a group chat

Init LineClient failed

I'm trying to init a LineClient, but it will failed.

>>> from line import LineClient
>>> client = LineClient("[email protected]", "xxxxxxxx")
Enter PinCode '7566' to your mobile phone in 2 minutes
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/line-0.2.2-py2.7.egg/line/client.py", line 82, in __init__
    self.revision = self._getLastOpRevision()
  File "/usr/local/lib/python2.7/dist-packages/line-0.2.2-py2.7.egg/line/api.py", line 220, in _getLastOpRevision
    return self._client.getLastOpRevision()
  File "/usr/local/lib/python2.7/dist-packages/curve-0.1.0-py2.7.egg/curve/CurveThrift.py", line 512, in getLastOpRevision
    return self.recv_getLastOpRevision()
  File "/usr/local/lib/python2.7/dist-packages/curve-0.1.0-py2.7.egg/curve/CurveThrift.py", line 534, in recv_getLastOpRevision
    raise result.e
curve.ttypes.TalkException: TalkException(parameterMap=None, reason='Authentication Failed.', code=1)

I try to get authToken when I enter the Pincode, but the client is not defined.

>>> print client.authToken
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'client' is not defined
>>>

REVOKE Access while login using authentication token

So i got this error when i try to login with authentication token. The error showing up like this :

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "line/client.py", line 321, in __init__
    self.revision = self._getLastOpRevision()
  File "line/client.py", line 609, in _getLastOpRevision
    return self._client.getLastOpRevision()
  File "/Library/Python/2.7/site-packages/curve/CurveThrift.py", line 512, in getLastOpRevision
    return self.recv_getLastOpRevision()
  File "/Library/Python/2.7/site-packages/curve/CurveThrift.py", line 534, in recv_getLastOpRevision
    raise result.e
curve.ttypes.TalkException: TalkException(parameterMap=None, reason='REVOKE', code=8)

Do you know how to handle this error message? Thanks in advance.

httplib.ReponseNotReady error from longPoll()

Hi all,
I got this ResponseNotReady error after i send message using:
client.getContactById().sendMessage()

The other user manage to receive the msg, however i will get this error from client.longPoll()
screen shot 2015-05-27 at 2 12 17 pm

I'm using the same set of codes from my other bot which is working fine and without any issues.
I'm not sure if the error occurs when 2 LINE account is logged in the same pc, but seperate terminal window...

JSON ValueError when login

>>> import line
>>> client = line.LineClient('<ID>', '<password>')
Enter PinCode 'None' to your mobile phone in 2 minutes
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "line/client.py", line 78, in __init__
    self.login()
  File "line/api.py", line 91, in login
    j = self._get_json(self.LINE_CERTIFICATE_URL)
  File "line/api.py", line 250, in _get_json
    return json.loads(self._session.get(url, headers=self._headers).text)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 383, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

re-type pin code with certificate

While I login on some device first time success, I can get a certificate.
After this, I can use certificate to login without type pin code again.
But I got a strange scenario. Sometimes I need to type pin code again even I have certificate.
Does anyone have such situation? Is there any solution for this?
Thank you.

Spelling errors

Hello,
at LINE/docs/index.rst
"alow", maybe is mean "allow" ?
Thanks!

How to setup argument in loginWithIdentityCredentialForCertificate()

Hi, I have a scenario.
I will have many robots on different pcs in a intranet, and each pcs have its own virtual ip address.

  1. How to setup argument ip, computer name in loginWithIdentityCredentialForCertificate() in each robots?
  2. How LINE identify each robots?
    Thank you.

still working?

Hi Sir, I installed apache thrift 0.9.2 and line package on my mac. It looked like everything installed correctly, but I cannot make the simple login work.

from line import LineClient
c = LineClient("[email protected]", "xxxxxx")
Enter PinCode '8811' to your mobile phone in 2 minutes
Traceback (most recent call last):
File "", line 1, in
File "/Library/Python/2.7/site-packages/line/client.py", line 81, in init
self.login()
File "/Library/Python/2.7/site-packages/line/api.py", line 113, in login
raise Exception("Code is removed because of the request of LINE corporation")
Exception: Code is removed because of the request of LINE corporation

invited to no people group

client.refreshGroups()
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python2.7/site-packages/line/client.py", line 148, in refreshGroups
self.addGroupsWithIds(self._getGroupIdsInvited(), False)
File "/usr/lib/python2.7/site-packages/line/client.py", line 156, in addGroupsWithIds
self.groups.append(LineGroup(self, group, is_joined))
File "/usr/lib/python2.7/site-packages/line/models.py", line 202, in init
for member in group.members:
TypeError: 'NoneType' object is not iterable

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.