Helper functions to make fitting outputs for doctests.
Project description
doctestprinter
doctestprinter contains convenience functions to print outputs more adequate for doctests.
Example features:
- removes trailing whitespaces: pandas.DataFrame generates trailing whitespaces, which interferes with auto text 'trailing whitespace' removal features, leading to failed tests.
- maximum line width: break long sequences at whitespaces to a paragraph.
Installation
Installing the latest release using pip is recommended.
$ pip install doctestprinter
The latest development state can be obtained from gitlab using pip.
$ pip install git+https://gitlab.com/david.scheliga/doctestprinter.git@dev
Basic Usage
The default method is doctestprinter.doctest_print
.
>>> from doctestprinter import doctest_print
>>> sample_object = list(range(80))
>>> doctest_print(sample_object, max_line_width=70)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79]
Read-the-docs for further functionality.
Contribution
Any contribution by reporting a bug or desired changes are welcomed. The preferred way is to create an issue on the gitlab's project page, to keep track of everything regarding this project.
Contribution of Source Code
Code style
This project follows the recommendations of PEP8. The project is using black as the code formatter.
Workflow
- Fork the project on Gitlab.
- Commit changes to your own branch.
- Submit a pull request from your fork's branch to our branch 'dev'.
Authors
License
This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE file for details
Acknowledge
Changelog
This changelog is inspired by Keep a Changelog.
1.0.0 [2021-02-06]
Changed
- Reordered code within code maintanance.
- Added additional docstrings.
- keywords within setup.cfg
0.8rc2 [2021-02-03]
Fixed
- Fixed wrong package description.
0.8rc1 [2021-02-02]
Added
- Function print_pandas for a static user defined printing of pandas.Series and pandas.DataFrames. The function was written to handle failing pytest in combination with doctests, where the formatting within pytest changes.
- Function remove_trailing_tabs and remove_trailing_whitespaces_and_tabs
- Function prepare_pandas which makes the string representation.
- Function set_in_quotes to be used with doctest_iter_print
- Additional tests besides doctests.
- Requirements.txt
0.7b0 [2021-01-20]
Added
- Function prepare_print returning the string representation before the print.
0.6b7 [2021-01-20]
Fixed
- Wrong sting replacement using bumpversion.
- Missing dependencies in tox.
0.6b1
Added
- Testing via travis-ci and tox
- Code coverage via coveralls.io
Changed
- Layout of setup.py to setup.cfg
- Added badges to readme.
0.6b0 [2020-12-28]
Added
- Helper method round_collections for rounding items using the edit_item argument or doctest_iter_print.
0.5b2 [2020-12-18]
Fixed
- Text was not printed correctly if it span over 2 lines.
0.5b1 [2020-12-01]
Fixed
- Text was not printed correctly, if it was within a single line smaller than max_line_width.
0.5b0 [2020-11-27]
Added
- Argument 'item_edit' allows a preliminary editing of each first level item before printing.
0.4a0.post1 [2020-11-21]
Added
- Argument
indent
supports indentation indoctest_print
- Function
doctest_iter_print
iterates through the first level of an Iterable or Mapping.
0.3a0 [unreleased]
Changed
- Renamed
doctest_print
todoctest_print_list
- Changed behavior of former
doctest_print
to an overall printing method. - Added optional argument 'max_line_width' to
doctest_print
.
0.0b2 [unreleased]
Added
- method remove_trailing_whitespaces removes trailing whitespaces from a multiline text.
- method repr_posix_path and strip_base_path
0.0a1 [unreleased]
- initialized doctestprinter
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for doctestprinter-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb51613ae60f764f70062970214d0fbb69c058597ec8ebf8d21dac045dfd392b |
|
MD5 | d2fbf018e79cc5dc146ffccb6877139d |
|
BLAKE2b-256 | 8718a4c342cd2ed1fe1f11cdbf8c25aa0a4eeabe4ebc83d18617beaa8b37b360 |