Code Monkey home page Code Monkey logo

xdcc-dl's Introduction

XDCC Downloader

master develop
build status build status

Logo

An XDCC File downloader based on the irclib framework.

Installation

Either install the program using pip install xdcc-dl or python setup.py install

Please not that python 2 is no longer supported, the project requires python 3 to run.

Usage

Message-based CLI

XDCC Packlists usually list xdcc commands in the following form:

/msg <BOTNAME> xdcc send #<PACKNUMBER>

By supplying this message as a positional parameter, the pack can be downloaded.

Examples:

# This is the xdcc message:  '/msg the_bot xdcc send #1'

# This command downloads pack 1 from the_bot
$ xdcc-dl "/msg the_bot xdcc send #1"

# It's possible to download a range of packs (1-10 in this case):
$ xdcc-dl "/msg the_bot xdcc send #1-10"

# Range stepping is also possible:
$ xdcc-dl "/msg the_bot xdcc send #1-10;2"
# (This will download packs 1,3,5,7,9)

# Explicitly specifying the packs to download as a comma-separated list:
$ xdcc-dl "/msg the_bot xdcc send #1,2,5,8"
# (This will download packs 1,2,5,8)

# you can also specify the destination file or directory:
$ xdcc-dl "/msg the_bot xdcc send #1" -o /home/user/Downloads/test.txt

# if the bot is on a different server than irc.rizon.net, a server
# has to be specified:
$ xdcc-dl "/msg the_bot xdcc send #1" --server irc.freenode.org

# To specify different levels of verbosity, pass the `--verbose` or
# `--quiet` flag
$ xdcc-dl -v ...
$ xdcc-dl -q ...

As a library:

xdcc-dl is built to be used as a library for use in other projects. To make use of the XDCC downloader in your application, you will first need to create a list of XDCCPack objects.

This can be done manually using the constructor, the XDCCPack.from_xdcc_message class method or by using an XDCC Search Engine

Once this list of XDCCPacks is created, use the download_packs function in the xdcc module.

An example on how to use the library is listed below:

from xdcc_dl.xdcc import download_packs
from xdcc_dl.pack_search import SearchEngines
from xdcc_dl.entities import XDCCPack, IrcServer

# Generate packs
manual = XDCCPack(IrcServer("irc.rizon.net"), "bot", 1)
from_message = XDCCPack.from_xdcc_message("/msg bot xdcc send #2-10")
search_results = SearchEngines.SUBSPLEASE.value.search("Test")
combined = [manual] + from_message + search_results

# Start download
download_packs(combined)

Projects using xdcc-dl

Further Information

xdcc-dl's People

Contributors

namboy94 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

Watchers

 avatar  avatar  avatar  avatar

xdcc-dl's Issues

Download speed slow

The transfer rate of downloads never exceed 50mbit for me no matter which bot I tried.
Tested on two different ubuntu machines in 2 different locations and same results.

Is there some hidden download rate limit?

With this similar project https://github.com/c01eman/xdccget I easily get 800mbit+ download speed on the same machines.

But I would rather use yours.

I keep getting the DownloadIncomplete Exception

I was experimenting with this package but I can seem to make it work for example I tried to download some random pack from HorribleSubs using this code:
`from xdcc_dl.xdcc import download_packs
from xdcc_dl.pack_search import SearchEngines
from xdcc_dl.entities import XDCCPack, IrcServer

search_results = [XDCCPack(IrcServer("irc.rizon.net"), "Ginpachi-Sensei", 7877)]

print(download_packs(search_results))`

and I kept getting this error

