[Programmer welfare] Google's top 60 open source projects

1. Machine learning system TensorFlow

TensorFlow is Google's second generation machine learning system. According to Google, in some benchmark tests, TensorFlow's performance is twice faster than that of the first generation DistBelief. TensorFlow is an extended support for built-in deep learning. TensorFlow can be used for any calculation that can be expressed by a calculation flow graph. Any gradient based machine learning algorithm can benefit from TensorFlow's auto differentiation. Through the flexible Python interface, it is also easy to express ideas in TensorFlow.

2.material-design-icons

Google has opened 750 glyphs in the icon package of the Material Design system. The system icon includes commonly used icons, such as for media play, communication, content editing, connection, etc. 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 group launched by Google. Material Design Lite (MDL) allows you to add a look of Material Design and feel your static content website, independent of any Java framework and library. MDL can optimize the use experience across devices. It can switch smoothly in older browsers, 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, which is currently maintained by Google. The Angular 2 and the previous version Angular.js have been maintained separately (their GitHub addresses and project home pages are different). Progressive web applications deliver app like experiences with the help of modern web platforms. 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 work container for use in a container cluster. Its core concept is Container Pod.

6. Data description language protobuf

Protocol Buffers (Protocol Buffer/protobuffer) is a data description language developed by Google. Similar to XML, it can serialize structured data and can be used for data storage, communication protocols, etc. At this stage, it supports C++, JAVA, Python and other three programming languages. Compared with XML, Protocol buffers have many advantages in serializing structured data.

7. Java Common Library Guava

This project is an open source project of Google, which contains many common Java libraries of Google core.

8.Spark

Spark is a Chrome browser based development environment launched by Google. Provides a set of reusable UI components. Developed by Dart.

9. RPC Framework GRPC

GRPC is a high-performance, open source and general RPC framework, designed for mobile and HTTP/2. At present, C, Java and Go language versions are available, which are grpc, grpc java and grpc go. The C version supports C, C++, Node.js, Python, Ruby, Objective-C, PHP and C # GRPC is designed based on the HTTP/2 standard, bringing features such as two-way flow, flow control, header compression, and multiple multiplexing requests over a single TCP connection. These features make it perform better on mobile devices, save more power and space.

10. Guetzli, a high-quality image compression algorithm tool

Guetzli, It is a JPEG encoder for digital images and web page images. It can achieve a faster online experience by generating smaller JPEG files, while maintaining compatibility with current browsers, image processing applications and JPEG standards. Google said that the size of the high-quality JPEG image file created by Guetzli is 35% smaller than the current compression method. The above figure shows a 16 × 16 pixel sample, which is a telephone line hanging under the blue sky. The distortion often occurs in traditional JPEG algorithms. The left is the uncompressed original image, the middle is the smaller libjpeg, and the right is the less distorted Guetzli.

11. k/v database Levelb

Levelb is a very efficient kv database implemented by Google. The current version 1.2 can support the amount of data at the billing level. At this level of quantity, it also has very high performance, mainly due to its good design. Especially LSM algorithm.

12. Automated network review tool Lighthouse

Lighthouse is an open source automation tool used to improve the quality of network applications. You can run it as a Chrome extension or from the command line. When providing Lighthouse with a URL to review, it will run a series of tests on this page, and then generate a report on the performance of the page. You can refer to the failed tests 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. Minimum system loading tool systemjs

Systemjs is a minimal system loading tool, which is used to create plug-ins to handle alternative scene loading processes, including loading CSS scenes and pictures. It mainly runs in browsers and NodeJS. It is an extension of the ES6 browser loader and will be applied in the local browser. Generally, the plug-in name created is the module itself. If no specific purpose is specified, 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 applications with limited memory. FlatBuffers allows you to directly access serialized data without decompressing and parsing. It also provides strong forward and backward compatibility. FlatBuffers supports C++and Java languages without relying on third-party library support.

16. Xi Text Editor Xi Editor

Xi Editor is an open source text editor written in Rust language by Google. It was originally built for Mac OS X and uses Cocoa as the user interface. 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 has no VM. The compiled Go source code is a series of calls to the Grumpy runtime. The Go library service has 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 new and interesting Java language features, most of which are ECMA standards or drafts that have not been implemented by the current browser, such as array comparison, classes, modules, iterators, method parameter defaults, Promise, 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 caching, and custom renderers. Unlike the MediaPlayer API, EXOPlayer is easy to customize and extend, and it can be updated and upgraded through the Play Store.

