Skip to content

Releases: ProdByGodfather/py2proto

v2.3.1

01 Aug 08:14
Compare
Choose a tag to compare

Release v2.3.1 - Enhanced gRPC Code Generation and Swagger Integration

Key Updates:

  1. Dynamic Method Naming: Added support for dynamic method naming in gRPC service definitions.
  2. Enhanced Swagger UI Integration: Improved Swagger UI integration with customizable version and port.
  3. Improved Error Handling: Enhanced error handling and logging in gRPC request processing.
  4. Updated Dependency Management: Added explicit dependencies for 'protobuf' and 'requests' in project configuration.
  5. Refined Type Mapping: Improved accuracy in translating Python types to Protocol Buffer and Swagger schema types.

New Features:

  • Dynamic Method Naming: Users can now specify custom method names when defining gRPC services using the relation function.
  • Configurable Swagger UI: Added options to set Swagger version and port when running the UI.

Improvements:

  • Enhanced Error Handling: Better error messages and logging for gRPC request processing.
  • Updated Dependencies: Added explicit dependencies for 'protobuf' and 'requests' in project configuration.
  • Refined Type Mapping: Improved accuracy in translating Python types to Protocol Buffer and Swagger schema types.

Bug Fixes:

  • Fixed issues with importing generated pb2 files in certain environments.
  • Resolved conflicts in handling complex data types in Swagger schema generation.

Documentation:

  • Updated README with new usage examples and detailed explanations of new features.
  • Added more comprehensive API documentation for core functions.

Compatibility:

  • Requires Python 3.8 or higher.
  • Fully compatible with previous versions of py2proto.

We recommend all users to upgrade to this version to benefit from the new features and improvements. As always, please report any issues or suggestions on our GitHub issue tracker.

v2.2.0

27 Jul 13:38
Compare
Choose a tag to compare

Release v2.2.0 - Dynamic Method Naming and Enhanced Swagger Integration

Key Updates:

  1. Added support for dynamic method naming in gRPC service definitions
  2. Enhanced Swagger UI integration with customizable version and port
  3. Improved error handling and logging in gRPC request processing
  4. Updated dependency management for better compatibility
  5. Refined type mapping for more accurate Swagger schema generation

New Features:

  • Dynamic method naming: Users can now specify custom method names when defining gRPC services using the relation function.
  • Configurable Swagger UI: Added options to set Swagger version and port when running the UI.

Improvements:

  • Enhanced error handling: Better error messages and logging for gRPC request processing.
  • Updated dependencies: Added explicit dependencies for 'protobuf' and 'requests' in project configuration.
  • Refined type mapping: Improved accuracy in translating Python types to Protocol Buffer and Swagger schema types.

Bug Fixes:

  • Fixed issues with importing generated pb2 files in certain environments.
  • Resolved conflicts in handling complex data types in Swagger schema generation.

Documentation:

  • Updated README with new usage examples and detailed explanations of new features.
  • Added more comprehensive API documentation for core functions.

Compatibility:

  • Requires Python 3.8 or higher.
  • Fully compatible with previous versions of py2proto.

We recommend all users to upgrade to this version to benefit from the new features and improvements. As always, please report any issues or suggestions on our GitHub issue tracker.

v2.1.0

21 Jul 12:42
Compare
Choose a tag to compare

Release v2.1.0 - Swagger UI Integration and Enhanced Configurability

Key Updates:

  1. Integrated Swagger UI for easy API testing and documentation
  2. Added support for custom port configuration via config file
  3. Improved error handling and logging in gRPC request processing
  4. Enhanced type mapping for more accurate Swagger schema generation
  5. Updated Flask integration for better performance and security

v2.0.0

21 Jul 10:45
Compare
Choose a tag to compare

Release v2.0.0 - Major Update: Swagger UI Integration and Enhanced gRPC Support

We are thrilled to announce the release of py2proto v2.0.0! This major version update brings significant enhancements to our Protocol Buffer and gRPC generation capabilities, introducing Swagger UI integration for easier API testing and documentation.

What's New

1. Swagger UI Integration

  • Automatically generate Swagger JSON files from your Protocol Buffer definitions.
  • Built-in Flask server to serve Swagger UI, allowing easy testing and documentation of gRPC services.
  • Custom run_swagger() method to start the Swagger UI server.

