Skip to main content

Helper functions to make fitting outputs for doctests.

Project description

doctestprinter

Coverage Status Build Status PyPi Python Versions Code style: black

doctestprinter contains convenience functions to print outputs more adequate for doctests.

doctestprinter icon

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

  1. Fork the project on Gitlab.
  2. Commit changes to your own branch.
  3. 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

Code style: black

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 in doctest_print
  • Function doctest_iter_print iterates through the first level of an Iterable or Mapping.

0.3a0 [unreleased]

Changed

  • Renamed doctest_print to doctest_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doctestprinter-1.0.0.tar.gz (58.5 kB view hashes)

Uploaded Source

Built Distribution

doctestprinter-1.0.0-py2.py3-none-any.whl (33.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page