Git Product home page Git Product logo

alfred-searchio's Introduction

Searchio! workflow for Alfred

Auto-suggest search results from multiple search engines and languages.

Searchio! Demo

Contents

Supports the following search engines/websites:

  • Amazon
  • Bing
  • DuckDuckGo
  • DuckDuckGo Image Search
  • eBay
  • Google
  • Google "I'm Feeling Lucky"
  • Google Images
  • Google Maps (requires a Google Places API key)
  • Naver
  • Wikia (only the top ~200 wikis, but you can import any others)
  • Wikipedia
  • Wiktionary
  • Yandex
  • YouTube
  • plus it can import a search configuration from any website that supports OpenSearch autosuggestions

Download and installation

Download the latest version from the GitHub releases page.

Usage

There are several example searches pre-configured:

  • g — Search Google in English
  • gd — Search Google in German
  • w — Search the English Wikipedia
  • wd — Search the German Wikipedia
  • yt — Search the United States version of YouTube
  • ytd — Search the German version of YouTube

Configuration

The workflow is configured via the searchio keyword and some workflow variables set in the workflow configuration sheet.

Workflow Configuration Sheet

There are some variables in the workflow configuration screen (open the workflow in Alfred Preferences and hit the [𝒙] button):

Name Description
ALFRED_SORTS_RESULTS Set to 1 or yes to enable Alfred's knowledge. Set to 0 or no to always show results in the order returned by the API.
GOOGLE_PLACES_API_KEY You must set this to use Google Maps search. You can get an API key here.
SHOW_QUERY_IN_RESULTS Set to 1 or yes to always append the entered query to the end of the results (so you can hit to select it). If unset (or set to 0 or no), the query will only be shown if there are no other results.

In-Workflow Configuration

  • searchio [<query>] — Show workflow settings
    • Update Available … — Shown if there is a new version of the workflow available to download. Action the item to install it.
    • Installed Searches … — View and delete your configured searches
    • All Engines … — View supported engines and add new searches
    • Import Search … — Import a new search configuration from a URL (see Importing Searches)
    • Reload — Regenerate the workflow's Script Filters from your configured searches (and clean the cache). Run this if you screw up the Script Filters or an update overwrites them.
    • Show Query in Results — Turn the option to show the query you entered in the results on/off. The query is added to the end of the results, so you can hit to go straight to it. The query is always shown if there are no other results.
    • Alfred Sorts Results — Turns Alfred's knowledge on/off. If on, Alfred remembers which result you chose for which query and moves that result to the top. If off, results are always shown in the order they are returned by the API. If on, Show Query in Results cannot guarantee that the query is always the last result.
    • Online Help — Open this page in your browser.
    • Workflow up to Date — You have the latest version of the workflow. Action this item to force a check for a new version.

Importing Searches

Searchio! has the ability to import a search configuration from any website that supports the OpenSearch autosuggestion API.

Run searchio > Import Search … and the workflow will offer to import a search from a URL on your clipboard, the frontmost Safari tab or the frontmost Chrome tab.