20. Code building tool Bazel

Bazel is a renewable code building tool of Google. It is mainly used to build Google's software and deal with the construction problems of Google's development environment, such as large-scale data construction problems, shared code base problems, and problems related to software built from source code. It supports multiple languages and cross platforms. It also supports automated testing and deployment, reproducibility and scale.

21. Machine intelligence magenta for creating art and composing music

A group of researchers from 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 TensorFlow system, and researchers open source their models and tools on GitHub.

22. Automatic generation of content library for command line interface Python Fire

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 method 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 you can set REPL by using the modules and variables you need to import and create, making it easier to use Python REPL.

23. Software and hardware framework AnyPixel.js

AnyPixel.js is an open source software and hardware framework of Google, which can be used to build various displays composed of "pixels". Each pixel can be any kind of interactive entity object, such as LED lights, balloons, etc.

24. Physical Web, an Internet of Things tool

Physical Web is a project led by the Chrome team, which is intended to connect the world with URLs to facilitate users to accept data. In the Web world, various URLs can be said to be the basis of links and also decentralized, so what the "The Physical Web" should do is to let each intelligent device identify itself with a URL, and then users can interact with the device through the URL according to their own needs. In this way, your experience of using smart devices is similar to that of using various hyperlinks on websites.

25. Docker Container Performance Analysis Tool cAdvisor

Advisor is a tool used by Google to analyze the resource occupation and performance characteristics of the Docker container in operation. CAdvisor is a running daemon that collects, aggregates, processes, and exports information related to running containers. Each container maintains independent parameters, historical resource usage, and complete resource usage data. Currently, lmctfy containers and Docker containers are supported.

26. C++unit test tool

Google Test, Google's open source C++unit testing framework, or gtest for short, is a very good unit testing framework. It supports cross platform and some mobile phone 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, and IE 10 and above).

28. Java generator source code collection Auto

Auto is a collection of Java generator source codes. Java has many mechanical, repeated, and untested codes, and sometimes there are some subtle bugs. Auto projects are collections of code generators that automatically perform these types of tasks. They can create the code you want to write without bugs.

29. Tools for Python code formatting

YAPF is a tool developed by Google to format Python code.

30. Neural network library Sonnet based on TensorFlow

The Sonnet library uses an object-oriented method to allow the creation of modules that define some forward conduction calculations. The module uses some input Tensors to call, add operations to the diagram and return the output Tensor. One design option is to ensure that variable sharing is transparent by automatically reusing variables when the same module is subsequently called. The library is compatible with Linux/Mac OS X and Python 2.7. TensorFlow version 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 lossless compression algorithm for general purposes. It uses variant LZ77 algorithm, Huffman coding and second-order text modeling to compress data. It is a compression method with high compression ratio. The compression speed is similar to that of Deflate, but it provides more intensive compression.

32. Load balancing system Seesaw

Seesaw is an open-source load balancing system based on Linux from Google. Seesaw includes basic load balancing features and supports some advanced functions, such as anycast, Direct Server Return (DSR), multiple VLANs and centralized configuration. At the same time, it is designed for easy maintenance.

33.Gumbo

Gumbo is an HTML5 parsing library implemented by Google in C language, without any external dependency.

34.GXUI

GXUI is a cross platform GO language UI framework produced by Google.

35. iOS UI test automation framework EarlGrey

EarlGrey, authorized by open source Apache, is written by Objective-C. Google also uses it to test its own iOS app. EarlGrey can support and simulate devices that trace back to iOS 8. Please stamp here for detailed documentation about this tool. In addition to EarlGrey, other iOS UI test automation frameworks include the Appium of Calabash and Sauce Labs.

36.Blockly

Blockly is a visual programming tool based on the Web, which can be programmed by dragging a few graphics without typing at all 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 to java, python, etc. There are several demos using Blockly.

37.go-github

Go github is a project for Google to encapsulate Github's open API in Go language.

38. Error front

