gp-libs


Namegp-libs JSON
Version 0.0.8 PyPI version JSON
download
home_pagehttps://gp-libs.git-pull.com
SummaryInternal utilities for projects following git-pull python package spec
upload_time2024-10-19 10:58:48
maintainerNone
docs_urlNone
authorTony Narlock
requires_python<4.0,>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # gp-libs &middot; [![Python Package](https://img.shields.io/pypi/v/gp-libs.svg)](https://pypi.org/project/gp-libs/) [![License](https://img.shields.io/github/license/git-pull/gp-libs.svg)](https://github.com/git-pull/gp-libs/blob/master/LICENSE) [![Code Coverage](https://codecov.io/gh/git-pull/gp-libs/branch/master/graph/badge.svg)](https://codecov.io/gh/git-pull/gp-libs)

Incubating / [dogfooding] some sphinx extensions and pytest plugins on
git-pull projects, e.g. [cihai], [vcs-python], or [tmux-python].

[dogfooding]: https://en.wikipedia.org/wiki/Eating_your_own_dog_food
[cihai]: https://github.com/cihai
[vcs-python]: https://github.com/vcs-python
[tmux-python]: https://github.com/tmux-python

## `doctest` for reStructured and markdown

Two components:

1. `doctest_docutils` module: Same specification as `doctest`, but can parse reStructuredText
   and markdown
2. `pytest_doctest_docutils`: Pytest plugin, collects test items for pytest for reStructuredText and markdown files

   This means you can do:

   ```console
   $ pytest docs
   ```

### doctest module

This extends standard library `doctest` to support anything docutils can parse.
It can parse reStructuredText (.rst) and markdown (.md).

See more: <https://gp-libs.git-pull.com/doctest/>

#### Supported styles

It supports two barebones directives:

- docutils' `doctest_block`

  ```rst
  >>> 2 + 2
  4
  ```

- `.. doctest::` directive

  reStructuredText:

  ```rst
  .. doctest::

     >>> 2 + 2
     4
  ```

  Markdown (requires [myst-parser]):

  ````markdown
  ```{doctest}
  >>> 2 + 2
  4
  ```
  ````

[myst-parser]: https://myst-parser.readthedocs.io/en/latest/

#### Usage

The `doctest_docutils` module preserves standard library's usage conventions:

##### reStructuredText

```console
$ python -m doctest_docutils README.rst -v
```

That's what `doctest` does by design.

##### Markdown

If you install [myst-parser], doctest will run on .md files.

```console
$ python -m doctest_docutils README.md -v
```

### pytest plugin

