Coder Social home page Coder Social logo

davad / browsershots Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 5.35 MB

Automatically exported from code.google.com/p/browsershots

Python 89.80% Makefile 0.91% C++ 0.93% HTML 4.19% Shell 0.78% Perl 0.60% Batchfile 0.01% CSS 0.61% JavaScript 1.97% C# 0.20%

browsershots's People

Watchers

 avatar

browsershots's Issues

No binaries available

What steps will reproduce the problem?
1. Reading the article of how to install 'Browsershots' on Windows
2. Clicking on the link to download the binaries

What is the expected output? What do you see instead?
That I can download a file or somewhat with the binaries/.exe and such. Instead 
I get a 404 not found and I don't get any download.

What version of the product are you using? On what operating system?
Chrome 6 (dev) - although that doesn't matter

Original issue reported on code.google.com by home%[email protected] on 15 Jun 2010 at 12:34

Relax user agent verification / autodetect user agent

Currently it's quite tedious to upgrade a browser for a factory: you have to 
re-register the updated browser, otherwise you'll get an error as follows:
  Unknown user agent: Opera/9.80 (X11; Linux i686; U; de) Presto/2.2.15 Version/10.11.

It would be far more comfortable if this would get handled automatically:
1. Just register the command to execute the browser
2. The browser would access some URL internal to browsershots.org, where the 
user agent string gets read
3. The entry for the factory entry gets updated with the user agent string 
reported by the browser (from 2.)

