2.0.2a. Build system updated
This commit is contained in:
parent
41e823cf9e
commit
606d3881bd
8
Makefile
8
Makefile
|
@ -26,9 +26,13 @@ lint:
|
|||
black src/ --check && \
|
||||
isort src/ --check-only
|
||||
|
||||
build:
|
||||
pip3 install --upgrade build setuptools
|
||||
python3 -m build
|
||||
|
||||
upload:
|
||||
pip install twine
|
||||
cd src/ && python setup.py upload
|
||||
pip3 install twine wheel setuptools build
|
||||
twine upload dist/*
|
||||
|
||||
doc: install
|
||||
cd docs/ && \
|
||||
|
|
|
@ -27,3 +27,79 @@ testpaths = [
|
|||
"tests",
|
||||
]
|
||||
addopts = "-vv --tb=short --durations=5"
|
||||
|
||||
[build-system]
|
||||
requires = ["setuptools"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "python3-anticaptcha"
|
||||
dynamic = ["version"]
|
||||
authors = [
|
||||
{name = "AndreiDrang", email = "python-captcha@pm.me"},
|
||||
]
|
||||
description = "Python 3.9+ RuCaptcha library with AIO module."
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.9"
|
||||
keywords = [ "captcha",
|
||||
"anticaptcha",
|
||||
"deathbycaptcha",
|
||||
"recaptcha",
|
||||
"geetest",
|
||||
"hcaptcha",
|
||||
"capypuzzle",
|
||||
"rotatecaptcha",
|
||||
"funcaptcha",
|
||||
"keycaptcha",
|
||||
"python3",
|
||||
"recaptcha",
|
||||
"captcha",
|
||||
"security",
|
||||
"tencent",
|
||||
"atb_captcha",
|
||||
"python-library",
|
||||
"python-anticaptcha",
|
||||
"anticaptcha-client",
|
||||
"yandex",
|
||||
"turnstile",
|
||||
"amazon",
|
||||
"amazon_waf",
|
||||
"friendly-captcha"
|
||||
]
|
||||
license = {text = "MIT License"}
|
||||
classifiers = [
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Programming Language :: Python",
|
||||
"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",
|
||||
"Framework :: AsyncIO",
|
||||
"Operating System :: Unix",
|
||||
"Operating System :: Microsoft :: Windows",
|
||||
"Operating System :: MacOS",
|
||||
]
|
||||
dependencies = [
|
||||
"requests>=2.21.0",
|
||||
"aiohttp>=3.9.2",
|
||||
"msgspec==0.18.*",
|
||||
"tenacity>=8,<10"
|
||||
]
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["src"]
|
||||
include = ["python3_anticaptcha*"]
|
||||
|
||||
[tool.setuptools.dynamic]
|
||||
version = {attr = "python3_anticaptcha.__version__"}
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://andreidrang.github.io/python3-anticaptcha"
|
||||
Documentation = "https://andreidrang.github.io/python3-anticaptcha"
|
||||
Repository = "https://github.com/AndreiDrang/python3-anticaptcha"
|
||||
Issues = "https://github.com/AndreiDrang/python3-anticaptcha/issues"
|
||||
Changelog = "https://github.com/AndreiDrang/python3-anticaptcha/releases"
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
from python3_anticaptcha.__version__ import __version__ # noqa
|
|
@ -1 +1 @@
|
|||
__version__ = "2.0.1a"
|
||||
__version__ = "2.0.2a"
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
requests>=2.21.0
|
||||
aiohttp>=3.7.4
|
||||
tenacity==9.*
|
||||
pydantic>=2.4.0
|
137
src/setup.py
137
src/setup.py
|
@ -1,137 +0,0 @@
|
|||
import io
|
||||
import os
|
||||
import sys
|
||||
import shutil
|
||||
import logging
|
||||
|
||||
from setuptools import Command, setup
|
||||
from pkg_resources import parse_requirements
|
||||
|
||||
from python3_anticaptcha.__version__ import __version__
|
||||
|
||||
# Package meta-data.
|
||||
NAME = "python3-anticaptcha"
|
||||
DESCRIPTION = "Python 3 Anti-Captcha service library with AIO module."
|
||||
URL = "https://andreidrang.github.io/python3-anticaptcha"
|
||||
EMAIL = "python-captcha@pm.me"
|
||||
AUTHOR = "AndreiDrang, redV0ID"
|
||||
REQUIRES_PYTHON = ">=3.7.0"
|
||||
VERSION = __version__
|
||||
with open("requirements.txt", "rt") as requirements_txt:
|
||||
REQUIRED = [str(requirement) for requirement in parse_requirements(requirements_txt)]
|
||||
|
||||
here = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
# Import the README and use it as the long-description.
|
||||
# Note: this will only work if 'README.md' is present in your MANIFEST.in file!
|
||||
try:
|
||||
with io.open(os.path.join(here, "../README.md"), encoding="utf-8") as f:
|
||||
long_description = "\n" + f.read()
|
||||
except FileNotFoundError:
|
||||
long_description = DESCRIPTION
|
||||
|
||||
|
||||
class UploadCommand(Command):
|
||||
"""Support setup.py upload."""
|
||||
|
||||
description = "Build and publish the package."
|
||||
user_options = []
|
||||
|
||||
@staticmethod
|
||||
def status(s):
|
||||
"""Prints things in bold."""
|
||||
print("\033[1m{0}\033[0m".format(s))
|
||||
|
||||
def initialize_options(self):
|
||||
pass
|
||||
|
||||
def finalize_options(self):
|
||||
pass
|
||||
|
||||
def run(self):
|
||||
logging.info("Clean builds . . .")
|
||||
shutil.rmtree("./dist/", ignore_errors=True)
|
||||
|
||||
logging.info("Building Source and Wheel distribution . . .")
|
||||
os.system("python setup.py sdist bdist_wheel")
|
||||
|
||||
logging.info("Uploading the package to PyPI via Twin . . .")
|
||||
os.system("twine upload dist/* --verbose")
|
||||
|
||||
logging.info("🤖 Uploaded . . .")
|
||||
logging.info("Clean dist . . .")
|
||||
shutil.rmtree("dist/")
|
||||
|
||||
logging.info("Clean build . . .")
|
||||
shutil.rmtree("build/")
|
||||
|
||||
logging.info("Clean python3_anticaptcha.egg-info . . .")
|
||||
shutil.rmtree("python3_anticaptcha.egg-info/")
|
||||
sys.exit()
|
||||
|
||||
|
||||
setup(
|
||||
name=NAME,
|
||||
version=VERSION,
|
||||
author=AUTHOR,
|
||||
packages=["python3_anticaptcha", "python3_anticaptcha.core"],
|
||||
install_requires=REQUIRED,
|
||||
description=DESCRIPTION,
|
||||
long_description=long_description,
|
||||
long_description_content_type="text/markdown",
|
||||
package_dir={"python3-anticaptcha": "python3_anticaptcha"},
|
||||
include_package_data=True,
|
||||
url=URL,
|
||||
project_urls={
|
||||
"Documentation": URL,
|
||||
"Source": "https://github.com/AndreiDrang/python3-anticaptcha",
|
||||
"Changelog": "https://github.com/AndreiDrang/python3-anticaptcha/releases",
|
||||
"Issue tracker": "https://github.com/AndreiDrang/python3-anticaptcha/issues",
|
||||
},
|
||||
author_email=EMAIL,
|
||||
license="MIT",
|
||||
keywords="""
|
||||
captcha
|
||||
anticaptcha
|
||||
python3
|
||||
recaptcha
|
||||
recaptchav2
|
||||
recaptchav3
|
||||
security
|
||||
api
|
||||
funcaptcha
|
||||
keycaptcha
|
||||
recaptcha
|
||||
geetest
|
||||
hcaptcha
|
||||
python-library
|
||||
python-anticaptcha
|
||||
anticaptcha-client
|
||||
imagecaptcha
|
||||
turnstile
|
||||
""",
|
||||
python_requires=REQUIRES_PYTHON,
|
||||
zip_safe=False,
|
||||
classifiers=[
|
||||
# Trove classifiers
|
||||
# Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Programming Language :: Python",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3 :: Only",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Framework :: AsyncIO",
|
||||
"Operating System :: Unix",
|
||||
"Operating System :: Microsoft :: Windows",
|
||||
"Operating System :: MacOS",
|
||||
],
|
||||
# Build and upload package: python3 setup.py upload
|
||||
cmdclass={"upload": UploadCommand},
|
||||
)
|
||||
print("🤖 Success install ...")
|
Loading…
Reference in New Issue