The error front is used to capture Java compilation errors. Usually, the compiler can only check static types. However, using this tool can perform compiler type analysis, detect and catch bugs in the compilation process, and greatly save developers' time.

39. The SLAM library Cartographer supported by the ROS system

Cartographer, It is a 2D and 3D SLAM (simultaneous localization and mapping) library supported by Google's open source ROS system. SLAM algorithm combines the data from multiple sensors (such as LIDAR, IMU and camera) to synchronously calculate the sensor location and draw the environment around the sensor. On the sensor configurations common in industry and academia, Cartographer can create a global consistent map in real time.

40. Android Battery Historian

The Battery Historian counts the power consumption by analyzing the Android "bugreport" process file. It allows application developers to visualize system and application level events on the timeline, with pan and zoom functions. After the device is fully charged, they can easily view various summary statistics, and can select applications to check the indicators that affect the specific battery of the application. 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 Google open source general encoder decoder framework for TensorFlow, 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 the performance problems of the code, and help you build a very smooth 60 FPS Web application. At present, it can only be used in specific applications, not designed for all scenarios. If you encounter problems in the use process, please submit your bug.

43. Deep probability programming language Edward

Edward is a Python library for probabilistic modeling, reasoning, and evaluation. It is a test platform for rapid experiments and research on probabilistic models, covering models ranging from classic hierarchical models on small datasets to complex depth probabilistic models on large datasets. Edward combines the following three fields: Bayesian statistics and machine learning, deep learning, and probabilistic programming.

44. Java Library

The Closure Library is a powerful Java library for complex large-scale Web applications. It is used by many Google Web applications, such as Gmail and Google Docs.

45. Istio, a large microservice system management tool

Istio is an open source project jointly developed by Google, IBM and Lyft, which aims to provide a unified microservice connection, security, management and monitoring mode. The Istio project can provide a traffic management mechanism for the microservice architecture, and also create a foundation for other value-added functions (including security, monitoring, routing, connection management and policy). This software is built using the proven Lyft Envoy generation {past} {filter} theory, which can achieve visibility and control without any launch of application code.

46. Remote on-site forensics system GRR