`C:\Users\Abdulla060\PycharmProjects\XDCC\venv\Scripts\python.exe C:/Users/Abdulla060/PycharmProjects/XDCC/main.py
Traceback (most recent call last):
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\xdcc_dl\xdcc\XDCCClient.py", line 114, in download
self.start()
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 1196, in start
self.reactor.process_forever()
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 842, in process_forever
consume(infinite_call(one))
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\more_itertools\recipes.py", line 137, in consume
deque(iterator, maxlen=0)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\jaraco\itertools.py", line 416, in
return (f() for _ in itertools.repeat(None))
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 823, in process_once
self.process_data(in_)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 787, in process_data
conn.process_data()
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 1079, in process_data
self.reactor._handle_event(self, event)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 919, in _handle_event
result = handler.callback(connection, event)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 1153, in _dispatcher
method(connection, event)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\xdcc_dl\xdcc\XDCCClient.py", line 306, in on_dccmsg
end="\r", back=Back.LIGHTYELLOW_EX, fore=Fore.BLACK)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\xdcc_dl\logging\Logger.py", line 128, in print
self.log(message, None, back, fore, end)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\xdcc_dl\logging\Logger.py", line 63, in log
rows, columns = check_output(['stty', 'size']).split()
File "C:\Users\Abdulla060\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 395, in check_output
**kwargs).stdout
File "C:\Users\Abdulla060\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 472, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Users\Abdulla060\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 775, in init
restore_signals, start_new_session)
File "C:\Users\Abdulla060\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:/Users/Abdulla060/PycharmProjects/XDCC/main.py", line 10, in
print(download_packs(search_results))
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\xdcc_dl\xdcc_init_.py", line 34, in download_packs
client.download()
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\xdcc_dl\xdcc\XDCCClient.py", line 133, in download
self._disconnect()
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\xdcc_dl\xdcc\XDCCClient.py", line 381, in _disconnect
self.connection.reactor.disconnect_all()
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 848, in disconnect_all
conn.disconnect(message)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 1024, in disconnect
Event("dcc_disconnect", self.peeraddress, "", [message]))
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 919, in _handle_event
result = handler.callback(connection, event)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\irc\client.py", line 1153, in _dispatcher
method(connection, event)
File "C:\Users\Abdulla060\PycharmProjects\XDCC\venv\lib\site-packages\xdcc_dl\xdcc\XDCCClient.py", line 326, in on_dcc_disconnect
raise DownloadIncomplete()
xdcc_dl.xdcc.exceptions.DownloadIncomplete

Process finished with exit code 1
`

In xdcc-search, show more info when something is found and add a timeout to xdcc-dl.

I used xdcc-search "string" ixirc and received:

