Coder Social home page Coder Social logo

ice's People

Contributors

boltomli avatar bryanpedini avatar clefebvre avatar darthlukan avatar kendalltristan avatar mark-peppermint avatar pcnetspec avatar pshem avatar rhein avatar sambar-fgfs avatar vindsl 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

ice's Issues

Ice hijacks icons from browsers on Plasma

Basically, when I set any app, like Evernote and launch REGULAR browser windows, it shows on a panel/dock as ice icon or whatever icon is assigned to given app.
So when I set Evernote with Chromium, launching Chromium shows Evernote icon on a panel. I tested it with regular Plasma panel as well with latte-dock, effect is the same. I changed browser for Firefox and again, normal Firefox is shown as Evernote. When I didn't set Evernote's icon and left default ice icon, that icon is shown for browser.

In result, ice-ssb is confusing and unusable on Plasma.

OS: Manjaro, Plasma 5.11.5

Exception when fetching favorite icon from a website

There is an exception on this line when fetching the favorite icon from a website I was trying:

ice/usr/bin/ice

Line 574 in 499b891

og_image["content"])

og_image is a string at this point, not a dictionary. This line should probably be just og_image. The variable has the contents of og_image["content"] from a few lines earlier.

Back Button

Please add an option to have a back button on the top of the SSB.

Prevent user from creating a web-app without name.

Hello,

ICE is a very nice utility ! For kiosk setups, but non only !

It may lack though a little safety trick : it is now ( version ice_6.0.3_all.deb ) possible to create a web-app without naming it.

Since from « name » depends creation of web-app's profile folder, it may end in a messy situation regarding web-app profiles stored then in
~/.local/share/ice/firefox/
instead of
~/.local/share/ice/firefox/web-app-name
and it creates in
~/.local/share/applications
an obviously hidden .desktop file ( ok you really have to want to launch that one but that may happen… )

Maybe the « apply » button should stay inactive as long as the « name app » box is empty ?

For reference ( french ) : https://forum.ubuntu-fr.org/viewtopic.php?pid=22106126#p22106126 where I still think the op issue is not related to ICE.

And question : where may I help translate ICE in french ? ( solved )

Altering default search

When you right click on a link, you get a standard set of options, ie.

  • Open,
  • Open in a new Tab,
  • Search with Google…

That last one annoys me to no end because it requires going through Google's privacy statement(because it's a new profile) before you actually make the search and I:
a) often click it accidentally(it's just below the new tab which I usually want),
b) don't want to search with Google.
Can ICE include code to change the default search provider to http://ddg.gg, like the rest of Peppermint, or remove the search option from the right click menu entirely, to reduce misclicks?

I'd be happy to help write this feature, although my Python is not very good

ice-ssb stopped working on Manjaro/Arch

I assume this is a general bug for Arch and Manjaro but I might be wrong. Anyway, after updating to 6.0.0-1 ice-ssb won't start and I get the output:

/usr/bin/ice:721: DeprecationWarning: Gtk.Button.new_from_stock is deprecated
  apply_button = Gtk.Button.new_from_stock(Gtk.STOCK_APPLY)
Traceback (most recent call last):
  File "/usr/bin/ice", line 818, in <module>
    window = Ice()
  File "/usr/bin/ice", line 759, in __init__
    details = get_details(a)
  File "/usr/bin/ice", line 72, in get_details
    for line in a:
  File "/usr/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte

So I downgraded the package to the previous version that worked in the past (5.3.4-1) but it turned out it has a similar issue:

/usr/bin/ice:551: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  where_lab = Gtk.Label(_("Where in the menu?"))
/usr/bin/ice:577: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  choose_icon = Gtk.Button(_("Select an icon"))
/usr/bin/ice:579: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  download_icon = Gtk.Button(_("Use site favicon"))
/usr/bin/ice:640: DeprecationWarning: Gtk.Button.new_from_stock is deprecated
  apply_button = Gtk.Button.new_from_stock(Gtk.STOCK_APPLY)
/usr/bin/ice:664: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  create_lab = Gtk.Label(_("Create"))
Traceback (most recent call last):
  File "/usr/bin/ice", line 732, in <module>
    window = Ice()
  File "/usr/bin/ice", line 676, in __init__
    nameline, pixbuf = get_details(a)
  File "/usr/bin/ice", line 69, in get_details
    for line in a:
  File "/usr/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte

Add checking for running instances of browser

To describe my issue here is example:

I have some chat application, when somebody sends me a link it gets opened in my default browser (Chromium). If instance of chromium is already running a tab with this link gets opened in this instance.

