audible-cli/setup.py
mkb79 90707a8817
v0.2 (#80)
# Added

- `--aax-fallback` option to `download` command to download books in aax format and fallback to aaxc, if the book is not available as aax
- `--annotation` option to `download` command to get bookmarks and notes
- `questionary` package to dependencies
- `add` and `remove` subcommands to wishlist
- `full_response_callback` to `utils`
- `export_to_csv` to `utils`
- `run_async` to `decorators`
- `pass_client` to `decorators`
- `profile_option` to `decorators`
- `password_option` to `decorators`
- `timeout_option` to `decorators`
- `bunch_size_option` to `decorators`
- `ConfigFile.get_profile_option` get the value for an option for a given profile
- `Session.selected.profile` to get the profile name for the current session
- `Session.get_auth_for_profile` to get an auth file for a given profile
- `models.BaseItem.create_base_filename` to build a filename in given mode
- `models.LibraryItem.get_annotations` to get annotations for a library item

# Changed

- bump `audible` to v0.8.2 to fix a bug in httpx
- rework plugin examples in `plugin_cmds`
- rename `config.Config` to `config.ConfigFile`
- move `click_verbosity_logger` from `_logging` to `decorators` and rename it to `verbosity_option`
- move `wrap_async` from `utils` to `decorators`
- move `add_param_to_session` from `config` to `decorators`
- move `pass_session` from `config` to `decorators`
- `download` command let you now select items when using `--title` option

# Fixed

- the `library export` and `wishlist export` command will now export to `csv` correctly
2022-05-25 14:56:41 +02:00

77 lines
2.2 KiB
Python

import pathlib
import re
import sys
from os import system
from setuptools import setup, find_packages
# 'setup.py publish' shortcut.
if sys.argv[-1] == "publish":
system("python setup.py sdist bdist_wheel")
system("twine upload dist/*")
sys.exit()
if sys.version_info < (3, 6, 0):
raise RuntimeError("audible requires Python 3.6.0+")
here = pathlib.Path(__file__).parent
long_description = (here / "README.md").read_text("utf-8")
about = (here / "src" / "audible_cli" / "_version.py").read_text("utf-8")
def read_from_file(key):
return re.search(f"{key} = ['\"]([^'\"]+)['\"]", about).group(1)
setup(
name=read_from_file("__title__"),
version=read_from_file("__version__"),
packages=find_packages("src"),
package_dir={"": "src"},
include_package_data=True,
description=read_from_file("__description__"),
url=read_from_file("__url__"),
license=read_from_file("__license__"),
author=read_from_file("__author__"),
author_email=read_from_file("__author_email__"),
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Affero General Public License v3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8"
],
install_requires=[
"aiofiles",
"audible>=0.8.2",
"click>=8",
"colorama; platform_system=='Windows'",
"httpx>=0.20.0,<0.24.0",
"packaging",
"Pillow",
"tabulate",
"toml",
"tqdm",
"questionary"
],
extras_require={
'pyi': [
'pyinstaller'
]
},
python_requires=">=3.6",
keywords="Audible, API, async, cli",
long_description=long_description,
long_description_content_type="text/markdown",
project_urls={
"Documentation": "https://audiblecli.readthedocs.io/",
"Source": "https://github.com/mkb79/Audible-cli",
},
entry_points={
"console_scripts": ["audible = audible_cli:main",
"audible-quickstart = audible_cli:quickstart"]
}
)