# Python wrappers and CLI for EpubCheck
[![Linux/Windows/macOS Tests](https://github.com/titusz/epubcheck/workflows/Tests/badge.svg)](https://github.com/titusz/epubcheck/actions?query=workflow%3ATests)
[![Version](https://img.shields.io/pypi/v/epubcheck.svg)](https://pypi.python.org/pypi/epubcheck/)
> A command line tool and lib that wraps EpubCheck for Python.
## Introduction
The original [EpubCheck](https://github.com/w3c/epubcheck) is the standard Java-based validation
tool for EPUB maintained by [DAISY Consortium](https://daisy.org/) on behalf of the
[W3C](https://www.w3.org/publishing/epubcheck_fundraising), originally developed by the
[IDPF](http://idpf.org/).
This package provides a Python libary and command line tool for convenient validation of EPUB files
by wrapping the original [EpubCheck 4.2.6](https://github.com/w3c/epubcheck/releases/tag/v4.2.6).
- Free software: BSD license
## Installation
If you have Python on your system you can do the usual:
```
$ pip install epubcheck
```
You must have Python & Java installed on your system. The original Java EpubCheck command line
client itself is bundled in the [PyPi](https://pypi.org/project/epubcheck/) package.
This package is tested with Python 3.8 - 3.12 on Linux, Mac and Windows. It should also work with
PyPy.
## Quickstart
### Command line usage examples
Validata all epub files in the current directory:
```
$ epubcheck
```
Validate a single EPUB file:
```
$ epubcheck /path/to/book.epub
```
Validate all files in /epubfolder and create a detailed Excel report::
```
$ epubcheck /path/epubfolder --xls report.xls
```
Show command line help::
```
$ epubcheck -h
```
### Using epubcheck as a python library
```python
from epubcheck import EpubCheck
result = EpubCheck('src/epubcheck/samples/invalid.epub')
print(result.valid)
print(result.messages)
```
## Documentation
https://epubcheck.readthedocs.io/en/latest/
## Development
Install [poetry](https://pypi.org/project/poetry/) checkout this repository and run:
```shell
poetry install
```
Run code formatting, coverage, and tests with:
```shell
poe all
```
## Changelog
### 5.1.0 - 2024-06-05
- Update to epubcheck 5.1.0
- Update dependencies
- Remove support for Python 3.6 and 3.7
- Add support for Python 3.11 and 3.12
### 4.2.6 - 2021-11-06
- Bump versioning to match original epubcheck version
- Modernize packaging and CI
- Fix xls and csv export
- Updated dependencies
### 0.4.3 - 2021-09-28
- Update the epubcheck.jar to v4.2.6
- Remove support for \< Python 3.6
### 0.4.2 - 2019-08-07
- Update the epubcheck.jar to v4.2.2 (see: https://github.com/w3c/epubcheck/releases/tag/v4.2.2)
### 0.3.1 - 2016-04-20
- Added custom PY2/PY3 compat module and removed dependancy on six
### 0.3.0 - 2016-04-10
- Add commandline support with Excel batch reporting
- Moved development status from Alpha to Beta
### 0.2.0 - 2016-04-03
- EpubCheck results as native python objects
- More documentation
### 0.1.0 - 2016-04-01
- First release on PyPI.
## Authors & Contributors
- Titusz Pan - https://github.com/titusz
- Sean Quinn - https://github.com/swquinn
- Curtis Smith - https://github.com/csmithd
## Credits
EpubCheck is a project coordinated by [IDPF](http://idpf.org/). Most of the EpubCheck functionality
comes from the schema validation tool [Jing](https://relaxng.org/jclark/jing.html) and schemas that
were developed by [IDPF](http://idpf.org/) and [DAISY](https://daisy.org/). Initial EpubCheck
development was largely done at [Adobe Systems](https://www.adobe.com/).
Raw data
{
"_id": null,
"home_page": "https://github.com/titusz/epubcheck/",
"name": "epubcheck",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "EPUB, validation, epubcheck, ebooks, QA, IDPF",
"author": "Titusz Pan",
"author_email": "tp@py7.de",
"download_url": "https://files.pythonhosted.org/packages/95/3b/d1c04efaf9bb9326ce9fd3bc9fe43731f6da4b7c0f2cfb7cc88b4f0ed013/epubcheck-5.1.0.tar.gz",
"platform": null,
"description": "# Python wrappers and CLI for EpubCheck\n\n[![Linux/Windows/macOS Tests](https://github.com/titusz/epubcheck/workflows/Tests/badge.svg)](https://github.com/titusz/epubcheck/actions?query=workflow%3ATests)\n[![Version](https://img.shields.io/pypi/v/epubcheck.svg)](https://pypi.python.org/pypi/epubcheck/)\n\n> A command line tool and lib that wraps EpubCheck for Python.\n\n## Introduction\n\nThe original [EpubCheck](https://github.com/w3c/epubcheck) is the standard Java-based validation\ntool for EPUB maintained by [DAISY Consortium](https://daisy.org/) on behalf of the\n[W3C](https://www.w3.org/publishing/epubcheck_fundraising), originally developed by the\n[IDPF](http://idpf.org/).\n\nThis package provides a Python libary and command line tool for convenient validation of EPUB files\nby wrapping the original [EpubCheck 4.2.6](https://github.com/w3c/epubcheck/releases/tag/v4.2.6).\n\n- Free software: BSD license\n\n## Installation\n\nIf you have Python on your system you can do the usual:\n\n```\n$ pip install epubcheck\n```\n\nYou must have Python & Java installed on your system. The original Java EpubCheck command line\nclient itself is bundled in the [PyPi](https://pypi.org/project/epubcheck/) package.\n\nThis package is tested with Python 3.8 - 3.12 on Linux, Mac and Windows. It should also work with\nPyPy.\n\n## Quickstart\n\n### Command line usage examples\n\nValidata all epub files in the current directory:\n\n```\n$ epubcheck\n```\n\nValidate a single EPUB file:\n\n```\n$ epubcheck /path/to/book.epub\n```\n\nValidate all files in /epubfolder and create a detailed Excel report::\n\n```\n$ epubcheck /path/epubfolder --xls report.xls\n```\n\nShow command line help::\n\n```\n$ epubcheck -h\n```\n\n### Using epubcheck as a python library\n\n```python\nfrom epubcheck import EpubCheck\nresult = EpubCheck('src/epubcheck/samples/invalid.epub')\nprint(result.valid)\nprint(result.messages)\n```\n\n## Documentation\n\nhttps://epubcheck.readthedocs.io/en/latest/\n\n## Development\n\nInstall [poetry](https://pypi.org/project/poetry/) checkout this repository and run:\n\n```shell\npoetry install\n```\n\nRun code formatting, coverage, and tests with:\n\n```shell\npoe all\n```\n\n## Changelog\n\n### 5.1.0 - 2024-06-05\n\n- Update to epubcheck 5.1.0\n- Update dependencies\n- Remove support for Python 3.6 and 3.7\n- Add support for Python 3.11 and 3.12\n\n### 4.2.6 - 2021-11-06\n\n- Bump versioning to match original epubcheck version\n- Modernize packaging and CI\n- Fix xls and csv export\n- Updated dependencies\n\n### 0.4.3 - 2021-09-28\n\n- Update the epubcheck.jar to v4.2.6\n- Remove support for \\< Python 3.6\n\n### 0.4.2 - 2019-08-07\n\n- Update the epubcheck.jar to v4.2.2 (see: https://github.com/w3c/epubcheck/releases/tag/v4.2.2)\n\n### 0.3.1 - 2016-04-20\n\n- Added custom PY2/PY3 compat module and removed dependancy on six\n\n### 0.3.0 - 2016-04-10\n\n- Add commandline support with Excel batch reporting\n- Moved development status from Alpha to Beta\n\n### 0.2.0 - 2016-04-03\n\n- EpubCheck results as native python objects\n- More documentation\n\n### 0.1.0 - 2016-04-01\n\n- First release on PyPI.\n\n## Authors & Contributors\n\n- Titusz Pan - https://github.com/titusz\n- Sean Quinn - https://github.com/swquinn\n- Curtis Smith - https://github.com/csmithd\n\n## Credits\n\nEpubCheck is a project coordinated by [IDPF](http://idpf.org/). Most of the EpubCheck functionality\ncomes from the schema validation tool [Jing](https://relaxng.org/jclark/jing.html) and schemas that\nwere developed by [IDPF](http://idpf.org/) and [DAISY](https://daisy.org/). Initial EpubCheck\ndevelopment was largely done at [Adobe Systems](https://www.adobe.com/).\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Python epubcheck wrapper",
"version": "5.1.0",
"project_urls": {
"Homepage": "https://github.com/titusz/epubcheck/",
"Repository": "https://github.com/titusz/epubcheck/"
},
"split_keywords": [
"epub",
" validation",
" epubcheck",
" ebooks",
" qa",
" idpf"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c060b0d1a10586effc198d6375e8814e8e4b49086f8c97de3b8e7abe710f3a00",
"md5": "e43a92d6fa14adaacf883a212eabbf86",
"sha256": "05d99fe8f541c9e2c71c49fc5361af312392ef3a8b28bc3bada6ee079f4cb8d5"
},
"downloads": -1,
"filename": "epubcheck-5.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e43a92d6fa14adaacf883a212eabbf86",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 30776554,
"upload_time": "2024-06-04T22:19:58",
"upload_time_iso_8601": "2024-06-04T22:19:58.089615Z",
"url": "https://files.pythonhosted.org/packages/c0/60/b0d1a10586effc198d6375e8814e8e4b49086f8c97de3b8e7abe710f3a00/epubcheck-5.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "953bd1c04efaf9bb9326ce9fd3bc9fe43731f6da4b7c0f2cfb7cc88b4f0ed013",
"md5": "f37bef0d0a7fed11f2f4c8ab917355a2",
"sha256": "bba4443284d96eab019240df10e51af0a0c4b63b1512f1c44e36a126abb38e9a"
},
"downloads": -1,
"filename": "epubcheck-5.1.0.tar.gz",
"has_sig": false,
"md5_digest": "f37bef0d0a7fed11f2f4c8ab917355a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 30761154,
"upload_time": "2024-06-04T22:20:58",
"upload_time_iso_8601": "2024-06-04T22:20:58.422051Z",
"url": "https://files.pythonhosted.org/packages/95/3b/d1c04efaf9bb9326ce9fd3bc9fe43731f6da4b7c0f2cfb7cc88b4f0ed013/epubcheck-5.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-04 22:20:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "titusz",
"github_project": "epubcheck",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "epubcheck"
}