From bbdac4d96756755e36bfbbacf9de5c7dc1c5a5da Mon Sep 17 00:00:00 2001 From: Karim shoair Date: Sat, 31 May 2025 23:24:41 +0300 Subject: [PATCH] build(setup): Replacing old setup style with new TOML format --- pyproject.toml | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 70 ---------------------------------------- 2 files changed, 87 insertions(+), 70 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b95d20b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,87 @@ +[build-system] +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "scrapling" +dynamic = ["version"] +description = "Scrapling is an undetectable, powerful, flexible, high-performance Python library that makes Web Scraping easy again! In an internet filled with complications, it simplifies web scraping, even when websites' design changes, while providing impressive speed that surpasses almost all alternatives." +readme = {file = "README.md", content-type = "text/markdown"} +license = {file = "LICENSE"} +authors = [ + {name = "Karim Shoair", email = "karim.shoair@pm.me"} +] +maintainers = [ + {name = "Karim Shoair", email = "karim.shoair@pm.me"} +] +keywords = [ + "web-scraping", + "scraping", + "automation", + "browser-automation", + "data-extraction", + "html-parsing", + "undetectable", + "playwright", + "selenium-alternative", + "web-crawler", + "browser", + "crawling", +] +requires-python = ">=3.9" +classifiers = [ + "Operating System :: OS Independent", + "Development Status :: 4 - Beta", + # "Development Status :: 5 - Production/Stable", + # "Development Status :: 6 - Mature", + # "Development Status :: 7 - Inactive", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Natural Language :: English", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Text Processing :: Markup", + "Topic :: Internet :: WWW/HTTP :: Browsers", + "Topic :: Text Processing :: Markup :: HTML", + "Topic :: Software Development :: Libraries :: Python Modules", + "Programming Language :: Python :: 3", + "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", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: Implementation :: CPython", + "Typing :: Typed", +] +dependencies = [ + "lxml>=5.0", + "cssselect>=1.2", + "IPython", + "click", + "orjson>=3", + "tldextract", + "curl_cffi>=0.11.1", + "playwright>=1.49.1", + "rebrowser-playwright>=1.49.1", + "camoufox[geoip]>=0.4.11", +] + +[project.urls] +Homepage = "https://github.com/D4Vinci/Scrapling" +Documentation = "https://scrapling.readthedocs.io/en/latest/" +Repository = "https://github.com/D4Vinci/Scrapling" +"Bug Tracker" = "https://github.com/D4Vinci/Scrapling/issues" + +[project.scripts] +scrapling = "scrapling.cli:main" + +[tool.setuptools] +zip-safe = false +include-package-data = true + +[tool.setuptools.dynamic] +version = {attr = "scrapling.__version__"} + +[tool.setuptools.packages.find] +where = ["."] +include = ["scrapling*"] \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index ec5fe67..0000000 --- a/setup.py +++ /dev/null @@ -1,70 +0,0 @@ -from pathlib import Path - -from setuptools import find_packages, setup - -long_description = Path("README.md").read_text(encoding="utf-8") - - -setup( - name="scrapling", - version="0.3-beta", - description="""Scrapling is an undetectable, powerful, flexible, high-performance Python library that makes Web Scraping easy again! In an internet filled with complications, - it simplifies web scraping, even when websites' design changes, while providing impressive speed that surpasses almost all alternatives.""", - long_description=long_description, - long_description_content_type="text/markdown", - author="Karim Shoair", - author_email="karim.shoair@pm.me", - license="BSD", - packages=find_packages(), - zip_safe=False, - package_dir={ - "scrapling": "scrapling", - }, - entry_points={ - "console_scripts": ["scrapling=scrapling.cli:main"], - }, - include_package_data=True, - classifiers=[ - "Operating System :: OS Independent", - "Development Status :: 4 - Beta", - # "Development Status :: 5 - Production/Stable", - # "Development Status :: 6 - Mature", - # "Development Status :: 7 - Inactive", - "Intended Audience :: Developers", - "License :: OSI Approved :: BSD License", - "Natural Language :: English", - "Topic :: Internet :: WWW/HTTP", - "Topic :: Text Processing :: Markup", - "Topic :: Internet :: WWW/HTTP :: Browsers", - "Topic :: Text Processing :: Markup :: HTML", - "Topic :: Software Development :: Libraries :: Python Modules", - "Programming Language :: Python :: 3", - "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", - "Programming Language :: Python :: 3.13", - "Programming Language :: Python :: Implementation :: CPython", - "Typing :: Typed", - ], - install_requires=[ - "lxml>=5.0", - "cssselect>=1.2", - "IPython", - "click", - "orjson>=3", - "tldextract", - "curl_cffi>=0.11.1", - "playwright>=1.49.1", - "rebrowser-playwright>=1.49.1", - "camoufox[geoip]>=0.4.11", - ], - python_requires=">=3.9", - url="https://github.com/D4Vinci/Scrapling", - project_urls={ - "Documentation": "https://scrapling.readthedocs.io/en/latest/", - "Source": "https://github.com/D4Vinci/Scrapling", - "Tracker": "https://github.com/D4Vinci/Scrapling/issues", - }, -)