FlatBuffers: Memory Efficient Serialization Library
Go to file
KerstinKeller d6d83c3a92
Allow to use functions from `BuildFlatBuffers.cmake` from a flatbuffers installation installed with CMake. (#7912)
Co-authored-by: Derek Bailey <derekbailey@google.com>
2023-04-26 05:27:14 +00:00
.bazelci [swift] Add bazel configuration for Swift (#7195) 2022-03-29 21:30:33 -07:00
.github Add `flatbuffers-64` branch to CI for pushes 2023-03-15 23:58:26 -07:00
CMake Allow to use functions from `BuildFlatBuffers.cmake` from a flatbuffers installation installed with CMake. (#7912) 2023-04-26 05:27:14 +00:00
android FlatBuffers Version 23.3.3 (#7852) 2023-03-03 11:46:55 -08:00
bazel [grpc] Support latest version of grpc PoC (#6338) 2021-03-25 12:12:35 -07:00
benchmarks Supported cmake 3.8 (#7801) 2023-01-29 23:00:57 -08:00
conan remove travis config (#7522) 2022-09-10 12:36:51 -07:00
dart Adding comment for code clarification (#7856) 2023-03-14 20:14:05 -05:00
docs [CS] Verifier (#7850) 2023-04-06 00:29:14 +02:00
examples/go-echo Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
go Support file_identifier in Go (#7904) 2023-04-26 05:15:09 +00:00
grpc Support file_identifier in Go (#7904) 2023-04-26 05:15:09 +00:00
include/flatbuffers Optionally generate type prefixes and suffixes for python code (#7857) 2023-04-25 21:38:16 -07:00
java FlatBuffers Version 23.3.3 (#7852) 2023-03-03 11:46:55 -08:00
js [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
kotlin [Android][Kotlin] fixed build after decomission of jcenter and gradle update (#7840) 2023-03-02 23:27:06 -08:00
lobster [Lobster] file_identifier support 2022-03-08 15:39:12 -08:00
lua [Lua] manipulate byte array as string (#6624) 2021-05-07 22:57:13 -07:00
mjs [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
net/FlatBuffers [CS] Verifier (#7850) 2023-04-06 00:29:14 +02:00
nim [Nim] Bfbs Nim Generator (#7534) 2022-10-21 14:30:04 -04:00
php Fix PHP byte validation and reenable builds (#7670) 2022-11-29 08:12:28 -08:00
python Optionally generate type prefixes and suffixes for python code (#7857) 2023-04-25 21:38:16 -07:00
reflection [TS/JS] Entry point per namespace and reworked 1.x compatible single file build (#7510) 2023-01-21 12:22:22 -08:00
rust FlatBuffers Version 23.3.3 (#7852) 2023-03-03 11:46:55 -08:00
samples Fix go_sample.sh (#7903) 2023-04-11 12:40:00 -07:00
scripts Add Java reflection bindings to the distribution (#7851) 2023-03-03 11:14:07 -08:00
snap use improved versioning (#6691) 2021-06-11 15:27:59 -07:00
src Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
swift FlatBuffers Version 23.3.3 (#7852) 2023-03-03 11:46:55 -08:00
tests Go: make generated code more compliant to "go fmt" (#7907) 2023-04-26 05:19:07 +00:00
ts TS/JS: Use TypeError instead of Error when appropriate (#7910) 2023-04-25 22:22:06 -07:00
.clang-format Made all C++ files clang-formatted. 2017-12-21 11:45:02 -08:00
.clang-tidy Add clang-tidy, fix some bugpron problems. (#7708) 2022-12-14 21:58:55 -08:00
.editorconfig Editorconfig: als configure to trim whitespaces end EOL. (#7833) 2023-02-27 19:56:18 -08:00
.eslintrc.js [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
.gitattributes Unify line ending rules in '.editorconfig' and '.gitattributes' (#5231) 2019-03-18 12:47:07 -07:00
.gitignore Add _deps/ to gitignore 2022-11-13 12:00:07 -08:00
BUILD.bazel Add a FileWriter interface (#7821) 2023-04-06 01:49:29 +00:00
CHANGELOG.md FlatBuffers Version 23.3.3 (#7852) 2023-03-03 11:46:55 -08:00
CMakeLists.txt Add a FileWriter interface (#7821) 2023-04-06 01:49:29 +00:00
CONTRIBUTING.md
FlatBuffers.podspec FlatBuffers Version 23.3.3 (#7852) 2023-03-03 11:46:55 -08:00
Formatters.md Ran clang-format-all.sh. Removed default --style=file parameter (#6639) 2021-05-15 12:54:08 -07:00
LICENSE Rename LICENSE.txt to LICENSE (#7808) 2023-01-30 21:36:30 -08:00
Package.swift Moves swift package to root of repository so it can be used directly … (#7548) 2022-09-27 14:32:05 -07:00
Package@swift-5.5.swift Removes Dead code & regenerate code (#7744) 2023-01-06 16:40:40 -08:00
README.md README.md: PyPI case typo (#7880) 2023-03-30 13:32:16 -07:00
SECURITY.md Create Security.md 2021-05-19 11:55:50 -07:00
WORKSPACE [TS/JS] Entry point per namespace and reworked 1.x compatible single file build (#7510) 2023-01-21 12:22:22 -08:00
build_defs.bzl [TS/JS] Entry point per namespace and reworked 1.x compatible single file build (#7510) 2023-01-21 12:22:22 -08:00
composer.json
conanfile.py Updated remaining usages of LICENSE.txt 2023-03-03 12:01:08 -08:00
package.json [TS/JS] Upgrade dependencies (#7889) 2023-04-06 02:00:23 +00:00
swift.swiftformat Removes Dead code & regenerate code (#7744) 2023-01-06 16:40:40 -08:00
tsconfig.json Simplify and fix TypeScript compilation output (#7815) 2023-02-06 13:10:20 -08:00
tsconfig.mjs.json Simplify and fix TypeScript compilation output (#7815) 2023-02-06 13:10:20 -08:00
typescript.bzl [TS/JS] Entry point per namespace and reworked 1.x compatible single file build (#7510) 2023-01-21 12:22:22 -08:00
yarn.lock [TS/JS] Upgrade dependencies (#7889) 2023-04-06 02:00:23 +00:00

README.md

logo FlatBuffers

Build status BuildKite status Fuzzing Status OpenSSF Scorecard Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow Twitter Follow

FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.

Go to our landing page to browse our documentation.

Supported operating systems

  • Windows
  • macOS
  • Linux
  • Android
  • And any others with a recent C++ compiler (C++ 11 and newer)

Supported programming languages

Code generation and runtime libraries for many popular languages.

  1. C
  2. C++ - snapcraft.io
  3. C# - nuget.org
  4. Dart - pub.dev
  5. Go - go.dev
  6. Java - Maven
  7. JavaScript - NPM
  8. Kotlin
  9. Lobster
  10. Lua
  11. PHP
  12. Python - PyPI
  13. Rust - crates.io
  14. Swift - swiftpackageindex
  15. TypeScript - NPM
  16. Nim

Versioning

FlatBuffers does not follow traditional Semver versioning (see rationale) but rather uses a format of the date of the release.

Contribution

To contribute to this project, see CONTRIBUTING.

Community

Security

Please see our Security Policy for reporting vulnerabilities.

Licensing

Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.