It will try to find and read the OpenSearch description at the URL and import it (and the website's icon if available), then ask you to assign a keyword for the search.

NOTE: Although many websites support OpenSearch, few support the autosuggestion API that Searchio! uses. Sites based on MediaWiki usually support the API, so you can add all your favourite Wikia wikis (the built-in Wikia engine only supports the few hundred most popular wikis).

Adding Engines

In addition to the built-in engines, you can add your own definitions in the engines folder in the workflow's data directory. (Enter searchio workflow:opendata to open the data folder in Finder.)

An engine definition looks like this:

{
  "description": "Alternative search engine",
  "jsonpath": "$[*].phrase",
  "title": "DuckDuckGo Images",
  "pcencode": false,
  "variants": [
    {
      "name": "Argentina",
      "search_url": "https://duckduckgo.com/?iax=images&ia=images&kp=-2&kz=-1&kl=ar-es&q={query}",
      "suggest_url": "https://duckduckgo.com/ac/?kp=-2&kz=-1&kl=ar-es&q={query}",
      "title": "DuckDuckGo Images Argentina",
      "uid": "ar-es"
    }
  ]
}

title and description are self-explanatory. jsonpath is the JSON path expression that extracts the search suggestions from the JSON returned by the suggestion API.

The optional pcencode field tells Searchio! to percent-encode the search query rather than use plus-encoding (the default).

variants define the actual searches supported by the search engine, typically one per region or language. All fields are required. suggest_url points to the autosuggestion endpoint and search_url is the URL of the search results that should be opened in the browser. Both URLs must contain the {query} placeholder, which is replaced with the user's search query.

The (optional) icon for your custom engine should be placed in the icons directory alongside the engines one. It should have the same basename as the engine definition file, just with a different file extension. Supported icon extensions are png, icns, jpg and jpeg.

Licensing, thanks

The code in this workflow is released under the MIT Licence.

The icons belong to the respective search engines and websites.

This workflow uses the following libraries:

alfred-searchio's People

Contributors

deanishe avatar duqcyxwd avatar nikitavoloboev avatar sodisdocs avatar vitorgalvao 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

alfred-searchio's Issues

Google Search - Certificate Signed by Unknown Authority

I noticed this morning that Google Searches are failing. It looks like there is a certificate error. Searches with other engines like DuckDuckGo are working as expected.

[11:54:37.254] Searchio![Script Filter] Script with argv 'test' finished
[11:54:37.260] ERROR: Searchio![Script Filter] Code 1: 🍺
11:54:36 workflow.go:304: --------- Searchio!/2.0.1 (AwGo/0.14.0) ----------
11:54:36 search.go:127: loading search from /Users/{USER}/Library/Application Support/Alfred/Workflow Data/net.deanishe.alfred-searchio/searches/google-en.json ...
11:54:36 search.go:224: querying "Google (English)" for "test" ...
11:54:37 feedback.go:453: Sent 1 result(s) to Alfred
11:54:37 workflow.go:352: [ERROR] couldn't reload data: Get https://suggestqueries.google.com/complete/search?client=firefox&q=test&hl=en: x509: certificate signed by unknown authority
11:54:37 workflow.go:380: ------------------ 259.973241ms ------------------
[11:54:37.262] Searchio![Script Filter] {
  "variables": {
    "AW_SESSION_ID": "BYQWN7R0V050B3TQ5CDT2POE"
  },
  "items": [
    {
      "title": "couldn't reload data: Get https://suggestqueries.google.com/complete/search?client=firefox\u0026q=test\u0026hl=en: x509: certificate signed by unknown authority",
      "valid": false,
      "icon": {
        "path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertStopIcon.icns"
      }
    }
  ]
}

DuckDuckGo seach broken

DuckDuckGo search appears to be broken. The rest of the search engines still appear to work, so I'm guessing it might be a change at the DDG endpoint?

screen shot 2016-07-19 at 2 59 32 pm

Include the actual text I'm typing in the list of suggestions

Thanks a lot for this workflow, I love it!

My only occasional issue is that the list of suggested search terms doesn't include the term I actually typed. Sometimes it happens that the autocomplete suggestions are not what I meant so I'd like to search for the exact term I typed.

Example: I want to search for "nintendo", but I can't because all suggestions have been eagerly extended:

screen shot 2017-10-26 at 12 27 14

This behavior is different from most autosuggest implementations on the web, which almost always list the stuff you typed as the first option in the list of suggestions.

Is there an option to get this behavior for this workflow? If not, would it be possible to add one?

Can inline Alfred searches be added?

It would be awesome if you could see results of queries inside Alfred itself. Like for example in this GIF (Have to skip to the end).

This is for Albert launcher but it can transferred to Alfred too. Here is the code for Google inline search and here is for YouTube.

Would it be possible to add support for inline searching too in this workflow?

In that implementation _ symbol anywhere in the query triggers inline search. You can also trigger inline search with a modifier so if you ⌃ + ⏎ on a query, it will show results for the query inline in Alfred thus saving the loading time of the entire web page and selecting of result there.

2.0.0-rc1 ver. fails due to no file

I just got new mac and decided to try 2.0.0-rc1 again to see if I actually get faster speeds than python version.

I get this error though running the g trigger to search Google.

15:45:37 workflow.go:760: [ERROR] open /Users/nikivi/Library/Application Support/Alfred 3/Workflow Data/net.deanishe.alfred-searchio/searches/google-en.json: no such file or directory

Anything I should of done to set the file up?

v2 feature request to add 'I am lucky' to google search

Not sure if there is API for this but it would be quite awesome if you could on google search results with a modifier key do the 'I am lucky' option.

It would be especially useful when you know what the first result will look like so will save you going to google page and going to the result from there.

Add Google Lucky Search

I can try add this but want to wait for a new release of Searchio first to accommodate new AwGo changes.

New workflow is slower to retrieve results

I thought I was mistaken at first but I tested both the workflows and old Searchio most certainly retrieves results faster on the Alfred screen than new version. Perhaps that is because the new version is not optimised yet but the results are noticeable.

Not really sure why this happens, my guess would be caching or something else. Just wanted to mention it, perhaps I am not alone in seeing this and you are aware of it.

I am using old Searchio for now because its faster on my machine and I really like having my query being instantly shown as first results. I am looking at new Searchio v2 code though and would love to help you make it better.

P.S. This was tested on Google (English) and DuckDuckGo (US) Script Filters and both were significantly slower (~ 1-2 second difference) than old Searchio

Fresh install, default workflows don't work, google-en.json: no such file or directory

Hi, it is a fresh alfred-searchio installation. Downloaded from releases from this repo.
No workflow works for me because of the errors:

When I do searchio reload it destroys all the scripts that I wanted to use (g <query> for google search for example).
image
image

What am I doing wrong?

OS:
image

Searchio version:
image

Error:
image

Debug log SS:
image

Debug log:

[2019-03-02 11:30:03][ERROR: input.scriptfilter] Code 1: 🍺
11:30:03 workflow.go:304: --------- Searchio!/2.0.1 (AwGo/0.14.0) ----------
11:30:03 search.go:127: loading search from /Users/epi/Library/Application Support/Alfred 3/Workflow Data/net.deanishe.alfred-searchio/searches/google-en.json ...
11:30:03 feedback.go:453: Sent 1 result(s) to Alfred
11:30:03 workflow.go:352: [ERROR] open /Users/epi/Library/Application Support/Alfred 3/Workflow Data/net.deanishe.alfred-searchio/searches/google-en.json: no such file or directory
11:30:03 workflow.go:380: ------------------- 1.369401ms -------------------

Potential for showing Google results in Alfred

Came across SerpApi. By looks of it would allow to pragmatically get the results of Google search result pages without parsing the HTML yourself and keeping that parser up to date. You can rely on their service.

Curious if you would consider adding support for it. Although the Pricing is quite steep.

It has both Python & Go wrappers for easy access.

Add ability to retrieve query text with a modifier keypress

Currently if you cmd + c on a query result you get a link for the search. This is great. I do however want to ditch Anycomplete and use Searchio for its purpose of filling out text from a query and pasting it to the screen as well as making searches.

For that I need to retrieve the actual item text and put it into clipboard so I can then paste the text with CMD + V or do something else with it.

Will this be possible to add ability to get the Item's text with a modifier keypress or it goes against the way Searchio is built?

For my case I only need to use this from DuckDuckGo's script filter.

Ability to customise search URL for suggestions

Some web services return suggestions with links to corresponding web pages, in addition to suggested search terms, effectively providing actual search results in the GET response.

It would be reasonable to use those links instead of _search_url URL, when picking items in the list, so the user can skip search page and go straight to the actual result, but as far as I understand, it's not possible without altering of inner workings of the workflow.

Please, consider to add this functionality. Here is JSON response format for the reference, which is used by kinopoisk.ru.

Case-sensitivity on wikia searches

Had posted this to alfredforum, probably better to post here:

I'm experiencing some weird behavior where wikia searches are oddly case sensitive - for example, when searching in tardis.wikia.com, a search for "tenth doctor" with searchio will not show results, whereas "tenth Doctor" will. Or, for dc.wikia.com, night-owl vs night-Owl behaves in the same way.

Wiki Search Error

alfred-searchio returns an error when searching Wikipedia as of today. Here is the debug

[2016-10-13 12:28:42][ERROR: input.scriptfilter] Code 1: 12:28:42 workflow.py:1972 DEBUG Workflow version : 1.8.1
12:28:42 workflow.py:1387 DEBUG Reading settings from /Users/mdivince/Library/Application Support/Alfred 3/Workflow Data/net.deanishe.alfred-searchio/settings.json ...
12:28:42 workflow.py:2233 DEBUG Update check not due
12:28:42 search.py:585 DEBUG subclass : Yandex.ru
12:28:42 search.py:585 DEBUG subclass : Naver.com
12:28:42 search.py:585 DEBUG subclass : Google
12:28:42 search.py:585 DEBUG subclass : Google Images
12:28:42 search.py:585 DEBUG subclass : Google Maps
12:28:42 search.py:585 DEBUG subclass : YouTube
12:28:42 search.py:585 DEBUG subclass : Amazon
12:28:42 search.py:585 DEBUG subclass : eBay
12:28:42 search.py:585 DEBUG subclass : Bing
12:28:42 search.py:585 DEBUG subclass : Yahoo!
12:28:42 search.py:585 DEBUG subclass : DuckDuckGo
12:28:42 search.py:585 DEBUG subclass : Wiktionary
12:28:42 search.py:585 DEBUG subclass : Wikipedia
12:28:42 search.py:585 DEBUG subclass : Wikia
12:28:42 search.py:585 DEBUG subclass : Ask
12:28:42 workflow.py:1610 DEBUG Loading cached data from : /Users/mdivince/Library/Caches/com.runningwithcrayons.Alfred-3/Workflow Data/net.deanishe.alfred-searchio/workflow_update_status.cpickle
12:28:42 workflow.py:2181 DEBUG update_data : {u'available': False}
12:28:42 workflow.py:1610 DEBUG Loading cached data from : /Users/mdivince/Library/Caches/com.runningwithcrayons.Alfred-3/Workflow Data/net.deanishe.alfred-searchio/default-language.cpickle
12:28:42 search.py:195 DEBUG key components : [u'Wikipedia', u'lang', u'en', u'query', u'dal', u'engine', u'wikipedia']
12:28:42 workflow.py:1990 ERROR <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
Traceback (most recent call last):
File "/Users/mdivince/Dropbox/Sync/Alfred 3/Alfred.alfredpreferences/workflows/user.workflow.7BC80B5F-83F8-4CB2-9672-B27FB49564E5/workflow/workflow.py", line 1983, in run
func(self)
File "search.py", line 688, in main
results = engine.search()
File "search.py", line 200, in search
results = self.wf.cached_data(key, self._suggest, max_age=600)
File "/Users/mdivince/Dropbox/Sync/Alfred 3/Alfred.alfredpreferences/workflows/user.workflow.7BC80B5F-83F8-4CB2-9672-B27FB49564E5/workflow/workflow.py", line 1616, in cached_data
data = data_func()
File "search.py", line 529, in _suggest
'search': self.options['query']})
File "/Users/mdivince/Dropbox/Sync/Alfred 3/Alfred.alfredpreferences/workflows/user.workflow.7BC80B5F-83F8-4CB2-9672-B27FB49564E5/workflow/web.py", line 540, in get
auth=auth, timeout=timeout, allow_redirects=allow_redirects)
File "/Users/mdivince/Dropbox/Sync/Alfred 3/Alfred.alfredpreferences/workflows/user.workflow.7BC80B5F-83F8-4CB2-9672-B27FB49564E5/workflow/web.py", line 528, in request
return Response(req)
File "/Users/mdivince/Dropbox/Sync/Alfred 3/Alfred.alfredpreferences/workflows/user.workflow.7BC80B5F-83F8-4CB2-9672-B27FB49564E5/workflow/web.py", line 211, in __init

