carbans / googlecl Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/googlecl
Automatically exported from code.google.com/p/googlecl
> docs help
Traceback (most recent call last):
File "./google-cl.py", line 287, in <module>
main()
File "./google-cl.py", line 275, in main
run_interactive(parser)
File "./google-cl.py", line 144, in run_interactive
run_once(options, args)
File "./google-cl.py", line 175, in run_once
service_module = import_service_module(service)
File "./google-cl.py", line 93, in import_service_module
return __import__(service+'.service', globals(), locals(), -1)
File "/home/jholt/src/googlecl/trunk/src/docs/service.py", line 28, in
<module>
import gdata.docs.client
ImportError: No module named client
Original issue reported on code.google.com by [email protected]
on 24 May 2010 at 7:41
Description here:
http://code.google.com/apis/gdata/docs/2.0/basics.html#PartialResponse
I think this is slowly making its way into the gdata-python-client, but it
would be really handy, seeing as we frequently request gobs of entries and only
use a bit of the data retrieved.
Original issue reported on code.google.com by [email protected]
on 16 Jun 2010 at 10:25
Ubuntu only provides gdata 1.2.4 in its package manager, which means many
commands are broken (especially docs).
This is a spin-off issue from the comment on Issue 11.
Original issue reported on code.google.com by [email protected]
on 7 Jun 2010 at 3:26
What steps will reproduce the problem?
1. google picasa list-albums
What is the expected output? What do you see instead?
I expect it to list every album (or at least the N it chooses to show shouldn't
look arbitrarily-chosen).
Instead it shows me three albums, something like the 6th, 13th, and 7th in the
order they appear in picasaweb.google.com.
What version of the product are you using? On what operating system?
~$ google --version
google 0.9.2
~$ uname -a
Linux philsnow-hostname-redacted 2.6.32-22-generic #36-Ubuntu SMP Thu Jun 3
19:31:57 UTC 2010 x86_64 GNU/Linux
Please provide any additional information below.
Original issue reported on code.google.com by philsnow
on 16 Jun 2010 at 8:41
- Allow sending, reading, adding attachments
Original issue reported on code.google.com by ian.dees
on 18 Jun 2010 at 9:30
btw this is with gdata1.2 and python2.5
$ ./google.py calendar today
Please specify delimiter: x
Traceback (most recent call last):
File "./google.py", line 310, in <module>
main()
File "./google.py", line 304, in main
run_once(options, args)
File "./google.py", line 226, in run_once
task.run(client, options, args)
File "googlecl/trunk/src/googlecl/calendar/service.py", line 200, in
_run_list_today
_run_list(client, options, args)
File "googlecl/trunk/src/googlecl/calendar/service.py", line 186, in
_run_list
calendar=options.cal)
File "googlecl/trunk/src/googlecl/calendar/service.py", line 157, in
get_events
return self.GetEntries(query.ToUri(), title,
File "/var/lib/python-support/python2.5/gdata/service.py", line 1122, in
ToUri
return atom.service.BuildUri(q_feed, self)
File "/var/lib/python-support/python2.5/atom/service.py", line 415, in
BuildUri
parameter_list = DictionaryToParamList(url_params, escape_params)
File "/var/lib/python-support/python2.5/atom/service.py", line 383, in
DictionaryToParamList
for param, value in (url_parameters or {}).items()]
File "/usr/lib/python2.5/urllib.py", line 1210, in quote_plus
if ' ' in s:
TypeError: argument of type 'int' is not iterable
Original issue reported on code.google.com by [email protected]
on 4 Jun 2010 at 7:00
i'd like to just post without giving a --blog, but if i don't give one, it
prompts me
Original issue reported on code.google.com by [email protected]
on 16 Jun 2010 at 9:36
This is a known issue with Google. Check this forum thread for updates:
http://www.google.com/support/forum/p/Google+Docs/thread?
tid=2c5d6866b073b916&hl=en
Original issue reported on code.google.com by [email protected]
on 21 May 2010 at 7:07
This is the error i get:
Traceback (most recent call last):
File "/usr/bin/google", line 448, in <module>
main()
File "/usr/bin/google", line 442, in main
run_once(options, args)
File "/usr/bin/google", line 320, in run_once
if client.RequestAccess():
File "/usr/lib/python2.6/site-packages/googlecl/service.py", line 197, in request_access
request_token = self.FetchOAuthRequestToken()
File "/usr/lib/python2.6/site-packages/gdata/service.py", line 416, in FetchOAuthRequestToken
response = self.http_client.request('GET', str(request_token_url))
File "/usr/lib/python2.6/site-packages/atom/http.py", line 132, in request
connection = self._prepare_connection(url, all_headers)
File "/usr/lib/python2.6/site-packages/atom/http.py", line 240, in _prepare_connection
p_sock.connect((proxy_url.host, int(proxy_url.port)))
File "<string>", line 1, in connect
TypeError: coercing to Unicode: need string or buffer, NoneType found
I have set the proxy in the env variables (both http and https)
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 9:53
What steps will reproduce the problem?
1. Use calendar app in Paris converting timezone of web app to France.
2. Travel back to England, converting timezone of laptop to England
3. Add event at a specific time.
What is the expected output? What do you see instead?
I expect to see the event added at the time at which I specified it. Instead
it gets added an hour earlier.
What version of the product are you using? On what operating system?
google 0.9.5/Snow Leopard
Please provide any additional information below.
It would probably work for other time zones as well.
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 10:29
What steps will reproduce the problem?
1. Start a command for a new user
2. Follow the link
3. On the approval page notice this message: "The site anonymous is requesting
access to your Google Account for the product(s) listed below."
What is the expected output? What do you see instead?
Instead of "site anonymous" it should say something like "application googlecl".
What version of the product are you using? On what operating system?
0.9.5, Hardy 64
Please provide any additional information below.
You should probably use the xoauth_displayname parameter. See section
"Identifying your application to users":
http://code.google.com/apis/accounts/docs/OAuth.html#tokensIdentifying
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 7:53
Here's a patch to add simple optional readline history (up/down arrows) with
loading/saving of a history file to the interactive prompt.
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 10:04
Attachments:
$ ./google youtube post -u credentiality /cf/DCIM/100EOS5D/MVI_1715.MOV
Please specify category: Education
Traceback (most recent call last):
File "./google", line 345, in <module>
main()
File "./google", line 339, in main
run_once(options, args)
File "./google", line 246, in run_once
task.run(client, options, args)
File "src/googlecl/trunk/src/googlecl/youtube/service.py", line 212, in _run_post
tags=options.tags, category=options.category)
File "src/googlecl/trunk/src/googlecl/youtube/service.py", line 118, in post_videos
category=self.build_category(category))
AttributeError: 'YouTubeServiceCL' object has no attribute 'build_category'
Original issue reported on code.google.com by [email protected]
on 14 Jun 2010 at 8:04
Add support for Gmail Tasks as a service.
Original issue reported on code.google.com by [email protected]
on 17 Jun 2010 at 8:28
I /think/ this is a separate bug, but I noticed the youtube error right
after. Hitting control-d caused this traceback:
> Traceback (most recent call last):
File "./google-cl.py", line 287, in <module>
main()
File "./google-cl.py", line 275, in main
run_interactive(parser)
File "./google-cl.py", line 134, in run_interactive
command_string = raw_input('> ')
EOFError
(As you're probably aware, ^d is EOF and is generally a way to get out of
interactive sessions).
Here's the youtube-specific part:
$ ./google-cl.py youtube list
No token for youtube
Traceback (most recent call last):
File "./google-cl.py", line 287, in <module>
main()
File "./google-cl.py", line 281, in main
run_once(options, args)
File "./google-cl.py", line 200, in run_once
util.try_login(client, options.user, options.password)
File "src/googlecl/trunk/src/util.py", line 601, in try_login
client.Login(email, password)
File "src/googlecl/trunk/src/youtube/service.py", line 114, in Login
with open(os.path.expanduser('~/google/devkey'), 'r') as devkey_file:
IOError: [Errno 2] No such file or directory: '[MY HOME
DIRECTORY]/google/devkey'
Original issue reported on code.google.com by [email protected]
on 24 May 2010 at 7:54
$ ./google.py blogger tag --title "My Programming Post" --tags "Python,
GoogleCL"
Please specify blog: myblogname
$
But I don't see it showing up. Maybe it could show me a list of blogs
before asking which, so I know what to type?
Original issue reported on code.google.com by [email protected]
on 4 Jun 2010 at 6:30
When I use a Google Apps email as a username after doing my first "google
calendar add", I am redirected to a Gmail.com login rather than my Google Apps
for my domain login, which entirely prevents me from posting to my Google Apps
accounts. Is there a way to do this now or will it be possible to do this in
the future?
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 10:23
What steps will reproduce the problem?
1. Download on goobuntu laptop
2. Try to install.
What is the expected output? What do you see instead?
It says that it depends on python-support (>= 0.90.0) but on system only
0.7.5ubuntu1.
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 17 Jun 2010 at 1:33
I assumed this would download my "ponies" album, but instead it tried to
download
all my albums into a directory called "ponies":
$ ./google-cl.py picasa get ponies
I suppose I'm more used to having an optional output directory (-o/--output?)
and
a positional album name than the reverse.
A little pontification on the notion of downloading all albums: I have around a
gigabyte of images. If downloading everything happened in kind of an rsync way,
so that it doesn't re-download images already on disk, then it could be really
useful to have it automatically synchronize. I suppose there are also plenty
of
times when someone would want to do a one-off download of everything. But in
both cases it probably isn't unreasonable to make it explicit that I want
everything: --everything? It was cool that it could recursively snarf
everything, but somewhat surprising that it was the default.
Original issue reported on code.google.com by [email protected]
on 5 May 2010 at 9:44
What steps will reproduce the problem?
1. Download .deb.
2. Try to install.
What is the expected output? What do you see instead?
$ sudo dpkg -i googlecl_0.9.2-1_all.deb
dpkg: error processing googlecl_0.9.2-1_all.deb (--install):
cannot access archive: Permission denied
Errors were encountered while processing:
googlecl_0.9.2-1_all.deb
File (*.deb) permissions are perfectly fine:
$ ll *.deb
-rw-r----- 1 mscurtescu eng 40944 Jun 16 18:19 googlecl_0.9.2-1_all.deb
Also, I can open .deb in file-roller and looks OK.
Original issue reported on code.google.com by [email protected]
on 17 Jun 2010 at 1:36
Looks like it currently just shows the global flags, but not the service
and task names. (I can't remember if I already reported this)
Original issue reported on code.google.com by [email protected]
on 24 May 2010 at 2:33
sometimes the browser will fail to load, so it's useful to still have the URL
in case you need it.
Original issue reported on code.google.com by [email protected]
on 16 Jun 2010 at 8:34
$ ./google-cl.py
> ?
Welcome to the google-cl super alpha
('The only thing working so far is picasa, ', 'so give that a shot by entering
picasa at the prompt')
('Quitting also works, despite what your parents told you.', ' Enter quit to
exit.')
> help
Welcome to the google-cl super alpha
('The only thing working so far is picasa, ', 'so give that a shot by entering
picasa at the prompt')
('Quitting also works, despite what your parents told you.', ' Enter quit to
exit.')
> picasa
pop from empty list
Must specify at least a service and a task!
Original issue reported on code.google.com by [email protected]
on 5 May 2010 at 8:58
I tried the blogger post example and it silently failed. Maybe because I
was logged into a different account in which the blog I specified doesn't
exist?
Original issue reported on code.google.com by [email protected]
on 4 Jun 2010 at 7:30
I would be great if you could also upload videos to Picasa albums.
Original issue reported on code.google.com by [email protected]
on 17 Jun 2010 at 8:27
Is this because I don't have a GoogleCL dev cal?
$ ./google.py calendar delete --cal "GoogleCL dev cal" --title "Release.*"
Traceback (most recent call last):
File "./google.py", line 310, in <module>
main()
File "./google.py", line 304, in main
run_once(options, args)
File "./google.py", line 226, in run_once
task.run(client, options, args)
File "googlecl/trunk/src/googlecl/calendar/service.py", line 209, in
_run_delete
options.query, options.cal)
File "googlecl/trunk/src/googlecl/calendar/service.py", line 117, in
get_events
cal = self.get_calendar(calendar)
File "googlecl/trunk/src/googlecl/calendar/service.py", line 87, in
get_calendar
converter=gdata.calendar.CalendarListFeedFromString)
File "googlecl/trunk/src/util.py", line 104, in GetSingleEntry
entries = self.GetEntries(uri, title, converter)
File "googlecl/trunk/src/util.py", line 77, in GetEntries
f = self.GetFeed(uri, converter=converter)
TypeError: GetFeed() got an unexpected keyword argument 'converter'
Original issue reported on code.google.com by [email protected]
on 4 Jun 2010 at 6:57
I gave it -u [email protected], then opened the URL in a browser logged in as
[email protected]. Now googlecl thinks it's showing me foo's data, but is actually
showing me bar's.
Maybe googlecl shouldn't use -u at all?
Original issue reported on code.google.com by [email protected]
on 16 Jun 2010 at 1:53
There needs to be a COPYING file (or however it is apache2 does it) in svn.
The license docs should be able to tell you what you need to do to
properly mark everything.
Original issue reported on code.google.com by [email protected]
on 6 Jun 2010 at 1:57
It looks like I can say either
./google.py blogger post --tags "GoogleCL, awesome" "I'm posting from the
command line"
./google.py blogger post blogpost.txt
Does that mean it looked for a file called "I'm posting from the command
line"? It's neat that it's intuitive like that, but potentially surprising
and dangerous if somebody decided to, say, make a blog post whose text is
just "/dev/urandom"...
Original issue reported on code.google.com by [email protected]
on 4 Jun 2010 at 6:46
Add support for Google Buzz.
- posting (and editing a post)
- commenting (and editing a comment)
- liking/unliking
- searching
Original issue reported on code.google.com by [email protected]
on 17 Jun 2010 at 11:08
python 2.6 doesn't come with ubuntu hardy, btw, so we should probably avoid
depending on it if possible.
$ ./google.py calendar add "Lunch with Jim at noon tomorrow"
./google.py:67: Warning: 'with' will become a reserved keyword in Python 2.6
File "./google.py", line 67
with open(options.summary, 'r') as summary_file:
^
SyntaxError: invalid syntax
Original issue reported on code.google.com by [email protected]
on 4 Jun 2010 at 6:06
Got this error from "google youtube list" on karmic
Traceback (most recent call last):
File "/usr/bin/google", line 448, in <module>
main()
File "/usr/bin/google", line 442, in main
run_once(options, args)
File "/usr/bin/google", line 337, in run_once
task.run(client, options, args)
File "/usr/lib/pymodules/python2.6/googlecl/youtube/service.py", line 200, in _run_list
entries = client.GetVideos(title=options.title)
File "/usr/lib/pymodules/python2.6/googlecl/youtube/service.py", line 91, in get_videos
converter=gdata.youtube.YouTubeVideoFeedFromString)
File "/usr/lib/pymodules/python2.6/googlecl/service.py", line 110, in get_entries
feed = self.GetFeed(uri, converter=converter)
File "/usr/lib/pymodules/python2.6/gdata/service.py", line 1074, in GetFeed
result = GDataService.Get(self, uri, extra_headers, converter=converter)
File "/usr/lib/pymodules/python2.6/gdata/service.py", line 1018, in Get
'reason': server_response.reason, 'body': result_body}
gdata.service.RequestError: {'status': 400, 'body': 'Max-results value is too
high. Only up to 50 results can be returned per query.', 'reason': 'Bad
Request'}
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 12:17
This fails, but if I add a -t "foo" it works.
$ ./google.py blogger post -n "Another test post" "Wow, I love posting to
blogger from the command line"
Traceback (most recent call last):
File "./google.py", line 290, in <module>
main()
File "./google.py", line 284, in main
run_once(options, args)
File "./google.py", line 209, in run_once
task.run(client, options, args)
File "src/googlecl/trunk/src/googlecl/blogger/service.py", line 177, in
_run_post
client.LabelPosts([entry], options.tags)
File "src/googlecl/trunk/src/googlecl/blogger/service.py", line 119, in
label_posts
remove_set, add_set, replace_tags = util.generate_tag_sets(tags)
File "src/googlecl/trunk/src/util.py", line 462, in generate_tag_sets
tags = tags.replace(', ', ',')
AttributeError: 'NoneType' object has no attribute 'replace'
Original issue reported on code.google.com by [email protected]
on 28 May 2010 at 1:10
$ google blogger post --tags "GoogleCL, awesome" --title "Test Post" "I'm
posting from the command line"
Please specify blog: myblog
$ google
> post --title "deleteme" "please delete"
Traceback (most recent call last):
File "/usr/bin/google", line 306, in <module>
main()
File "/usr/bin/google", line 292, in main
run_interactive(parser)
File "/usr/bin/google", line 138, in run_interactive
run_once(options, args)
File "/usr/bin/google", line 171, in run_once
globals(), locals(), -1)
ImportError: No module named post.service
Original issue reported on code.google.com by [email protected]
on 6 Jun 2010 at 2:59
$ google.py calendar delete "Dinner party with George"
Please specify query: Dinner party with George
Are you SURE you want to delete event "Dinner party with George"? (y/N): y
Original issue reported on code.google.com by [email protected]
on 4 Jun 2010 at 7:33
Looks like hardy with default python-gdata is totally broken now, for two
reasons. One, the usage string imports all the service modules, and some don't
have corresponding gdata modules they can load. And two, OAuth doesn't seem to
be supported.
But, it also looks like hardy accounts for a small minority of ubuntu users:
http://credentiality2.blogspot.com/2010/06/os-statistics-from-wikimedia.html
with almost all linux users using either karmic or lucid. So I suppose we
should probably stop trying to support hardy :(
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 1:01
Instead of saving configuration to ~/.googlecl use $XDG_CONFIG_HOME as a base,
and then no need for leading dot. Normally $XDG_CONFIG_HOME points to
~/.config, so the actual config folder for googlecl would be:
~/.config/googlecl/
Also consider $XDG_DATA_HOME and $XDG_CACHE_HOME.
See:
http://www.freedesktop.org/wiki/Specifications/basedir-spec
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 8:08
Is it possible to make up & down arrows to show commands history like in bash
etc?
Thanks
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 10:05
$ ./google calendar today
Did not find config / preferences file at /home/[redacted]/.googlecl/config
Traceback (most recent call last):
File "./google", line 339, in <module>
main()
File "./google", line 319, in main
util.load_preferences()
File "googlecl/util.py", line 682, in load_preferences
with open(pref_path, 'w') as pref_file:
NameError: global name 'pref_path' is not defined
Original issue reported on code.google.com by [email protected]
on 9 Jun 2010 at 11:24
What steps will reproduce the problem?
1. Set environment variable BROWSER or config variable auth_browser to a
browser executable on a Mac.
2. Run a service for the first time.
3. An extra copy of the browser will launch, leading to extra loading time and
possibly errors opening in the browser.
What is the expected output? What do you see instead?
I expect the script to open a new tab or window in the current running instance
What version of the product are you using? On what operating system?
GoogleCL 0.9.5 on Mac OS X 10.6.3
Please provide any additional information below.
I've attached a patch that will use the current instance of the default web
browser, no configuration necessary.
Original issue reported on code.google.com by impiaaa
on 18 Jun 2010 at 10:08
Attachments:
What steps will reproduce the problem?
1. Delete one of the boolean variables from the "prefs" file
(~/.googlecl/prefs)
2. Run the program, with any service/task command
What is the expected output? What do you see instead?
Expect the task to run, instead get
{{{
Error in configuration file: argument of type 'bool' is not iterable
Quitting...
}}}
Original issue reported on code.google.com by [email protected]
on 28 Apr 2010 at 5:10
-p seems to no longer work. export BROWSER=/usr/bin/firefox also didn't seem
to do anything.
Does the oauth stuff have to happen more than once? can't have scripts that
break every few days and require manual re-login from a browser, but just doing
it once is probably okay.
Original issue reported on code.google.com by [email protected]
on 13 Jun 2010 at 4:29
Is it using GMT perhaps? One of my events from yesterday evening showed up
along with today's events.
Original issue reported on code.google.com by [email protected]
on 15 Jun 2010 at 10:12
> blogger post
No token for blogger
but blogger list seems to work just fine.
Original issue reported on code.google.com by [email protected]
on 24 May 2010 at 7:39
Pseudo Syntax:
google email --to "[email protected]" --subject "Hello" "Email body."
google sms "recipient" "Hello."
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 7:38
googlecl-0.9.2
python-gdata 2.0.10
$ google docs upload hello.txt
Loading hello.txt
/usr/lib/python2.5/site-packages/googlecl/docs/service.py:270:
DeprecationWarning: Please use Upload instead
entry = self.UploadDocument(media, title)
Upload success!
Original issue reported on code.google.com by [email protected]
on 17 Jun 2010 at 1:13
I was expecting to be able to do something like:
$ ./google-cl.py picasa list-photos --album=ponies > urls.txt
$ cat urls.txt
http://lh3.ggpht.com/_oXIW_jM0QDA/S3NmKOwLNWI/AAAAAAAAOuk/CB_Am_vB8H0/s720/downl
o
adfile.jpeg
http://lh5.ggpht.com/_oXIW_jM0QDA/S2s49k93CVI/AAAAAAAAOs4/Zqdbu62qMEk/s720/2010-
02-04%2012.51.05.jpg
So that I can say things like:
$ wget `cat urls.txt`
or
$ cat urls.txt | perl -lne 'print "<img src=\"$_\">\n";' >> images.html
I guess the photos have names and tags and whatnot that might also be good to
see, but most often I've wanted to get URLs of a set of images.
Original issue reported on code.google.com by [email protected]
on 5 May 2010 at 9:25
Today googlecl keeps asking me for a username. Seems like before it used to
remember what I typed in last time.
Original issue reported on code.google.com by [email protected]
on 14 Jun 2010 at 10:10
What steps will reproduce the problem?
1. google youtube list
2. authenticate
What is the expected output? What do you see instead?
macbook:bin ashley$ google youtube list
Traceback (most recent call last):
File "/usr/local/bin/google", line 448, in <module>
main()
File "/usr/local/bin/google", line 442, in main
run_once(options, args)
File "/usr/local/bin/google", line 307, in run_once
token_valid = client.IsTokenValid()
File "/Library/Python/2.6/site-packages/googlecl/youtube/service.py", line 98, in is_token_valid
return googlecl.service.BaseServiceCL.IsTokenValid(self, test_uri)
File "/Library/Python/2.6/site-packages/googlecl/service.py", line 170, in is_token_valid
self.Get(test_uri)
File "/Library/Python/2.6/site-packages/gdata/service.py", line 1108, in Get
'reason': server_response.reason, 'body': result_body}
gdata.service.RequestError: {'status': 401, 'body':
'<HTML>\n<HEAD>\n<TITLE>NoLinkedYouTubeAccount</TITLE>\n</HEAD>\n<BODY
BGCOLOR="#FFFFFF" TEXT="#000000">\n<H1>NoLinkedYouTubeAccount</H1>\n<H2>Error
401</H2>\n</BODY>\n</HTML>\n', 'reason': 'NoLinkedYouTubeAccount'}
What version of the product are you using? On what operating system?
google 0.9.5 / Snow Leopard
Please provide any additional information below.
I don't have a YouTube account.
Original issue reported on code.google.com by [email protected]
on 18 Jun 2010 at 9:59
When required to authorize GoogleCL via the web, automatically switch focus to
the browser (if launched), and switch back to the prompt once the user has
authenticated.
Some suggestions for gracefully solving this problem can be found here:
http://sites.google.com/site/oauthgoog/oauth-practices/auto-detecting-approval
Original issue reported on code.google.com by [email protected]
on 17 Jun 2010 at 12:20
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.