1
0
mirror of https://github.com/gryf/ebook-converter.git synced 2025-12-18 13:10:17 +01:00

Move from setup.cfg/py to pure pyproject.toml project definition

This commit is contained in:
2025-03-13 16:55:40 +01:00
parent 4f548ec882
commit 72d0858ad8
6 changed files with 51 additions and 88 deletions

View File

@@ -1,2 +0,0 @@
graft ebook_converter/data
exclude .gitignore

View File

@@ -2,19 +2,19 @@
Ebook converter Ebook converter
=============== ===============
This is an impudent ripoff of the bits from `Calibre project`_, and is aimed only This is an impudent ripoff of the bits from `Calibre project`_, and is aimed
for converter thing. only for converter thing.
My motivation is to have only the converter for ebooks run from the commandline, My motivation is to have only the converter for ebooks run from the
without all of those bells and whistles Calibre has, and with cleanest more commandline, without all of those bells and whistles Calibre has, and with
*pythonic* approach. cleanest more *pythonic* approach.
Requirements Requirements
------------ ------------
To build and run ebook converter, you'll need: To build and run ebook converter, you'll need:
- Python 3.6 or newer - Python 3.10 or newer
- `Liberation fonts`_ - `Liberation fonts`_
- setuptools - setuptools
- ``pdftohtml``, ``pdfinfo`` and ``pdftoppm`` from `poppler`_ project for - ``pdftohtml``, ``pdfinfo`` and ``pdftoppm`` from `poppler`_ project for
@@ -22,6 +22,20 @@ To build and run ebook converter, you'll need:
- ``libxml2-dev`` and ``libxslt-dev`` as dependencies for format manipulation - ``libxml2-dev`` and ``libxslt-dev`` as dependencies for format manipulation
from some of the Calibre code from some of the Calibre code
and several Python packages:
- `beautifulsoup4`_
- `css-parser`_
- `filelock`_
- `html2text`_
- `html5-parser`_
- `msgpack`_
- `odfpy`_
- `pillow`_
- `python-dateutil`_
- `setuptools`_
- `tinycss`_
No Python2 support. Even if Calibre probably still is able to run on Python2, I No Python2 support. Even if Calibre probably still is able to run on Python2, I
do not have an intention to support it. do not have an intention to support it.
@@ -29,9 +43,9 @@ do not have an intention to support it.
What's supported What's supported
---------------- ----------------
To be able to perform some optimization and make the converter more reliable and To be able to perform some optimization and make the converter more reliable
easy to use, first I need to remove some of the features, which are totally not and easy to use, first I need to remove some of the features, which are totally
crucial in my opinion, although they might be re-added later, like, for not crucial in my opinion, although they might be re-added later, like, for
instance there is no automatic language translations depending on the locale instance there is no automatic language translations depending on the locale
settings. settings.
@@ -45,9 +59,10 @@ Windows is not currently supported, because of the original spaghetti code.
This may change in the future, after cleanup of mentioned pasta would be This may change in the future, after cleanup of mentioned pasta would be
completed. completed.
So called `Kindle periodical` format is not supported, since all we do care are So called *Kindle periodical* format (which `Amazon has`_ `killed`_ anyway back
local files. If there would be downloaded periodical thing (using Calibre for in September 2023) is not supported, since all we do care are local files. If
example), it would be treated as common book. there would be downloaded periodical thing (using Calibre for example), it
would be treated as common book.
Input formats Input formats
@@ -123,9 +138,20 @@ License
This work is licensed on GPL3 license, like the original work. See LICENSE file This work is licensed on GPL3 license, like the original work. See LICENSE file
for details. for details.
.. _Calibre project: https://calibre-ebook.com/ .. _Calibre project: https://calibre-ebook.com/
.. _pypi: https://pypi.python.org .. _pypi: https://pypi.python.org
.. _Liberation fonts: https://github.com/liberationfonts/liberation-fonts .. _Liberation fonts: https://github.com/liberationfonts/liberation-fonts
.. _Kindle periodical: https://sellercentral.amazon.com/gp/help/external/help.html?itemID=202047960&language=en-US .. _Amazon has: https://goodereader.com/blog/kindle/amazon-will-discontinue-newspaper-and-magazine-subscriptions-in-september
.. _killed: https://www.theverge.com/23861370/amazon-kindle-periodicals-unlimited-ended
.. _poppler: https://poppler.freedesktop.org/ .. _poppler: https://poppler.freedesktop.org/
.. _beautifulsoup4: https://www.crummy.com/software/BeautifulSoup
.. _css-parser: https://github.com/ebook-utils/css-parser
.. _filelock: https://github.com/tox-dev/py-filelock
.. _html2text: https://github.com/Alir3z4/html2text
.. _html5-parser: https://html5-parser.readthedocs.io
.. _msgpack: https://msgpack.org
.. _odfpy: https://github.com/eea/odfpy
.. _pillow: https://python-pillow.github.io
.. _python-dateutil: https://github.com/dateutil/dateutil
.. _setuptools: https://setuptools.pypa.io
.. _tinycss: http://tinycss.readthedocs.io

View File

@@ -8,17 +8,17 @@ version = "4.12.0"
requires-python = ">= 3.10" requires-python = ">= 3.10"
description = "Convert ebook between different formats" description = "Convert ebook between different formats"
dependencies = [ dependencies = [
"filelock", "beautifulsoup4>=4.9.3",
"python-dateutil", "css-parser>=1.0.6",
"lxml", "filelock>=3.0.12",
"css-parser", "html2text>=2020.1.16",
"beautifulsoup4", "html5-parser==0.4.12",
"tinycss", "msgpack>=1.0.0",
"pillow", "odfpy>=1.4.1",
"msgpack", "pillow>=8.0.1",
"html5-parser", "python-dateutil>=2.8.1",
"odfpy", "setuptools>=61.0",
"html2text" "tinycss>=0.4"
] ]
readme = "README.rst" readme = "README.rst"
authors = [ authors = [

View File

@@ -1,11 +0,0 @@
beautifulsoup4>=4.9.3
css-parser>=1.0.6
filelock>=3.0.12
html2text>=2020.1.16
html5-parser==0.4.9 --no-binary lxml
msgpack>=1.0.0
odfpy>=1.4.1
pillow>=8.0.1
python-dateutil>=2.8.1
setuptools>=50.3.2
tinycss>=0.4

View File

@@ -1,46 +0,0 @@
[metadata]
name = ebook-converter
version = 4.12.0
summary = Convert ebook between different formats
description-file =
README.rst
author = gryf
author-email = gryf73@gmail.com
license = GPL3
license_file = LICENSE
url = https://github.com/gryf/ebook-converter
classifier =
Environment :: Console
Intended Audience :: Other Audience
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Operating System :: POSIX :: Linux
Development Status :: 3 - Alpha
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
[options]
packages = find:
include_package_data = True
install_requires =
filelock
python-dateutil
lxml
css-parser
beautifulsoup4
tinycss
pillow
msgpack
html5-parser
odfpy
setuptools
html2text
[options.entry_points]
console_scripts =
ebook-converter=ebook_converter.main:main
[options.package_data]
* = *.types, *.css, *.html, *.xsl

View File

@@ -1,4 +0,0 @@
import setuptools
setuptools.setup()