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 && \
|
black src/ --check && \
|
||||||
isort src/ --check-only
|
isort src/ --check-only
|
||||||
|
|
||||||
|
build:
|
||||||
|
pip3 install --upgrade build setuptools
|
||||||
|
python3 -m build
|
||||||
|
|
||||||
upload:
|
upload:
|
||||||
pip install twine
|
pip3 install twine wheel setuptools build
|
||||||
cd src/ && python setup.py upload
|
twine upload dist/*
|
||||||
|
|
||||||
doc: install
|
doc: install
|
||||||
cd docs/ && \
|
cd docs/ && \
|
||||||
|
|
|
@ -27,3 +27,79 @@ testpaths = [
|
||||||
"tests",
|
"tests",
|
||||||
]
|
]
|
||||||
addopts = "-vv --tb=short --durations=5"
|
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