2019-02-22 00:27 file.rar (/msg BOT xdcc send #NUMBER)

So I tried to used xdcc-dl and only got a hanging terminal. Set --verbose and got stuck at:

[2019-23-02:03-46-37] Download Limit set to: "unlimited"
[2019-23-02:03-46-37] Connecting to irc.rizon.net:6667
[2019-23-02:03-46-38] Connected to server
[2019-23-02:03-46-38] CTCP Message: ['VERSION']
[2019-23-02:03-46-38] WHOIS End

When searching directly on the browser, https://ixirc.com/?q=string:

Name | Network | Channel | User | Number | Gets | Size | Posted | Last Activity
-- | -- | -- | -- | -- | -- | -- | -- | --
2019-02-22 00:27 file.rar | Undernet | #Channel | BOT | 112 | 8 | 136 MB | 1 day ago | 15 min ago

So, in this specific case, I changed the xdcc-dl adding --server irc.undernet.org as a parameter and it downloaded flawlessly. IMHO all the info as in https://ixirc.com, if possible, should be added to the results in xdcc-dl, the download was only possible because I knew the server that was only shown on the browser.

Another suggestion: if possible, add a timeout as well to the command.

Thanks for making this project. I was looking for something exactly like this (the xdcc-search is really the icying on the cake I wasn't even expecting).

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

I've no idea how to provide more info than the message itself. This happens after 30sec after receiving a package. By the amount of messages flying through the cli, it seems this happens to each thread:

Exception in thread Thread-29789:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/home/splifter/.local/lib/python3.7/site-packages/sentry_sdk/integrations/threading.py", line 69, in run
    reraise(*_capture_exception())
  File "/home/splifter/.local/lib/python3.7/site-packages/sentry_sdk/_compat.py", line 57, in reraise
    raise value
  File "/home/splifter/.local/lib/python3.7/site-packages/sentry_sdk/integrations/threading.py", line 67, in run
    return old_run_func(self, *a, **kw)
  File "/usr/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/home/splifter/.local/lib/python3.7/site-packages/xdcc_dl/xdcc/XDCCClient.py", line 527, in acker
    self.xdcc_connection.socket.send(payload)
AttributeError: 'NoneType' object has no attribute 'send'

search is broken

Hey, just wanted to report that the search for xdcc-dl is currently broken. Error says:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/nix/store/cwxxbpfz2i2j34f3sgmd6vdl6wv98c2s-python3-3.6.4/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/nix/store/cwxxbpfz2i2j34f3sgmd6vdl6wv98c2s-python3-3.6.4/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/nix/store/psfn0vz316qdgqk68v09m87hrijb7p8w-python3.6-xdcc-dl-2.1.0/lib/python3.6/site-packages/xdcc_dl/gui/XDCCDownloaderGui.py", line 128, in search_thread
    self.search_results = searcher.search(search_term)
  File "/nix/store/psfn0vz316qdgqk68v09m87hrijb7p8w-python3.6-xdcc-dl-2.1.0/lib/python3.6/site-packages/xdcc_dl/pack_searchers/PackSearcher.py", line 72, in search
    results += procedure(search_phrase)
  File "/nix/store/psfn0vz316qdgqk68v09m87hrijb7p8w-python3.6-xdcc-dl-2.1.0/lib/python3.6/site-packages/xdcc_dl/pack_searchers/procedures/namibsun.py", line 38, in find_namibsun_packs
    "http://irc.namibsun.net:8000").text, "html.parser"
  File "/nix/store/2sii333r0xqz1cwinq88rdalqw5smjdk-python3.6-requests-2.18.4/lib/python3.6/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/nix/store/2sii333r0xqz1cwinq88rdalqw5smjdk-python3.6-requests-2.18.4/lib/python3.6/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/nix/store/2sii333r0xqz1cwinq88rdalqw5smjdk-python3.6-requests-2.18.4/lib/python3.6/site-packages/requests/sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "/nix/store/2sii333r0xqz1cwinq88rdalqw5smjdk-python3.6-requests-2.18.4/lib/python3.6/site-packages/requests/sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "/nix/store/2sii333r0xqz1cwinq88rdalqw5smjdk-python3.6-requests-2.18.4/lib/python3.6/site-packages/requests/adapters.py", line 490, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))

I checked and indeed http://irc.namibsun.net:8000 seems to be down. http://irc.namibsun.net redirects to some german soccer betting website.

Explicitly setting search provider to nibl works however.

Thanks for your work on xdcc-dl!

Cannot use?

I tried typing commands, but dosen't work. Help?

Failure to join channels seems to hang xdcc-dl

I'm trying to use this to download some stuff from http://koe.anime-sharing.com/Packlist/. However, the whois fails to find any channels (I don't know why, /whois AS|Sena in MIRC finds channels just fine) so the xdcc requests don't go out.
I did a (tiny) bit of investigation and found that on_join saw that event.source was not the username so it didn't start the download. I hacked around this by changing on_endofwhois and adding "_.source = self.user.get_name()" before "self.on_join(conn, _)", but this doesn't seem like a good solution overall.
Also, I sometimes see xdcc-dl just hang and do nothing. I have no clue why (or what the trigger is) though.

Here are the pip modules (and versions) that I have installed:
beautifulsoup4 4.6.3
bs4 0.0.1
certifi 2018.11.29
cfscrape 1.9.5
chardet 3.0.4
colorama 0.4.1
idna 2.8
inflect 2.1.0
irc 17.0
jaraco.classes 1.5
jaraco.collections 1.6.0
jaraco.functools 1.20
jaraco.itertools 3.0.0
jaraco.logging 1.5.2
jaraco.stream 1.2
jaraco.text 1.10.1
more-itertools 4.3.0
pip 19.0.3
pytz 2018.7
requests 2.21.0
setuptools 40.6.3
six 1.12.0
tempora 1.14
typing 3.6.6
urllib3 1.24.1
wheel 0.32.3
xdcc-dl 3.1.0

Unrecoverable error on rizon download

Hi, when trying to use xdcc-dl on the default channel I've been experiencing an error message since yesterday.
My setup hasn't changed, and I sadly have no idea on how to debug it properly.

