Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-validators for openSUSE:Factory checked in at 2024-07-15 19:46:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-validators (Old) and /work/SRC/openSUSE:Factory/.python-validators.new.17339 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-validators" Mon Jul 15 19:46:21 2024 rev:28 rq:1187432 version:0.33.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-validators/python-validators.changes 2024-07-14 08:48:40.892449767 +0200 +++ /work/SRC/openSUSE:Factory/.python-validators.new.17339/python-validators.changes 2024-07-15 19:46:26.049410365 +0200 @@ -1,0 +2,8 @@ +Mon Jul 15 04:45:05 UTC 2024 - Mia Herkt <m...@0x0.st> + +- Update to 0.33.0 +Features: + * add validator for bsc addresses + gh#python-validators/validators#389 + +------------------------------------------------------------------- Old: ---- validators-0.32.0.tar.gz New: ---- validators-0.33.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-validators.spec ++++++ --- /var/tmp/diff_new_pack.mFXRya/_old 2024-07-15 19:46:26.633431764 +0200 +++ /var/tmp/diff_new_pack.mFXRya/_new 2024-07-15 19:46:26.633431764 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-validators -Version: 0.32.0 +Version: 0.33.0 Release: 0 Summary: Python Data Validation License: MIT ++++++ validators-0.32.0.tar.gz -> validators-0.33.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/CHANGES.md new/validators-0.33.0/CHANGES.md --- old/validators-0.32.0/CHANGES.md 2024-07-10 13:18:54.000000000 +0200 +++ new/validators-0.33.0/CHANGES.md 2024-07-15 04:34:44.000000000 +0200 @@ -9,6 +9,24 @@ --> +## 0.33.0 (2024-07-15) + +_**Breaking**_ + +> No breaking changes were introduced in this version. + +_**Features**_ + +- feat: adds validator for `bsc` addresses by @msamsami in [#389](https://github.com/python-validators/validators/pull/389) + +_**Maintenance**_ + +- chore: bump version by @msamsami in [#389](https://github.com/python-validators/validators/pull/389) + +**Full Changelog**: [`0.32.0...0.33.0`](https://github.com/python-validators/validators/compare/0.32.0...0.33.0) + +--- + ## 0.32.0 (2024-07-10) _**Breaking**_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/PKG-INFO new/validators-0.33.0/PKG-INFO --- old/validators-0.32.0/PKG-INFO 2024-07-10 13:19:50.661743600 +0200 +++ new/validators-0.33.0/PKG-INFO 2024-07-15 04:36:17.249879100 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: validators -Version: 0.32.0 +Version: 0.33.0 Summary: Python Data Validation for Humans⢠Author-email: Konsta Vesterinen <kon...@fastmonkeys.com> License: MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/docs/api/crypto_addresses.md new/validators-0.33.0/docs/api/crypto_addresses.md --- old/validators-0.32.0/docs/api/crypto_addresses.md 2024-07-08 14:23:23.000000000 +0200 +++ new/validators-0.33.0/docs/api/crypto_addresses.md 2024-07-15 04:34:44.000000000 +0200 @@ -1,5 +1,6 @@ # crypto_addresses +::: validators.crypto_addresses.bsc_address ::: validators.crypto_addresses.btc_address ::: validators.crypto_addresses.eth_address ::: validators.crypto_addresses.trx_address diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/docs/api/crypto_addresses.rst new/validators-0.33.0/docs/api/crypto_addresses.rst --- old/validators-0.32.0/docs/api/crypto_addresses.rst 2024-07-10 13:19:46.000000000 +0200 +++ new/validators-0.33.0/docs/api/crypto_addresses.rst 2024-07-15 04:36:13.000000000 +0200 @@ -2,6 +2,7 @@ ---------------- .. module:: validators.crypto_addresses +.. autofunction:: bsc_address .. autofunction:: btc_address .. autofunction:: eth_address .. autofunction:: trx_address diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/docs/validators.1 new/validators-0.33.0/docs/validators.1 --- old/validators-0.32.0/docs/validators.1 2024-07-10 13:19:48.000000000 +0200 +++ new/validators-0.33.0/docs/validators.1 2024-07-15 04:36:14.000000000 +0200 @@ -27,7 +27,7 @@ .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "VALIDATORS" "1" "Jul 10, 2024" "0.32.0" "validators" +.TH "VALIDATORS" "1" "Jul 15, 2024" "0.33.0" "validators" .SH NAME validators \- Python Data Validation for Humans⢠.sp @@ -592,6 +592,36 @@ .SS crypto_addresses .INDENT 0.0 .TP +.B validators.crypto_addresses.bsc_address(value: str, /) +Return whether or not given value is a valid binance smart chain address. +.sp +Full validation is implemented for BSC addresses. +.sp +Examples +.sp +.nf +.ft C +>>> bsc_address(\(aq0x4e5acf9684652BEa56F2f01b7101a225Ee33d23f\(aq) +# Output: True +>>> bsc_address(\(aq0x4g5acf9684652BEa56F2f01b7101a225Eh33d23z\(aq) +# Output: ValidationError(func=bsc_address, args=...) +.ft P +.fi +.INDENT 7.0 +.TP +.B Parameters +\fBvalue\fP \-\- BSC address string to validate. +.TP +.B Returns +If \fIvalue\fP is a valid bsc address. +(ValidationError): If \fIvalue\fP is an invalid bsc address. +.TP +.B Return type +(Literal[True]) +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B validators.crypto_addresses.btc_address(value: str, /) Return whether or not given value is a valid bitcoin address. .sp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/src/validators/__init__.py new/validators-0.33.0/src/validators/__init__.py --- old/validators-0.32.0/src/validators/__init__.py 2024-07-10 13:18:54.000000000 +0200 +++ new/validators-0.33.0/src/validators/__init__.py 2024-07-15 04:34:44.000000000 +0200 @@ -5,7 +5,7 @@ from .card import amex, card_number, diners, discover, jcb, mastercard, unionpay, visa from .country import calling_code, country_code, currency from .cron import cron -from .crypto_addresses import btc_address, eth_address, trx_address +from .crypto_addresses import bsc_address, btc_address, eth_address, trx_address from .domain import domain from .email import email from .encoding import base16, base32, base58, base64 @@ -37,6 +37,7 @@ # ... "between", # crypto_addresses + "bsc_address", "btc_address", "eth_address", "trx_address", @@ -108,4 +109,4 @@ "validator", ) -__version__ = "0.32.0" +__version__ = "0.33.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/src/validators/crypto_addresses/__init__.py new/validators-0.33.0/src/validators/crypto_addresses/__init__.py --- old/validators-0.32.0/src/validators/crypto_addresses/__init__.py 2024-07-08 14:23:23.000000000 +0200 +++ new/validators-0.33.0/src/validators/crypto_addresses/__init__.py 2024-07-15 04:34:44.000000000 +0200 @@ -1,8 +1,9 @@ """Crypto addresses.""" # local +from .bsc_address import bsc_address from .btc_address import btc_address from .eth_address import eth_address from .trx_address import trx_address -__all__ = ("btc_address", "eth_address", "trx_address") +__all__ = ("bsc_address", "btc_address", "eth_address", "trx_address") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/src/validators/crypto_addresses/bsc_address.py new/validators-0.33.0/src/validators/crypto_addresses/bsc_address.py --- old/validators-0.32.0/src/validators/crypto_addresses/bsc_address.py 1970-01-01 01:00:00.000000000 +0100 +++ new/validators-0.33.0/src/validators/crypto_addresses/bsc_address.py 2024-07-15 04:34:44.000000000 +0200 @@ -0,0 +1,36 @@ +"""BSC Address.""" + +# standard +import re + +# local +from validators.utils import validator + + +@validator +def bsc_address(value: str, /): + """Return whether or not given value is a valid binance smart chain address. + + Full validation is implemented for BSC addresses. + + Examples: + >>> bsc_address('0x4e5acf9684652BEa56F2f01b7101a225Ee33d23f') + # Output: True + >>> bsc_address('0x4g5acf9684652BEa56F2f01b7101a225Eh33d23z') + # Output: ValidationError(func=bsc_address, args=...) + + Args: + value: + BSC address string to validate. + + Returns: + (Literal[True]): If `value` is a valid bsc address. + (ValidationError): If `value` is an invalid bsc address. + """ + if not value: + return False + + if not re.fullmatch(r"0x[a-fA-F0-9]{40}", value): + return False + + return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/src/validators.egg-info/PKG-INFO new/validators-0.33.0/src/validators.egg-info/PKG-INFO --- old/validators-0.32.0/src/validators.egg-info/PKG-INFO 2024-07-10 13:19:50.000000000 +0200 +++ new/validators-0.33.0/src/validators.egg-info/PKG-INFO 2024-07-15 04:36:17.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: validators -Version: 0.32.0 +Version: 0.33.0 Summary: Python Data Validation for Humans⢠Author-email: Konsta Vesterinen <kon...@fastmonkeys.com> License: MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/src/validators.egg-info/SOURCES.txt new/validators-0.33.0/src/validators.egg-info/SOURCES.txt --- old/validators-0.32.0/src/validators.egg-info/SOURCES.txt 2024-07-10 13:19:50.000000000 +0200 +++ new/validators-0.33.0/src/validators.egg-info/SOURCES.txt 2024-07-15 04:36:17.000000000 +0200 @@ -82,6 +82,7 @@ src/validators.egg-info/requires.txt src/validators.egg-info/top_level.txt src/validators/crypto_addresses/__init__.py +src/validators/crypto_addresses/bsc_address.py src/validators/crypto_addresses/btc_address.py src/validators/crypto_addresses/eth_address.py src/validators/crypto_addresses/trx_address.py @@ -109,6 +110,7 @@ tests/test_url.py tests/test_uuid.py tests/test_validation_failure.py +tests/crypto_addresses/test_bsc_address.py tests/crypto_addresses/test_btc_address.py tests/crypto_addresses/test_eth_address.py tests/crypto_addresses/test_trx_address.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/validators-0.32.0/tests/crypto_addresses/test_bsc_address.py new/validators-0.33.0/tests/crypto_addresses/test_bsc_address.py --- old/validators-0.32.0/tests/crypto_addresses/test_bsc_address.py 1970-01-01 01:00:00.000000000 +0100 +++ new/validators-0.33.0/tests/crypto_addresses/test_bsc_address.py 2024-07-15 04:34:44.000000000 +0200 @@ -0,0 +1,52 @@ +"""Test BSC address.""" + +# external +import pytest + +# local +from validators import ValidationError, bsc_address + + +@pytest.mark.parametrize( + "value", + [ + "0x4e5acf9684652BEa56F2f01b7101a225Ee33d23f", + "0x22B0f92af10FdC25659e4C3A590c2F0D0c809c27", + "0xb61724F993E7942ef2d8e4A94fF7c9e1cc26995F", + "0x9c3dF8a511Fec8076D4B8EFb4d5E733B9F953dD7", + "0x4536337B91c0623a4FD098023E6065e4773117c5", + "0xAC484e1CE274eD1d40A7C2AeAb0bEA863634286F", + "0x1FDE521fBe3483Cbb5957E6275028225a74387e4", + "0x1693c3D1bA787Ba2bf81ac8897614AAaee5cb800", + "0xf4C3Fd476A40658aEd9e595DA49c37d8965D2fFE", + "0xc053E3D4932640787D6Cf67FcA36021E7BE62653", + "0xaFd563A5aED0bC363e802842aD93Af46c1168b8a", + ], +) +def test_returns_true_on_valid_bsc_address(value: str): + """Test returns true on valid bsc address.""" + assert bsc_address(value) + + +@pytest.mark.parametrize( + "value", + [ + "1x32Be343B94f860124dC4fEe278FDCBD38C102D88", + "0x32Be343B94f860124dC4fEe278FDCBD38C102D", + "0x32Be343B94f860124dC4fEe278FDCBD38C102D88aabbcc", + "0x4g5acf9684652BEa56F2f01b7101a225Eh33d23z", + "0x", + "wr...@address.com", + "0x32Be343B94f860124dC4fEe278FDCBD38C102D__", + "0x32Be343B94f860124dC4fEe278FDCBD38C102D88G", + "0X32Be343B94f860124dC4fEe278FDCBD38C102D88", + "0X32BE343B94F860124DCFEE278FDCBD38C102D88", + "0x32Be 343B94f860124dC4fEe278FDCBD38C102D88", + "0x32Be343B94f860124dC4fEe278FDCBD38C102D88!", + "ox32Be343B94f860124dC4fEe278FDCBD38C102D88", + "0x32Be343B94f860124dC4fEe278FDCBD38C102D88XYZ", + ], +) +def test_returns_failed_validation_on_invalid_bsc_address(value: str): + """Test returns failed validation on invalid bsc address.""" + assert isinstance(bsc_address(value), ValidationError)