_This plugin disables [pytest's standard `doctest` plugin]._

This plugin integrates with the `doctest_docutils` module with pytest to enable seamless testing of docs, `conftest.py` fixtures and all.

```console
$ pytest docs/
```

Like the above module, it supports docutils' own `doctest_block` and a basic
`.. doctest::` directive.

See more: <https://gp-libs.git-pull.com/doctest/pytest.html>

[pytest's standard `doctest` plugin]: https://docs.pytest.org/en/stable/how-to/doctest.html#doctest

## sphinx plugins

### Plain-text issue linker (`linkify-issues`)

We need to parse plain text, e.g. #99999, to point to the project tracker at
https://github.com/git-pull/gp-libs/issues/99999. This way the markdown looks
good anywhere you render it, including GitHub and GitLab.

#### Configuration

In your _conf.py_:

1. Add `'linkify_issues'` to `extensions`

   ```python
   extensions = [
       # ...
       "linkify_issues",
   ]
   ```

2. Configure your issue URL, `issue_url_tpl`:

   ```python
   # linkify_issues
   issue_url_tpl = 'https://github.com/git-pull/gp-libs/issues/{issue_id}'
   ```

   The config variable is formatted via {meth}`str.format` where `issue_id` is
   `42` if the text is \#42.

See more: <https://gp-libs.git-pull.com/linkify_issues/>

## Install

```console
$ pip install --user gp-libs
```

### Developmental releases

You can test the unpublished version of g before its released.

- [pip](https://pip.pypa.io/en/stable/):

  ```console
  $ pip install --user --upgrade --pre gp-libs
  ```

# Minimum requirements

To lift the development burden of supporting legacy APIs, as this package is
lightly used, minimum constraints have been pinned:

- docutils: 0.20.1+
- myst-parser: 2.0.0+

If you have even passing interested in supporting legacy versions, file an
issue on the tracker.

# More information

- Python support: >= 3.8, pypy
- Source: <https://github.com/git-pull/gp-libs>
- Docs: <https://gp-libs.git-pull.com>
- Changelog: <https://gp-libs.git-pull.com/history.html>
- Issues: <https://github.com/git-pull/gp-libs/issues>
- Test Coverage: <https://codecov.io/gh/git-pull/gp-libs>
- pypi: <https://pypi.python.org/pypi/gp-libs>
- License: [MIT](https://opensource.org/licenses/MIT).

[![Docs](https://github.com/git-pull/gp-libs/workflows/docs/badge.svg)](https://gp-libs.git-pull.com)
[![Build Status](https://github.com/git-pull/gp-libs/workflows/tests/badge.svg)](https://github.com/git-pull/gp-libs/actions?query=workflow%3A%22tests%22)


            

Raw data

            {
    "_id": null,
    "home_page": "https://gp-libs.git-pull.com",
    "name": "gp-libs",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Tony Narlock",
    "author_email": "tony@git-pull.com",
    "download_url": "https://files.pythonhosted.org/packages/13/ae/4ae53e559046992edda1c18fb377449bf1064ea17f7601660bb4797addd1/gp_libs-0.0.8.tar.gz",
    "platform": null,
    "description": "# gp-libs &middot; [![Python Package](https://img.shields.io/pypi/v/gp-libs.svg)](https://pypi.org/project/gp-libs/) [![License](https://img.shields.io/github/license/git-pull/gp-libs.svg)](https://github.com/git-pull/gp-libs/blob/master/LICENSE) [![Code Coverage](https://codecov.io/gh/git-pull/gp-libs/branch/master/graph/badge.svg)](https://codecov.io/gh/git-pull/gp-libs)\n\nIncubating / [dogfooding] some sphinx extensions and pytest plugins on\ngit-pull projects, e.g. [cihai], [vcs-python], or [tmux-python].\n\n[dogfooding]: https://en.wikipedia.org/wiki/Eating_your_own_dog_food\n[cihai]: https://github.com/cihai\n[vcs-python]: https://github.com/vcs-python\n[tmux-python]: https://github.com/tmux-python\n\n## `doctest` for reStructured and markdown\n\nTwo components:\n\n1. `doctest_docutils` module: Same specification as `doctest`, but can parse reStructuredText\n   and markdown\n2. `pytest_doctest_docutils`: Pytest plugin, collects test items for pytest for reStructuredText and markdown files\n\n   This means you can do:\n\n   ```console\n   $ pytest docs\n   ```\n\n### doctest module\n\nThis extends standard library `doctest` to support anything docutils can parse.\nIt can parse reStructuredText (.rst) and markdown (.md).\n\nSee more: <https://gp-libs.git-pull.com/doctest/>\n\n#### Supported styles\n\nIt supports two barebones directives:\n\n- docutils' `doctest_block`\n\n  ```rst\n  >>> 2 + 2\n  4\n  ```\n\n- `.. doctest::` directive\n\n  reStructuredText:\n\n  ```rst\n  .. doctest::\n\n     >>> 2 + 2\n     4\n  ```\n\n  Markdown (requires [myst-parser]):\n\n  ````markdown\n  ```{doctest}\n  >>> 2 + 2\n  4\n  ```\n  ````\n\n[myst-parser]: https://myst-parser.readthedocs.io/en/latest/\n\n#### Usage\n\nThe `doctest_docutils` module preserves standard library's usage conventions:\n\n##### reStructuredText\n\n```console\n$ python -m doctest_docutils README.rst -v\n```\n\nThat's what `doctest` does by design.\n\n##### Markdown\n\nIf you install [myst-parser], doctest will run on .md files.\n\n```console\n$ python -m doctest_docutils README.md -v\n```\n\n### pytest plugin\n\n_This plugin disables [pytest's standard `doctest` plugin]._\n\nThis plugin integrates with the `doctest_docutils` module with pytest to enable seamless testing of docs, `conftest.py` fixtures and all.\n\n```console\n$ pytest docs/\n```\n\nLike the above module, it supports docutils' own `doctest_block` and a basic\n`.. doctest::` directive.\n\nSee more: <https://gp-libs.git-pull.com/doctest/pytest.html>\n\n[pytest's standard `doctest` plugin]: https://docs.pytest.org/en/stable/how-to/doctest.html#doctest\n\n## sphinx plugins\n\n### Plain-text issue linker (`linkify-issues`)\n\nWe need to parse plain text, e.g. #99999, to point to the project tracker at\nhttps://github.com/git-pull/gp-libs/issues/99999. This way the markdown looks\ngood anywhere you render it, including GitHub and GitLab.\n\n#### Configuration\n\nIn your _conf.py_:\n\n1. Add `'linkify_issues'` to `extensions`\n\n   ```python\n   extensions = [\n       # ...\n       \"linkify_issues\",\n   ]\n   ```\n\n2. Configure your issue URL, `issue_url_tpl`:\n\n   ```python\n   # linkify_issues\n   issue_url_tpl = 'https://github.com/git-pull/gp-libs/issues/{issue_id}'\n   ```\n\n   The config variable is formatted via {meth}`str.format` where `issue_id` is\n   `42` if the text is \\#42.\n\nSee more: <https://gp-libs.git-pull.com/linkify_issues/>\n\n## Install\n\n```console\n$ pip install --user gp-libs\n```\n\n### Developmental releases\n\nYou can test the unpublished version of g before its released.\n\n- [pip](https://pip.pypa.io/en/stable/):\n\n  ```console\n  $ pip install --user --upgrade --pre gp-libs\n  ```\n\n# Minimum requirements\n\nTo lift the development burden of supporting legacy APIs, as this package is\nlightly used, minimum constraints have been pinned:\n\n- docutils: 0.20.1+\n- myst-parser: 2.0.0+\n\nIf you have even passing interested in supporting legacy versions, file an\nissue on the tracker.\n\n# More information\n\n- Python support: >= 3.8, pypy\n- Source: <https://github.com/git-pull/gp-libs>\n- Docs: <https://gp-libs.git-pull.com>\n- Changelog: <https://gp-libs.git-pull.com/history.html>\n- Issues: <https://github.com/git-pull/gp-libs/issues>\n- Test Coverage: <https://codecov.io/gh/git-pull/gp-libs>\n- pypi: <https://pypi.python.org/pypi/gp-libs>\n- License: [MIT](https://opensource.org/licenses/MIT).\n\n[![Docs](https://github.com/git-pull/gp-libs/workflows/docs/badge.svg)](https://gp-libs.git-pull.com)\n[![Build Status](https://github.com/git-pull/gp-libs/workflows/tests/badge.svg)](https://github.com/git-pull/gp-libs/actions?query=workflow%3A%22tests%22)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Internal utilities for projects following git-pull python package spec",
    "version": "0.0.8",
    "project_urls": {
        "Bug Tracker": "https://github.com/git-pull/gp-libs/issues",
        "Changes": "https://github.com/git-pull/gp-libs/blob/master/CHANGES",
        "Documentation": "https://gp-libs.git-pull.com",
        "Homepage": "https://gp-libs.git-pull.com",
        "Repository": "https://github.com/git-pull/gp-libs"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aabb69b3ed219a8d170c013338f63988acc0e818d9bbd8cc25eec08c09c90b5a",
                "md5": "7a82e8ffdbacb662a898a993893da7a2",
                "sha256": "59b22a69f7162d9d6730a21b17c07d9f1ae054f348adf4179b2c3565fa93b59d"
            },
            "downloads": -1,
            "filename": "gp_libs-0.0.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7a82e8ffdbacb662a898a993893da7a2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 15545,
            "upload_time": "2024-10-19T10:58:46",
            "upload_time_iso_8601": "2024-10-19T10:58:46.597154Z",
            "url": "https://files.pythonhosted.org/packages/aa/bb/69b3ed219a8d170c013338f63988acc0e818d9bbd8cc25eec08c09c90b5a/gp_libs-0.0.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13ae4ae53e559046992edda1c18fb377449bf1064ea17f7601660bb4797addd1",
                "md5": "887e02a7240148b35d4d3cf83bcae53d",
                "sha256": "c150ef6de4ab9287894fb6cb85c9a4efbaf1bd85dc021fd827c1903eb6a4ee77"
            },
            "downloads": -1,
            "filename": "gp_libs-0.0.8.tar.gz",
            "has_sig": false,
            "md5_digest": "887e02a7240148b35d4d3cf83bcae53d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 18836,
            "upload_time": "2024-10-19T10:58:48",
            "upload_time_iso_8601": "2024-10-19T10:58:48.379099Z",
            "url": "https://files.pythonhosted.org/packages/13/ae/4ae53e559046992edda1c18fb377449bf1064ea17f7601660bb4797addd1/gp_libs-0.0.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-19 10:58:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "git-pull",
    "github_project": "gp-libs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gp-libs"
}
        
Elapsed time: 0.53484s