List of Google's 60 open source projects
1. Machine learning system TensorFlow
details: https://github.com/tensorflow/tensorflow
2. Material-design-icons
details: http://google.github.io/material-design-icons/
3. Front-end development tool group MDL
details: https://github.com/google/material-design-lite
4. Web front-end framework Angular
details: https://github.com/angular/angular
5. Container cluster management system Kubernetes
details: https:// github.com/kubernetes/kubernetes
6. Data description language protobuf
details: https://github.com/google/protobuf
7. Java common library Guava
details: https://github.com/google/guava
8. Spark
installation method :Https://github.com/dart-lang/spark/tree/master/ide
9. RPC framework GRPC
details: https://github.com/grpc/grpc
10. High-quality compressed image algorithm tool Guetzli
Details: https://github.com/google/guetzli
11.k/v Database Leveldb
details: https://github.com/google/leveldb
12. Automatic network review tool Lighthouse
details: https://github.com/ GoogleChrome/lighthouse
13. Gson
details: https://github.com/google/gson
14. Minimum system loading tool systemjs
details: https://github.com/systemjs/systemjs
15. Serialization library FlatBuffers
details: https:/ /github.com/google/flatbuffers
16.Xi text editor Xi Editor
details: https://github.com/google/xi-editor
17. Grumpy
details: https://github.com/google/grumpy
18.Java Compiler Traceur
details: https://github.com/google/traceur-compiler
19. Media player ExoPlayer
details: https://github.com/google/ExoPlayer
20. Code construction tool Bazel
Details: https://github.com/bazelbuild/bazel
21. magenta
Details of magenta, a machine intelligence for creating art
and composing music : https://github.com/tensorflow/magenta
22. Python Fire
Details of Python Fire, a content library that automatically
generates a command line interface : https://github.com/google/python-fire
23. Software and hardware framework AnyPixel.js
details: https://github.com/googlecreativelab/anypixel
24. Internet of Things tools Physical Web
details: https://github.com /google/physical-web
25. Docker container performance analysis tool cAdvisorc
details: https://github.com/google/cadvisor
26. C++ unit test tool
details: https://github.com/google/googletest
27. IndexedDB Relationship Query engine lovefield
details: https://github.com/google/lovefield
28. Java generator source code collection Auto
details: https://github.com/google/auto
29. Python code formatting tools
details: https: //github.com/google/yapf
30. TensorFlow-based neural network library Sonnet
details: https://github.com/deepmind/sonnet
31. Lossless compression algorithm Brotli
details: https://github.com/google/brotli
32. Load balancing system Seesaw
details: https ://github.com/google/seesaw
33.Gumbo
details: https://github.com/google/gumbo-parser
34.GXUI
details: https://github.com/google/gxui
35. iOS UI test automation Framework EarlGrey
details: https://github.com/google/EarlGrey
36. Blockly
details: https://github.com/google/blockly
37.go-github
details: https://github.com/google/go- github
38. error-prone, a bug crawling tool
Details of error-prone, a bug crawling tool :
https://github.com/google/error-prone
39. Cartographer, a SLAM library supported
Details of Cartographer, a SLAM library supported by the ROS
system : https://github.com/googlecartographer/cartographer
40. Battery Historian, an Android power analysis tool
Details of Battery Historian, an Android power analysis tool
: https://github.com/google/battery-historian
41. seq2seq, a universal encoder & decoder framework
Details of seq2seq, a universal encoder & decoder
framework : https://github.com/google/seq2seq
42. Web applications Tracing Framework
details: https://github.com/google/tracing-framework
43. In-depth probabilistic programming language Edward
details: https://github.com/blei-lab/edward
44. Java library Closure Library
details: https:/ /github.com/google/closure-library
45. Istio, a large-scale microservice system management tool
Details of Istio, a large-scale microservice system management
tool : https://github.com/istio/istio
46. GRR, a remote on-site forensics system
Details of GRR, a remote on-site forensics system :
https://github.com/google /grr
47. Android's floating operation bar Hover
details: https://github.com/google/hover
48. Modular deep learning system Tensor2Tensor
details: https://github.com/tensorflow/tensor2tensor)
49. Google Fuzzing Service OSS-Fuzz
Details: https://github.com/google/oss-fuzz
50. Optimization search tool or-tools
details: https://github.com/google/or-tools
51. Encryption library security test suite Wycheproof
details: https: //github.com/google/wycheproof
52.Common Lisp Koans
details: https://github.com/google/lisp-koans
53.3D Graphics open source compression library Draco
details: https://github.com/google/draco
54 . Java library Shaka Player
details: https://github.com/google/shaka-player
55. TensorFlow deep learning library Fold
details: https://github.com/tensorflow/fold
56. Google Earth Enterprise Edition Earth Enterprise
details: https://github.com/google/earthenterprise
57. image difference comparison library Butteraugli
Details of image difference comparison library Butteraugli : https://github.com/google/butteraugli
58. network protocol stack Netstack
Details of network protocol stack Netstack implemented in Go language
: https://github. com/google/netstack
59. Piano Duo AI aiexperiments-ai-duet
details:
https://github.com/googlecreativelab/aiexperiments-ai-duet
60. End-to-end encryption system E2EMail
details: https://github.com/e2email-org/e2email
1. Machine learning system TensorFlow
TensorFlow is Google's second-generation machine learning
system. According to Google, TensorFlow performs 2 times faster than the
first-generation DistBelief in some benchmark tests. TensorFlow has built-in
deep learning extension support, and any calculation that can be expressed with
computational flow graphs can use TensorFlow. Any gradient-based machine
learning algorithm can benefit from TensorFlow's auto-differentiation. Through
the flexible Python interface, it will be easy to express ideas in TensorFlow.
2.material-design-icons
Google has open sourced 750 glyphs in the Material Design
system icon pack. The system icons include commonly used icons, such as those
used for media playback, communication, content editing, connection, and so on.
In web applications, both Android and iOS designs are applicable.
3. Front-end development tool group MDL
MDL (Material Design Lite) is a website front-end
development tool set launched by Google. Material Design Lite (MDL) allows you
to add a Material Design look and feel to your static content website without
relying on any Java frameworks and libraries. MDL can optimize the cross-device
user experience, and can smoothly switch in the old version of the browser,
providing a very fast access experience.
4. Web front-end framework Angular
Angular is a very popular and easy-to-use web front-end
framework, currently maintained by Google. Officially, Angular 2 and the
previous version Angular.js have been maintained separately (the GitHub address
and project home page of the two are different). Progressive web applications,
with the help of modern web platforms, deliver app-style experiences. High
performance, offline, zero installation.
5. Container cluster management system Kubernetes
Kubernetes is an open source container cluster management
system from Google Cloud Platform. Build a container scheduling service based
on Docker. The system can automatically select a working container for use in a
container cluster. The core concept is Container Pod.
6. Data description language protobuf
Protocol Buffers (ProtocolBuffer/protobuf) is a data
description language developed by Google, similar to XML, which can serialize
structured data and can be used for data storage, communication protocols, etc.
At this stage, three programming languages such as C++, JAVA, and Python are
supported. Compared with XML, Protocol buffers have many advantages in
serializing structured data.
7. Java Common Libraries Guava
This project is an open source project of Google, which
contains many Google core Java common libraries.
8.Spark
Spark is a Chrome browser-based development
environment launched by Google. Provide a set of reusable UI components.
Developed using Dart.
9. RPC framework GRPC
GRPC is a high-performance, open source and general-purpose
RPC framework designed for mobile and HTTP/2. Currently, C, Java and Go
language versions are provided, respectively: grpc, grpc-java, grpc-go. The C
version supports C, C++, Node.js, Python, Ruby, Objective-C, PHP and C#. GRPC
is based on The HTTP/2 standard design brings features such as bidirectional
streaming, flow control, header compression, multiple multiplexing requests on
a single TCP connection, etc. These features make it perform better on mobile
devices, save power and save space.
10. Guetzli
Guetzli, a high-quality compressed image algorithm tool , is
a JPEG encoder for digital images and web images. It can produce a smaller JPEG
file to achieve a faster online experience, and at the same time keep the
current browser, image processing Compatibility of the application and the JPEG
standard. Google claims that Guetzli creates high-quality JPEG image files that
are 35% smaller than current compression methods. The picture above is a 16x16
pixel sample, which is a phone line hung under the blue sky. The distortion
situation often encountered in traditional JPEG algorithms. On the left is the
uncompressed original image, in the middle is the smaller libjpeg, and on the
right is the Guetzli with less distortion.
11.k/v database Leveldb
Leveldb is a very efficient kv database implemented by
Google. The current version 1.2 can support billions of data. There is still a
very high performance at this level, mainly due to its good design. Especially
the LSM algorithm.
12. The automated web review tool Lighthouse
Lighthouse is an open source automated tool used to improve
the quality of web applications. It can be run as a Chrome extension or from
the command line. When you provide Lighthouse with a URL to review, it will run
a series of tests on this page, and then generate a report on the page's
performance. You can refer to the failed test to see what measures can be taken
to improve the application.
13.Gson
Gson is a Java class library provided by Google for mapping between Java objects and JSON data. You can convert a JSON string into a Java object, or vice versa.
14. Minimal system loading tool systemjs
systemjs is a minimal system loading tool used to create
plug-ins to handle alternative scene loading processes, including loading CSS
scenes and pictures, mainly running in browsers and NodeJS. It is an extension
of the ES6 browser loader and will be used in the local browser. Usually the
name of the created plug-in is the module itself. If there is no specific
purpose, the default plug-in name is the extension name of the module.
15. Serialization library FlatBuffers
FlatBuffers is a Java serialization library for games and
other memory-constrained applications. FlatBuffers allows you to directly
access the serialized data without the need to decompress and parse it.
Provides strong forward and backward compatibility at the same time.
FlatBuffers supports C++ and Java languages without relying on third-party
library support.
16.Xi text editor Xi Editor
Xi Editor is Google's open source text editor written in Rust language. It was originally built for Mac OS X, using Cocoa as the user interface, and there are plans to adapt to other platforms. All editing operations can be submitted and processed within 16ms. Text drawing uses the best technology (such as Core Text on Mac, DirectWrite on Windows, etc.), and fully supports Unicode.
17. Grumpy
Grumpy is a Python to Go source code translation
compiler and runtime, designed to replace CPython 2.7. The key difference is
that it compiles Python source code into Go source code, and then compiles it
into native code instead of bytecode. This means that Grumpy does not have a
VM. The compiled Go source code is a series of calls to the Grumpy runtime. The
Go library serves a similar purpose to the Python C API (although it does not
directly support the C API).
18.Java compiler Traceur
Traceur is a Java compiler from
Google, through which you can experience some very new and interesting Java
language features, most of which are ECMA standards or drafts that have not
been implemented by current browsers, such as: array comparison , Classes,
modules, iterators, method parameter default values, Promises, etc.
19. Media player ExoPlayer
ExoPlayer is an application-level media player on Android.
It provides a candidate for the Android MediaPlayer API to play local or online
video and audio. ExoPlayer supports some features that the Android MediaPlayer
API cannot provide, including DASH and SmoothStreaming adaptive playback,
persistent cache and custom renderers. Unlike the MediaPlayer API, EXOPlayer is
easy to customize and extend, and it can be updated through the Play Store.
20. Code construction tool Bazel
Bazel is a renewable code construction tool from Google. It
is mainly used to build Google's software to deal with the construction
problems that appear in Google's development environment, such as: large-scale
data construction problems, shared code base problems, and related problems of
software built from source code. It supports multiple languages and
cross-platforms, and also supports automated testing and deployment, with
features such as reproducibility and scale.
21. Machine intelligence magenta for creating art and
composing music
A group of researchers from the Google Brain team released a
project Project Magenta whose main goal is to use machine learning to create
art and compose music. Project Magenta uses the TensorFlow system, and
researchers open source their models and tools on GitHub.
22. Automatically generate content library Python Fire for
command line interface
Python Fire is a Google open source library that can automatically generate a command line interface (CLI) from any Python code. Python Fire is a simple way to create CLI in Python; it is a useful tool for developing and debugging Python code; it can make the conversion between Bash and Python easier; and by using the modules and variables you need to import and create Setting up the REPL makes it easier to use the Python REPL.
23. Software and hardware framework AnyPixel.js
AnyPixel.js is a
software and hardware framework open sourced by Google. It can be used to
construct various displays composed of "pixels". Each pixel can be
any kind of interactive entity object, such as LED lights, balloons, etc.
24. The Internet of Things tool Physical Web
Physical Web is a project led by the Chrome team. It is
intended to connect the world with URLs to facilitate users to receive data. In
the web world, various URLs can be said to be the basis of links and are also
decentralized, so what "The Physical Web" has to do is to let each
smart device use URL to identify itself, and then users can pass the URL
according to their needs Interact with the device. In this way, your smart
device experience is similar to using various hyperlinks on a website.
25. Docker container performance analysis tool cAdvisorc
Advisor is a tool used by Google to analyze the resource usage and performance characteristics of running Docker containers. cAdvisor is a running daemon process used to collect, aggregate, process and export information related to running containers. Each container maintains independent parameters, historical resource usage, and complete resource usage data. Currently supports lmctfy container and Docker container.
26. C++ unit test tool
Google's open source C++ unit testing framework Google Test, referred to as gtest, is a very good unit testing framework. It supports cross-platform and some mobile operating systems including Windows CE and Symbian.
27. IndexedDB relational query engine lovefield
lovefield is a relational query engine built on IndexedDB.
It provides SQL-like syntax and can work across browsers (currently supports
Chrome 37 and above, Firefox 31 and above, IE 10 and above).
28. Java generator source code collection Auto
Auto is a Java
generator source code collection. Java has a lot of mechanical, repetitive,
untested code, and some subtle bugs sometimes appear. The Auto project is a
collection of code generators that automatically perform these types of tasks.
They can create the code you want to write without bugs.
29. Python code formatting tool
YAPF is a tool developed by Google to format Python code.
30. Sonnet, a neural network library based on TensorFlow
Sonnet library uses an object-oriented approach, allowing the creation of modules that define some forward conduction calculations. The module is called with some input Tensor, adds operations to the graph and returns the output Tensor. One design choice is to ensure that variable sharing is handled transparently by automatically reusing variables when the same module is subsequently called. The library is compatible with Linux/Mac OS X and Python 2.7. The version of TensorFlow must be at least 1.0.1. Sonnet supports TensorFlow's virtualenv installation mode and nativ pip installation.
31. Lossless compression algorithm Brotli
Brotli is a general purpose lossless compression algorithm. It compresses data by using a variant of the LZ77 algorithm, Huffman coding and second-order text modeling. It is a compression method with a high compression ratio. The compression speed is similar to Deflate, but it provides denser compression.
32. Load balancing system Seesaw
Seesaw is a Linux-based load balancing system open sourced by Google. Seesaw includes basic load balancing features, while supporting some advanced features, such as anycast, Direct Server Return (DSR), support for multiple VLANs and centralized configuration. At the same time, it is designed to be easy to maintain.
33. Gumbo
Gumbo is a Google HTML5 parsing library implemented in C language without any external dependencies.
34. GXUI
GXUI is a cross-platform GO language UI framework produced
by Google.
35. The iOS UI test automation framework EarlGrey
complies with the EarlGrey authorized by the open-source Apache and is written by Objective-C. Google does use it to test its own iOS apps. EarlGrey can support and simulate devices dating back to iOS 8. For detailed documentation about the tool, please click here. In addition to EarlGrey, other iOS UI test automation frameworks include Calabash and Sauce Labs' Appium.
36.Blockly
Blockly is a web-based visual programming tool that can be
programmed by dragging a few graphics without typing. According to the project
FAQ, the main purpose of this new language is to provide macro (or script
programming) support for web applications You can output the generated script
into java, python, etc. There are already several demos using Blockly.
37.go-github
go-github is a project that Google encapsulates the open API of Github in the Go language.
38. Crawl bug tool error-prone
error-prone is used to capture errors during Java compilation. Usually the compiler can only do static type checking. However, using this tool can perform type analysis of the compiler, detect and capture bugs in the compilation process, which can greatly save developers' time.
39. The SLAM library Cartographer
supported by the ROS system Cartographer is a 2D and 3D SLAM (simultaneous localization and mapping) library supported by the ROS system open sourced by Google. The SLAM algorithm combines data from multiple sensors (for example, LIDAR, IMU, and camera) to synchronously calculate the position of the sensor and map the environment around the sensor. In the sensor configuration common in industry and academia, Cartographer can build a globally consistent map in real time.
40. Android battery analysis tool Battery Historian
Battery Historian is a tool that analyzes the Android "bugreport" process file to count the power consumption. It allows application developers to visualize system and application-level events on the timeline, with pan and zoom functions, and can easily view various summary statistics after the device is fully charged, and can select applications to check the impact of application specific The indicator of the battery. It also allows A/B comparison of two error reports, highlighting differences in key battery-related indicators.
41. Universal encoder & decoder framework seq2seq
seq2seq is a universal encoder & decoder framework for TensorFlow open sourced by Google (encoder-decoder framework), which can be used for machine translation, text summarization, session modeling, image description, etc.
42. Web Application Tracing Framework
Tracing Framework is a set of libraries and tools for
tracking and investigating complex Web applications. It can help you find
performance problems in your code and help you build a very smooth 60 FPS web
application. It can only be used in specific applications at present, and is
not designed to be used in all scenarios. If you encounter problems during use,
please submit your bug.
43. The deep probabilistic programming language Edward
Edward is a Python library for probabilistic modeling, inference, and evaluation. It is a test platform for rapid experimentation and research on probability models. It covers models ranging from classic hierarchical models on small data sets to complex deep probability models on large data sets. Edward combines the following three fields: Bayesian statistics and machine learning, deep learning, and probabilistic programming.
44. Java library Closure Library
Closure Library is a powerful Java library for complex and
large-scale Web applications. It is used by many Google Web applications, such
as Gmail and Google Docs.
45. Istio, a large-scale microservice system management tool
Istio is an open source project jointly developed by Google, IBM and Lyft. It
aims to provide a unified microservice connection, security assurance,
management and monitoring method. The Istio project can provide a flow
management mechanism for the microservice architecture, while also creating a
foundation for other value-added functions (including security, monitoring,
routing, connection management and policies, etc.). This software is built
using the proven Lyft Envoy generation {over}{filtering} theory to achieve
visibility and control without any activation of the application code.
46. Remote on-site forensics system GRR
GRR is a remote on-site event forensics system developed by
Google. GRR is composed of a proxy (client) and a server. The client can be
deployed in a task system, and the server can manage the client and interact
with the client.
47. Hover
Hover is a floating action bar for Android. The menu bar can
be started as a service, so that it can be used across processes, hovering in
front of the desktop or other applications. Of course, you need to apply for
permission here. Hover is still in the development stage, and there is still a
lot of code cleanup work to be done, that is, Hover is only in a usable state
now.
48. Modular deep learning system Tensor2Tensor
Tensor2Tensor is a modular and extensible library and binary
file that can help people create the most advanced models for various machine
learning programs, which can be applied to many fields, such as translation,
syntax analysis, Image information description, etc., greatly improve the speed
of research and development.
49. Google Fuzzing Service OSS-Fuzz
OSS-Fuzz can carry out continuous fuzzing for open source
software. Its purpose is to use updated fuzzing technology combined with
scalable distributed execution to improve the security and stability of general
software infrastructure. OSS-Fuzz combines a variety of fuzzing
technology/vulnerability capture technology (the original libfuzzer) and
cleaning technology (the original AddressSanitizer), and provides a test
environment for large-scale distributed execution through ClusterFuzz.
50. Optimized search tool or-tools
or-tools is Google’s optimized search tool. Google
optimization tools include: constraint programming solutions; providing simple
and unified interfaces for linear programming and mixed integer programming
solutions, including CBC, CLP, GLOP, GLPK, Gurobi, SCIP, and Sulum; knapsack
algorithm; graph algorithm (shortest path, Linear sum distribution, minimum
cost flow, maximum flow).
51. Encryption library security test suite Wycheproof
Wycheproof is Google's open source encryption library test
project. It contains a series of security tests to detect whether there are
known attack vulnerabilities in cryptographic library software.
52. Common Lisp Koans
Common Lisp Koans (lisp-koans) is a
language learning practice program, similar to ruby koans, python koans and
so on. Common Lisp Koans is mainly to help learn some lisp specification
features and improvements, you can learn a lot of Common Lisp language
features.
53.3D graphics open source compression library Draco
Draco is a library for compressing and decompressing 3D
geometric meshes and point clouds. In other words, it significantly reduces the
size of the 3D graphics file, and at the same time does not seriously affect
the visual effect for the viewer of the 3D graphics. It also aims to improve
the compression and transmission of 3D graphics. Draco is released as C++
source code, which can be used to compress 3D graphics, and C++ and Java
decoders for processing encoded data have also been released.
54. Java library Shaka Player
Shaka Player It realizes the function of DASH client. Its
playback function is based on HTML5 video, MediaSource Extensions, and
Encrypted Media Extensions. General DASH client functions are difficult to
implement.
55. TensorFlow Deep Learning Library Fold
TensorFlow Fold is
used to create a TensorFlow model library using structured data, where the
structure of the calculation graph depends on the structure of the input data.
TensorFlow Fold makes it easier to implement deep learning models that deal
with different data sizes and structures.
56. Google Earth Enterprise Edition
Earth
Enterprise is the open source version of Google Earth Enterprise. It is a
geospatial application that provides the construction and hosting of custom 3D
earth models and 2D maps, and aims to allow the community to continue to
improve and advance the project.
57. Image difference comparison library Butteraugli
Butteraugli is used to judge the similarity between two
images. By identifying some of the most noticeable differences between images
and giving similarity scores. One of the main motivations of this project is
the statistics of the location and density of different colors of different
receptors, especially blue low-density cones. Another motivation comes from
more accurate modeling of ganglion cells, especially the suppression frequency
space. Currently the project only provides C++ interface.
58. Netstack
Netstack, a network protocol stack implemented in Go
language, is a network protocol stack written in Go language. Try to use it on
Linux by installing tun_tcp_echo demo.
59. Piano Duet AI aiexperiments-ai-duet
"Piano Duet" AI Duet. After you play a few notes,
this project uses AI to automatically calculate to help you “finish” the
ensemble part of the melody. AI Duet uses artificial intelligence technology to
understand the "coding rules" of musical notes.
60. End-to-end encryption system E2EMail
E2EMail is an experimental end-to-end encryption system.
E2EMail is developed by Google, with a built-in Java encryption library
developed in-house by Java. It provides a way to integrate OpenPGP into Gmail
via a Chrome extension. The plaintext of the message is kept separately on the
client.
Comments
Post a Comment