When updating a browser (which may happen automatically for security updates 
via package management), browsershots currently already detects that the 
browser is unknown (therefore the error I've mentioned initially).
If this happens, the user agent string for this browser entry would get updated 
automatically, too.
In this case however, the request should be considered invalid though: the 
browser is not the one initially requested for this job (e.g. Firefox 3.5 => 
3.6).

Original issue reported on code.google.com by [email protected] on 29 Jun 2010 at 10:57

404 error trying to activate change of email

What steps will reproduce the problem?
1. Change your email address
2. Click on the link provided in the email notification you get about the 
change (http://browsershots.org/accounts/email/) 

What is the expected output? What do you see instead?
I expect to see a 'email address changed successfully' message, instead I get a 
404 - page not found.

Original issue reported on code.google.com by [email protected] on 18 Jan 2012 at 1:30

Factory Operating System list is out of date

What steps will reproduce the problem?

1. Use the 'Edit' button in factory overview
2. Open the 'Operating System' drop-down list


What is the expected output? What do you see instead?

Expect to see an up-to-date list of Ubuntu operating systems, including 10.04 
through 11.10.  Only see up to Ubuntu 9.10 (Karmic Koala)

Original issue reported on code.google.com by [email protected] on 18 Jan 2012 at 1:21

Default encoding in python files

My locale is ru_RU.UTF8, therefore variable __date__ contains unicode 
symbols: "$Date: 2007-12-29 19:51:29 +0300 (Сбт, 29 Дек 2007) $"
It causes errors like following: SyntaxError: Non-ASCII character '\xd0' in 
file /home/lomereiter/shotfactory/shotfactory04/image/__init__.py on line 
22, but no encoding declared; see http://www.python.org/peps/pep-0263.html 
for details

To fix that, I had to manually add # -*- coding: utf-8 -*- line in all files 
containing __date__ variable. 


Original issue reported on code.google.com by lomereiter on 28 Mar 2010 at 8:41

Internet Explorer 8 doesn't scroll, resulting in a partial screenshot

What steps will reproduce the problem?
1. Configure an IE 8 browser in a shotfactory.
2. Request a screenshot from that browser.

What is the expected output? What do you see instead?

Expected the screenshot to have the full length of the web page.  Instead, IE 
doesn't scroll and only the top of the page appears in the image.

What version of the product are you using? On what operating system?

Latest svn version.

Please provide any additional information below.

I'm attaching a patch that fixes this issue.

Original issue reported on code.google.com by 4WayneD on 14 Aug 2010 at 5:26

Attachments:

Shotfactory installer download here

I wrote a little script to help someone install shotfactory. It installs Python 
with all required addons, shotfactory, and makes a startup script to run. The 
only thing you need to do is install browsers (which I will make a installer 
for)

Download here: http://cl.ly/1bkt
Report any bugs here until I set up a website for it 
.

Enjoy :)

Original issue reported on code.google.com by [email protected] on 10 Jul 2010 at 11:40

IOError: screen grab failed

What steps will reproduce the problem?
1. intall the server and factory
2. use browsershots
3. sometimes screen grab failed

What is the expected output? What do you see instead?
should grab picture ok, but instead get the fail information as you see in 
additional information.

What version of the product are you using? On what operating system?
version:http://browsershots.googlecode.com/svn/trunk/shotfactory
system:windows xp

Please provide any additional information below.
i get this error in the shotfactory console window: {'major': 10, 'javascript': 
'', 'java': '', 'width': 1280, 'flash': '', 'request ': 42, 'height': 1024, 
'bpp': 16, 'version': '10.0.2', 'command': '', 'minor': 0 , 'browser': 
'Firefox'} running c:\progra~1\mozill~1\firefox.exe Sleeping 30 seconds while 
page is loading. Traceback (most recent call last): 

File "C:\Documents and Settings\Administrator\桌面\shotfactory 
install\shotfac 
tory\shotfactory.py", line 368, in <module> 
main() 
File "C:\Documents and Settings\Administrator\桌面\shotfactory 
install\shotfac 
tory\shotfactory.py", line 345, in main 
bytes = browsershot(options, server, config, options.password) 
File "C:\Documents and Settings\Administrator\桌面\shotfactory 
install\shotfac 
tory\shotfactory.py", line 154, in browsershot 
gui.browsershot(pngfilename) 
File "C:\Documents and Settings\Administrator\桌面\shotfactory 
install\shotfac 
tory\shotfactory04\gui\init.py", line 244, in browsershot 
self.screenshot(filename) 
File "C:\Documents and Settings\Administrator\桌面\shotfactory 
install\shotfac 
tory\shotfactory04\gui\windows\init.py", line 60, in screenshot 
im = ImageGrab?.grab() 
File "D:\Python27\lib\site-packages\PIL\ImageGrab?.py", line 47, in grab 
size, data = grabber() 
IOError: screen grab failed 

Original issue reported on code.google.com by [email protected] on 25 Apr 2012 at 2:29

64-bit windows has program-running issues

What steps will reproduce the problem?
1. Install a shotfactory on a 64bit version of Windows 7.
2. Try to use a normal firefox browser.
3. Try to configure IE for a shotfactory and then use it.
4. Try to request more than one IE screen shot.

What is the expected output? What do you see instead?
I expected things to work normally, but I ran into several issues:

I configured a firefox browser, but it wouldn't run due to the executable being 
installed under the "Program Files (x86)" dir and the firefox script only 
looking under "Program Files" (via "progra~1").

When configuring IE, I would start IE in the normal (GUI) manner, register it, 
and it would fail to request a screenshot due to the User Agent string not 
matching.  This is because the GUI buttons run the 32-bit version, but msie.py 
was running the 64-bit version.

If I fix the User Agent string to match the 64-bit version of IE, the browser 
is not killed at the end of the run.  This causes problems with future runs 
because this browser window would stay on top, making all future screen shots 
duplicates of the first (lingering) window.

What version of the product are you using? On what operating system?
Latest svn version.

Please provide any additional information below.

To fix these issues, I decided to add some path checking where the program 
would run the 32-bit version by default, even on 64bit Windows.  The scripts 
first check for a version under "c:\progra~2\" (this is the "Program Files 
(x86)" dir), and if not found, falls back to the normal "c:\progra~1\" version. 
 This makes the default browser path work for all browsers whether they are 
installed under the x86 dir or not.  It also works around the browser-closing 
issue (since the 32-bit version of IE closes properly) and it fixes the 
registration issue (since the version the script is running matches the version 
that the GUI runs).

Instead of adding a bunch of duplicate code into each browser subclass, I 
changed the parent class to have a better start_browser() routine and made it 
use several new subclassable routines.  Then, I removed the start_browser() 
routine from each subclass and inserted just the needed member functions into 
the classes to customize the browser-starting.  Most classes just need the new 
get_browser_path_suffix() routine (which returns the default path string 
relative to the program-files dir).  For chrome, it gets a custom 
get_browser_cmd() routine (that skips the default program-files search) and 
also a custom wait_for_browser() routine (that lets it call its maximize() 
function).  For msie, it still has its custom registry error check.

Original issue reported on code.google.com by 4WayneD on 14 Aug 2010 at 5:57

Attachments:

dropdowns on website not working in chrome, opera...

What steps will reproduce the problem?
1. Start up chrome or opera
2. Go to the add factory page
3. Try to use the scroll bar in the list of operating systems

What is the expected output? What do you see instead?
It deselects the drop down when I try click on the scroll bar.
I have the same problem with every other drop down on this site.
Also the list of operating systems maybe out of date, it doesn't have ubuntu 
10, freebsd 8

What version of the product are you using? On what operating system?
Ubuntu 10.10, chrome 8, opera 11

Please provide any additional information below.
This page works fine if you save the file locally and remove the reference to 
combine.js which contains funky jquery stuff.


Original issue reported on code.google.com by [email protected] on 12 Jan 2011 at 5:04

Updated Browsers cause duplicates

What steps will reproduce the problem?
1. Open any of your factories on browsershots.org
2. Add a new browser version of a preexisting browser (such as Firefox 3.6 when 
you have 3.5 listed on your factory)

What is the expected output? What do you see instead?
Expected output is that browser is replaced with new version. Browser is 
instead duplicated

What version of the product are you using? On what operating system?
Windows and Linux both cause this issue

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 21 Oct 2010 at 7:47

no encoding in python files declared

please add 
# -*- coding: utf-8 -*-
to all python files to awoid such messages:

SyntaxError: Non-ASCII character '\xc5' in file 
/home/user/shotfactory/shotfactory04/image/png.py on line 54, but no encoding 
declared; see http://www.python.org/peps/pep-0263.html for details

Original issue reported on code.google.com by [email protected] on 30 Jan 2012 at 1:40

Tweaks needed to certain browser .py files (windows)

1) Firefox 5 and Safari 5 don't scroll for me so had to amend the .py files 
(this is for the windows files).
2) Non scrolling of IE8 has already been fixed in issue 12.
3) They've changed the ini file name, the location of the app data folders and 
names of dialog boxes in Opera 11.5 (phew!), so the original .py file doesn't 
disable the cache recovery process or clear the cache files.