2. Enhanced gRPC Support

  • Improved gRPC code generation with better error handling and type checking.
  • Simplified service definition using the relation() function.

3. Streamlined Proto File Generation

  • Refined proto file generation process for cleaner and more consistent output.
  • Improved handling of complex types in proto file generation.

4. Customizable Output Directory

  • Added set_output_directory() method for easy customization of output file locations.

5. Improved Type Mapping

  • Enhanced type mapping between Python and Protocol Buffer types.
  • Better support for complex types including nested messages and enums.

6. Comprehensive Documentation

  • Completely revamped README with detailed usage examples and explanations.
  • In-code documentation improvements for better developer experience.

7. Dependency Management

  • Updated dependencies to ensure compatibility with the latest gRPC and Protobuf versions.
  • Added Flask as a new dependency for Swagger UI support.

Breaking Changes

  • The run_flask() method has been renamed to run_swagger() to better reflect its purpose.
  • Some internal APIs have been modified, which may affect users who were directly interacting with these components.

Upgrading from 1.x

To upgrade from version 1.x, please ensure you update your code to use run_swagger() instead of run_flask(). Also, review your Proto class definitions to ensure they comply with the new type mapping system.

Documentation

For detailed information on how to use the new features, please refer to our updated README.md file.

We're excited about these new features and improvements, and we hope they enhance your development experience with py2proto. As always, we welcome your feedback and contributions!

Happy coding!

The py2proto Team

v1.4.1

21 Jul 06:31
Compare
Choose a tag to compare

Release v1.4.1 - Enhanced Proto Generation with Repeated and Map Fields Support And fixing the latest bugs of version 1.4.0

We are excited to announce the release of py2proto v1.4.0! This version brings significant improvements to our Protocol Buffer generation capabilities, enhancing the library's flexibility and power.

What's New

1. Support for Repeated Fields

  • Users can now define repeated fields using Python's List type.
  • The generator automatically translates List[Type] to repeated Type in the generated .proto file.

2. Map Fields Support

  • Introduced support for map fields using Python's Dict type.
  • Dict[KeyType, ValueType] is now correctly translated to map<KeyType, ValueType> in the .proto file.

3. Improved Type Mapping

  • Enhanced the internal type mapping system to better handle various Protocol Buffer data types.
  • Added support for additional Protocol Buffer types like sint32, sfixed64, etc.

4. Updated Documentation

  • Comprehensive README update with detailed usage examples.
  • Improved API documentation for better user understanding.

v1.4.0

20 Jul 13:30
Compare
Choose a tag to compare
v1.4.0 Pre-release
Pre-release

Release v1.4.0 - Enhanced Proto Generation with Repeated and Map Fields Support

We are excited to announce the release of py2proto v1.4.0! This version brings significant improvements to our Protocol Buffer generation capabilities, enhancing the library's flexibility and power.

What's New

1. Support for Repeated Fields

  • Users can now define repeated fields using Python's List type.
  • The generator automatically translates List[Type] to repeated Type in the generated .proto file.

2. Map Fields Support

  • Introduced support for map fields using Python's Dict type.
  • Dict[KeyType, ValueType] is now correctly translated to map<KeyType, ValueType> in the .proto file.

3. Improved Type Mapping

  • Enhanced the internal type mapping system to better handle various Protocol Buffer data types.
  • Added support for additional Protocol Buffer types like sint32, sfixed64, etc.

4. Updated Documentation

  • Comprehensive README update with detailed usage examples.
  • Improved API documentation for better user understanding.

v1.3.4

15 Jul 15:32
Compare
Choose a tag to compare

Release Notes

Version 1.3.4 (Initial Release)

This is the initial release of py2proto, offering a streamlined approach to generating gRPC proto files and pb2 files using an ORM-like syntax.

Key features in this release:

  • ORM-style class definitions for Protocol Buffer messages
  • Automatic generation of .proto files from Python class definitions
  • Support for generating pb2 and pb2_grpc files
  • Built-in support for common Protocol Buffer data types
  • Simple API for defining gRPC services and message relationships

Known limitations:

  • Enum types are not yet fully supported and are treated as strings
  • Nested message types require manual handling
  • Limited support for advanced Protocol Buffer features (e.g., oneof, extensions)

We're actively working on expanding the feature set and improving the overall functionality. Feedback and contributions are welcome!