-
Notifications
You must be signed in to change notification settings - Fork 262
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1532 from honglooker/push-ylvpuuyqktps
Make it clearer that upb is archived
- Loading branch information
Showing
425 changed files
with
2 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,87 +1,3 @@ | ||
**As of August 25, 2023, μpb has moved into the protobuf repo | ||
[here](https://github.com/protocolbuffers/protobuf/tree/main/upb). All further | ||
development is happening there, and this repo is no longer being updated.** | ||
# As of August 25, 2023, μpb has moved into the protobuf repo [here](https://github.com/protocolbuffers/protobuf/tree/main/upb). All further development is happening there, and this repo is no longer being updated. | ||
|
||
# μpb: small, fast C protos | ||
|
||
μpb (often written 'upb') is a small | ||
[protobuf](https://github.com/protocolbuffers/protobuf) implementation written | ||
in C. | ||
|
||
upb is the core runtime for protobuf languages extensions in | ||
[Ruby](https://github.com/protocolbuffers/protobuf/tree/master/ruby), | ||
[PHP](https://github.com/protocolbuffers/protobuf/tree/master/php), and | ||
[Python](https://github.com/protocolbuffers/upb/tree/main/python). | ||
|
||
While upb offers a C API, the C API & ABI **are not stable**. For this reason, | ||
upb is not generally offered as a C library for direct consumption, and there | ||
are no releases. | ||
|
||
## Features | ||
|
||
upb has comparable speed to protobuf C++, but is an order of magnitude smaller | ||
in code size. | ||
|
||
Like the main protobuf implementation in C++, it supports: | ||
|
||
- a generated API (in C) | ||
- reflection | ||
- binary & JSON wire formats | ||
- text format serialization | ||
- all standard features of protobufs (oneofs, maps, unknown fields, extensions, | ||
etc.) | ||
- full conformance with the protobuf conformance tests | ||
|
||
upb also supports some features that C++ does not: | ||
|
||
- **optional reflection:** generated messages are agnostic to whether | ||
reflection will be linked in or not. | ||
- **no global state:** no pre-main registration or other global state. | ||
- **fast reflection-based parsing:** messages loaded at runtime parse | ||
just as fast as compiled-in messages. | ||
|
||
However there are a few features it does not support: | ||
|
||
- text format parsing | ||
- deep descriptor verification: upb's descriptor validation is not as exhaustive | ||
as `protoc`. | ||
|
||
## Install | ||
|
||
For Ruby, use [RubyGems](https://rubygems.org/gems/google-protobuf): | ||
|
||
``` | ||
$ gem install google-protobuf | ||
``` | ||
|
||
For PHP, use [PECL](https://pecl.php.net/package/protobuf): | ||
|
||
``` | ||
$ sudo pecl install protobuf | ||
``` | ||
|
||
For Python, use [PyPI](https://pypi.org/project/protobuf/): | ||
|
||
``` | ||
$ sudo pip install protobuf | ||
``` | ||
|
||
Alternatively, you can build and install upb using | ||
[vcpkg](https://github.com/microsoft/vcpkg/) dependency manager: | ||
|
||
git clone https://github.com/Microsoft/vcpkg.git | ||
cd vcpkg | ||
./bootstrap-vcpkg.sh | ||
./vcpkg integrate install | ||
./vcpkg install upb | ||
|
||
The upb port in vcpkg is kept up to date by microsoft team members and community | ||
contributors. | ||
|
||
If the version is out of date, please | ||
[create an issue or pull request](https://github.com/Microsoft/vcpkg) on the | ||
vcpkg repository. | ||
|
||
## Contributing | ||
|
||
Please see [CONTRIBUTING.md](CONTRIBUTING.md). | ||
## μpb: small, fast C protos (archived) |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Oops, something went wrong.