self.raw = urllib2.urlopen(request)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 431, in open
response = self._open(req, data)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 449, in _open
'_open', req)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1240, in https_open
context=self._context)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1197, in do_open
raise URLError(err)
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
12:28:42 workflow.py:1993 INFO For assistance, see: https://github.com/deanishe/alfred-searchio/issues
12:28:42 workflow.py:2008 DEBUG Workflow finished in 0.192 seconds.

Leave a bit off space between Script Filters generated and the sidebar

I am very fond of calling my script filters from external triggers and since all the Script Filters are generated right next to the side, I get this little mess:

2017-12-12 at 00 42

If you could generate the script filters like in previous Searchio with some space left:

2017-12-12 at 00 43

It would be really useful. Other users can also use this space to make Hotkey triggers or something else.

Thank you.

Can you support some system of custom modifiers that can modify the link?

Similar to Safari Assistant which lets you define custom actions for modifier actions.

It would be amazing if you can do the same for Searchio.

For example I would love to combine DuckDuckGo search with an additional modifier that would prefix my search result query with !ducky which is DuckDuckGo's alternative to Google Feeling Lucky. Or combine Google search with Google feeling lucky so you can do both searches from one script filter. On return, open web page with google results and with ⌃ + ⏎ activate Google Lucky on the search query.