This is the flow I got used to

Now, when I create Chromium application with Ice I also sometimes encounter links to external sites. When I click this links a new instance of Chromium gets started to open it, but new instance gets started even if there are already running instances of Chromium and I would like links to external sites to be opened in already running instances of Chromium instead of creating new ones.

tag more versions

I think the current version is 5.1.8 but the last tagged is 5.1.4, is there a reason for this or would it be possible to tag the new versions, too?
(I'm asking because this would make it easier to make a PKGBUILD for archlinux with the recent version)
Thank you for this nice application 👍

A few suggestions

Please add the fullscreen option. In Chromium browsers, the flag is "-start-fullscreen". Not sure about Firefox. This is useful for sites that such as Netflix, Hulu etc where you want it to be full screen.
And there's also a bug I wish you'd fix. In isolated browser mode, the browser gives you this message asking if you wish to make it your default browser and send feedback. I believe this setting is in the Local State file. Not sure how to do it in Firefox though.

New version 6 won't work due to missing folders

Hello,

just install SSB version 6 on Manjaro. The application won't start and it was found that some folders needed are not created during build. The "profiles" folder once created manually fix the application.

~/.local/share/ice/profiles

Firefox SSB's are caching to disk

I've just realised that Firefox SSB's actually ARE caching to disk, even though they're set to remove the secondary cache directory if it gets created when started.

When a Firefox SSB is run, we should really create a user.js file and add these 6 preferences:

user_pref("browser.cache.disk.enable", false);
user_pref("browser.cache.disk.capacity", 0);
user_pref("browser.cache.disk.filesystem_reported", 1);
user_pref("browser.cache.disk.smart_size.enabled", false);
user_pref("browser.cache.disk.smart_size.first_run", false);
user_pref("browser.cache.disk.smart_size.use_old_max", false);

to a "user.js" file in the SSB's profile directory.

eg, change /usr/bin/ice-firefox from:

#!/usr/bin/env python3

import os
import sys

sys.argv[1]
profileid1 = str.replace(sys.argv[1], 'http://', '')
profileid2 = str.replace(profileid1, 'https://', '')
profileid = str.replace(profileid2, '/', '_')

chromepath = os.path.expanduser('~/.local/share/ice/firefox/' + str(profileid) + '/chrome')
path = os.path.dirname(chromepath)

execute = 'firefox -profile ' + path + ' -no-remote -new-instance' + ' ' + sys.argv[1]

os.system('mkdir -p ' + chromepath)
os.system('echo "#nav-bar { visibility: hidden !important; max-height: 0 !important; margin-bottom: -20px !important; } #TabsToolbar { display: none !important; }" > ' + chromepath + '/userChrome.css')
os.system(execute)
os.system('rm -rf ' + path + '/cache2')

to something like:

#!/usr/bin/env python3

import os
import sys

sys.argv[1]
profileid1 = str.replace(sys.argv[1], 'http://', '')
profileid2 = str.replace(profileid1, 'https://', '')
profileid = str.replace(profileid2, '/', '_')

profilepath = os.path.expanduser('~/.local/share/ice/firefox/' + str(profileid))
chromepath = os.path.expanduser('~/.local/share/ice/firefox/' + str(profileid) + '/chrome')
path = os.path.dirname(chromepath)

execute = 'firefox -profile ' + path + ' -no-remote -new-instance' + ' ' + sys.argv[1]

os.system('mkdir -p ' + chromepath)
os.system('echo "#nav-bar { visibility: hidden !important; max-height: 0 !important; margin-bottom: -20px !important; } #TabsToolbar { display: none !important; }" > ' + chromepath + '/userChrome.css')
os.system('echo "user_pref(\\"browser.cache.disk.enable\\", false);" > ' + profilepath + '/user.js')
os.system('echo "user_pref(\\"browser.cache.disk.capacity\\", 0);" >> ' + profilepath + '/user.js')
os.system('echo "user_pref(\\"browser.cache.disk.filesystem_reported\\", 1);" >> ' + profilepath + '/user.js')
os.system('echo "user_pref(\\"browser.cache.disk.smart_size.enabled\\", false);" >> ' + profilepath + '/user.js')
os.system('echo "user_pref(\\"browser.cache.disk.smart_size.first_run\\", false);" >> ' + profilepath + '/user.js')
os.system('echo "user_pref(\\"browser.cache.disk.smart_size.use_old_max\\", false);" >> ' + profilepath + '/user.js')
os.system(execute)
os.system('rm -rf ' + path + '/cache2')

which COMPLETELY disables disk caching for any Firefox SSB's

The above script does work, though I'm guessing there's a more elegant way of echoing those 6 lines to a user.js than appending them one line at a time ?

Collaboration vs fork

Hi @VinDSL,

Congratulations on this tool. It's a fantastic idea. I couldn't find your contact details and I'm not really sure who else to get in touch with. Maybe we can gith-poke people here if needed.

We'd like to add a Web-app manager like ICE in the next version of Linux Mint. After taking ICE for a ride I find it to work well but there's so many changes I'd like to implement, I'm not sure how to go ahead with this.

I'd like to get in touch with you and the other devs so we can discuss the changes and see how to proceed:

  • If you're happy with the changes we could simply implement them in ICE.
  • If you're happy with some of the changes we could make them optional (via a gsettings override for instance so different distributions could ship with the same ICE but with different default settings).
  • If you don't like the changes but you'd like us to collaborate on the core, we could help separate the UI-tool from the utility functions (so we'd each have our own web-app tool but they'd use the same ICE backend scripts and all on which we'd collaborate).
  • Or we could fork it all simply and keep in touch and send you patches when relevant.

Here are some of the changes I'd like to implement:

  • A completely new UI, more like window and less like a dialog, using stack switcher to move from a main screen that lists the entries to a create and/or edit screens, without buttons in the headerbar.
  • Preference for named icons and usage of XappIconChooser which allows to provide a set of recommended icons ootb. Getting the favicon is a great idea too, we'd keep that, but as an optional secondary option.
  • Hide browser choices for browsers which are not installed.
  • Hide SSB choice.
  • Hide menu category choice.

These changes could be made optional and have no impact at all. Even the new UI, could be an additional UI in addition to the existing one, and we could make the tool use one UI or another based on gsettings. We'd just need to separate UI and utility functions a little bit more first.

The changes below are important also, but they couldn't be made optional:

  • Launchpad-based translations (to ensure the tool is translated in all major languages and fast, we can't ship it if it's not translated, we'd take over this aspect either temporarily for the tool to reach a good level of translation or permanently.).
  • Generic name in the application menu (something like "Web apps" or "Web Applications Manager" rather than ICE). We'd still have "ICE" and a link to here in an about dialog.

If you'd prefer a collaboration on the core but not go ahead with the UI changes we could do the following:

  • We'd make PRs to split ice into two packages "ice" and "ice-common".
  • Your UI frontend would go into "ice". Utility functions, scripts etc... would go in "ice-common".
  • We'd work with you here on the common part.
  • We'd develop our own UI frontend with its own translations and ship with ice-common.

Let me know your thoughts about all of this.

Idea: Set SSB URL as Homepage

I think it'd be nice if we could use the Homepage shortcut to quickly get back to the start page of the SSB. For Firefox, this could be done by setting the browser.startup.homepage preference while creating the SSB. I don't know how it is for other browsers.

ICE fails to detect snap installed browsers

Hello,
I have been using ICE with browsers which were installed as deb packages. Recently I moved to use browsers which are installed from snap packages. ICE does not detect any browsers installed in the system. I tried both Firefox and Chromium. Is this something ICE supports?

Kwin icon rules for Firefox SSBs

I don't know if this really fits within the project's scope, but at the very least I want to put some helpful info here for other Plasma/Kwin users.

Arch Linux
ice-ssb 6.0.5
kwin 5.16.5

After creating a Firefox SSB, I need to manually do a couple things to get the icons right. First I manually edit the .desktop file to change the Icon field to a plain theme-friendly icon name, so that it changes when the desktop's theme does. Then I create a kwin window rule to associate the window class with the proper .desktop file/icon. Effectively this creates a new uniquely numbered entry in ~/.config/kwinrulesrc like the following two examples:

[1]
Description=Application settings for ice-ssb-googlephotos
clientmachine=localhost
clientmachinematch=0
desktopfile=googlephotos
desktopfilerule=2
wmclass=navigator ice-ssb-googlephotos
wmclasscomplete=true
wmclassmatch=1

[2]
Description=Application settings for ice-ssb-googlemaps
clientmachine=localhost
clientmachinematch=0
desktopfile=googlemaps
desktopfilerule=2
wmclass=navigator ice-ssb-googlemaps
wmclasscomplete=true
wmclassmatch=1

Without those rules, the desktop uses the Firefox icon instead once the app is open.

Feature request: access to ssb's settings

Introduction: I re-created ssb's on my work laptop on Manjaro with Deepin DE. I mentioned in other thread that I had an issue in Deepin before, but it turned out that the ssb I created didn't show properly the icon for the desktop file. Deepin obviously checks that and without the icon, it isn't shown in the menu. Once the icon path is corrected manually, app shows up and everything is fine. -> End of the introduction to the topic ;).

I created ssb for my accounting-invoice app. I realized one big flaw. At some point of my work I need to save some files (pdf or zip files) on my disc but... I don't know where the app puts it. Even if I figure out where it is, I REALLY NEED:

  • configure a path to store my files (it's my default work folder that I sync with a cloud)
  • or allow the app to ask for the location

This is important for the workflow. So I already thought that this is a hopeless case but I figured out some workaround.

  1. I created a copy of ssb's .desktop file
  2. I edited the name of it to "name-properties"
  3. Edited the exec path and instead the last piece of an url, I just put there "about:preferences" without quotation marks of course. All other lines were pointing to the same app container/profile

Here is how my .desktop file looked like for my app:

[Desktop Entry]
Categories=GTK;Office;
Comment=wfirma-ff-properties (Ice SSB)
Exec=firefox --class ICE-SSB-wfirmaff --profile /home/stolmetzywiec/.local/share/ice/firefox/wfirmaff --no-remote about:preferences
IceFirefox=wfirmaff
Icon=/home/stolmetzywiec/.local/share/ice/wfirma.png
MimeType=text/html;text/xml;application/xhtml_xml;
Name=wfirma-ff-preferences
StartupNotify=true
StartupWMClass=ICE-SSB-wfirmaff
Terminal=false
Type=Application
Version=1.0
X-Deepin-Vendor=user-custom
X-MultipleArgs=false
  1. Close the ssb's window if it's opened (otherwise ff will complain about it's already been opened).
  2. I launched such preferences app and I was presented with configuration page. I could set what I needed, closed the window.
  3. I opened the main ssb app and this time it was launching a dialog to choose a place where to save a file, just like I set. As usual, ssb will remember the last used path so that works well for me, but now I can also set correctly a path without asking if I will.

This was all done on Firefox's ssb.

My request is: we really need a way to access preferences of created app's profile.

Putting the access icon on a gtk CSD bar as chrome/chromium is doing creates other issues (lack of SSD support for Plasma and other WMs).
My solution shows that WE CAN ACCESS preferences but it's inconvenient to go that route manually. So my proposal would be: have an option to create such additional properties launcher for a given app. Just a box to check. And if someone leaves it unchecked and wants to add it later, on the apps list it could be in the right-click menu to check or un-check (if someone wants to disable/delete such properties launcher).
Such launcher (.desktop file) would have schematized, automatic name: app-name:properties or something like that.
Of course, you can make this option active when Firefox or containerized version of other browser is created, otherwise, it could be grayed out (as it's unnecessary since then ssb inherits settings of the main browser).

I think this is a doable and very reasonable feature. It's maybe not ideal but it does the job. I think this could work for chromium based browsers as well. Preference pages for all supported browsers must be specified in ice-ssb.

[Firefox] Way to get notified from SSB webapp

Hello, thank you very much for developing such an interesting app.

I use a webapp based on my Nextcloud News webpage to show RSS feeds. This webapp uses Firefox as a backend.

Normally, when I get new feeds, Firefox display a push notification and if I the Nextcloud News window is not the focused one, then I receive a notification on GNOME notification tray.

However, with ice, push notification does not communicate with notification tray, so I am never informed when I receive new feeds.

  1. Is this a bug or not ?
  2. I would like to know if there is any way to get notified (notification program, or badge counter program) ?

Any idea (notification on dock, blinking icon, or on notification tray, or popup, etc.) is appreciated.

Thank you very much.

Add Tor Browser!

Please add the ability to use Tor browser over Tor. This will be great for a simple privacy browser app.

[Firefox] Copy/link default user profile

One of my top reasons (besides ideological ones - I don't want to support a Chrome monoculture) to want to use my main browser to provide is to have the environment I have already set up available to me, with my password manager, ad blocker and user scripts.
Setting this up for every new website would be really annoying.
Is it possible to link the profiles, so that most stuff is shared? What more does ice-SSB add than a userChrome.css and user.js?

Package up for a new Release

Hey there everyone.
Thanks for providing this awesome program, however the most recent release 5.1.4 has this major bug of not creatinng the ~/.local/share/ice/ folder. Could you provide a new Release from master?
Thanks in advance!

Browser Extension?

Do you plan to make a browser extension that simply allows people to "create an app" from a website? That would be super useful. Cheers!

Automatically create ~/.local/share/ice if not present

Ice requires a folder to exist in the users home folder at
~/.local/share/ice
to save Firefox SSB's and icons.

This folder is currently added from
/etc/skel
as the user account is created, but if it goes missing (for any reason) it doesn't get recreated .. which also means ice isn't a standalone package that other distros can utilise.

Would it be possible for the script to check if the folder is present, and create it if not ?

If you haven't time Brian, I could probably handle this ?

Support for Waterfox?

Well, Waterfox is a carbon copy of Firefox Pre-Quantum minus the telemetry. So... I would assume that having support for it would be really easy.

Is it possible to have tabs or plugins in an ice firefox profile?

Hello,

I like the idea of having privacy invasive webapps (like, google, facebook, among others) within ice, however I find the lack of tab support not to be very convenient.

Is there a way to have tab support? (be able to use regular tabs). Would it be possible to use plugins? If it would be the case, vimperator would do the trick for me.

Thank you.

Can't download icon from the internet

I want to add https://app.asana.com
When I click on "use icon from the site" and then apply, I get:

Http or url error. The site is probably unavailable or closed.

The site works fine and I use: https://app.asana.com
So what is the issue? Why can't it download the icon? When I proceed anyway I get the usual ice-ssb icon and I know I can change the icon manually by downloading it and providing the path to it in .desktop file but I remember this was working fine in the past.

The problem exists independently on the browser I want to set and on the link so I can use https://app.asana.com/ instead and it's always the same problem. On other sites it works, so what is this about this specific one? It does have an icon.

If the issue happens on this site then most probably there will be other sites with this bug as well.

Request: more flexible bin detection

Detecting presence of a browser shouldn't depend on hard-coded absolute paths, and should handle a little variation in bin name (e.g. "chromium-browser" vs "chromium").

I'm going to submit a PR that attempts to improve this with the help of an extra python dep (plumbum). I understand if it's desirable to implement this without an extra dep, but at least it will serve as an example.

New Firefox SSBs include tab bar and nav bar -- must set toolkit.legacyUserProfileCustomizations.stylesheets true

Currently using

ice-ssb 6.0.5
firefox 70.0.1
Arch Linux

Some time after Firefox 68.0.2, custom user chrome style became disregarded by default, now a "legacy" option.

Here's a Google Maps Firefox-SSB that I created in the past which hides the elements, next to a newly created Last.fm Firefox-SSB which does not:

image

This can be fixed, at least for now, by setting Firefox's toolkit.legacyUserProfileCustomizations.stylesheets to true.

Clear history and cookies

Please add an option within the ice menu to clear the history, cookies and other data from the isolated browser. This would be more ideal than having to delete and recreate the webapp.

ice-ssb locks after clicking 'Use site favicon' or 'Apply'

I'm using 'ice-ssb 5.2,3-1' from aur on newly installed 64bit Manjaro xfce, work previously on Manjaro KDE fine.

My ~/.local/share/ice/ folder exists, nothing in it yet.

When lauching from terminal, I see the message below, but not sure if this is really an issue based on some articles I've read saying it can be ignored.
"/usr/bin/ice:21: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import Gtk"

No other messages from terminal, if I close without clicking the buttons mentioned earlier. If I do click them I have to forcibly close Ice.

All files listed from below are present:
/usr/bin/chromium-browser
/usr/bin/google-chrome
/usr/bin/ice
/usr/bin/ice-firefox
/usr/lib/peppermint/ice/ice.glade
/usr/share/applications/ice.desktop
/usr/share/applications/pixmaps/ice.png

I have uninstalled and installed again, any help on what to troubleshoot next would be great. Is there a verbose switch?

Open foreign links in main browser

Please add an option for each webapp to allow foreign links to certain website to be opened in your main browser.

A good example of this is if you have a Gmail Ice app and when you click on a link in a email that takes you to a YouTube video, it will open the link in your browser and not within the Gmail Ice app.

.rpm or flatpak support?

Hi.

I was wondering, if You could create an .rpm build (or something that works crossplatform e.g. flatpak) of this great tool?

I used it alot on Debian-based distros, but I'm on openSUSE now, and I can't find a way to get this tool again. I use Firefox, so installing Chromium (or any other browser that supports it) just for this particular feature is an overkill for me.

Thank You.

Password/PIN Option

Please add a option to require the user to enter a Password/PIN before opening the Ice webapp. This can add security to those who have webapps were they are logged into personal accounts.

Support for Qupzilla

Currently, I use Ice with Firefox, but I'm also a KDE user and have gotten comfortable using Qupzilla as my regular browser. It would be great if Ice would be able to support it alongside the others.

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.