Here is the verbose output

$ xdcc-dl "/msg CR-ARUTHA|NEW xdcc send #xxxx" -v

INFO: Download Limit set to: "unlimited"
INFO: Connecting to irc.rizon.net:6667
INFO: Timeout watcher started
WARNING: Unrecoverable Error: Is this IP banned?
INFO: Progress Printer started
INFO: Message sent without timeout
INFO: Progress Printer stopped

Can't download a pack searched via a SearchEngine

Hi
I'm unable to download a pack searched using XDCC_EU Search engine

from xdcc_dl.xdcc import download_packs
from xdcc_dl.pack_search import SearchEngines

results = SearchEngines.XDCC_EU.value.search("test")

download_packs(results)

I get:

Traceback (most recent call last):
File "/home/user/PycharmProjects/pythonProject/main.py", line 7, in
download_packs(results)
File "/home/user/.local/lib/python3.8/site-packages/xdcc_dl/xdcc/init.py", line 51, in download_packs
for pack in packs:
TypeError: 'XDCCPack' object is not iterable

Even when using your example:

from xdcc_dl.xdcc import download_packs
from xdcc_dl.pack_search import SearchEngines
from xdcc_dl.entities import XDCCPack, IrcServer

# Generate packs
manual = XDCCPack(IrcServer("irc.rizon.net"), "bot", 1)
from_message = XDCCPack.from_xdcc_message("/msg bot xdcc send #2-10")
search_results = SearchEngines.HORRIBLESUBS.value.search("Test")
combined = [manual] + from_message + search_results

# Start download
download_packs(combined)

I get:

