Skip to content

Community Contribution

Thank you for your long-term support and attention to PaddleOCR. Building a professional, harmonious, and mutually helpful open-source community with developers is the goal of PaddleOCR. This document showcases existing community contributions, explains various types of contributions, and describes new opportunities and processes, hoping to make the contribution process more efficient and the path clearer.

PaddleOCR hopes to help every developer with a dream realize their ideas through the power of AI and enjoy the pleasure of creating value.


1. Community Contributions

1.1 New Features for PaddleOCR

  • Many thanks to authorfu for contributing the Android demo (#340) and xxlyu-2046 for contributing the iOS demo code (#325).
  • Many thanks to tangmq for adding Docker-based deployment services to PaddleOCR, supporting quick publishing of callable RESTful API services (#507).
  • Many thanks to lijinhan for adding Java SpringBoot integration with the OCR HubServing interface for OCR service deployment (#1027).
  • Many thanks to Evezerest, ninetailskim, edencfc, BeyondYourself, and 1084667371 for contributing the complete code for PPOCRLabel.
  • Many thanks to bupt906 for contributing the MicroNet architecture code (#5251) and the OneCycle learning rate strategy code (#5252).

1.2 Bug Fixes

  • Many thanks to zhangxin (Blog) for contributing a new visualization method, adding .gitignore, and fixing the issue of manually setting the PYTHONPATH environment variable (#210).
  • Many thanks to lyl120117 for contributing the code for printing network structures (#304).
  • Many thanks to BeyondYourself for providing many excellent suggestions and simplifying some of PaddleOCR's code style (so many commits).

1.3 Documentation Improvements and Translations

1.4 Multilingual Corpora

  • Many thanks to xiangyubo for contributing a handwritten Chinese OCR dataset (#321).
  • Many thanks to Mejans for adding a new Occitan language dictionary and corpus to PaddleOCR (#954).

2. Contribution Guidelines

2.1 New Features

PaddleOCR warmly welcomes community contributions of various services, deployment examples, and software applications built around PaddleOCR. Certified community contributions will be added to the community contribution table above, providing increased visibility for developers and bringing honor to PaddleOCR:

  • Project format: Officially certified community project code should follow good standards and structure, and should also include a detailed README.md explaining how to use the project. Adding paddleocr to your requirements.txt file will automatically include your project in PaddleOCR's "used by" list.

  • Merge process: If it is an update or upgrade to an existing PaddleOCR tool, it will be merged into the main repo. If it extends new functionality for PaddleOCR, please contact the official team first to confirm whether the project should be merged into the main repo. Even if the new functionality is not merged into the main repo, we will still increase visibility for your personal project as a community contribution.

2.2 Code Optimization

If you encounter code bugs or unexpected behavior while using PaddleOCR, you can contribute your fixes:

2.3 Documentation Improvements

If you encounter unclear descriptions, missing content, or broken links while using PaddleOCR, you can contribute your fixes. For documentation writing standards, please refer to Appendix 2: Document Specification.

3. More Contribution Opportunities

We strongly encourage developers to use PaddleOCR to implement their own ideas. We also list some valuable extension directions that have been analyzed and are collected in the community project regular competition.

4. Contact Us

We warmly welcome developers to contact us before contributing code, documentation, corpora, or other content to PaddleOCR. This can greatly reduce communication costs during the PR process. Additionally, if you find certain ideas difficult to implement individually, we can recruit like-minded developers through SIG (Special Interest Group) to collaborate on the project. Projects contributed through the SIG channel will receive in-depth R&D support and operational resources (such as public account promotion, live courses, etc.).

Our recommended contribution process is:

  • Add the [third-party] tag to the GitHub issue title, describe the problem encountered (and your proposed solution) or the functionality you want to extend, and wait for a response from the duty personnel. For example: [third-party] Contributing an iOS example for PaddleOCR.
  • After confirming the technical solution or verifying the bug/optimization through communication with us, proceed with adding the new functionality or making the relevant changes. Code and documentation should follow the relevant standards.
  • Link the PR to the above issue and wait for review.

5. Acknowledgments and Follow-up

  • After the code is merged, information will be updated in the first section of this document. By default, links point to the GitHub username and homepage. If you need to change the homepage, you can also contact us.
  • For major new features, announcements will be made in user groups to share the honor of open-source community contributions.
  • If you have a project based on PaddleOCR that is not listed above, please follow the steps in "4. Contact Us" to reach out to us.

Comments