Metadata-Version: 2.1
Name: doctestprinter
Version: 1.0.0
Summary: Helper functions to make fitting outputs for doctests.
Home-page: https://gitlab.com/david.scheliga/doctestprinter
Author: David Scheliga
License: GNU General Public License V3 (GPLv3)
Project-URL: Documentation, https://doctestprinter.readthedocs.io/en/latest/
Project-URL: Source Code Repository, https://gitlab.com/david.scheliga/doctestprinter
Keywords: doctest,helper,pandas
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
Requires-Dist: pandas (>=1.0.0)
Requires-Dist: numpy (>=1.16.0)

# doctestprinter
[![Coverage Status](https://coveralls.io/repos/gitlab/david.scheliga/doctestprinter/badge.svg?branch=master)](https://coveralls.io/gitlab/david.scheliga/doctestprinter?branch=master)
[![Build Status](https://travis-ci.com/david.scheliga/doctestprinter.svg?branch=master)](https://travis-ci.com/david.scheliga/doctestprinter)
[![PyPi](https://img.shields.io/pypi/v/doctestprinter.svg?style=flat-square&label=PyPI)](https://https://pypi.org/project/doctestprinter/)
[![Python Versions](https://img.shields.io/pypi/pyversions/doctestprinter.svg?style=flat-square&label=PyPI)](https://https://pypi.org/project/doctestprinter/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

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

![doctestprinter icon](https://doctestprinter.readthedocs.io/en/latest/_images/doctestprinter-icon.svg "A doctest printer")

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.

```` shell script
    $ pip install doctestprinter
````

The latest development state can be obtained from gitlab using pip.

```` shell script
    $ pip install git+https://gitlab.com/david.scheliga/doctestprinter.git@dev
````


## Basic Usage

The default method is `doctestprinter.doctest_print`.

```` python

    >>> 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](https://doctestprinter.readthedocs.io/en/latest/) 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](https://www.python.org/dev/peps/pep-0008/).
The project is using [black](https://github.com/psf/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

* **David Scheliga** 
    [@gitlab](https://gitlab.com/david.scheliga)
    [@Linkedin](https://www.linkedin.com/in/david-scheliga-576984171/)
    - Initial work
    - Maintainer

## License

This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the
[LICENSE](LICENSE) file for details

## Acknowledge

[Code style: black](https://github.com/psf/black)
# Changelog
This changelog is inspired by [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## 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*