Firefox 5

I changed this:

    def find_scrollable(self):
        """Find scrollable window."""
        firefox = self.find_window_by_title_suffix(' Firefox')
        return self.get_child_window(firefox)

To this:

def find_scrollable(self):
        """Find scrollable window."""        
        firefox = self.find_window_by_classname('MozillaUIWindowClass')
        return self.find_child_window_by_classname(firefox,'MozillaWindowClass')

Safari 5

I changed this:

    def find_scrollable(self):
        """
        Find the scrollable window.
        """
        hwnd = win32gui.WindowFromPoint((self.width/2, self.height/2))
        for dummy in range(20):
            if not hwnd:
                return None
            if self.verbose >= 3:
                print 'handle', hwnd
                print 'classname', win32gui.GetClassName(hwnd)
                print 'text', win32gui.GetWindowText(hwnd)
                print
            if win32gui.GetClassName(hwnd) == 'WebViewWindowClass':
                return hwnd
            hwnd = win32gui.GetParent(hwnd)

To this:

    def find_scrollable(self):
        """
        Find the scrollable window.
        """
        hwnd = win32gui.WindowFromPoint((self.width/2, self.height/2))
        for dummy in range(20):
            if not hwnd:
                return None
            if self.verbose >= 3:
                print 'handle', hwnd
                print 'classname', win32gui.GetClassName(hwnd)
                print 'text', win32gui.GetWindowText(hwnd)
                print
            if win32gui.GetClassName(hwnd) == 'WebKit2WebViewWindowClass':
                return hwnd
            hwnd = win32gui.GetParent(hwnd)