Traceback (most recent call last):
File "/home/user/PycharmProjects/pythonProject/main.py", line 9, in
combined = [manual] + from_message + search_results
TypeError: can only concatenate list (not "XDCCPack") to list`

I also tried to add a random.choice() in order to select a random choice from the packs list returned by the SearchEngine function without success. Am I doing something wrong or is it a bug?

error handling if banned

Hi,

first, great work.
i found out if iam banned on a channel the xdcc-dl command cannot handle this very well and will stock after WHOIS End.

If i specify a timeout will not have any affect.

here is an example:

$: time xdcc-dl "/msg botname xdcc send #12" --server irc.abjects.net --verbose  --timeout 60
INFO: Download Limit set to: "unlimited"
INFO: Connecting to irc.abjects.net:6667 as user 'YvetteLang70'
INFO: Delaying download initialization by 7s
INFO: Timeout watcher started
INFO: Connected to server
INFO: WHOIS: ['[MG]-Request|Bot|Honline', '+#moviegods ']
INFO: Joining channel #moviegods
INFO: WHOIS End
INFO: Timeout detected
INFO: Message sent without timeout
WARNING: Timeout
INFO: Progress Printer started
INFO: Progress Printer stopped
INFO: Disconnecting
INFO: Aborting because of unrecoverable error

real    3m19.302s
user    3m10.706s
sys     0m0.487s

may you can have a look, thanks!

Is this compatible to python 2?

I installed with pip using python 2, and got this error when running xdcc-dl:

xdcc-dl", line 74
    Logger().print("Thanks for using xdcc-dl!")
                 ^
SyntaxError: invalid syntax

When using python 3 it works. If this is a limitation, I think you should add this information to the README.

Missing option to set channel manually

Thanks for your work and the recent updates! @namboy94
If a channel isn't found by WHOIS call, the request is set anyway.
"Didn't find a channel using WHOIS, trying to send message anyways"
This typically fails.
Would be nice to have an option to set channel by command line manually in those cases (option could be ignored, if WHOIS succeeds).

Option --silent defined twice

This is most likely just unfortunate timing, but I just needed to download some files over XDCC and found your tool, and upon installing v3.3.0 (with puffotter dep v0.5.0), I was greeted with

$ xdcc-dl -h
...
argparse.ArgumentError: argument --silent: conflicting option string: --silent

Apparently you added --silent to puffotter.init.argparse_add_verbosity in puffotter v0.5.0 but the option is still defined manually here. After removing --silent here the program worked flawlessly.

You're likely aware of this but I figured I'd throw a bug report your way just in case.

timeout not working as expected

I've been able to get xdcc-dl working, however there is a particular server which requires a user be connected for at least 60 seconds. I assume that --timeout 60 would achieve this, but it still shows that it's not waiting for the timeout, and just sends the message anyway.

Bug or am I using --timeout wrong?

How to use on windows

I installed xdcc-dl but it seems like there is no executable for it, How to run it on windows

progress bar exception

I am using python 3.8.5 on windows. While downloading is working the progress bar isn't. The following exception is thrown:

Traceback (most recent call last):
  File "C:\Users\SJ\anaconda3\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Users\SJ\anaconda3\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\SJ\anaconda3\lib\site-packages\xdcc_dl\xdcc\XDCCClient.py", line 629, in progress_printer
    ratio = int(bytes_delta / time_delta)
ZeroDivisionError: float division by zero

I just checked on linux it is working but not on Windows. Any idea how to fix it for windows? Thanks.

The download won't start

I implement xdcc-dl as a library on my custom python program and after some downloads it won't download anymore, after some time it sends back an error message suggesting I might be banned or something (hexchat work with 0 problem). Since I was a bit busy I just remembered the issue and forgot if xdcc-dl works in normal mode or not, but as a library it doesn't (I just write a couple of custom script to ease the search and download in large batch)

ZeroDivisionError when downloading via search results

Hey,

Just noticed this ZeroDivisionError error below when testing out your package.

Exception in thread Thread-3 (progress_printer):
Traceback (most recent call last):
  File "C:\Users\<me>\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1009, in _bootstrap_inner
    self.run()
  File "C:\Users\<me>\AppData\Local\Programs\Python\Python310\lib\threading.py", line 946, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\<me>\AppData\Local\Programs\Python\Python310\lib\site-packages\xdcc_dl\xdcc\XDCCClient.py", line 626, in progress_printer
    ratio = int(bytes_delta / time_delta)
ZeroDivisionError: float division by zero

Here's the test code I used, which produced the error

from xdcc_dl.xdcc import download_packs
from xdcc_dl.pack_search import SearchEngines

test_term = "[SubsPlease] Platinum End - 18 (1080p) [442FB8D7]"
search_results = SearchEngines.NIBL.value.search(test_term)

to_dl = [result for result in search_results if result.bot == "Ginpachi-Sensei"]

download_packs(to_dl)

The file still downloaded, but not progress bar was shown. I was able to fix the error locally by adding the following ternary to L626

ratio = int(bytes_delta / time_delta) if time_delta > 0 else 0

Would have submitted a PR but wasn't sure about your contribution guidelines. Sorry in advance if this was a known issue.

xdcc-search subsplease stopped working

I'm using xdcc-dl 5.1.0, and since a few days, the search is not working anymore.
This is the error log:

Traceback (most recent call last):
File "/usr/local/bin/xdcc-search", line 63, in
exit_msg="Thanks for using xdcc-dl!"
File "/usr/local/lib/python3.7/dist-packages/puffotter/init.py", line 74, in cli_start
main_func(args) # type: ignore
File "/usr/local/bin/xdcc-search", line 37, in main
results = search_engine.search(args.search_term)
File "/usr/local/lib/python3.7/dist-packages/xdcc_dl/pack_search/SearchEngine.py", line 49, in search
return self._procedure(term)
File "/usr/local/lib/python3.7/dist-packages/xdcc_dl/pack_search/procedures/subsplease.py", line 47, in find_subsplease_packs
result = parse_result(result)
File "/usr/local/lib/python3.7/dist-packages/xdcc_dl/pack_search/procedures/subsplease.py", line 90, in parse_result
key, content = part.split(":", 1)
ValueError: not enough values to unpack (expected 2, got 1)
Sentry is attempting to send 1 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

I tried the search with nibl, which didn't show any results (even though the anime is on their website). ixirc and xdcc-eu are showing some results.
I tried it with Python 3.7.3 and Python 3.8.10, with Ubuntu on a VPS, and Dietpi on a local RPi4. I upgraded all pip installations to the newest version, with no difference.

Is there anything I could try?
Or do you need any more informations?

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.