GRR is a remote on-site event forensics system developed by Google. GRR consists of a generation {filter} management (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. Android Hover

Hover is a hover action bar for Android. This menu bar can be started as a service for cross process use, suspended 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 cleaning work to be done. In other words, Hover is only available now.

48. Modular deep learning system Tensor2Tensor

Tensor2Tensor is a modular and extensible library and binary file, which can help people create the most advanced models for various machine learning programs. It can be applied in many fields, such as translation, syntax analysis, image information description, etc., greatly improving the speed of research and development.

49. Google Fuzzy Test Service OSS Fuzzy

OSS Fuzzy can conduct continuous fuzzy testing for open source software. Its purpose is to improve the security and stability of general software infrastructure by combining updated fuzzy testing technology with scalable distributed execution. OSS Fuzzy combines a variety of fuzzy test techniques/vulnerability capture techniques (the original libfuzzer) and cleaning techniques (the original AddressSanitizer), and provides a test environment for large-scale distributed execution through ClusterFuzzy.

50. Optimization search tool or tools

Or tools is Google's optimized search tool. Google optimization tools include: constraint programming solutions; Provide 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 allocation, minimum cost flow, maximum flow).

51. Cryptographic library security test suite Wycheproof

Wycheproof is Google's open source encryption library test project, which includes a series of security tests to detect whether the encryption library software has known attack vulnerabilities.

52.Common Lisp Koans

Common Lisp Koans (lisp koans) is a language learning practice program, similar to ruby koans, python koans, etc. Common Lisp Koans is mainly to help learn some Lisp specification features and improvements, and can learn a lot of Common Lisp language features.

53.3D open source graphics 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 does not seriously affect the visual effect for 3D graphics viewers at all. 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. In addition, it also released C++and Java decoders for processing encoded data.

54. Java library Shaka Player

Shaka Player implements the function of DASH client. Its playback function is based on HTML5 video MediaSource Extensions, And Encrypted Media Extensions. The general DASH client function is difficult to implement.

55. TensorFlow Deep Learning Library Fold

TensorFlow Fold is a TensorFlow model library used to create structured data. 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

Earth Enterprise is an 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, aiming to enable the community to continue to improve and promote the project.

57. Image difference comparison library Butteraugli

Butteraugli is used to judge the similarity between two images. By identifying some of the most interesting differences between images, the similarity score is given. One of the main motivations of this project is to make statistics on the location and density of different colors of different receptors, especially the blue low-density cone. Another motivation comes from more accurate modeling of ganglion cells, especially inhibition of frequency space. At present, this project only provides the C++interface.

58. Netstack, a network protocol stack implemented by Go language

Netstack, Network protocol stack written in Go language. Try to use it on Linux by installing tun_tcp_echo demo.

59. Piano Duet AI aiexperiences ai deut

A.I. Duet of "Piano Duet". In this project, after you pop up several notes, AI will automatically calculate to help you "complete" the ensemble of the melody. A. I. Duet has applied artificial intelligence technology to understand the "coding rules" of notes.

60. End to end encryption system E2EMail

E2EMail is an experimental end-to-end encryption system. E2EMail is developed by Google and has a built-in Java encryption library developed inside Java. It provides a way to integrate OpenPGP into Gmail through Chrome extensions. The clear text of the message is reserved on the client.

Project address

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. Guetzli, a high-quality image compression algorithm tool

Details: https://github.com/google/guetzli

11. k/v database Levelb

Details: https://github.com/google/leveldb

12. Automated 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 building tool Bazel

Details: https://github.com/bazelbuild/bazel

21 Machine intelligence magenta for creating art and composing music

Details: https://github.com/tensorflow/magenta

22. Automatic generation of content library for command line interface Python Fire

Details: https://github.com/google/python-fire

23. Software and hardware framework AnyPixel.js

Details: https://github.com/googlecreativelab/anypixel

24. Physical Web, an Internet of Things tool

Details: https://github.com/google/physical-web

25. Docker Container Performance Analysis Tool cAdvisor

Details: https://github.com/google/cadvisor

26. C++unit test tool

Details: https://github.com/google/googletest

27. IndexedDB relational query engine lovefield

Details: https://github.com/google/lovefield

28. Java generator source code collection Auto

Details: https://github.com/google/auto

29. Tools for Python code formatting

Details: https://github.com/google/yapf

30. Neural network library Sonnet based on TensorFlow

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 front

Details: https://github.com/google/error-prone

39. The SLAM library Cartographer supported by the ROS system

Details: https://github.com/googlecartographer/cartographer

40. Android Battery Historian

Details: https://github.com/google/battery-historian

41. Universal encoder&decoder framework seq2seq

Details: https://github.com/google/seq2seq

42. Web Application Tracing Framework

Details: https://github.com/google/tracing-framework

43. Deep probability programming language Edward

Details: https://github.com/blei-lab/edward

44. Java Library

Details: https://github.com/google/closure-library

45. Istio, a large microservice system management tool

Details: https://github.com/istio/istio

46. Remote on-site forensics system GRR

Details: https://github.com/google/grr

47. Android Hover

Details: https://github.com/google/hover

48. Modular deep learning system Tensor2Tensor

Details: https://github.com/tensorflow/tensor2tensor )

49. Google Fuzzy Test Service OSS Fuzzy

Details: https://github.com/google/oss-fuzz

50. Optimization search tool or tools

Details: https://github.com/google/or-tools

51. Cryptographic library security test suite Wycheproof

Details: https://github.com/google/wycheproof

52.Common Lisp Koans

Details: https://github.com/google/lisp-koans

53.3D open source graphics 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

Details: https://github.com/google/earthenterprise

57. Image difference comparison library Butteraugli

Details: https://github.com/google/butteraugli

58. Netstack, a network protocol stack implemented by Go language

Details: https://github.com/google/netstack

59. Piano Duet AI aiexperiences ai deut

Details: https://github.com/googlecreativelab/aiexperiments-ai-duet

60. End to end encryption system E2EMail

Details: https://github.com/e2email-org/e2email

 Watson Blog
  • This article is written by Published on January 10, 2018 22:56:31
  • This article is collected and sorted by the website of Mutual Benefit, and the email address for problem feedback is: wosnnet@foxmail.com , please keep the link of this article for reprinting: https://wosn.net/1014.html

Comment