GithubHelp home page GithubHelp logo

nyancrimew / kittenboard Goto Github PK

View Code? Open in Web Editor NEW
77.0 4.0 6.0 326.23 MB

the perfect keyboard for all you little meow meows

Makefile 0.26% Java 77.22% C++ 21.97% Shell 0.08% C 0.01% CSS 0.15% HTML 0.04% Rust 0.12% Kotlin 0.16%
android ime keyboard inputmethod

kittenboard's Introduction

KittenBoard

the perfect keyboard for all you little meow meows

An extra comfy open source fork of the AOSP keyboard with added features.

Features

  • Material You themes (from the LineageOS upstream)
  • Improved emoji support
  • Emoji suggestions while typing
  • Emoji search (coming soon)
  • Plus much more to come

Installation

For now there are no prebuilt releases of KittenBoard available, but it should be fairly simple to build using the latest AndroidStudio version.

Contributions

Yes please!

kittenboard's People

Contributors

2nd-half avatar adrianroos avatar alanv avatar baddaemon avatar bbadour avatar chih-hung avatar chiro avatar danalbert avatar danw avatar delphij avatar dsandler avatar dtor avatar enh-google avatar freak97 avatar jmtrivi avatar jsharkey avatar kep-google avatar kruton avatar ksk9687 avatar mikeng avatar narayank avatar nyancrimew avatar onoratoj avatar paulduffin avatar roubert avatar satok16 avatar sganov avatar tgtakaoka avatar trautamaki avatar yukawa 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

Watchers

 avatar  avatar  avatar  avatar

kittenboard's Issues

Make emoji panel vertically scrollable

Instead of having swipeable panels it'd be much better to have a continuous scrollable panel of emojis, much like gboard does. This would most likely also make filtering much easier when implementing the search feature.

long term goal: Migrate all native code to rust

The current native dictionary implementation feels dirty, is riddled with TODOs and can probably be improved a lot if only it were in a language i actually understand that also provides much more safety. It's also most likely required that we do modifications to it anyways if we want to implement future features such as multilingual typing, more advanced predictions and potential support for gboard dictionaries ("dictionary v3").

In a first step we should try porting the dictionary tools to rust, to get a better understanding of dictionary internals in general and to get a sense of the scale of this project.

New SetupWizard

The AOSP Keyboard setupwizard is still stuck in the holo era, to update this it's probably easiest to create a new one from scratch following current best practices.

Emoji search

Add a search feature to the emoji picker. Potentially requires pretty heavy refactorying of keyboard code.

Errors when compiling on Android studio

I would like to try the app and contribute to the project, only I can't build the apk on Android Studio.

"CreateProcess error=2,Cannot find the specified file"

Linker can't find libunwind

~/KittenBoard gradle build
Using ./gradlew
Exception while marshalling /opt/android-sdk/build-tools/30.0.3/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/ndk-bundle/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/platform-tools/package.xml. Probably the SDK is read-only
Exception while marshalling /opt/android-sdk/tools/package.xml. Probably the SDK is read-only

> Task :cargoBuildArm
    Finished release [optimized] target(s) in 0.04s

> Task :cargoBuildArm64
   Compiling latinimers v0.1.0 (/home/mraof/KittenBoard/native/rust)