Opera 11.5

I changed this:

    def reset_browser(self):
        """
        Disable crash dialog and delete browser cache.
        """
        appdata = shell.SHGetFolderPath(0, shellcon.CSIDL_LOCAL_APPDATA, 0, 0)
        profile = os.path.join(appdata, 'Opera*', '*', 'profile')
        self.delete_if_exists(os.path.join(profile, 'cache4'))
        self.delete_if_exists(os.path.join(profile, 'images'))
        self.delete_if_exists(os.path.join(profile, 'opcache'))
        appdata = shell.SHGetFolderPath(0, shellcon.CSIDL_APPDATA, 0, 0)
        profile = os.path.join(appdata, 'Opera*', '*', 'profile')
        self.delete_if_exists(os.path.join(profile, 'cache4'))
        self.delete_if_exists(os.path.join(profile, 'images'))
        self.delete_if_exists(os.path.join(profile, 'opcache'))
        for inifile in glob(os.path.join(profile, 'opera6.ini')):
            if self.verbose:
                print 'Removing crash dialog from', inifile
            ini = IniFile(inifile)
            ini.set('State', 'Run', 0)
            ini.set('User Prefs', 'Show New Opera Dialog', 0)
            ini.save()

To this:

    def reset_browser(self):
        """
        Disable crash dialog and delete browser cache.
        """
        appdata = shell.SHGetFolderPath(0, shellcon.CSIDL_LOCAL_APPDATA, 0, 0)
        profile = os.path.join(appdata, 'Opera', 'Opera')
        self.delete_if_exists(os.path.join(profile, 'cache4'))
        self.delete_if_exists(os.path.join(profile, 'images'))
        self.delete_if_exists(os.path.join(profile, 'opcache'))
        appdata = shell.SHGetFolderPath(0, shellcon.CSIDL_APPDATA, 0, 0)
        profile = os.path.join(appdata, 'Opera', 'Opera')
        self.delete_if_exists(os.path.join(profile, 'cache4'))
        self.delete_if_exists(os.path.join(profile, 'images'))
        self.delete_if_exists(os.path.join(profile, 'opcache'))
        for inifile in glob(os.path.join(profile, 'operaprefs.ini')):
            if self.verbose:
                print 'Removing crash dialog from', inifile
            ini = IniFile(inifile)
            ini.set('State', 'Run', 0)
            ini.set('User Prefs', 'Show Default Browser Dialog', 0)
            ini.set('User Prefs', 'Show Setupdialog On Start', 0)
            ini.set('User Prefs', 'Show Startup Dialog', 0)
            ini.set('User Prefs', 'Startup Type', 2)
            ini.save()

Original issue reported on code.google.com by [email protected] on 8 Aug 2011 at 1:12

http://browsershots.org/screenshots/*/ is far too slow (lots of Gateway Timeout)

Calling e.g.
http://browsershots.org/screenshots/24e999bab51e658deb86ae903505cae4/ is
very slow and when having multiple tabs opening such URLs, there is a lot
of "504 Gateway Timeout" responses.

To fix this, I propose:
1. Improve the code in question (is it available somewhere?)
2. Update the software involved (it uses e.g. nginx/0.5.33 after all)


I've also noticed that there are far too many "The browser has not visited
the page" errors, probably caused by api.browsershots.org not responding in
a timely manner to the request to redirect to the target site.
This is an urgent issue and probably related/similar to the initial report.

If you need more hardware/processing power, please let me know - I can help
you out probably, although it looks like software fixes could make it a lot
better probably already.

Original issue reported on code.google.com by [email protected] on 2 Feb 2010 at 8:21

A lot of Socket Timeouts

