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)

Reply via email to