error: linking with `/home/mraof/KittenBoard/build/linker-wrapper/linker-wrapper.sh` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/mraof/perl5/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/opt/android-sdk/platform-tools:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/home/mraof/.dotnet/tools:/home/mraof/.local/share/flatpak/exports/bin:/usr/lib/jvm/default/bin:/opt/marytts/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/mraof/Misc/bin:/home/mraof/.cargo/bin/:/home/mraof/.gem/ruby/2.7.0/bin:/home/mraof/.luarocks/bin/:/home/mraof/.local/bin/:/home/mraof/Misc/bin:/home/mraof/.cargo/bin/:/home/mraof/.gem/ruby/3.0.0/bin:/home/mraof/.luarocks/bin/:/home/mraof/.local/bin/" VSLANG="1033" "/home/mraof/KittenBoard/build/linker-wrapper/linker-wrapper.sh" "-Wl,--version-script=/tmp/rustcS42AF6/list" "/tmp/rustcS42AF6/symbols.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.0.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.1.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.10.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.11.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.12.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.13.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.14.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.15.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.2.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.3.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.4.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.5.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.6.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.7.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.8.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.9.rcgu.o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.4vjashdy2kue1bpv.rcgu.rmeta" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.2exbd8w302ut2u0d.rcgu.o" "-Wl,--as-needed" "-L" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps" "-L" "/home/mraof/KittenBoard/native/rust/target/release/deps" "-L" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-Wl,-Bstatic" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/liblazy_static-de0ebc0ea27857e8.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/liblevenshtein-208a2ebea890a6fa.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libjni-9c6e7a5463487639.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libcesu8-1dbc62daad972cd4.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/liblog-4d8e54d24a1e1aa1.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libcfg_if-192c12a3eb9890ee.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libcombine-3834d03b3280ab61.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libmemchr-ed9a3ca512370047.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libbytes-d73c179b196dfa67.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libthiserror-6cc021b39237a479.rlib" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libjni_sys-69d3925f5a12c16d.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libstd-ff232a592cd8b90f.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libpanic_unwind-deb996301f6c12b9.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libobject-3360b94834681d6f.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libmemchr-2e11ef90411dc80d.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libaddr2line-42b0e157061239f6.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libgimli-36ce462eaccfa740.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_demangle-8348ab1e97d339d6.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libstd_detect-6d970650afc1daae.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libhashbrown-d17db5c03e28eda2.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libminiz_oxide-144e84a105fc07df.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libadler-53df784e1cbf8277.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_std_workspace_alloc-e465738adfb500c3.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libunwind-9bd9b1ea0ddb7756.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcfg_if-f78c5d736711988c.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/liblibc-f50a5e8c71bc6e17.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/liballoc-750e6f669f3106f2.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_std_workspace_core-001d5bd9a65e4337.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcore-088bc0b43b3ec677.rlib" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcompiler_builtins-c14fa3fed4e16abb.rlib" "-Wl,-Bdynamic" "-ldl" "-llog" "-lunwind" "-ldl" "-lm" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-o" "/home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/liblatinimers.so" "-shared" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
  = note: /opt/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: cannot find -lunwind
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
          /opt/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang -Wl,-soname,liblatinimers.so -Wl,--version-script=/tmp/rustcS42AF6/list /tmp/rustcS42AF6/symbols.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.0.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.1.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.10.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.11.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.12.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.13.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.14.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.15.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.2.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.3.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.4.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.5.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.6.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.7.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.8.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.latinimers.2175e530-cgu.9.rcgu.o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.4vjashdy2kue1bpv.rcgu.rmeta /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/latinimers.2exbd8w302ut2u0d.rcgu.o -Wl,--as-needed -L /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps -L /home/mraof/KittenBoard/native/rust/target/release/deps -L /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib -Wl,-Bstatic /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/liblazy_static-de0ebc0ea27857e8.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/liblevenshtein-208a2ebea890a6fa.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libjni-9c6e7a5463487639.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libcesu8-1dbc62daad972cd4.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/liblog-4d8e54d24a1e1aa1.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libcfg_if-192c12a3eb9890ee.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libcombine-3834d03b3280ab61.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libmemchr-ed9a3ca512370047.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libbytes-d73c179b196dfa67.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libthiserror-6cc021b39237a479.rlib /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/libjni_sys-69d3925f5a12c16d.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libstd-ff232a592cd8b90f.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libpanic_unwind-deb996301f6c12b9.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libobject-3360b94834681d6f.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libmemchr-2e11ef90411dc80d.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libaddr2line-42b0e157061239f6.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libgimli-36ce462eaccfa740.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_demangle-8348ab1e97d339d6.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libstd_detect-6d970650afc1daae.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libhashbrown-d17db5c03e28eda2.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libminiz_oxide-144e84a105fc07df.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libadler-53df784e1cbf8277.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_std_workspace_alloc-e465738adfb500c3.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libunwind-9bd9b1ea0ddb7756.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcfg_if-f78c5d736711988c.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/liblibc-f50a5e8c71bc6e17.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/liballoc-750e6f669f3106f2.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/librustc_std_workspace_core-001d5bd9a65e4337.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcore-088bc0b43b3ec677.rlib /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcompiler_builtins-c14fa3fed4e16abb.rlib -Wl,-Bdynamic -ldl -llog -lunwind -ldl -lm -lc -Wl,--eh-frame-hdr -Wl,-znoexecstack -L /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib -o /home/mraof/KittenBoard/native/rust/target/aarch64-linux-android/release/deps/liblatinimers.so -shared -Wl,-zrelro,-znow -Wl,-O1 -nodefaultlibs
          

error: could not compile `latinimers` due to previous error

> Task :cargoBuildArm64 FAILED

FAILURE: Build failed with an exception.

(I tried building it from within Android Studio too and it's the exact same error)

It does look like libunwind should exist, according to

~ ls /home/mraof/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/|rg unwind
libpanic_unwind-deb996301f6c12b9.rlib
libunwind-9bd9b1ea0ddb7756.rlib

Cute Icon

KittenBoard really a cute icon/logo, so we don't have to keep using the LineageOS keyboard icon

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.