I hope something like this would be possible, this would make Searchio perfect. Thank you.

Get `unexpected end of JSON input` error on 'phy' query in Google search

2018-10-17 at 10 48

Log:

[2018-10-17 10:47:35][ERROR: input.scriptfilter] Code 1: 🍺
10:47:35 workflow.go:304: --------- Searchio!/2.0.0 (AwGo/0.14.0) ----------
10:47:35 search.go:127: loading search from /Users/nikivi/Library/Application Support/Alfred 3/Workflow Data/net.deanishe.alfred-searchio/searches/google-en.json ...
10:47:35 search.go:224: querying "Google (English)" for "phy" ...
10:47:35 feedback.go:453: Sent 1 result(s) to Alfred
10:47:35 workflow.go:352: [ERROR] unexpected end of JSON input
10:47:35 workflow.go:380: ------------------- 869.37µs --------------------

Running v2.0.0

File Not Found Error

image
I am getting the above issue when I try any of the searches. What could be the issue? I am on MacOS Mojave and the latest version of searchio

Only add script filters to the end

Is it possible to always add generated script filters to the end?

The reason I ask is because I added simple wikipedia search and it added it not to the end but in the middle like so:

2017-12-15 at 19 45

And the additional triggers I set are misaligned. You can imagine that users may have hotkey triggers instead of external but the issue will still be there.

