diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..e442fe0 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,61 @@ +[build-system] +requires = ["setuptools", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "whatsapp-chat-exporter" +version = "0.10.5" +description = "A Whatsapp database parser that provides history of your Whatsapp conversations in HTML and JSON. Android, iOS, iPadOS, Crypt12, Crypt14, Crypt15 supported." +readme = "README.md" +authors = [ + { name = "KnugiHK", email = "hello@knugi.com" } +] +license = { text = "MIT" } +keywords = [ + "android", "ios", "parsing", "history", "iphone", "message", "crypt15", + "customizable", "whatsapp", "android-backup", "messages", "crypt14", + "crypt12", "whatsapp-chat-exporter", "whatsapp-export", "iphone-backup", + "whatsapp-database", "whatsapp-database-parser", "whatsapp-conversations" +] +classifiers = [ + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Development Status :: 4 - Beta", + "Environment :: Console", + "Intended Audience :: End Users/Desktop", + "Topic :: Communications :: Chat", + "Topic :: Utilities", + "Topic :: Database" +] +requires-python = ">=3.9" +dependencies = [ + "jinja2", + "bleach" +] + +[project.optional-dependencies] +android_backup = ["pycryptodome", "javaobj-py3"] +crypt12 = ["pycryptodome"] +crypt14 = ["pycryptodome"] +crypt15 = ["pycryptodome", "javaobj-py3"] +all = ["pycryptodome", "javaobj-py3", "vobject"] +everything = ["pycryptodome", "javaobj-py3", "vobject"] +backup = ["pycryptodome", "javaobj-py3"] +vcards = ["vobject", "pycryptodome", "javaobj-py3"] + +[project.scripts] +wtsexporter = "Whatsapp_Chat_Exporter.__main__:main" +waexporter = "Whatsapp_Chat_Exporter.__main__:main" +whatsapp-chat-exporter = "Whatsapp_Chat_Exporter.__main__:main" + +[tool.setuptools.packages.find] +where = ["."] +include = ["Whatsapp_Chat_Exporter"] + +[tool.setuptools.package-data] +template = ["whatsapp.html"] diff --git a/setup.py b/setup.py deleted file mode 100644 index f02e8c1..0000000 --- a/setup.py +++ /dev/null @@ -1,70 +0,0 @@ -import setuptools -from re import search - -with open("README.md", "r") as fh: - long_description = fh.read() - -with open("Whatsapp_Chat_Exporter/__init__.py", encoding="utf8") as f: - version = search(r'__version__ = "(.*?)"', f.read()).group(1) - -setuptools.setup( - name="whatsapp-chat-exporter", - version=version, - author="KnugiHK", - author_email="hello@knugi.com", - description=("A Whatsapp database parser that will give you the " - "history of your Whatsapp conversations in HTML and JSON. " - "Android, iOS, iPadOS, Crypt12, Crypt14, Crypt15 supported."), - long_description=long_description, - long_description_content_type="text/markdown", - license="MIT", - keywords=[ - "android", "ios", "parsing", "history", "iphone", "message", "crypt15", - "customizable", "whatsapp", "android-backup", "messages", "crypt14", - "crypt12", "whatsapp-chat-exporter", "whatsapp-export", "iphone-backup", - "whatsapp-database", "whatsapp-database-parser", "whatsapp-conversations" - ], - platforms=["any"], - url="https://github.com/KnugiHK/Whatsapp-Chat-Exporter", - packages=setuptools.find_packages(), - package_data={ - '': ['whatsapp.html'] - }, - classifiers=[ - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - "Development Status :: 4 - Beta", - "Environment :: Console", - "Intended Audience :: End Users/Desktop", - "Topic :: Communications :: Chat", - "Topic :: Utilities", - "Topic :: Database" - ], - python_requires='>=3.9', - install_requires=[ - 'jinja2', - 'bleach' - ], - extras_require={ - 'android_backup': ["pycryptodome", "javaobj-py3"], - 'crypt12': ["pycryptodome"], - 'crypt14': ["pycryptodome"], - 'crypt15': ["pycryptodome", "javaobj-py3"], - 'all': ["pycryptodome", "javaobj-py3", "vobject"], - 'everything': ["pycryptodome", "javaobj-py3", "vobject"], - 'backup': ["pycryptodome", "javaobj-py3"], - 'vcards': ["vobject", "pycryptodome", "javaobj-py3"], - }, - entry_points={ - "console_scripts": [ - "wtsexporter = Whatsapp_Chat_Exporter.__main__:main", - "waexporter = Whatsapp_Chat_Exporter.__main__:main", - "whatsapp-chat-exporter = Whatsapp_Chat_Exporter.__main__:main" - ] - } -)