Skip to content

Commit

Permalink
catch up to 3.x branch
Browse files Browse the repository at this point in the history
  • Loading branch information
camnic committed Mar 31, 2024
1 parent 5db8d70 commit 020af13
Show file tree
Hide file tree
Showing 196 changed files with 13,333 additions and 26,643 deletions.
701 changes: 5 additions & 696 deletions CHANGELOG.md

Large diffs are not rendered by default.

23 changes: 0 additions & 23 deletions CONTRIBUTING.md

This file was deleted.

66 changes: 15 additions & 51 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -1,98 +1,62 @@
# Contributors

pypdf had a lot of contributors since it started with pyPdf in 2005. We are
PyPDF2 had a lot of contributors since it started with pyPdf in 2005. We are
a free software project without any company affiliation. We cannot pay
contributors, but we do value their contributions. A lot of time, effort, and
expertise went into this project. With this list, we recognize those awesome
people 🤗

The list is definitely not complete. You can find more contributors via the git
history and [GitHubs 'Contributors' feature](https://github.com/py-pdf/pypdf/graphs/contributors).
history and [GitHubs 'Contributors' feature](https://github.com/py-pdf/PyPDF2/graphs/contributors).

## Contributors to the pypdf (formerly pyPdf / PyPDF2) project
## Contributors to the pyPdf / PyPDF2 project

* [abyesilyurt](https://github.com/abyesilyurt)
* [ArkieCoder](https://github.com/ArkieCoder)
* [Clauss, Christian](https://github.com/cclauss)
* [DL6ER](https://github.com/DL6ER)
* [Duy, Phan Thanh](https://github.com/zuypt)
* [ediamondscience](https://github.com/ediamondscience)
* [Ermeson, Felipe](https://github.com/FelipeErmeson)
* [Freitag, François](https://github.com/francoisfreitag)
* [Górny, Michał](https://github.com/mgorny)
* [Grillo, Miguel](https://github.com/Ineffable22)
* [Gutteridge, David H.](https://github.com/dhgutteridge)
* [Hale, Joseph](https://github.com/thehale)
* [harshhes](https://github.com/harshhes)
* [JianzhengLuo](https://github.com/JianzhengLuo)
* [Karvonen, Harry](https://github.com/Hatell/)
* [King, Hunter](https://github.com/neversphere)
* [Kotler, Mitchell](https://github.com/mitchelljkotler)
* [KourFrost](https://github.com/KourFrost)
* [Lightup1](https://github.com/Lightup1)
* [Majumder, Jonah](https://github.com/jonahmajumder)
* [Manini, Lorenzo](https://github.com/lorenzomanini)
* [maxbeer99](https://github.com/maxbeer99)
* [McNeil, Karen](https://github.com/karenlmcneil): Arabic Language Support
* [Mérino, Antoine](https://github.com/Merinorus)
* [nalin-udhaar](https://github.com/nalin-udhaar)
* [Paramonov, Alexey](https://github.com/alexey-v-paramonov)
* [Paternault, Louis](https://framagit.org/spalax)
* [Perrensen, Olsen](https://github.com/olsonperrensen)
* [pilotandy](https://github.com/pilotandy)
* [Pinheiro, Arthur](https://github.com/xilopaint)
* [pmiller66](https://github.com/pmiller66)
* [Poddar, Arka](https://github.com/postmeback)
* [programmarchy](https://github.com/programmarchy)
* [pubpub-zz](https://github.com/pubpub-zz): involved in community development
* [Ramos, Leodanis Pozo](https://github.com/lpozo)
* [RitchieP](https://github.com/RitchieP) | [LinkedIn](https://www.linkedin.com/in/ritchie-p-892b31115/) | [StackOverflow](https://stackoverflow.com/users/13328625/casual-r?tab=profile)
* [robbiebusinessacc](https://github.com/robbiebusinessacc)
* [Roder, Thomas](https://github.com/MrTomRod)
* [Rogmann, Sascha](https://github.com/srogmann)
* [Röthenbacher, Thomas](https://github.com/troethe)
* [shartzog](https://github.com/shartzog)
* [stefan6419846](https://github.com/stefan6419846)
* [sietzeberends](https://github.com/sietzeberends)
* [Stober, Marc](https://github.com/marcstober)
* [Stüber, Timo](https://github.com/omit66)
* [Thoma, Martin](https://github.com/MartinThoma): Maintainer of pypdf since April 2022. I hope to build a great community with many awesome contributors. [LinkedIn](https://www.linkedin.com/in/martin-thoma/) | [StackOverflow](https://stackoverflow.com/users/562769/martin-thoma) | [Blog](https://martin-thoma.com/)
* [Thomas, Reuben](https://github.com/rrthomas)
* [Tobeabellwether](https://github.com/Tobeabellwether)
* [Thoma, Martin](https://github.com/MartinThoma): Maintainer of PyPDF2 since April 2022. I hope to build a great community with many awesome contributors. [LinkedIn](https://www.linkedin.com/in/martin-thoma/) | [StackOverflow](https://stackoverflow.com/users/562769/martin-thoma) | [Blog](https://martin-thoma.com/)
* [WevertonGomes](https://github.com/WevertonGomesCosta)
* [Wilson, Huon](https://github.com/huonw)
* ztravis

## Adding a new contributor

Contributors are:

* Anybody who has an commit in `main` - no matter how big/small or how many. Also if it's via *co-authored-by*.
* Anybody who has an commit in main - no matter how big/small or how many. Also if it's via co-authored-by.
* People who opened helpful issues:

1. Bugs: with complete MCVE
2. Well-described feature requests
3. Potentially some more.

The maintainers of pypdf have the last call on that one.
* Community work: This is exceptional. If the maintainers of pypdf see people
(1) Bugs: with complete MCVE
(2) Well-described feature requests
(3) Potentially some more.
The maintainers of PyPDF2 have the last call on that one.
* Community work: This is exceptional. If the maintainers of PyPDF2 see people
being super helpful in answering issues / discussions or being very active on
Stackoverflow, we also consider them being contributors to pypdf.
Stackoverflow, we also consider them being contributors to PyPDF2.

Contributors can add themselves or ask via an GitHub Issue to be added.
Contributors can add themselves or ask via an Github Issue to be added.

Please use the following format:

```
* Last name, First name: 140-characters of text; links to LinkedIn / GitHub / other profiles and personal pages are ok
```
* Last name, First name: 140-characters of text; links to linkedin / github / other profiles and personal pages are ok
OR
```
* GitHub Username: 140-characters of text; links to LinkedIn / GitHub / other profiles and personal pages are ok
* GitHub Username: 140-characters of text; links to linkedin / github / other profiles and personal pages are ok
```

and add the entry in the alphabetical order. The 140 characters are everything visible after the `Name:`.
and add the entry in the alphabetical order. People who . The 140 characters are everything visible after the `Name:`.

Please don't use images.
19 changes: 10 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
maint:
pyenv local 3.7.15
pyenv local 3.6.15
pre-commit autoupdate
pip-compile -U requirements/ci.in
pyenv local 3.7.15
pip-compile -U requirements/dev.in
pyenv local 3.7.9
pip-compile -U requirements/docs.in

release:
python make_release.py
git commit -eF RELEASE_COMMIT_MSG.md
changelog:
python make_changelog.py

upload:
make clean
flit publish

clean:
pyclean .
rm -rf tests/__pycache__ pypdf/__pycache__ Image9.png htmlcov docs/_build dist dont_commit_merged.pdf dont_commit_writer.pdf pypdf.egg-info pypdf_pdfLocation.txt .pytest_cache .mypy_cache .benchmarks
rm -rf tests/__pycache__ PyPDF2/__pycache__ Image9.png htmlcov docs/_build dist dont_commit_merged.pdf dont_commit_writer.pdf PyPDF2.egg-info PyPDF2_pdfLocation.txt .pytest_cache .mypy_cache .benchmarks

test:
pytest tests --cov --cov-report term-missing -vv --cov-report html --durations=3 --timeout=60 pypdf
pytest tests --cov --cov-report term-missing -vv --cov-report html --durations=3 --timeout=60 PyPDF2

testtype:
pytest tests --cov --cov-report term-missing -vv --cov-report html --durations=3 --timeout=30 --typeguard-packages=pypdf
pytest tests --cov --cov-report term-missing -vv --cov-report html --durations=3 --timeout=30 --typeguard-packages=PyPDF2

mutation-test:
mutmut run
Expand All @@ -34,7 +35,7 @@ benchmark:
pytest tests/bench.py

mypy:
mypy pypdf --ignore-missing-imports --check-untyped --strict
mypy PyPDF2 --ignore-missing-imports --check-untyped --strict

pylint:
pylint pypdf
pylint PyPDF2
41 changes: 41 additions & 0 deletions PyPDF2/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
"""
PyPDF2 is a free and open-source pure-python PDF library capable of splitting,
merging, cropping, and transforming the pages of PDF files. It can also add
custom data, viewing options, and passwords to PDF files. PyPDF2 can retrieve
text and metadata from PDFs as well.
You can read the full docs at https://pypdf2.readthedocs.io/.
"""

import warnings

from ._encryption import PasswordType
from ._merger import PdfFileMerger, PdfMerger
from ._page import PageObject, Transformation
from ._reader import DocumentInformation, PdfFileReader, PdfReader
from ._version import __version__
from ._writer import PdfFileWriter, PdfWriter
from .pagerange import PageRange, parse_filename_page_ranges
from .papersizes import PaperSize

warnings.warn(
message="PyPDF2 is deprecated. Please move to the pypdf library instead.",
category=DeprecationWarning,
)

__all__ = [
"__version__",
"PageRange",
"PaperSize",
"DocumentInformation",
"parse_filename_page_ranges",
"PdfFileMerger", # will be removed in PyPDF2 3.0.0; use PdfMerger instead
"PdfFileReader", # will be removed in PyPDF2 3.0.0; use PdfReader instead
"PdfFileWriter", # will be removed in PyPDF2 3.0.0; use PdfWriter instead
"PdfMerger",
"PdfReader",
"PdfWriter",
"Transformation",
"PageObject",
"PasswordType",
]
Loading

0 comments on commit 020af13

Please sign in to comment.