When running shotfactory.py on a OSX System, every once and a while I will 
receive a Socket Timeout. There is no noticeable pattern that these errors 
happen in. The script hangs after this and needs to be killed manually. 

Original issue reported on code.google.com by [email protected] on 15 Jun 2010 at 10:11

PV.exe is not recognized as an internal or external command, program or batch file (15 times)

What steps will reproduce the problem?
1. Just execute the standalone/self-contained ShotFactory in Windows

What is the expected output? 
Shotfactory running and taking shot requests

What do you see instead?
A repeating of PV.exe is not recognized as an internal/external command

15 lines later...

Ending with WindowsError: [Error 2] File not found. 
(once a shot request has been received and processed)

See screenshots

What version of the product are you using? 
Latest version

On what operating system?
Windows 7 running in Vmware Fusion 

Please provide any additional information below.
Need troubleshooting guide, assistance, anything to get this running properly.

Original issue reported on code.google.com by [email protected] on 15 Feb 2015 at 6:13

Attachments:

Opera 9.64 will not start

I have installed Opera 9.64 on Windows XP. the factory startet opera, but 
no site was loaded. While changeing the opera.py on windows gui ( delete 
parameter -url, which is not supportet from opera on windows) the factory 
startet opera successfully on time. on the nesxt request factory startet 
opera with the startup dialog. so the remove of these dialog will not 
work. 
I removed the dialog manualy but these hab no positiv effect. Opera will 
be starte only once by the factory skript. 

Original issue reported on code.google.com by [email protected] on 7 May 2010 at 10:41

Allow marking a screenshot as "good"

You can currently mark a screenshot as having a (specific) problem, which
is great.

Additionally, it should be possible to mark a screenshot as "good".
This would put the screenshot value higher than "neutral" (which may still
be invalid, but it was not noticed that there was an error).

Original issue reported on code.google.com by [email protected] on 2 Feb 2010 at 9:17

Chrome/Chromium support on Linux

What steps will reproduce the problem?
1. Setup Chromium in a Linux shotfactory
2. When a job gets executed, shotfactory fails as follows:
============================== 02:44:13 ==============================
server poll latency: 1.91 seconds
{'major': 4, 'javascript': '', 'java': '', 'width': 1024, 'flash': '',
'request': 150505552, 'height': 768, 'bpp': 24, 'version': '4.0.249.43',
'command': 'chromium-browser', 'minor': 0, 'browser': 'Chrome'}
Traceback (most recent call last):
  File "shotfactory.py", line 368, in <module>
    _main()
  File "shotfactory.py", line 345, in _main
    bytes = browsershot(options, server, config, options.password)
  File "shotfactory.py", line 129, in browsershot
    gui_module = __import__(module_name, globals(), locals(), ['non-empty'])
ImportError: No module named chrome


What is the expected output? What do you see instead?
Chrome should get support on Linux screenfactories and such an ImportError
should not cause the screen factory to halt.

