Plans for fpdf2 to join the py-pdf org #752
Replies: 9 comments 20 replies
-
Correct, due to https://github.com/PyFPDF/fpdf2/blob/master/.github/workflows/continuous-integration-workflow.yml#L89-L101 Please note that this does not give anybody else access to PyPI. The current owners within PyPI still stay the (only) owners. Meaning if one of the GitHub py-pdf admins went evil / leaked their credentials, it would be possible to clean up the mess. Let's hope that never happens though 🤞 |
Beta Was this translation helpful? Give feedback.
-
Thank You @Lucas-C for tagging.
Out of curiosity, what will be the advantages of moving |
Beta Was this translation helpful? Give feedback.
-
As long as the fpdf2 project can keep it's characteristics of being welcoming and encouraging new contributors, I don't see a problem. |
Beta Was this translation helpful? Give feedback.
-
@Lucas-C , first of all thanks for all the work you have been putting in. Maintaining a package like fpdf2 on your own is fun and rewarding but can easily become a burden and a responsibility. I think it is good that you found a way to share this with multiple people. Although shared responsibility is no responsibility and when creating something is it often easier to be able to dictate rather than having to get approval from others. For users like me the combination of fpdf2 and pypdf is great as I'm using both of them together: fpdf2 to export some chapters and pypdf to mix in drawings (from autocad and such) and appendices. Having both the tools supported by the same people would be a good thing. Next step could be merging/refactoring the packages such that they use common resources from the same pool. Logical candidates would be test-files, CI, testing and documentation. TLDR: YES :-) |
Beta Was this translation helpful? Give feedback.
-
Ownership of the py-pdf organization is another important aspect. I want to make @Lucas-C an owner, but I also want the community to participate in the discussion. I've linked it already for the pypdf / PyPDF2 people, but maybe you're interested as well: py-pdf/py-pdf.github.io#3 :-) |
Beta Was this translation helpful? Give feedback.
-
Btw: Kind of funny in this context that fpdf2 is not even mentioned (yet) on awsome-pdf... 🤨 |
Beta Was this translation helpful? Give feedback.
-
As a side-note: We now use fpdf2 in I want to extend this kind of usage in future :-) |
Beta Was this translation helpful? Give feedback.
-
I have just moved |
Beta Was this translation helpful? Give feedback.
-
I need Help in Header where i want the header text to be in all pages and the header text changes dynamically in some pages is this possible |
Beta Was this translation helpful? Give feedback.
-
Hi users of
fpdf2
! 😊I am the current maintainer of
fpdf2
.I started contributing PRs to this project during the summer of 2020.
At the time, @alexanderankin who created this fork of PyFPDF, was the maintainer.
Since then, he handed over maintainership to me,
fpdf2
evolved significantly, and I am quite proud of its current set of features, its stability and its performances (even if there is always room for improvements 😄).And this was only possible thanks to the numerous, generous and skilled
fpdf2
contributors: https://github.com/PyFPDF/fpdf2#contributors-Many thanks to you all! 👍🙏
However, I have been the only active maintainer for more than a year now, answering issues and making or reviewing Pull Requests.
While considering the future of
fpdf2
, and the possibility that I will have less time to dedicate to this project at some point,I have been considering how to share the ownership of
fpdf2
with other benevolant developpers for several months now.Last week, a discussion popped up in @sarnold fork of @pmaupin great pdfrw library, about how to maintain this fork and share ownership: sarnold/pdfrw#15. One idea was to move this fork to the @py-pdf GitHub org, managed by @MasterOdin & @MartinThoma, who maintain https://github.com/py-pdf/pypdf, the successor of
PyPDF2
.At the same time, @reingart reached out to me & @MartinThoma by email about archiving or handing over https://github.com/reingart/pyfpdf.
Given this context, and the presence of some motivated Python developpers willing to share efforts to maintain libraries dedicated to parsing & building PDF documents, I think this is the right opportunity to join forces!
Hence this discussion, that aims to present my current plans for the future of
fpdf2
and get feedback from you, thefpdf2
community 😊✅ Step 1 - Establish some basic guidelines for maintainers of the py-pdf org
The goal is to establish some basic principles for maintainers to work together & help each other.
For now I have mostly in mind some basic rules on how to manage releases ("when ?" & "how ?", for example fpdf2 has a checklist), and how people can can become maintainers For example, does it require explicit approval of all existing maintainers?
Basically, I initially just want to limit the risk of "broken"
fpdf2
releases being made an impacting users.Those guidelines could then evolve over time.
I'm planning to submit a first draft as an issue of https://github.com/py-pdf/py-pdf.github.io for @MasterOdin & @MartinThoma to review it, and to take inspiration from the following existing guidelines / group of maintainers:
✅ Step 2 - Move fpdf2 to https://github.com/py-pdf
This should be relatively straightforward, as GitHub makes this relatively easy:
https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository
At this point, all @py-pdf maintainers will be able to handle
fpdf2
issues & PRs, and perform new releases of the library.Step 3 - Homogenization
Personnally, I'd like to contribute to https://github.com/py-pdf/pypdf (and https://github.com/sarnold/pdfrw if it joins @py-pdf) in order to discover & learn about how they manage things: code structure, linters, unit tests...
And in the end, I have the idea of sharing some practices toward static code analysis, tests & CI/CD pipelines between projects of the @py-pdf organization. To make things easier for @py-pdf maintainers and also because I like setting up this kind of stuff 😅
Community feedbacks
Do you have any questions regarding this plan?
I'd love to get your reactions! 😊
Ping to some major & recent contributors: @alexp1917, @gmischler, @eroux, @erap129, @Bubbu0129, @RedShy, @andersonhc, @RubendeBruin, @ssavi-ict
Beta Was this translation helpful? Give feedback.
All reactions