Git Product home page Git Product logo

screenkey's Introduction

screenkey's People

Contributors

4e6 avatar brunif avatar cnsworder avatar nixmaniack avatar pabluk avatar seletskiy avatar wavexx avatar zaygraveyard 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

screenkey's Issues

XIM support

Hi, it would be possible to include utf-8 support in screenkey? I have an spanish keyboard and when I try to write "áéíóú" screenkey writes ", a , e , e , o , u".

Thanks in advance.

show password :) ?!

Hi
When I run a command such as "sudo apt upgrade" and sys ask me password, screenkey show my password!
How I can change this setting??

Visible Shift and Capslock

Add a flag to make Shift (and Capslock?) explicitly visible (as in Shift+A) when needed. Currently, shift is hidden when it can be combined with a letter.

Cannot Install Ubuntu 16.10

So I cloned the master repo and when I do ./screenkey it runs perfectly. Not I want to install it sudo./setup.py install I get an error

Traceback (most recent call last):
  File "./setup.py", line 35, in <module>
    ('share/doc/screenkey', ['README.rst', 'NEWS.rst'])],
  File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
    _setup_distribution = dist = klass(attrs)
  File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 348, in __init__
    self.fetch_build_eggs(attrs['setup_requires'])
  File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 394, in fetch_build_eggs
    replace_conflicting=True,
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 851, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1123, in best_match
    return self.obtain(req, installer)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1135, in obtain
    return installer(requirement)
  File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 459, in fetch_build_egg
    cmd.ensure_finalized()
  File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
    self.finalize_options()
  File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 289, in finalize_options
    'site_dirs',
  File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1364, in _expand
    config_vars = self.get_finalized_command('install').config_vars
  File "/usr/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
    self.finalize_options()
  File "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", line 38, in finalize_options
    orig.install.finalize_options(self)
  File "/usr/lib/python2.7/distutils/command/install.py", line 395, in finalize_options
    ('build_lib', 'build_lib'))
  File "/usr/lib/python2.7/distutils/cmd.py", line 297, in set_undefined_options
    src_cmd_obj = self.distribution.get_command_obj(src_cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 856, in get_command_obj
    self._set_command_options(cmd_obj, options)
  File "/usr/lib/python2.7/distutils/dist.py", line 899, in _set_command_options
    % (source, command_name, option))
distutils.errors.DistutilsOptionError: error in setup.cfg: command 'build' has no such option 'i18n'

Transparency?

I tried using xcompmgr + devilspie but failed.
Do you have any configuration working with compton or any other?

--------------------------- EDIT: what i tried so far
~/.xprofile

xcompmgr &
devilspie &

~/.devilspie/opacity.ds