What version of the product are you using? On what operating system?
SVN trunk (http://browsershots.googlecode.com/svn/trunk/shotfactory) r3182

Original issue reported on code.google.com by [email protected] on 2 Feb 2010 at 9:48

Error while installing cetral server : TypeError: __init__() got an unexpected keyword argument 'verify_exists'

I am trying to sync the tables while doing browser stack server installation on 
my local node.

root@ubuntu:/home/ubuntu/shotserver/shotserver04# ./manage.py syncdb
Traceback (most recent call last):
  File "./manage.py", line 30, in <module>
    execute_manager(settings)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 458, in execute_manager
    utility.execute()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 381, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 195, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 230, in execute
    self.validate()
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 266, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/validation.py", line 30, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 158, in get_app_errors
    self._populate()
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 64, in _populate
    self.load_app(app_name, True)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/loading.py", line 88, in load_app
    models = import_module('.models', app_name)
  File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/usr/local/lib/python2.7/dist-packages/shotserver04/sponsors/models.py", line 31, in <module>
    class Sponsor(models.Model):
  File "/usr/local/lib/python2.7/dist-packages/shotserver04/sponsors/models.py", line 42, in Sponsor
    _('URL'), max_length=400, unique=True, verify_exists=False)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 1265, in __init__
    CharField.__init__(self, verbose_name, name, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py", line 614, in __init__
    super(CharField, self).__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'verify_exists'

Please let me now how to solve it. 


Original issue reported on code.google.com by [email protected] on 29 Jun 2012 at 1:03

Internal server error

How many errors there are 'Internal server error'? Many. But you should do in 
order not to stop the browser when it happens 10 minutes, because the browser 
is working properly. Do not you think?

Original issue reported on code.google.com by [email protected] on 7 Mar 2011 at 11:25

reschangecon not changing resolutions

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? 
Either desktop to be resized to meet what resolutions I have set in my factory 
on browsershots.org

What do you see instead?
Native resolution I have set initially in my VM

What version of the product are you using? On what operating system?
shotfactory-r3050-win32.zip as shotfactory-r3887-win32 did not work at all for 
me.

OS is Windows XP Pro 32-bit SP3


Please provide any additional information below.
I have tried to use the reschangecon.zip file in the downloads and replace what 
I have there as well as going to 12noon.com site to download Display Changer 
and install that in my VM and copy the command line version to my shotfactory 
directory and renaming it to reschangecon.exe and that did not work.

I have not tried shotfactory-r3889-win32 as was posted today to see if that 
fixes any issue and will try that and will report back here if it fixes it.

I do not know python so asking me to change code would be fruitless.

VM is on a Server 2008 R2 Dell Poweredge 2950 Server.
VM is Windows XP Pro SP3 32-bit with 512MB RAM, 2 core at 3.2Ghz, 40GB HDD with 
33GB Free

Original issue reported on code.google.com by [email protected] on 24 Jul 2012 at 3:50

IE Problem with registery

got this error :

Requested version: 10.000, Registry override: 9.0000 Please rename or delete 
the key 'IE' with regedit. Browser version override in the registry.

please help me

Original issue reported on code.google.com by [email protected] on 12 Aug 2013 at 11:36

Download problem

Hello

i want to register my computer as a Browsershots factory
i downloaded all the needed programms and files , expect 'binaries files'
like written in the documentation : http://browsershots.org/documentation

i hope you fix the download link or you give me another tuto or another 
download page or link

Original issue reported on code.google.com by [email protected] on 15 Jul 2010 at 9:44

Cannot add screen size

What steps will reproduce the problem?
1. Go to my factories, edit a factory
2. Insert screen size (1920x1080)
3. Click "Add"

What is the expected output? What do you see instead?

Expected: screen size to be added.
Result: "Failed to add screen size." dialog window


What version of the product are you using? On what operating system?
Arch Linux and Windows 7 in both Google Chrome and Firefox 28/29.


Please provide any additional information below.
None.

Original issue reported on code.google.com by [email protected] on 26 Apr 2014 at 12:12

DropDown menu in Browser Edit - bug

What steps will reproduce the problem?
1. Start up any webbrowser
2. Go to "Update browser configurations" 
3. Try change "Factory name"

What is the expected output? What do you see instead?
"Factory name" don't change. I still have browser in old factory.
I can't add new browser to other factory too.

What version of the product are you using? On what operating system?
FireFox 4, 3.6; Opera 11; Chrome 10, 12; IE 6,7,9

Please provide any additional information below.
My factory: http://browsershots.org/factories/karol508k
My secound factory: http://browsershots.org/factories/karol508k_linux

Original issue reported on code.google.com by [email protected] on 23 Apr 2011 at 7:00

Allow disabling/deleting a browser for a factory

Please add functionality to disable a browser and to delete it from a factory.

For example, if you have added "Opera X" to your factory, you might want to 
disable it temporarily and/or remove it for this factory (although it's still 
installed).

Original issue reported on code.google.com by [email protected] on 29 Jun 2010 at 10:50

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.