-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add maintainers-guidelines.md #1
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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,3 +1,4 @@ | ||
__pycache__/ | ||
cache/ | ||
output/ | ||
venv/ |
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
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
This file was deleted.
Oops, something went wrong.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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 |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Title: The py-pdf organization | ||
Slug: ../index | ||
Save_as: index.html | ||
Authors: Martin Thoma | ||
Summary: What py-pdf is about | ||
|
||
The py-pdf organization is a group of Python developers who provide | ||
libraries and applications around PDF documents. | ||
|
||
<center>![pypdf logo](images/pypdf-snake.png)</center> |
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 |
---|---|---|
@@ -0,0 +1,97 @@ | ||
Title: Maintainer guidelines | ||
Tags: guideline, maintainer | ||
|
||
## Table of contents | ||
<!-- To update this ToC based on the sections below : markdown-toc -i content/pages/maintainer-guidelines.md --> | ||
|
||
<!-- toc --> | ||
|
||
- [Volunteering](#volunteering) | ||
- [Governance](#governance) | ||
* [The relationship of py-pdf to its projects](#the-relationship-of-py-pdf-to-its-projects) | ||
* [Conditions for projects to be added to py-pdf](#conditions-for-projects-to-be-added-to-py-pdf) | ||
* [Responsibility of project maintainers](#responsibility-of-project-maintainers) | ||
* [GitHub roles](#github-roles) | ||
- [Releases](#releases) | ||
|
||
<!-- tocstop --> | ||
|
||
## Volunteering | ||
All [@py-pdf](https://github.com/py-pdf) members are volunteers. | ||
They dedicate some of their time to maintain open-source projects, answer questions and review Pull Requests. | ||
|
||
[@py-pdf](https://github.com/py-pdf) members should never be required to operate within deadlines, or even respond within a given time frame. | ||
|
||
If you are a user of a [@py-pdf](https://github.com/py-pdf) project and want something done, | ||
whether it is a bugfix or a feature request, your best options for achieving what you want are: | ||
|
||
* being polite and patient | ||
* volunteer to contribute yourself | ||
|
||
To all [@py-pdf](https://github.com/py-pdf) members, remember: [it's okay to hit pause](https://opensource.guide/best-practices/#its-okay-to-hit-pause), and take time away from volunteer open-source work. | ||
|
||
<br> | ||
|
||
## Governance | ||
`py-pdf` governance model is descibed there: | ||
<https://pypdf.readthedocs.io/en/latest/meta/project-governance.html> | ||
|
||
<br> | ||
|
||
## The relationship of py-pdf to its projects | ||
|
||
`py-pdf` wants to ensure the Python-PDF ecosystem is prospering. We recognize that individual | ||
maintainers did and still do an outstanding job, but we also see that personal lives sometimes | ||
move away from software projects. | ||
|
||
That means: | ||
|
||
1. `py-pdf` offers the platform to exchange ideas and provide feedback | ||
2. `py-pdf` administrators who are not project members do interfere, when (a) no activity by the maintainers is in the project for at least 6 months and at least 3 friendly "are you alive" questions over at least 6 weeks. (b) security issues are detected | ||
3. `py-pdf` leaves the projects do their thing in all other cases. | ||
|
||
<br> | ||
|
||
## Conditions for projects to be added to py-pdf | ||
|
||
We want projects which provide value to users and we need to be able to maintain them. We want to improve the Python / PDF ecosystem and not scatter it. | ||
|
||
1. The project has to be a Python project and about PDF documents | ||
2. If it's a software project, it has (1) a README with the projects purpose, installation instructions, and a usage example (2) it's either the main project or the fork that has more popularity measured in GitHub stars | ||
3. It either has a different purpose than all other projects in `py-pdf` or is more popular than the existing projects for that purpose | ||
4. It needs to be a FOSS license (e.g. BSD, MIT, Apache) | ||
|
||
<br> | ||
|
||
## Responsibility of project maintainers | ||
|
||
1. **Software Reliability**: Please ensure that your project follows best practices in software development. Introduce a [deprecation process](https://pypdf.readthedocs.io/en/latest/dev/deprecations.html) and follow it. | ||
2. **Kindness**: We are all here because it's fun to help others and create good software. But we are humans: people can have bad days and people might not speak English as a mother tongue. When in doubt, assume the best. Let people know how you perceived their interaction. | ||
3. **Know your Limits**: It's ok to reduce the time you spend on your project or even step away from it. Stay healthy. | ||
4. **Let your Project Grow**: Especially if you step away, let others take over. Make it explicit that you're looking for another person who would take over. | ||
It's OK to [say no](https://opensource.guide/best-practices/#learning-to-say-no). | ||
|
||
<!-- | ||
As recommended [by the opensource.guide](https://opensource.guide/leadership-and-governance/), a `GOVERNANCE.md` file in every repository could point to this page as reference. | ||
--> | ||
|
||
<br> | ||
|
||
## GitHub roles | ||
The base permission for [@py-pdf](https://github.com/py-pdf) members is set to **Write**, | ||
meaning any [@py-pdf](https://github.com/py-pdf) member has read permissions, | ||
can manage issues and pull requests, and also push to repositories. | ||
|
||
We encourage [@py-pdf](https://github.com/py-pdf) members, and especially maintainers, to make their organization membership **public** | ||
on <https://github.com/orgs/py-pdf/people>, in order to clarify who has ownership of the organization, and the associated rights to perform package releases: | ||
|
||
![](../images/github-org-public-membership.png) | ||
|
||
<br> | ||
|
||
## Releases | ||
Depending on the projects, the release process can be automated inside GitHub Actions pipelines, or stays manual. | ||
|
||
<!-- TODO: use a dedicated Pypi user like Jazzband does? cf. https://jazzband.co/about/releases --> | ||
|
||
<!-- TODO: add a section on Security & reporting vulnerabilities ? cf. https://jazzband.co/about/security --> |
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
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
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,7 +1,9 @@ | ||
pip-tools # brings pip-compile to update the requirements.txt | ||
ghp-import # publish blog on https://py-pdf.github.io/ | ||
pip-tools # brings pip-compile to update the requirements.txt | ||
pre-commit # automatically apply style checks/autofixes | ||
|
||
# For the blog: | ||
pelican | ||
invoke | ||
livereload | ||
markdown | ||
pelican |
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,10 +1,10 @@ | ||
# | ||
# This file is autogenerated by pip-compile with Python 3.11 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should probably decide on a Python version + document that in the README. |
||
# This file is autogenerated by pip-compile with Python 3.8 | ||
# by the following command: | ||
# | ||
# pip-compile requirements.in | ||
# | ||
blinker==1.5 | ||
blinker==1.6 | ||
# via pelican | ||
build==0.10.0 | ||
# via pip-tools | ||
|
@@ -24,8 +24,14 @@ ghp-import==2.1.0 | |
# via -r requirements.in | ||
identify==2.5.22 | ||
# via pre-commit | ||
importlib-metadata==6.1.0 | ||
# via markdown | ||
invoke==2.0.0 | ||
# via -r requirements.in | ||
jinja2==3.1.2 | ||
# via pelican | ||
livereload==2.6.3 | ||
# via -r requirements.in | ||
markdown==3.4.3 | ||
# via -r requirements.in | ||
markdown-it-py==2.2.0 | ||
|
@@ -56,7 +62,7 @@ python-dateutil==2.8.2 | |
# via | ||
# ghp-import | ||
# pelican | ||
pytz==2023.2 | ||
pytz==2023.3 | ||
# via | ||
# feedgenerator | ||
# pelican | ||
|
@@ -65,13 +71,27 @@ pyyaml==6.0 | |
rich==13.3.3 | ||
# via pelican | ||
six==1.16.0 | ||
# via python-dateutil | ||
# via | ||
# livereload | ||
# python-dateutil | ||
tomli==2.0.1 | ||
# via | ||
# build | ||
# pyproject-hooks | ||
tornado==6.2 | ||
# via livereload | ||
typing-extensions==4.5.0 | ||
# via | ||
# blinker | ||
# rich | ||
unidecode==1.3.6 | ||
# via pelican | ||
virtualenv==20.21.0 | ||
# via pre-commit | ||
wheel==0.40.0 | ||
# via pip-tools | ||
zipp==3.15.0 | ||
# via importlib-metadata | ||
|
||
# The following packages are considered to be unsafe in a requirements file: | ||
# pip | ||
|
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm uncertain about this. Bat-files are for windows users and they use different line endings, but there is also git autocrlf: https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings#global-settings-for-line-endings
However, we can just do it and see if anybody mentions issues.