CCFT-PyMarkdown


NameCCFT-PyMarkdown JSON
Version 2.1.0 PyPI version JSON
download
home_pageNone
SummaryA Python wrapper around jackdewinter's PyMarkdown linter to suppress errors, caused by custom-formatted tables in Markdown files
upload_time2025-01-26 13:05:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords linter markdown static analysis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CCFT-PyMarkdown

![CCFT-PyMarkdown](https://img.shields.io/badge/%F0%9F%A5%95-CCFT--PyMarkdown-blue)
![PyPI Version](https://img.shields.io/pypi/v/CCFT-PyMarkdown)
![Python Version](https://img.shields.io/pypi/pyversions/CCFT-PyMarkdown?logo=Python&logoColor=white&label=Python)
![PyMarkdown Version](https://img.shields.io/endpoint?url=https://toml-version-extractor.carrotmanmatt.com/lock/CarrotManMatt/CCFT-PyMarkdown&logo=Markdown&label=PyMarkdown)
![Tests Status](https://github.com/CarrotManMatt/CCFT-PyMarkdown/actions/workflows/check-build-publish.yaml/badge.svg)
![mypy Status](https://img.shields.io/badge/mypy-checked-%232EBB4E&label=mypy)
![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)
![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)

A [Python](https://python.org) wrapper around [jackdewinter](https://github.com/jackdewinter)'s [PyMarkdown](https://github.com/jackdewinter/pymarkdown) linter to suppress errors, caused by custom-formatted tables in Markdown files

When running [PyMarkdown](https://github.com/jackdewinter/pymarkdown) it may incorrectly flag errors inside a table that has correct formatting.
Using this wrapper, the errors will be suppressed by temporarily cleaning any custom-formatted tables.

## Installation

**Run as a [uv tool](https://docs.astral.sh/uv/guides/tools) (no installation necessary)**

uvx -- ccft-pymarkdown --help

**[Install permenantly as a uv tool](https://docs.astral.sh/uv/guides/tools#installing-tools)**

uv tool install CCFT-Pymarkdown

**Install using [pip](https://pip.pypa.io) after [creating a virtual environment](https://docs.python.org/3/tutorial/venv)**

path/to/venv/python -m pip install CCFT-Pymarkdown

### The `+[git-python]+` https://packaging.python.org/specifications/dependency-specifiers#extras[Extra]

This package can also be installed with the `[git-python]` [optional dependency](https://packaging.python.org/specifications/dependency-specifiers#extras).
This will allow the identification of hidden/excluded files to make use of your project’s `.gitignore` file.

**Run as a [uv tool](https://docs.astral.sh/uv/guides/tools) (no installation necessary)**

uvx --from CCFT-Pymarkdown[git-python] -- ccft-pymarkdown --help

**[Install permenantly as a uv tool](https://docs.astral.sh/uv/guides/tools#installing-tools)**

uv tool install CCFT-Pymarkdown[git-python]

**Install using [pip](https://pip.pypa.io) after [creating a virtual environment](https://docs.python.org/3/tutorial/venv)**

path/to/venv/python -m pip install CCFT-Pymarkdown[git-python]

## Usage

These commands will only work correctly either after installation as a [permenant uv tool](https://docs.astral.sh/uv/guides/tools#installing-tools), or after activating a virtual environment with CCFT-Pymarkdown installed.
Replace the command name `ccft-pymarkdown` with `uvx -- ccft-pymarkdown`, to run any of the following commands in an ephemeral envrionment.

**💡 TIP**\
If you require sending additional arguments to the `pymarkdown` command you must [manually clean](#manually-cleaning-custom-formatted-tables) any custom-formatted tables and then [manually restore](#manually-restoring-https://wikipedia.org/wiki/markdown[markdown]-files) the [MarkDown](https://wikipedia.org/wiki/Markdown) files.

**Output the help message**

ccft-pymarkdown --help

**Run with increased verbosity**

ccft-pymarkdown <command> -v

**Run without any logging output (incompatible with the `-v` flag)**

ccft-pymarkdown <command> -q

**Output the current version number**

ccft-pymarkdown --version

### Scanning All Files After Cleaning Custom-Formatted Tables

**To perform linting using [PyMarkdown](https://github.com/jackdewinter/pymarkdown), after cleaning custom-formatted tables within any [MarkDown](https://wikipedia.org/wiki/Markdown) files, use the `scan-all` action**

ccft-pymarkdown scan-all

**Scan files according to your `.gitignore` file (Not available when the `[git-python]` extra is not installed)**

ccft-pymarkdown scan-all --with-git

**Scan files without ignoring any hidden/excluded files**

ccft-pymarkdown scan-all --no-git

### Manually Cleaning Custom-Formatted Tables

**To manually clean custom-formatted-tables within any [MarkDown](https://wikipedia.org/wiki/Markdown) files without running [PyMarkdown](https://github.com/jackdewinter/pymarkdown), use the `clean` action**

ccft-pymarkdown clean MyNotes.md MyReport.md

**Clean a whole directory and additional files**

ccft-pymarkdown clean my-notes/ MyReport.md

**Clean a whole directory according to your .gitignore file (Not available when the [git-python] extra is not installed)**

ccft-pymarkdown clean --with-git my-notes/

**Clean a whole directory without ignoring any hidden/excluded files**

ccft-pymarkdown clean --no-git my-notes/

**Clean files without making any changes, only report what would have been changed**

ccft-pymarkdown clean --dry-run MyNotes.md MyReport.md

### Manually Restoring https://wikipedia.org/wiki/Markdown[MarkDown] Files

**To manually restore any [MarkDown](https://wikipedia.org/wiki/Markdown) files without running [PyMarkdown](https://github.com/jackdewinter/pymarkdown), use the `restore` action**

ccft-pymarkdown restore MyNotes.md MyReport.md

**Restore a whole directory and additional files**

ccft-pymarkdown restore my-notes/ MyReport.md

**Restore files without making any changes, only report what would have been changed**

ccft-pymarkdown restore --dry-run MyNotes.md MyReport.md

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "CCFT-PyMarkdown",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "linter, markdown, static analysis",
    "author": null,
    "author_email": "Matt Norton <matt@carrotmanmatt.com>",
    "download_url": "https://files.pythonhosted.org/packages/78/a9/c1ae6cde805a76a24c0c55091b73a8514eb2fb1a872804ed625dfd5373bb/ccft_pymarkdown-2.1.0.tar.gz",
    "platform": null,
    "description": "# CCFT-PyMarkdown\n\n![CCFT-PyMarkdown](https://img.shields.io/badge/%F0%9F%A5%95-CCFT--PyMarkdown-blue)\n![PyPI Version](https://img.shields.io/pypi/v/CCFT-PyMarkdown)\n![Python Version](https://img.shields.io/pypi/pyversions/CCFT-PyMarkdown?logo=Python&logoColor=white&label=Python)\n![PyMarkdown Version](https://img.shields.io/endpoint?url=https://toml-version-extractor.carrotmanmatt.com/lock/CarrotManMatt/CCFT-PyMarkdown&logo=Markdown&label=PyMarkdown)\n![Tests Status](https://github.com/CarrotManMatt/CCFT-PyMarkdown/actions/workflows/check-build-publish.yaml/badge.svg)\n![mypy Status](https://img.shields.io/badge/mypy-checked-%232EBB4E&label=mypy)\n![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)\n![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)\n\nA [Python](https://python.org) wrapper around [jackdewinter](https://github.com/jackdewinter)'s [PyMarkdown](https://github.com/jackdewinter/pymarkdown) linter to suppress errors, caused by custom-formatted tables in Markdown files\n\nWhen running [PyMarkdown](https://github.com/jackdewinter/pymarkdown) it may incorrectly flag errors inside a table that has correct formatting.\nUsing this wrapper, the errors will be suppressed by temporarily cleaning any custom-formatted tables.\n\n## Installation\n\n**Run as a [uv tool](https://docs.astral.sh/uv/guides/tools) (no installation necessary)**\n\nuvx -- ccft-pymarkdown --help\n\n**[Install permenantly as a uv tool](https://docs.astral.sh/uv/guides/tools#installing-tools)**\n\nuv tool install CCFT-Pymarkdown\n\n**Install using [pip](https://pip.pypa.io) after [creating a virtual environment](https://docs.python.org/3/tutorial/venv)**\n\npath/to/venv/python -m pip install CCFT-Pymarkdown\n\n### The `+[git-python]+` https://packaging.python.org/specifications/dependency-specifiers#extras[Extra]\n\nThis package can also be installed with the `[git-python]` [optional dependency](https://packaging.python.org/specifications/dependency-specifiers#extras).\nThis will allow the identification of hidden/excluded files to make use of your project\u2019s `.gitignore` file.\n\n**Run as a [uv tool](https://docs.astral.sh/uv/guides/tools) (no installation necessary)**\n\nuvx --from CCFT-Pymarkdown[git-python] -- ccft-pymarkdown --help\n\n**[Install permenantly as a uv tool](https://docs.astral.sh/uv/guides/tools#installing-tools)**\n\nuv tool install CCFT-Pymarkdown[git-python]\n\n**Install using [pip](https://pip.pypa.io) after [creating a virtual environment](https://docs.python.org/3/tutorial/venv)**\n\npath/to/venv/python -m pip install CCFT-Pymarkdown[git-python]\n\n## Usage\n\nThese commands will only work correctly either after installation as a [permenant uv tool](https://docs.astral.sh/uv/guides/tools#installing-tools), or after activating a virtual environment with CCFT-Pymarkdown installed.\nReplace the command name `ccft-pymarkdown` with `uvx -- ccft-pymarkdown`, to run any of the following commands in an ephemeral envrionment.\n\n**\ud83d\udca1 TIP**\\\nIf you require sending additional arguments to the `pymarkdown` command you must [manually clean](#manually-cleaning-custom-formatted-tables) any custom-formatted tables and then [manually restore](#manually-restoring-https://wikipedia.org/wiki/markdown[markdown]-files) the [MarkDown](https://wikipedia.org/wiki/Markdown) files.\n\n**Output the help message**\n\nccft-pymarkdown --help\n\n**Run with increased verbosity**\n\nccft-pymarkdown &lt;command> -v\n\n**Run without any logging output (incompatible with the `-v` flag)**\n\nccft-pymarkdown &lt;command> -q\n\n**Output the current version number**\n\nccft-pymarkdown --version\n\n### Scanning All Files After Cleaning Custom-Formatted Tables\n\n**To perform linting using [PyMarkdown](https://github.com/jackdewinter/pymarkdown), after cleaning custom-formatted tables within any [MarkDown](https://wikipedia.org/wiki/Markdown) files, use the `scan-all` action**\n\nccft-pymarkdown scan-all\n\n**Scan files according to your `.gitignore` file (Not available when the `[git-python]` extra is not installed)**\n\nccft-pymarkdown scan-all --with-git\n\n**Scan files without ignoring any hidden/excluded files**\n\nccft-pymarkdown scan-all --no-git\n\n### Manually Cleaning Custom-Formatted Tables\n\n**To manually clean custom-formatted-tables within any [MarkDown](https://wikipedia.org/wiki/Markdown) files without running [PyMarkdown](https://github.com/jackdewinter/pymarkdown), use the `clean` action**\n\nccft-pymarkdown clean MyNotes.md MyReport.md\n\n**Clean a whole directory and additional files**\n\nccft-pymarkdown clean my-notes/ MyReport.md\n\n**Clean a whole directory according to your .gitignore file (Not available when the [git-python] extra is not installed)**\n\nccft-pymarkdown clean --with-git my-notes/\n\n**Clean a whole directory without ignoring any hidden/excluded files**\n\nccft-pymarkdown clean --no-git my-notes/\n\n**Clean files without making any changes, only report what would have been changed**\n\nccft-pymarkdown clean --dry-run MyNotes.md MyReport.md\n\n### Manually Restoring https://wikipedia.org/wiki/Markdown[MarkDown] Files\n\n**To manually restore any [MarkDown](https://wikipedia.org/wiki/Markdown) files without running [PyMarkdown](https://github.com/jackdewinter/pymarkdown), use the `restore` action**\n\nccft-pymarkdown restore MyNotes.md MyReport.md\n\n**Restore a whole directory and additional files**\n\nccft-pymarkdown restore my-notes/ MyReport.md\n\n**Restore files without making any changes, only report what would have been changed**\n\nccft-pymarkdown restore --dry-run MyNotes.md MyReport.md\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python wrapper around jackdewinter's PyMarkdown linter to suppress errors, caused by custom-formatted tables in Markdown files",
    "version": "2.1.0",
    "project_urls": {
        "Issues": "https://github.com/CarrotManMatt/ccft-pymarkdown/issues",
        "Repository": "https://github.com/CarrotManMatt/ccft-pymarkdown"
    },
    "split_keywords": [
        "linter",
        " markdown",
        " static analysis"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6cb5d873c0dc89490f1230d638ebacb9c9272afae6f39ee1baf23198b39777f0",
                "md5": "e80ecd5f0df1fad4c725e87a96bad63f",
                "sha256": "6a01eb349dc054f42ecb3b49b578e6ae4690cfef459d8666d35bf2bf7f5b2b12"
            },
            "downloads": -1,
            "filename": "ccft_pymarkdown-2.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e80ecd5f0df1fad4c725e87a96bad63f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 18041,
            "upload_time": "2025-01-26T13:05:25",
            "upload_time_iso_8601": "2025-01-26T13:05:25.490584Z",
            "url": "https://files.pythonhosted.org/packages/6c/b5/d873c0dc89490f1230d638ebacb9c9272afae6f39ee1baf23198b39777f0/ccft_pymarkdown-2.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "78a9c1ae6cde805a76a24c0c55091b73a8514eb2fb1a872804ed625dfd5373bb",
                "md5": "41e87936a3489359f5a1efc94e96bfdc",
                "sha256": "97270c780752c30f7e02b1b30aa6bf8ace3bdb6426050b804b032aae5e55cc2c"
            },
            "downloads": -1,
            "filename": "ccft_pymarkdown-2.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "41e87936a3489359f5a1efc94e96bfdc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 16009,
            "upload_time": "2025-01-26T13:05:26",
            "upload_time_iso_8601": "2025-01-26T13:05:26.609953Z",
            "url": "https://files.pythonhosted.org/packages/78/a9/c1ae6cde805a76a24c0c55091b73a8514eb2fb1a872804ed625dfd5373bb/ccft_pymarkdown-2.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-26 13:05:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "CarrotManMatt",
    "github_project": "ccft-pymarkdown",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ccft-pymarkdown"
}
        
Elapsed time: 1.89700s