I hope you will consider adding this. Thank you.

Give option to always present the fallback query even before results are fetched

How difficult would it be to move the fallback search as first result in Searchio and have it always be present. Right now when you search for something, there is a slight amount of seconds where I actually see something as a result. Be it results from Google or the fallback query.

I would love to have an option to make the fallback search the first item in the list, always present. And then fetch and present suggestion results as result 2/3/...

I get issues like this otherwise:

2018-10-03 at 14 14

2018-10-03 at 14 16

It's not consistent. I often make Google searches where I know the exact string I want to search on and I want to do it fast, type instantly, press return without waiting a little for results to fetch nor press the up arrow and hope the fallback will be there.

Old Searchio allowed for this use case and it was perfect. But I don't want to go back to slower Python version. I can attempt to solve this myself if you think it's possible.

Thank you.

p.s. Show Query in Results is active

2018-10-03 at 14 19

Stuck on "Fetching Results"

Hey,

Not sure if I'm doing something wrong. I'm trying to set it up to work with Karabiner Elements. I added the search engines I wanted (Google US and YT US), then added an external trigger for each.

When I run the trigger I just get stuck with "Fetching results"

Screenshot 2020-10-14 at 06 12 44

Please advise on how to proceed - thanks

v2: Provide user query itself

I would personally prefer it as first query or ideally make it configurable so its either always last result or first result (i.e. when you search Safari user query always takes precedence and you have to down arrow to go to google results).