(if (or (is (application_name) "screenkey")
        (is (application_name) "terminator")
            (begin
               (spawn_async (str "transset-df -i " (window_xid) " 0.85"))
            )
    )

Terminator does get transparency set but screenkey does not. Also,
when i manually set transset-df -i XID 0.85 where XID is the window
id i get using command xprop it does get the transparency but it

--------------------------- EDIT2: Running screenkey --persistent
and xbindkeys allowed me to change any window transparency with Alt + up or down (Scroll wheel)

~/.xbindkeysrc

"transset-df -p --inc 0.2"
Alt + Alt_L + b:4

"transset-df -p --min 0.2 --dec 0.2"
Alt + Alt_L + b:5

Does not work in fullscreen application

The overlay does not appear in full-screen applications like firefox or gnome-terminal.

➜ ~ lsb_release -a
LSB Version:    1.4
Distributor ID: Arch
Description:    Arch Linux
Release:    rolling
Codename:   n/a
➜ ~ gnome-shell --version
GNOME Shell 3.18.1
➜ ~ screenkey --version
0.7.0

Visible "Click"

It's very often useful to highlight where the mouse has clicked, and also show which mouse button and keyboard modifiers have been pressed.

I'm using key-mon just to do that, and the way key-mon shows clicks/modifiers is pretty decent. Regardless, it would be just better to integrate the same feature in screenkey, so that we can reuse the same modifier/keyboard handling (and same visual style as well).

See issue #16

screenkey does not work with i3-wm

Screenkey does not work with i3 window manager despite appending:

for_window [title="^screenkey"] floating enable

in the config file. My machine has the following:

$ screenkey --version
0.2

$ i3 --version
i3 version 4.11-5-g6d385e6 (2015-10-02, branch "master") © 2009 Michael Stapelberg and contributors

$ lsb_release -a
LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty

Missing support for wayland

Open gnome-terminal or terminator all the input goes to that windows, and nothing goes to screenkey

If you change to focus a browser or other kind of app, input goes again to screenkey

several lines of output

Is it possible to add several lines of output

With an almost transparent background and the right foreground, screencast will be much easy to follow

show keys on designated area?

Hi
This seems a very nice application. Here are my questions:

Keep the last 5 commands in a stack in this area? With smaller text size is preferable. This allows the audience to follow a tutorial easier.

Alright, many of my questions are already addressed in the latest version in this git repo. So I will close this for now.

Python 3 support

Both python-xlib and python-xcb are currently out-of-date for python 3. This blocks python 3 support in Screenkey.

Feature request : Mouse

key-mon is a good alternative but screenkey is much better for the keyboard.
Unfortunately key-mon can't hide all the keyboard buttons, there's at least one. This makes is pretty annoying if you want to use screenkey for the keyboard and key-mon for the mouse.
I could ask to key-mon to add a mouse-only option but the links to feature requests and bug reports (given here) are dead and its development seems much less active, so I feel I have more chance to ask for a mouse feature here. Unless you know a program that shows only the mouse ?

Settings dialog

Aside from the overlong/misplaced look, the code... needs to be trashed. There are settings (such as "ignored" keys) which cannot be changed interactively. Adding too much new code to the existing mess is a bad idea.

10 karma points for the brave soul that can help in re-doing the UI in glade.

Python 3 support

I have problems running screenkey. Any ideas?

$ uname -a
Linux screenkeylock 4.0.0-1-mainline #1 SMP PREEMPT Thu Apr 16 18:30:31 WEST 2015 x86_64 GNU/Linux
$ screenkey
Traceback (most recent call last):
  File "/usr/bin/screenkey", line 4, in <module>
    __import__('pkg_resources').run_script('screenkey==0.4', 'screenkey')
  File "/usr/lib/python3.4/site-packages/pkg_resources/__init__.py", line 729, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python3.4/site-packages/pkg_resources/__init__.py", line 1649, in run_script
    exec(script_code, namespace, namespace)
  File "/usr/lib/python3.4/site-packages/screenkey-0.4-py3.4.egg/EGG-INFO/scripts/screenkey",     line 9, in <module>
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible
  File "/usr/lib/python3.4/site-packages/screenkey-0.4-py3.4.egg/Screenkey/__init__.py", line 2,     in <module>
TypeError: install() got an unexpected keyword argument 'unicode'




$ sudo ./setup.py install
running install
running bdist_egg
running egg_info
writing dependency_links to screenkey.egg-info/dependency_links.txt
writing top-level names to screenkey.egg-info/top_level.txt
writing screenkey.egg-info/PKG-INFO
reading manifest file 'screenkey.egg-info/SOURCES.txt'
writing manifest file 'screenkey.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/Screenkey
copying build/lib/Screenkey/__init__.py -> build/bdist.linux-x86_64/egg/Screenkey
copying build/lib/Screenkey/listenkbd.py -> build/bdist.linux-x86_64/egg/Screenkey
copying build/lib/Screenkey/modmap.py -> build/bdist.linux-x86_64/egg/Screenkey
copying build/lib/Screenkey/screenkey.py -> build/bdist.linux-x86_64/egg/Screenkey
byte-compiling build/bdist.linux-x86_64/egg/Screenkey/__init__.py to __init__.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/Screenkey/listenkbd.py to listenkbd.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/Screenkey/modmap.py to modmap.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/Screenkey/screenkey.py to screenkey.cpython-34.pyc
installing package data to build/bdist.linux-x86_64/egg
running install_data
creating build/bdist.linux-x86_64/egg/share
creating build/bdist.linux-x86_64/egg/share/applications
copying data/screenkey.desktop -> build/bdist.linux-x86_64/egg/share/applications
creating build/bdist.linux-x86_64/egg/share/doc
creating build/bdist.linux-x86_64/egg/share/doc/screenkey
copying README.rst -> build/bdist.linux-x86_64/egg/share/doc/screenkey
copying NEWS.rst -> build/bdist.linux-x86_64/egg/share/doc/screenkey
creating build/bdist.linux-x86_64/egg/EGG-INFO
installing scripts to build/bdist.linux-x86_64/egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-3.4/screenkey -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/screenkey to 755
copying screenkey.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying screenkey.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying screenkey.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying screenkey.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/screenkey-0.4-py3.4.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing screenkey-0.4-py3.4.egg
Removing /usr/lib/python3.4/site-packages/screenkey-0.4-py3.4.egg
Copying screenkey-0.4-py3.4.egg to /usr/lib/python3.4/site-packages
screenkey 0.4 is already the active version in easy-install.pth
Installing screenkey script to /usr/bin

Installed /usr/lib/python3.4/site-packages/screenkey-0.4-py3.4.egg
Processing dependencies for screenkey==0.4
Finished processing dependencies for screenkey==0.4

Fedora: E: invalid-desktopfile

Error -> desktop-file-validate

screenkey.noarch: E: invalid-desktopfile /usr/share/applications/screenkey.desktop value "0.8" for key "Version" in group "Desktop Entry" is not a known version
screenkey.noarch: E: invalid-desktopfile /usr/share/applications/screenkey.desktop value "GNOME;Utility" for string list key "Categories" in group "Desktop Entry" does not have a semicolon (';') as trailing character

popup menu sometimes do not work

sometimes popup menu is not showed.

If I use something like

$ screenkey --show-settings

popup always work.

I don't know how to debug this problem, since I cannot make --gtk-debug pass to screenkey module, where gtk initializes

Make ``--no-detach`` default

There's no reason to detach by default. In fact, as a cli user, I consider this broken behavior.
When moving to python 3 with #2, drop forking support, do not detach and drop --no-detach entirely.

Corrupt archive/repo

I've been unable to unzip the downloaded archive, returns an error “21 - is a directory” which it certainly is not.

Tried cloning the repo, but it has several unstaged files, a hard reset to the last commit also fails to reset the tree. Seems like the repo is corrupted somehow, suggestions?

Feature request : distinct opacity for black bar

The black bar is cluttering my screen and the program I am screencasting on already has a dark interface.
Would it be possible to tweak its opacity independently from the characters or simply have a checkbox to disable it ?

Hotkeys

Can You add hotkeys to the program. For example,
Ctrl + Super + S - Show/Stop show Screenkey
Ctrl + Super + M - Show/Stop show Modifiers only

turn off screenkey

Hi,

I tried "both ctrl keys" in the same time, both alt keys, both shift keys but none of them works.
I don't find how to turn off the screenkey service ...

Replacing display of left and right key with cursor based natural behaviour like backspace

I want left and right keys to act like backspace. i.e if I press left I want the display cursor to go left and type from there. Like in a text editor or how the backspace works in Screenkey.

Please add this feature.

I want to build a tutorial using this and I some times make typos and I go left and right and it's annoying that instead of natural left and right behavior the keys are displayed

Add to snap or pip

Currently the package is available only on Github.

Snap is a packing system that is available on all major Linux distros and there is also additional sandboxing.

Users can install a package like sudo snap install screenkeey.

HiDPI display support

With DPI higher than 96, default value, screenkey fails with 'BadAlloc (insufficient resources for operation)'

The program 'screenkey' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 518 error_code 11 request_code 53 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

This happens because function override_font_attributes calculates AttrSize font value larger than current window height can handle. That leads to recursive resizing of window (each window resize event results in call to override_font_attributes).

Feature request: Settings in config file

Rather than having to write out all of the options, especially since, once set, they probably wouldn't see a lot of change, it would be easier to have the different settings abstracted into a config file.

This may already exist and I just missed it.

Quit command?

I can only use screenkey from the terminal (without slop) and I can't find a command to quit the program. So I have to kill the process every time.
Is there a better and faster way that I'm missing?

mouse clicks also

This not a bug report issue, more a feature request.
Screenkey is a good help by creating screencast. I really like it.
But it would be helpful, if it would show mouseclicks also.

Way around using setuptools-git

Is there a way around using setuptools-git? I'm asking because I maintain ScreenKey in my PPA for Ubuntu, Linux Mint, etc., and the Launchpad PPA build system doesn't allow downloading external tools, so the build system can't download setuptools-git, and thus, I can't build the latest screenkey 0.9 package, which depends on setuptools-git in setup.py, in the PPA.

Thanks!

Custom key label replacements

It would be great to be able to use custom key label replacements or disable certain keys.

For example, I might want the sequence Ctrl+Q to be displayed as [Close window] or use other custom labels. Currently I'm just monkey-patching that, but I think it would be a nice feature. I'd understand if you consider that too much bloat, though.

can't launch screenkey downloaded from github

I can use screenkey when it's installed from the AUR but if I uninstall it, download it from Github and run the screenkey executable, I get these errors :

Traceback (most recent call last):
  File "./screenkey", line 9, in <module>
    from Screenkey import *
  File "/home/caetano/Installed_programs/screenkey-master/Screenkey/__init__.py", line 2, in <module>
    gettext.install('screenkey', unicode=True)
TypeError: install() got an unexpected keyword argument 'unicode'

I need to make it work because I want to use a fork.

Ubuntu: Only works in debug mode

I've tried ScreenKey 0.8 in Ubuntu 14.04 and 15.10 and in both, the application only works in debug mode. If I simply type "screenkey" in a terminal, there's no output, no Ubuntu AppIndicator and no keys show up on the screen. If I launch it with "screenkey -d" instead, the Ubuntu AppIndicator shows up and the application works.

I'm not sure how to debug it since... it does work in debug mode.

Static HTML files for each image, and social sharing feature request

fgallery is excellent maybe the best quick gallery script there is.

I would like to propose social sharing feature. With option like --social, the pictures would get one beautiful extra HTML file, that is made by template.html (to be done). In such template, one would include meta tags, ans schema tags, Twitter cards, Facebook for better sharing.

Something like

    <meta charset="utf-8">
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>{$page_title}</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel=icon href="{$faviconico}" sizes="60x60" type="image/png"/>

    <!-- Standard Meta Tags -->
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <meta name="generator" content="{$generator}"/>
    <meta name="author" content="{$page_author}"/>
    <meta name="keywords" content="{$page_keywords}"/>
    <meta name="description" content="{$page_description}"/>
    <!-- Standard Meta Tags -->

    <!-- Google Schema.org -->
    <meta itemprop="name" content="{$page_title}" /> 
    <meta itemprop="description" content="{$page_description}" />  
    <meta itemprop="image" content="{$page_ogimage}" /> 
    <!-- Google Schema.org -->

    <!-- Facebook Open Graph -->
    <meta property="og:title" content="{$page_title}"/>
    <meta property="og:type" content="{$page_ogtype}"/>
    <meta property="og:url" content="{$current_url}"/>
    <meta property="og:image" content="{$page_ogimage}"/>
    <meta property="og:site_name" content="{$areas_name}"/>
    <meta property="og:description" content="{$page_description}"/>
    <meta property="fb:admins" content="{$fb_admins}"/>
    <!-- Facebook Open Graph -->

    <!-- Twitter Card -->
    <meta name="twitter:card" content="summary"/>
    <meta name="twitter:site" content="@{$twitter_user}"/>
    <meta name="twitter:creator" content="@{$twitter_user}"/>
    <meta name="twitter:title" content="{$page_title}"/>
    <meta name="twitter:description" content="{$page_description}"/>
    <meta name="twitter:image" content="{$page_ogimage}"/>
    <!-- Twitter Card -->

The file should look about the same as the gallery. But it would be static, that it can be shared on social networks. If user clicks on the small thumbnail, user would be brought back to the original Javascript fgallery picture.

On each Javascript fgallery picture, there would be some modifiable social sharing buttons, such as Facebook, Google, Twitter, Stubmleupon. It should be of course fast, not bloated.

Social sharing buttons would not share the Javascript directory like /gallery, but rather a single picture in the HTML file, something like /gallery/static/picture-001.html --- and when user arrives here, he would see basically the same design, but it would be static file. After clicking on forward, he would be moved to next picture but in the directory /gallery/#2 for example. Or after clicking on thumbnail, user would be moved to /gallery/#17 which is original fgallery.

In that manner, there would be static files, which is good for SEO, good for social networks, and fgallery too.

Use of uninitialized value $id in string eq at fgallery line 94

Used this command line:

fgallery -s -c txt -d --index http://www.duckduckgo.com . gallery

and I had all .txt ready.
got this

Use of uninitialized value $id in string eq at /something/fgallery line 94

and later this

Use of uninitialized value in multiplication (*) at /home/data1/protected/Programming/git/fgallery/fgallery line 580
Use of uninitialized value $root in concatenation (.) or string at /home/data1/protected/Programming/git/fgallery/fgallery line 594

I guess this happened because of using . as directory of pictures.

Cannot quit or stop screenkey

Can't quit or stop screenkey.

Tried sudo killall screenkey

Nothing in the --help menu so far as I can tell.

Ubuntu 17.10 (Wayland)

Feature request: temporary deactivation

Screenkey even captures my Yubikey input. This is not ideal when demoing from my laptop to a live audience.

My suggestion, to encapsulate manually typed passwords also, is a brief (timed) deactivation - or even a hotkey combination to deactivate/activate.

Only display keys from a specific program or process?

I don't understand how the X input system works, so perhaps my question does not make since, but here is my basic problem. I have a tool that reads scripts and runs them interactively (https://github.com/CD3/gsc), which is useful for giving demonstrations of command line utilities. It would be useful if these demos could show key presses for showing things like using the vim editor, or any other program that responds to key presses, so I added support for emitting key press events using the libxdo library.

screenkey will display the key presses that are sent by gsc, but I'd like to have it display only the key press events that gsc sends with the libxdo library and not they keys I press to tell gsc to load another line from the script. It is possible to filter they keys that are displayed by their source, or is it impossible to determine the source after the X server gets the event?

Some way to detect repeating?

I want to make it possible for screenkey to act as key logger for analyzing my productivity. But it looks like python-xlib is lacking of required sequence_number field in XKeyEvent structure, which is required to detect key repeating. I have decent repeat rate/delay (140/100), so I do not want to pollute history of logged keys.

Do you have any ideas how to achieve that?

Customization, fonts and systray

It would be nice to be able to customize:

  • background color --bgcolor #0F0F0F
  • font color --fontcolor #FFFFFF
  • do not show system tray icon --no-systray

Print some help when initialization fails

I had the same Exception: Cannot initialize input method problem as mentioned in #19 (the solution that worked for me was to run ibus-daemon --xim). I think it would be nice to print some short help message along with that error which would describe possible fixes or at least link to a page containing more info.

Support meta keys by themselves

This is great. It would be nice if it would show modifier keys pressed at the moment they are pressed instead of when an additional key is pressed.

For example, in gnome-shell pressing the super key (by itself) will bring up the dashboard. This is done a lot but I couldn't figure out a preference to show when the super key is pressed by itself.

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.