Skip to main content

Protocol Buffers file formatter.

Project description

proto-formatter

Protocol Buffers file formatter.

Install

pip install proto-formatter

Usage

  • Format protobuf file using default config: indents=2, all_top_comments=False, equal_sign=False, flatten=False, new_fp=None. Original protobuf file test.proto will be rewritten with formatted content.
from proto_formatter import format_file

format_file('test.proto')
  • Format protobuf file with specified config: indents=4, all_top_comments=True, equal_sign=True, new_fp='formatted.proto'. Original protobuf file test.proto not be rewritten, create new protobuf file formatted.proto instead.
from proto_formatter import format_file

format_file('test.proto', indents=4, all_top_comments=True, equal_sign=True, flatten=False, new_fp='formatted.proto')
  • Format protobuf string align with equal sign: equal_sign=True, other configs are default values.
from proto_formatter import format_str

proto_str = """
    /*
    Person balabala
*/
    message Person {
    // comment of name a
required string name = 1; // comment of name b
/* 
comment of id a
// comment of id b
         */
        required int32 id = 2;// comment of id c
       optional string email = 3;// comment of email
}
"""
formatted_proto_str = format_str(proto_str, equal_sign=True)

The formatted_proto_str is:

/*
Person balabala
*/
message Person {
  /*
  comment of name a
  */
  required string name  = 1;  // comment of name b
  /*
  comment of id a
  comment of id b
  */
  required int32 id     = 2;  // comment of id c
  optional string email = 3;  // comment of email
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proto-formatter-0.1.2.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distribution

proto_formatter-0.1.2-py3-none-any.whl (16.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page