#33 mentions that it won't be added however but at least query as last result was in the plans.

How to add a proxy?

Because network reason, need to pass an agent to just can undertake visiting of website, how can ability add an agent?

Installation error

I could not install this workflow. Downloading and instaling from github gives following error:

g where is germany?

Open /Users/poudel/Libr...son: No such file or directory

Add ability to copy evaluated link from Google Lucky Search

Often when writing something I want to hyperlink something and I know that if I google for it, it will be the first result shown so instead of doing Google Lucky search, opening URL, copying URL, closing tab. I want to be able to search for a query with Google suggestions and on pressing copy or some key, put the actual URL that Google Lucky evaluates to, to my clipboard or paste it. That would be awesome.

Although I understand that this is most certainly impossible to achieve due to the way the workflow is built now. I might try to extract the 'search and suggestion' part from this workflow and solve this specific use case in a dedicated workflow. Do you think that's wise? @deanishe

Would be really useful to have a modifier action for Google / Youtube to make a search by week

So for example I make a search through the workflow and instead of pressing return, I can press control + return and it would instead filter the Google search by 'this week'. This option :

2017-01-13 at 19 54

I have a regex that I use to quickly turn a google search into a 'search by this week' that I very often use : https://regex101.com/r/Zzof5b/2

And I just think it would be really nice to add an extra action to Searchio itself so users have more control over the searches they make.

This same concept can be applied to Youtube, DuckDuckGo or Amazon's option to filter by price :

2017-01-13 at 19 56

Currently you can just do a replace action on the output with the regex :

2017-01-13 at 20 00

But then if I would update a workflow, I would lose all these actions. Do you perhaps want to add some of these 'extra' actions to Searchio in the future?

I also think it would be nice to calculate these links in the workflow code itself rather then manipulating the end urls with regex. I tried adding something like this but didn't manage to get very far with it. :(

Thank you for this amazing workflow.

Google Maps not returning search results

Hi,

Everything else is working but for some reason just maps isn't returning any results.

The most recent post I could find was 4 years ago, and maybe something has changed since then? Either way I'm not sure how to fix it. I've already removed and reinstalled the maps search engine.

Github Search

Hello

Is there a way to support github.com also?

Thanks

Suggestion - Google news

Hi

Thanks a lot for the hard work on this lovely alfred workflow, I use it almost everyday.

I was wondering if we could have Google news built in, that would be an awesome plus.

Thank you!

Is it possible to add option to keep user search query as first item always? (or make it configurable)

This way user can simply press enter and search for the specific query he wants to search for in cases where none of the suggestions are useful.

This is similar issue to #20

You mentioned there that you want to force users to only have the query as the last item which is quite unfortunate because more often than not, from my experience I want to search for a specific thing on Google without relying on suggestions and the suggestions often get in the way.

If you would to reconsider adding this as a configuration where you can either put User query either as the default result (first item) or the last item it would be amazing. For example opening a new tab in safari and searching, it makes the user query as the default and then suggestions follow. I wish the same behaviour was in new Searchio too.

Thank you a lot. It is the only thing I miss greatly from old Searchio.

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.