Skip to content

Latest commit

 

History

History
19 lines (14 loc) · 2.3 KB

CONTRIBUTING.md

File metadata and controls

19 lines (14 loc) · 2.3 KB

Contribution Guidelines

Thank you for your interest in pdfplumber! Before submitting an issue or filing a pull request, please consult the brief notes and instructions below.

Creating issues

  • If you are troubleshooting a specific PDF and have not identified a clear bug, please open a discussion instead of an issue.
  • Malformed PDFs can often cause problems that cannot be directly fixed in pdfplumber. For that reason, please try repairing your PDF using Ghostscript before filing a bug report. To do so, run gs -o repaired.pdf -sDEVICE=pdfwrite original.pdf, replacing original.pdf with your PDF's actual filename.
  • If your issue relates to text not being displayed correctly, please compare the output to pdfminer.six's pdf2txt command. If you're seeing the same problems there, please consult that repository instead of this one, because pdfplumber depends on pdfminer.six for text extraction.
  • Please do fill out all requested sections of the issue template; doing so will help the maintainers and community more efficiently respond.

Submitting pull requests

  • If you would like to propose a change that is more complex than a simple bug-fix, please first open a discussion. If you are submitting a simple bugfix, typo correction, et cetera, feel free to open a pull request directly.
  • PRs should be submitted against the develop branch only.
  • PRs should contain one or more tests that support the changes. The tests should pass with the new code but fail on the commits prior. For guidance, see the existing tests in the tests/ directory. To execute the tests, run make tests or python -m pytest.
  • Python code in PRs should conform to psf/black and flake8 formatting guidelines. To test this, run make lint. To reformat your code, run make format.
  • Please add yourself to the list of contributors.
  • Please also update the CHANGELOG.md.