keskad / subget Goto Github PK
View Code? Open in Web Editor NEWSimple Subtitles downloading program for Linux with PyGTK. Supports plugins and multi-language.
Home Page: https://www.facebook.com/pages/Subget/155468001188200
Simple Subtitles downloading program for Linux with PyGTK. Supports plugins and multi-language.
Home Page: https://www.facebook.com/pages/Subget/155468001188200
subget - simple program featuring downloading subtitles from multiple servers. Easily extendable by plugins, supports multi-language. Video Player option allows easily play movie using favorite media player right after downloading subtitles. -- Supported Media Players: + Mplayer + Mplayer2 + SMPlayer + VLC + GNOME Mplayer + KMPlayer + GMPlayer + Totem + Rhythmbox + UMPlayer + SMPlayer2 Requirements: GTK+, Python 2.6/2.7/3.0/3.1/3.2, X11, PyGTK, python-dbus, python-gettext, p7zip (Gentoo: app-arch/p7zip, Debian/Ubuntu: p7zip-full) * FAQ: 1. Application stops at "Subget is loading in "en_US" language." Solution is to copy or link subget's usr directory if it was installed in /usr/local: ln -s /usr/local/share/subget/ /usr/share/subget * Installation: 1. ./setup.py build 2. ./setup.py install 3. ./setup.py install_data 4. DONE! Run /usr/bin/subget or choose it from menu in your desktop environment * Changelog: 03.05.2013 (v.1.7.6.1) <[email protected]>: * Fixed libnotify bug (issue #21) 23.12.2012 (v.1.7.6) <[email protected]>: + Searching subtitles only in preferred language 22.12.2012 (v.1.7.5) <[email protected]>: * Fixed annoying random windows placement * Fixed trayicon option "Add file" 03.10.2012 (v.1.7.4) <[email protected]>: + Added --list-languages shell option 03.10.2012 (v.1.7.3) <[email protected]>: * Shell mode is now working back after few bugs * Fixed UnboundLocalError in subgetcore * Disabled napisy24.pl (they added additional authentication - required login and password, this will be implemented soon) * Fixed Watch With Subtitles function, now just works 22.09.2012 (v.1.7.2) <[email protected]>: * Possible fix for Windows where window not appeared after iconifing to tray and minimalizing * Modified Windows build files 20.09.2012 (v.1.7.1) <[email protected]>: * Fixed addLinks bug in bus:sockets + Added polish translations to bus:sockets 19.09.2012 (v.1.7) <[email protected]>: * Default configuration file should be now copied from default directory if it does not exists in home directory - Removed bugged COM support + Support for sockets remote control (like dbus) + Added info in setup.py 18.09.2012 (v.1.6.9.1) <[email protected]>: * Subget is now using PyPi compatibile installer (setup.py - removed install.sh and install.py) 31.08.2012 (v.1.6.9) <[email protected]>: * Fixed locale build on FreeBSD (installer) 31.08.2012 (v.1.6.8) <[email protected]>: * Moved napisy.info plugin to APIv2, now all plugins are at new API so the APIv1 will be removed * Fixed installer crashes on checking dist-packages directories * Some Python 3 fixes 30.08.2012 (v.1.6.7) <[email protected]>: + Experimental support for installing dependencies by installer (supports: Debian, Gentoo, FreeBSD and Arch Linux based operating systems) 30.08.2012 (v.1.6.6) <[email protected]>: * Rewrited installer from Bash to Python + Subget installer now supports chrooting + Installer is now building Subget libraries on all avaliable python versions and compiling all translations automaticaly * Fixed building on Python3 29.08.2012 (v.1.6.5) <[email protected]>: + Added subget-translator for Patrick's request, Subget translators should have easy work now 25.08.2012 (v.1.6.4) <[email protected]>: * Fixed name errors in translations 25.08.2012 (v.1.6.3) <[email protected]>: * Experimental other encoding support in translations 25.08.2012 (v.1.6.2) <[email protected]>: * Fixed type error in language selection 25.08.2012 (v.1.6.1) <[email protected]>: + Added Danish translation (thanks to Patrick Damgaard Pedersen) 25.08.2012 (v.1.6) <[email protected]>: * Finally fixed language selection, now supports en_US, pl_PL and C without problems, default is en_US when no supported language found 25.08.2012 (v.1.5.7) <[email protected]>: * Fixed handling of English language and "C" system language 12.08.2012 (v.1.5.6) <[email protected]>: * Fixed Subget.revertBool(), now correctly reverts the bool + Added rememberhistory configuration key in console's configuration tab 11.08.2012 (v.1.5.5) <[email protected]>: + History in console 10.08.2012 (v.1.5.4) <[email protected]>: + Added error types to Subget.errorMessage() 10.08.2012 (v.1.5.3) <[email protected]>: + Description fields in plugins 10.08.2012 (v.1.5.2) <[email protected]>: * Fixed "(cannot concatenate 'str' and 'set' objects)" in dialog plugin 10.08.2012 (v.1.5.1) <[email protected]>: * Fixed attribute error in subget.py:1429 10.08.2012 (v.1.5) <[email protected]>: * More debugging code on plugins when pushing subtitles to list * Fixed list displaying (no doubled entries) + Added error() logging function to APIv2 + Subget.errorMessage allows showing application error messages in dialogs or notifications (hook: onErrorMessage, args: str(message), errType="info") + notify plugin supports error messages capturing + new dialog plugin uses zenity, kdialog or xmessage to show Subget's errors, use Subget.errorMessage(str(Message), errType="info") to raise error * Fixed OpenSubtitles plugin and moved to APIv2 + Added print to Subget.sendCriticAlert() * Fixed file search in allsubs.org plugin 05.05.2012 (v.1.4.5) <[email protected]>: + SubgetPlugin.HTTPGet now supports custom headers * SubgetPlugin.HTTPGet uses internal logging system now * Moved napisy24 to APIv2 + Added SubgetPlugin.unZip for unzipping archives 05.05.2012 (v.1.4.4) <[email protected]>: * os.name = "Linux" #!!!: it's not a good idea * this var is unused * if dbus.service.Object is a new style class => use super() * possible crash => SubgetServiceObj is not defined * return True ? * #!!!: "plugins" is not defined!!! * Upgraded napiprojekt to Subget's Plugin APIv2 05.05.2012 (v.1.4.3) <Sebastian Kalinowski>: * made subgetcore code more pythonic * made subgetlib module code more pythonic * made subget.py more pythonic and fixed few small bugs 25.04.2012 (v.1.4.2) <[email protected]>: * Fixed: Plugins were not loaded on Windows 25.04.2012 (v.1.4.1.1) <[email protected]>: * Fixed MenuBar to fit width of the application 20.04.2012 (v.1.4.1) <[email protected]>: * Moved dbus support from mainline code to plugin + Added "onInstanceCheck" hook (with three arguments) + Added experimental support for COM interface on Windows (bus plugin) but disabled by default 17.04.2012 (v.1.4) <[email protected]>: + Ported GTK theme to Windows * Fixed OpenSubtitles plugin + videoplayers: Support for native "start" command on Windows + videoplayers: Primitive Winamp Support on Windows 15.04.2012 (v.1.3.1) <[email protected]>: * videoplayer plugin was unloading incorrectly (without removing hooks) 14.04.2012 (v.1.3) <[email protected]>: * Fixed dbus error handling * Rewrited video players support, now it has own manager/api, elastic and accessible from plugins, configurable + Added support for SMPlayer2 + Custom video playing applications can be now added in [videoplayers] config section + Ability to disable default video player and remove it from list by adding it to videoplayers->disabled - Removed Video Player support code from Subget and moved it to separated plugin to make Subget more lightweight and configurable + Added stacktrace listing in Subget.togglePlugin() + subgetcore.Hooking.executeHooks now returns modified value * Changed default configuration file 08.03.2012 (v.1.2.4.2) <[email protected]>: * Fixed "Watch with subtitles" spinner bug 03.02.2012 (v.1.2.4.1) <[email protected]>: * Fixed "Add files" position in trayicon menu 03.02.2012 (v.1.2.4) <[email protected]>: + Trayicon have popup now 03.02.2012 (v.1.2.3) <[email protected]>: + Toolbar can be hidden now + New tab "Interface" in settings menu 02.02.2012 (v.1.2.2) <[email protected]>: * Fixed bug when console was not starting with subget 29.02.2012 (v.1.2.1) <[email protected]>: * gtk.Spinner is now deactivated when GTK library does not provide it 28.02.2012 (v.1.2) <[email protected]>: * Fixed console plugin destruction object + Embedded python console inside of console plugin + Subgetcore.Logging can skip printing date if last argument is True + Support for internal commands in console (eg. help, clear) + Double-click activates/deactivates plugins + Custom context menu for plugins (plugins list) + Python console remembers previously declared variables and imported modules 28.12.2011 (v.1.1) <[email protected]>: * Fixed Windows support (application launches without installer, but launches...) * Fixed nautilus integration 27.12.2011 (v.1.0.6.2) <[email protected]>: * Text in "About subget" dialog is now selectable 27.12.2011 (v.1.0.6.1) <[email protected]>: * Conosle text is now selectable 27.12.2011 (v.1.0.6) <[email protected]>: + "Progress indicator" (spinner) in main window * Cleaned up code + Plugins window is now resizable * Scrolling plugin window doesnt move header columns 25.12.2011 (v.1.0.5.2) <[email protected]>: * Fixed videoplayers integration TypeError 25.12.2011 (v.1.0.5.1) <[email protected]>: * Fixed napiprojekt plugin "getFile() takes exactly 2 arguments (3 given)" 24.12.2011 (v.1.0.5) <[email protected]>: * Fixed multiplatform code, better support for FreeBSD * Moved FreeBSD installation scripts to install.sh 24.12.2011 (v.1.0.4.2) <[email protected]>: * Cleaned up filemanagers integration code 24.12.2011 (v.1.0.4.1) <[email protected]>: * Fixed thunar integration check (returns correct numer of values now) 24.12.2011 (v.1.0.4) <[email protected]>: + FreeBSD installation script (just type bash ./bsd-install.sh) 23.12.2011 (v.1.0.4) <[email protected]>: * Fixed support for plugin API v2 in search function * Search dialog was resized 23.12.2011 (v.1.0.3) <[email protected]>: * Moved all flag icons to /usr/share/subget/icons/flags 22.12.2011 (v.1.0.2) <[email protected]>: * Fixed integrations with Thunar, Nautilus and Dolphin/Konqueror, now it works 18.12.2011 (v.1.0.1) <[email protected]>: * Fixed file paths sent between multiple instances of application 17.12.2011 (v.1.0.0.4) <[email protected]>: + Added libnotify support (notify plugin) 17.12.2011 (v.1.0.0.3) <[email protected]>: * Fixed timing in knotify (notify plugin) * Fixed GNOME support (notify plugin) 17.12.2011 (v.1.0.0.2) <[email protected]>: + Added "notify" plugin that supports knotify and notify-send + New hook "onSubtitlesDownload" * Fixed "Watch with subtitles" function, works with plugin API v2 now * Added missing translations 16.12.2011 (v.1.0.0.1) <[email protected]>: * Moved from print to Subget.Logging in videoplayers and filemanagers integration * Fixed possible crash in videoplayers integration 16.12.2011 (v.1.0.0.0) <[email protected]>: + Added toolbar in main window + Added Subget.interfaceAddIcon() function, it provides easy interface for adding new icons to toolbars and menus - Cleaned up the code 10.12.2011 (v.0.9.9.9) <[email protected]>: + Error level can be now set settings menu of console plugin 10.12.2011 (v.0.9.9.8) <[email protected]>: + Console now have it's own configuration menu + "onPreferencesOpen" hook allows to execute actions while preferences window is drawing, it allows to add extra options by plugins 10.12.2011 (v.0.9.9.7) <[email protected]>: * "Developer mode" message is now not logging to file to avoid flooding + Subget.window.Menubar is now accessible by plugins + Standard menus are now available from plugins API * Fixed "daemonize" plugin; added checking for operating system type (it will cancel backgrounding on Windows NT) + Subget.getPath() will allow to override /usr directory using /home/$USER/.subget/usr + Added data transport in Subgetcore.Hooking + Deleting hooks with Subgetcore.Hooking.deleteHook(hookName, HookedMethod), same arguments as in connectHook() + Added translations compiling line to install.sh + Console Window is now available as plugin (you don't need to always have it running) 09.12.2011 (v.0.9.9.6) <[email protected]>: * Translation fixes + Support for logging to file and to console with stack support + New plugin - daemonize (enable/disable from plugins menu) 08.12.2011 (v.0.9.9.5) <[email protected]>: + Double-click on main Treeview list now allows to save subtitles 08.12.2011 (v.0.9.9.4) <[email protected]>: + Started working on subswiki plugin + Moved some functions to plugins API v2 25.11.2011 (v.0.9.9.3) <[email protected]>: * Moved config variable "hide_at_startup" from section "startup" to "trayicon" + Trayicon now remembers window's position - config: [trayicon] remember_window_position = True/False 25.11.2011 (v.0.9.9.2) <[email protected]>: * Fixed "hide_at_startup" configuration variable 25.11.2011 (v.0.9.9.1) <[email protected]>: + Added hooking to Subget (Subget.Hooking in application, self.Subget.Hooking inside of plugin, subgetcore.Hooking as class) + "trayicon" plugin (very simple at now) - configurable via "[startup] hide_at_startup = True/False" + There are plugins and extensions now. Plugins are usually service providers, extensions are functionality/interface addons 25.11.2011 (v.0.9.9) <[email protected]>: * Allsubs moved to API version 2 + Plugins API v2 - Removed exechelper (not required anymore) 11.11.2011 (v.0.9.8) <[email protected]>: + Added UMPlayer to list of supported video players 05.11.2011 (v.0.9.7) <[email protected]>: * Moved from alang to GNU Gettext + Added small converter between alang and gettext 25.09.2011 (v.0.9.6.6) <[email protected]>: * Watch with subtitles now works with all plugins + New tab in preferences for new function "Watch with subtitles" + Added "Watch with subtitles" to filemanagers context menu integration + Temporary addded install.sh - Cleaned up icons directory 25.09.2011 (v.0.9.6.5) <[email protected]>: + Experimental function "Watch with subtitles" available via "-w" or "--watch-with-subtitles" 24.09.2011 (v.0.9.6.4) <[email protected]>: + Version informations in about menu 24.09.2011 (v.0.9.6.3) <[email protected]>: + Added Xfce4 (Thunar) integration 23.09.2011 (v.0.9.6.2) <[email protected]>: * Fixed bug when list was returning back after clean up 23.09.2011 (v.0.9.6.1) <[email protected]>: + Columns at the main window are now resizable 23.09.2011 (v.0.9.6) <[email protected]>: * Rebuilded main window * Main window is now resizable + Main window size will now be automaticaly adjusted basing on screen resolution * Column headers are now not scrolling with the list 18.09.2011 (v.0.9.5.9) <[email protected]>: + Searching by keywords now works in subscene plugin 18.09.2011 (v.0.9.5.8) <[email protected]>: + Subscene plugin (supports subscene.com) * subgetcore.languageFromName() converts from long to short language name 18.09.2011 (v.0.9.5.7) <[email protected]>: + subgetcore.getSearchKeywords() supports output in most popular TV shows format (SxxEyy, example: S01E02) 18.09.2011 (v.0.9.5.6) <[email protected]>: * thesubdb now is showing only basename() of subtitle path 18.09.2011 (v.0.9.5.5) <[email protected]>: * Fixed bug with SearchMethod and SleppTime in thesubdb 18.09.2011 (v.0.9.5.4) <[email protected]>: * Fixed naming mistake in thesubdb plugin 18.09.2011 (v.0.9.5.3) <[email protected]>: + Added a choice between two methods of downloading subtitles from thesubdb.com ("simple" and "deeply"), configurable via config file * Fixed bug in thesubdb when it wasnt saving subtitles correctly 17.09.2011 (v.0.9.5.2) <[email protected]>: + Added new plugin - thesubdb (thesubdb.com) + Missing plugins in priority list will be now displayed 17.09.2011 (v.0.9.5.1) <[email protected]>: * Moved getSearchKeywords and addZero functions to subgetcore * getSearchKeywords improved, it should provide better results now 17.09.2011 (v.0.9.5) <[email protected]>: + Plugins now can be disabled via config and "Plugins menu" * Plugins are now loaded from togglePlugin() function * Displaying of plugins list moved to function pluginsListing() to allow list refreshing 14.09.2011 (v.0.9.4.2) <[email protected]>: * Fixed napiprojekt support again 14.09.2011 (v.0.9.4.1) <[email protected]>: * Fixed bug where subtitles were duplicating after sorting the list 14.09.2011 (v.0.9.4) <[email protected]>: * Fixed napiprojekt support 14.09.2011 (v.0.9.3.6) <[email protected]>: * Fixed plugin list order saving 14.09.2011 (v.0.9.3.5) <[email protected]>: * Opensubtitles.org plugin is now working + Added many flags from famfamfam (thanks to famfamfam) * Optimalized code * Timeout setting now works with all plugins 14.09.2011 (v.0.9.3.4) <[email protected]>: * A little bit cleaned up code + List of plugins is now sortable, and subtitles will be ordered by priority of a plugin + Timeout of extensions is now configurable via file and gui + New tab in preferences window - "Plugins" * Fixed KDE4 integration 14.09.2011 (v.0.9.3.3) <[email protected]>: * Fixed compatibility with Python 3 * Moved configuration saving from subget.py::SubGet.gtkPreferencesQuit() to subget.py::SubGet.saveConfiguration() - Commented subget.py::SubGet.pingSubget() + First primitive list sorting 14.09.2011 (v.0.9.3.2) <[email protected]>: * Moved plugins to class, added pluginsList list() which will be used in upcoming versions * Converted some print's to Python 3 compatibile 10.09.2011 (v.0.9.3.1) <[email protected]>: + Support for Rhythmbox 10.09.2011 (v.0.9.3) <[email protected]>: + Support for MPlayer2, KMPlayer (Konqueror plugin), GMPlayer (mplayer-gui), GNOME Mplayer 10.09.2011 (v.0.9.2.2) <[email protected]>: * Fixed situation when Video Player was not launched 01.09.2011 (v.0.9.2.1) <[email protected]>: * Fixed "gtk.Window' object has no attribute 'clearCB" error 29.08.2011 (v.0.9.2) <[email protected]>: * Moved DBUS to subgetcore.subgetbus module + New DBUS API methods clearList and toggleVideoPlayer 28.08.2011 (v.0.9.1) <[email protected]>: * Fixed plugin menu when not showing again after exit (fixed button event) 28.08.2011 (v.0.9) <[email protected]>: * Fixed threading, now application is not freezing when checking for subtitles 28.08.2011 (v.0.8) <[email protected]>: + Adding files from popup menu/console to existing instance of program 28.08.2011 (v.0.7.8.1) <[email protected]>: * Propably disabled correctly dbus on Windows 28.08.2011 (v.0.7.8) <[email protected]>: + New dbus functions openSearchMenu, openPluginsMenu, openSelectVideoDialog, openAboutDialog, addLinks 28.08.2011 (v.0.7.7) <[email protected]>: + First draft of dbus interface * Only one instance of program can be running at once by one user 28.08.2011 (v.0.7.6.2) <[email protected]>: * Drag and Drop fixes * Increased size of plugins window + Configuration option for plugins sorting 28.08.2011 (v.0.7.6.1) <[email protected]>: + Menu shortcuts 28.08.2011 (v.0.7.6) <[email protected]>: + Added English language to new interface items * Fixed sizes of buttons to fit english names 28.08.2011 (v.0.7.5.2) <[email protected]>: * Fixed VideoPlayer function * Moved VideoPlayer to subgetcore library 28.08.2011 (v.0.7.5.1) <[email protected]>: * Fixed GNOME and KDE integration 28.08.2011 (v.0.7.5) <[email protected]>: + Added support for Dolphin, Konqueror and Nautilus 25.08.2011 (v.0.7.4) <[email protected]>: * Fixed Python 2.6 bug with incorrect modules path, now Subget detects and fixes the path * Fixed months in README 24.08.2011 (v.0.7.3) <[email protected]>: + Creating ~/.subget directory if not exists 23.08.2011 (v.0.7.2) <[email protected]>: + Launching video player right after downloading subtitles + Watch for configuration file in /usr/share/subget/config if ~/.subget/config not exists 23.08.2011 (v.0.7.1.2) <[email protected]>: + Saving settings to file 23.08.2011 (v.0.7.1.1) <[email protected]>: + Draft of settings menu and KDE4 integration 22.08.2011 (v.0.7.1) <[email protected]>: + First implementation of "Settings/Preferences" (ini files) + Critical error popups implementation using external programs (zenity, xmessage, kdialog) 21.08.2011 (v.0.7) <[email protected]>: + Drag and drop support (tested on Linux with Dolphin and Thunar) 31.07.2011 (v.0.6.3) <[email protected]>: + Better informations about plugin crash available in console + Plugins are now Python modules * Replaced tabs with spaces in code * Fixed finding installation directory on Windows 30.07.2011 (v.0.6.2) <[email protected]>: * Changed python version from /usr/bin/python2.7 to /usr/bin/python 30.07.2011 (v.0.6.1) <[email protected]>: * Fixed syntax error on Python 2.6 12.07.2011 (v.0.6) <[email protected]>: + Added more windows build scripts + Windows context menu integration * Fixed selecting plugins directory path 12.07.2011 (v.0.5.2) <[email protected]>: + Added sleep before shutting down the machine (for safety of file in filesystem to be sure its correctly transferred) + Commented Windows build script code (bash) 12.07.2011 (v.0.5.1) <[email protected]>: * Moved icon.ico to windows/ directory 12.07.2011 (v.0.5) <[email protected]>: + Added partialy Windows build scripts + Support for alang-py version 1.1 + Integration with Windows Registry * Fixed multi-platform code + Added icons in PNG and ICO formats + Added version informations 30.06.2011 (v.0.4.3) <[email protected]>: + Support for including files (plugins, alang) from local directory (os independent) 28.06.2011 (v.0.4.2) <[email protected]>: + Allsubs.org support 28.06.2011 (v.0.4.1.2) <[email protected]>: + "Clear list" function is now available in "File" menu 28.06.2011 (v.0.4.1.1) <[email protected]>: * Fixed napisy24.pl (not showing HTML code in subtitles name) + File->Search now working, but not all plugins supports this feature 28.06.2011 (v.0.4.1) <[email protected]>: + Added "domain" information to napisy24 and napisy_info plugins 28.06.2011 (v.0.4) <[email protected]>: * Fixed napisy24.pl plugin + Added support for napisy.org archive (napisy24.pl server) 27.06.2011 (v.0.3.5) <[email protected]>: + Added support for napisy24.pl * Cleaned up plugins code 26.06.2011 (v.0.3.4.1) <[email protected]>: * Fixed napisy_info plugin, now works on Windows, second fix 26.06.2011 (v.0.3.4) <[email protected]>: * Fixed napiprojekt plugin, now works on Windows 25.06.2011 (v.0.3.3) <[email protected]>: + Added "plugin list" dialog + Dialog "About Subget" added 25.06.2011 (v.0.3.2) <[email protected]>: * Downloading subtitles is now a little faster 25.06.2011 (v.0.3.1) <[email protected]>: + Added "About informations" 25.06.2011 (v.0.3) <[email protected]>: * Moved gtk.Fixed and gtk.MenuBar to gtk.Vbox 24.06.2011 (v.0.2.9) <[email protected]>: + Better performance at program startup startup on Linux (all Unix) and Windows operating systems + Menu bar + Adding files from menu + Window icon 24.06.2011 (v.0.2.8) <[email protected]>: * Fixed crash of GTK on Windows * Napiprojekt plugin now correctly read video file 22.06.2011 (v.0.2.3) <[email protected]>: + Added windows support 22.06.2011 (v.0.2.2) <[email protected]>: + Added scrollbars to Subtitles list 22.06.2011 (v.0.2.1) <[email protected]>: * Fixed connection timeouts in plugins 21.06.2011 (v.0.2) <[email protected]>: + Added installation scripts with dependency support 21.06.2011 (v.0.1) <[email protected]>: + Added support for loading multiple video files + New plugin "napisy.info" + Console searching and downloading (-c, -q) now works fine + Added threading experimental threading support
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.