From ad4af911a5e90cbd6e969235d1fbe19c13f2c9eb Mon Sep 17 00:00:00 2001 From: Arthur de Jong Date: Mon, 5 May 2025 22:26:20 +0200 Subject: Get files ready for 2.0 release --- ChangeLog | 493 ++++++++++++++++++++++++++++++ NEWS | 39 +++ README.md | 8 + docs/conf.py | 2 +- docs/index.rst | 8 + docs/stdnum.be.eid.rst | 5 + docs/stdnum.be.ssn.rst | 5 + docs/stdnum.es.cae.rst | 5 + docs/stdnum.id.nik.rst | 5 + docs/stdnum.isni.rst | 5 + docs/stdnum.jp.in_.rst | 5 + docs/stdnum.nl.identiteitskaartnummer.rst | 5 + docs/stdnum.ru.ogrn.rst | 5 + stdnum/__init__.py | 4 +- 14 files changed, 591 insertions(+), 3 deletions(-) create mode 100644 docs/stdnum.be.eid.rst create mode 100644 docs/stdnum.be.ssn.rst create mode 100644 docs/stdnum.es.cae.rst create mode 100644 docs/stdnum.id.nik.rst create mode 100644 docs/stdnum.isni.rst create mode 100644 docs/stdnum.jp.in_.rst create mode 100644 docs/stdnum.nl.identiteitskaartnummer.rst create mode 100644 docs/stdnum.ru.ogrn.rst diff --git a/ChangeLog b/ChangeLog index a33b475..0cedd17 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,496 @@ +2025-05-05 Arthur de Jong + + * [f2967d3] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, + stdnum/cfi.dat, stdnum/cn/loc.dat, stdnum/cz/banks.dat, + stdnum/gs1_ai.dat, stdnum/iban.dat, stdnum/imsi.dat, + stdnum/isbn.dat, stdnum/isil.dat, stdnum/my/bp.dat, + stdnum/nz/banks.dat, stdnum/oui.dat, tests/test_gs1_128.doctest, + tox.ini: Update database files + + This also updates the GS1-128 tests because a previously unused + AI is now in use. This also adds the updating of the Czech bank + numbers to tox. + +2025-05-05 Arthur de Jong + + * [c118723] update/at_postleitzahl.py: Remove duplicate Austrian + post offices + +2025-05-05 Arthur de Jong + + * [1a87baf] update/my_bp.crt, update/my_bp.py: Drop custom + certificates for www.jpn.gov.my + + The certificate chain for www.jpn.gov.my seems to have been fixed. + +2025-05-05 Arthur de Jong + + * [44575a1] update/iban.py: Allow reading IBAN registry from the + command line + + It seems that the Swift website currently uses TLS fingerprinting + to block downloads of the IBAN registry except in certain browsers. + + It also fixes an idiosyncrasy in the IBAN registry iteself where + the Norwegian BBAN format string was not correct. + +2025-05-05 Arthur de Jong + + * [44c2355] update/gs1_ai.py: Fix the downloading of GS1 application + identifiers + + The URL changed and the embedded JSON also slightly changed. + +2025-05-05 Arthur de Jong + + * [01e87f9] update/cn_loc.py, update/gs1_ai.py: Fix datetime + related deprecation warnings in update scripts + +2025-05-05 Arthur de Jong + + * [37320ea] update/be_banks.py, update/requirements.txt: Fix the + downloading of Belgian bank identifiers + + The site switched from XLS to XLSX files. + +2025-05-05 Arthur de Jong + + * [98b4fa0] stdnum/util.py, update/cfi.py, update/isil.py, + update/my_bp.py: Always pass regex flags as keyword argument + + In particular with re.sub() it got confused with the count + positional argument. + + Fixes a9039c1 + +2025-05-05 Arthur de Jong + + * [6e8c783] stdnum/cr/cpj.py, stdnum/fr/nir.py, stdnum/si/maticna.py: + Switch some URLs to HTTPS + +2022-09-04 Leandro Regueiro + + * [497bb11] stdnum/th/__init__.py: Add VAT alias for Thailand + TIN number + + Based on + https://github.com/arthurdejong/python-stdnum/issues/118#issuecomment-920521305 + Closes https://github.com/arthurdejong/python-stdnum/pull/314 + +2025-05-05 Arthur de Jong + + * [bfac07b] stdnum/ua/edrpou.py: Fix typo + + Fixes b7b2af8 + +2025-04-04 Luca Sicurello + + * [fca47b0] stdnum/jp/in_.py: Add Japanese Individual Number + +2025-03-13 David Salvisberg + + * [0e857fb] .github/workflows/test.yml, .gitignore, docs/index.rst, + setup.cfg, setup.py, stdnum/__init__.py, stdnum/ad/__init__.py, + stdnum/ad/nrt.py, stdnum/al/__init__.py, stdnum/al/nipt.py, + stdnum/ar/__init__.py, stdnum/ar/cbu.py, stdnum/ar/cuit.py, + stdnum/ar/dni.py, stdnum/at/__init__.py, stdnum/at/businessid.py, + stdnum/at/postleitzahl.py, stdnum/at/tin.py, stdnum/at/uid.py, + stdnum/at/vnr.py, stdnum/au/__init__.py, stdnum/au/abn.py, + stdnum/au/acn.py, stdnum/au/tfn.py, stdnum/be/__init__.py, + stdnum/be/bis.py, stdnum/be/eid.py, stdnum/be/iban.py, + stdnum/be/nn.py, stdnum/be/ssn.py, stdnum/be/vat.py, + stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, + stdnum/bic.py, stdnum/bitcoin.py, stdnum/br/__init__.py, + stdnum/br/cnpj.py, stdnum/br/cpf.py, stdnum/by/__init__.py, + stdnum/by/unp.py, stdnum/ca/__init__.py, stdnum/ca/bc_phn.py, + stdnum/ca/bn.py, stdnum/ca/sin.py, stdnum/casrn.py, stdnum/cfi.py, + stdnum/ch/esr.py, stdnum/ch/ssn.py, stdnum/ch/uid.py, + stdnum/ch/vat.py, stdnum/cl/__init__.py, stdnum/cl/rut.py, + stdnum/cn/__init__.py, stdnum/cn/ric.py, stdnum/cn/uscc.py, + stdnum/co/__init__.py, stdnum/co/nit.py, stdnum/cr/__init__.py, + stdnum/cr/cpf.py, stdnum/cr/cpj.py, stdnum/cr/cr.py, + stdnum/cu/ni.py, stdnum/cusip.py, stdnum/cy/vat.py, + stdnum/cz/__init__.py, stdnum/cz/bankaccount.py, + stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/damm.py, + stdnum/de/__init__.py, stdnum/de/handelsregisternummer.py, + stdnum/de/idnr.py, stdnum/de/stnr.py, stdnum/de/vat.py, + stdnum/de/wkn.py, stdnum/dk/__init__.py, stdnum/dk/cpr.py, + stdnum/dk/cvr.py, stdnum/do/__init__.py, stdnum/do/cedula.py, + stdnum/do/ncf.py, stdnum/do/rnc.py, stdnum/dz/__init__.py, + stdnum/dz/nif.py, stdnum/ean.py, stdnum/ec/__init__.py, + stdnum/ec/ci.py, stdnum/ec/ruc.py, stdnum/ee/__init__.py, + stdnum/ee/ik.py, stdnum/ee/kmkr.py, stdnum/ee/registrikood.py, + stdnum/eg/__init__.py, stdnum/eg/tn.py, stdnum/es/__init__.py, + stdnum/es/cae.py, stdnum/es/ccc.py, stdnum/es/cif.py, + stdnum/es/cups.py, stdnum/es/dni.py, stdnum/es/iban.py, + stdnum/es/nie.py, stdnum/es/nif.py, stdnum/es/postal_code.py, + stdnum/es/referenciacatastral.py, stdnum/eu/at_02.py, + stdnum/eu/banknote.py, stdnum/eu/ecnumber.py, stdnum/eu/eic.py, + stdnum/eu/nace.py, stdnum/eu/oss.py, stdnum/eu/vat.py, + stdnum/exceptions.py, stdnum/fi/__init__.py, stdnum/fi/alv.py, + stdnum/fi/associationid.py, stdnum/fi/hetu.py, + stdnum/fi/veronumero.py, stdnum/fi/ytunnus.py, + stdnum/figi.py, stdnum/fo/__init__.py, stdnum/fo/vn.py, + stdnum/fr/__init__.py, stdnum/fr/nif.py, stdnum/fr/nir.py, + stdnum/fr/siren.py, stdnum/fr/siret.py, stdnum/fr/tva.py, + stdnum/gb/nhs.py, stdnum/gb/sedol.py, stdnum/gb/upn.py, + stdnum/gb/utr.py, stdnum/gb/vat.py, stdnum/gh/__init__.py, + stdnum/gh/tin.py, stdnum/gn/__init__.py, stdnum/gn/nifp.py, + stdnum/gr/amka.py, stdnum/gr/vat.py, stdnum/grid.py, + stdnum/gs1_128.py, stdnum/gt/__init__.py, stdnum/gt/nit.py, + stdnum/hr/__init__.py, stdnum/hr/oib.py, stdnum/hu/__init__.py, + stdnum/hu/anum.py, stdnum/iban.py, stdnum/id/__init__.py, + stdnum/id/nik.py, stdnum/id/npwp.py, stdnum/ie/pps.py, + stdnum/ie/vat.py, stdnum/il/__init__.py, stdnum/il/hp.py, + stdnum/il/idnr.py, stdnum/imei.py, stdnum/imo.py, stdnum/imsi.py, + stdnum/in_/__init__.py, stdnum/in_/aadhaar.py, stdnum/in_/epic.py, + stdnum/in_/gstin.py, stdnum/in_/pan.py, stdnum/in_/vid.py, + stdnum/is_/__init__.py, stdnum/is_/kennitala.py, stdnum/is_/vsk.py, + stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/isin.py, + stdnum/ismn.py, stdnum/isni.py, stdnum/iso11649.py, + stdnum/iso6346.py, stdnum/iso7064/mod_11_10.py, + stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, + stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, + stdnum/isrc.py, stdnum/issn.py, stdnum/it/__init__.py, + stdnum/it/aic.py, stdnum/it/codicefiscale.py, stdnum/it/iva.py, + stdnum/jp/__init__.py, stdnum/jp/cn.py, stdnum/ke/__init__.py, + stdnum/ke/pin.py, stdnum/kr/__init__.py, stdnum/kr/brn.py, + stdnum/kr/rrn.py, stdnum/lei.py, stdnum/li/peid.py, + stdnum/lt/__init__.py, stdnum/lt/asmens.py, + stdnum/lt/pvm.py, stdnum/lu/__init__.py, stdnum/lu/tva.py, + stdnum/luhn.py, stdnum/lv/__init__.py, stdnum/lv/pvn.py, + stdnum/ma/__init__.py, stdnum/ma/ice.py, stdnum/mac.py, + stdnum/mc/__init__.py, stdnum/mc/tva.py, stdnum/md/idno.py, + stdnum/me/__init__.py, stdnum/me/iban.py, stdnum/me/pib.py, + stdnum/meid.py, stdnum/mk/__init__.py, stdnum/mk/edb.py, + stdnum/mt/vat.py, stdnum/mu/nid.py, stdnum/mx/__init__.py, + stdnum/mx/curp.py, stdnum/mx/rfc.py, stdnum/my/nric.py, + stdnum/nl/__init__.py, stdnum/nl/brin.py, stdnum/nl/bsn.py, + stdnum/nl/btw.py, stdnum/nl/identiteitskaartnummer.py, + stdnum/nl/onderwijsnummer.py, stdnum/nl/postcode.py, + stdnum/no/__init__.py, stdnum/no/fodselsnummer.py, + stdnum/no/iban.py, stdnum/no/kontonr.py, stdnum/no/mva.py, + stdnum/no/orgnr.py, stdnum/numdb.py, stdnum/nz/__init__.py, + stdnum/nz/bankaccount.py, stdnum/nz/ird.py, stdnum/pe/__init__.py, + stdnum/pe/cui.py, stdnum/pe/ruc.py, stdnum/pk/cnic.py, + stdnum/pl/__init__.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, + stdnum/pl/regon.py, stdnum/pt/__init__.py, stdnum/pt/cc.py, + stdnum/pt/nif.py, stdnum/py.typed, stdnum/py/__init__.py, + stdnum/py/ruc.py, stdnum/ro/__init__.py, stdnum/ro/cf.py, + stdnum/ro/cnp.py, stdnum/ro/cui.py, stdnum/ro/onrc.py, + stdnum/rs/__init__.py, stdnum/rs/pib.py, stdnum/ru/__init__.py, + stdnum/ru/inn.py, stdnum/ru/ogrn.py, stdnum/se/__init__.py, + stdnum/se/orgnr.py, stdnum/se/personnummer.py, + stdnum/se/postnummer.py, stdnum/se/vat.py, + stdnum/sg/__init__.py, stdnum/sg/uen.py, stdnum/si/__init__.py, + stdnum/si/ddv.py, stdnum/si/emso.py, stdnum/si/maticna.py, + stdnum/sk/__init__.py, stdnum/sk/dph.py, stdnum/sk/rc.py, + stdnum/sm/__init__.py, stdnum/sm/coe.py, stdnum/sv/__init__.py, + stdnum/sv/nit.py, stdnum/th/moa.py, stdnum/th/pin.py, + stdnum/th/tin.py, stdnum/tn/__init__.py, stdnum/tn/mf.py, + stdnum/tr/__init__.py, stdnum/tr/tckimlik.py, stdnum/tr/vkn.py, + stdnum/tw/__init__.py, stdnum/tw/ubn.py, stdnum/ua/edrpou.py, + stdnum/ua/rntrc.py, stdnum/us/atin.py, stdnum/us/ein.py, + stdnum/us/itin.py, stdnum/us/ptin.py, stdnum/us/rtn.py, + stdnum/us/ssn.py, stdnum/us/tin.py, stdnum/util.py, + stdnum/uy/__init__.py, stdnum/uy/rut.py, stdnum/vatin.py, + stdnum/ve/__init__.py, stdnum/ve/rif.py, stdnum/verhoeff.py, + stdnum/vn/__init__.py, stdnum/vn/mst.py, stdnum/za/idnr.py, + stdnum/za/tin.py, tests/test_by_unp.py, tests/test_ch_uid.py, + tests/test_de_handelsregisternummer.py, tests/test_do_cedula.py, + tests/test_do_ncf.py, tests/test_do_rnc.py, tests/test_eu_vat.py, + tox.ini: Add type hints + + Closes https://github.com/arthurdejong/python-stdnum/pull/467 + Closes https://github.com/arthurdejong/python-stdnum/issues/433 + +2025-04-21 Arthur de Jong + + * [bc689fd] stdnum/do/cedula.py: Add missing verify argument to + Cedula check_dgii() + +2025-03-13 David Salvisberg + + * [8283dbb] stdnum/be/bis.py, stdnum/be/nn.py, stdnum/be/ssn.py, + stdnum/de/handelsregisternummer.py, stdnum/do/ncf.py, + stdnum/do/rnc.py, stdnum/eu/vat.py, stdnum/pk/cnic.py, + stdnum/util.py: Explicity return None + + As per PEP 8. + + See https://peps.python.org/pep-0008/ + +2025-03-13 David Salvisberg + + * [6b9bbe2] stdnum/be/iban.py, stdnum/be/nn.py, + stdnum/cz/bankaccount.py, stdnum/es/cups.py, stdnum/gs1_128.py, + stdnum/pk/cnic.py, stdnum/vatin.py, stdnum/verhoeff.py, + tests/test_be_iban.doctest: Small code cleanups + +2025-04-21 Arthur de Jong + + * [3542c06] .github/workflows/test.yml, setup.py, tox.ini: Drop + support for Python 3.6 and 3.7 + + Sadly GitHub has dropped the ability to run tests with these + versions of Python. + +2025-03-27 Arthur de Jong + + * [ae0d86c] tests/test_do_cedula.py, tests/test_do_rnc.py: Ignore + test failures from www.dgii.gov.do + + There was a change in the SOAP service and there is a new + URL. However, the API has changed and seems to require + authentication. + + We ignore test failures for now but unless a solution is found + the DGII validation will be removed. + + See: https://github.com/arthurdejong/python-stdnum/pull/462 See: + https://github.com/arthurdejong/python-stdnum/issues/461 + +2025-03-27 Arthur de Jong + + * [dcd7fa6] tests/test_do_rnc.py: Drop more Python 2.7 compatibility + code + +2025-03-27 Arthur de Jong + + * [852515c] stdnum/cz/rc.py, tests/test_cz_rc.doctest: Fix Czech + Rodné číslo check digit validation + + It seems that a small minority of numbers assigned + with a checksum of 10 are still valid and expected + to have a check digit value of 0. According to + https://www.domzo13.cz/sw/evok/help/born_numbers.html this + practice even happended (but less frequently) after 1985. + + Closes https://github.com/arthurdejong/python-stdnum/issues/468 + +2025-02-16 Arthur de Jong + + * [fc766bc] .github/workflows/test.yml, setup.py, tox.ini: Add + support for Python 3.13 + +2024-12-10 nvmbrasserie + + * [1386f67] stdnum/ru/ogrn.py, tests/test_ru_ogrn.doctest: Add + Russian ОГРН + + Closes https://github.com/arthurdejong/python-stdnum/pull/459 + +2024-07-04 Quique Porta + + * [8519221] stdnum/es/cae.py, tests/test_es_cae.doctest: Add + Spanish CAE Number + + Closes https://github.com/arthurdejong/python-stdnum/pull/446 + +2025-02-15 Arthur de Jong + + * [0f94ca6] stdnum/ec/ruc.py, tests/test_ec_ruc.doctest: Support + Ecuador public RUC with juridical format + + It seems that numbers with a format used for juridical RUCs have + been issued to companies. + + Closes https://github.com/arthurdejong/python-stdnum/issues/457 + +2025-02-15 Arthur de Jong + + * [928a09d] stdnum/isni.py: Add International Standard Name + Identifier + + Closes https://github.com/arthurdejong/python-stdnum/issues/463 + +2025-01-11 Arthur de Jong + + * [2b92075] .github/workflows/test.yml, README.md, + online_check/stdnum.wsgi, setup.cfg, setup.py, stdnum/by/unp.py, + stdnum/de/handelsregisternummer.py, stdnum/do/ncf.py, + stdnum/eg/tn.py, stdnum/es/referenciacatastral.py, + stdnum/eu/nace.py, stdnum/imsi.py, + stdnum/mac.py, stdnum/meid.py, stdnum/mk/edb.py, + stdnum/mx/curp.py, stdnum/mx/rfc.py, stdnum/util.py, + tests/test_by_unp.doctest, tests/test_cn_ric.doctest, + tests/test_de_handelsregisternummer.doctest, + tests/test_de_stnr.doctest, tests/test_eg_tn.doctest, + tests/test_es_referenciacatastral.doctest, tests/test_isan.doctest, + tests/test_mac.doctest, tests/test_mk_edb.doctest, + tests/test_my_nric.doctest, tests/test_robustness.doctest, + tests/test_util.doctest, tox.ini: Drop Python 2 support + + This deprecates the stdnum.util.to_unicode() function because + we no longer have to deal with bytestrings. + +2024-11-17 Arthur de Jong + + * [0218601] stdnum/uy/rut.py, tests/test_uy_rut.doctest: Allow + Uruguay RUT number starting with 22 + +2024-09-30 Victor Sordoillet + + * [bcd5018] stdnum/isrc.py, tests/test_isrc.doctest: Add missing + music industry ISRC country codes + + Closes https://github.com/arthurdejong/python-stdnum/pull/455 + Closes https://github.com/arthurdejong/python-stdnum/issues/454 + +2024-10-11 Arthur de Jong + + * [020f1df] .github/workflows/test.yml: Use older Github runner + for Python 3.7 tests + +2024-10-11 Arthur de Jong + + * [051e63f] tests/test_verhoeff.doctest: Add more tests for + Verhoeff implementation + + See https://github.com/arthurdejong/python-stdnum/issues/456 + +2024-09-21 Arthur de Jong + + * [dc850d6] tox.ini: Ignore deprecation warnings in flake8 target + + This silences a ton of ast deprecation warnings that we can't + fix in python-stdnum anyway. + +2024-09-15 Arthur de Jong + + * [0ceb2b9] stdnum/util.py: Ensure get_soap_client() caches + with verify + + This fixes the get_soap_client() function to cache SOAP clients + taking the verify argument into account. + + Fixes 3fcebb2 + +2024-07-25 Jeff Horemans + + * [6c2873c] stdnum/be/eid.py: Add Belgian eID card number + + Closes https://github.com/arthurdejong/python-stdnum/pull/448 + +2024-07-25 Jeff Horemans + + * [56036d0] stdnum/nl/identiteitskaartnummer.py: Add Dutch + identiteitskaartnummer + + Closes https://github.com/arthurdejong/python-stdnum/pull/449 + +2024-09-14 Arthur de Jong + + * [3fcebb2] setup.py, stdnum/by/unp.py, stdnum/ch/uid.py, + stdnum/de/handelsregisternummer.py, stdnum/do/ncf.py, + stdnum/do/rnc.py, stdnum/eu/vat.py, stdnum/tr/tckimlik.py, + stdnum/util.py: Customise certificate validation for web services + + This adds a `verify` argument to all functions that use network + services for lookups. The option is used to configure how + certificate validation works, the same as in the requests library. + + For SOAP requests this is implemented properly when using the + Zeep library. The implementations using Suds and PySimpleSOAP + have been updated on a best-effort basis but their use has been + deprecated because they do not seem to work in practice in a + lot of cases already. + + Related to https://github.com/arthurdejong/python-stdnum/issues/452 + Related to https://github.com/arthurdejong/python-stdnum/pull/453 + +2024-07-04 Joris Makauskis + + * [6cbb9bc] stdnum/util.py: Fix zeep client timeout parameter + + The timeout parameter of the zeep transport class is not + responsable for POST/GET timeouts. The operational_timeout + parameter should be used for that. + + See https://github.com/mvantellingen/python-zeep/issues/140 + + Closes https://github.com/arthurdejong/python-stdnum/issues/444 + Closes https://github.com/arthurdejong/python-stdnum/pull/445 + +2023-07-04 Jeff Horemans + + * [af3a728] stdnum/be/ssn.py, tests/test_be_ssn.doctest: Add + Belgian SSN number + + Closes https://github.com/arthurdejong/python-stdnum/pull/438 + +2024-07-15 Arthur de Jong + + * [0da257c] online_check/stdnum.wsgi: Replace use of deprecated + inspect.getargspec() + + Use the inspect.signature() function instead. The + inspect.getargspec() function was removed in Python 3.11. + +2024-06-23 Arthur de Jong + + * [e951dac] stdnum/id/npwp.py, tests/test_id_npwp.doctest: Support + 16 digit Indonesian NPWP numbers + + The Indonesian NPWP is being switched from 15 to 16 digits. The + number is now the NIK for Indonesian citizens and the old format + with a leading 0 for others (organisations and non-citizens). + + See + https://www.grantthornton.co.id/insights/global-insights1/updates-regarding-the-format-of-indonesian-tax-id-numbers/ + + Closes https://github.com/arthurdejong/python-stdnum/issues/432 + +2024-05-17 Jeff Horemans + + * [1da003f] stdnum/ch/uid.py: Adjust Swiss uid module to accept + numbers without CHE prefix + + Closes https://github.com/arthurdejong/python-stdnum/pull/437 + Closes https://github.com/arthurdejong/python-stdnum/issues/423 + +2024-05-21 petr.prikryl + + * [91959bd] stdnum/cz/banks.dat: Update Czech database files + + Closes https://github.com/arthurdejong/python-stdnum/pull/439 + Closes https://github.com/arthurdejong/python-stdnum/pull/435 + +2024-05-31 Olly Middleton + + * [58ecb03] stdnum/ie/pps.py, tests/test_ie_pps.doctest: Update + Irish PPS validator to support new numbers + + See https://www.charteredaccountants.ie/News/b-range-pps-numbers + + Closes https://github.com/arthurdejong/python-stdnum/issues/440 + Closes https://github.com/arthurdejong/python-stdnum/pull/441 + +2024-06-13 vanderkoort + + * [fb4d792] NEWS: Fix a typo + + Closes https://github.com/arthurdejong/python-stdnum/pull/443 + +2024-05-19 Arthur de Jong + + * [5aeaeff] stdnum/id/loc.dat, stdnum/id/nik.py: Add support for + Indonesian NIK + +2024-05-19 Arthur de Jong + + * [0690996] .github/workflows/test.yml, setup.py, tox.ini: Drop + support for Python 3.5 + + We don't have an easy way to test with Python 3.5 any more. + +2024-03-17 Arthur de Jong + + * [201d4d1] ChangeLog, NEWS, README.md, docs/conf.py, docs/index.rst, + docs/stdnum.ca.bc_phn.rst, docs/stdnum.eu.ecnumber.rst, + docs/stdnum.in_.vid.rst, stdnum/__init__.py: Get files ready + for 1.20 release + 2024-03-17 Arthur de Jong * [b454d3a] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, diff --git a/NEWS b/NEWS index 378b6e5..792ea29 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,42 @@ +changes from 1.20 to 2.0 +------------------------ + +* Only support Python 3.8 and newer (drop Python 2 support so major version bump) +* Include type hints for mypy (thanks David Salvisberg) + +* Add modules for the following number formats: + + - eID Number (Belgian electronic Identity Card Number) (thanks Jeff Horemans) + - SSN, INSZ, NISS (Belgian social security number) (thanks Jeff Horemans) + - CAE (Código de Actividad y Establecimiento, Spanish activity establishment code) + (thanks Quique Porta) + - NIK (Nomor Induk Kependudukan, Indonesian identity number) + - ISNI (International Standard Name Identifier) (thanks Henning Kage) + - IN (個人番号, kojin bangō, Japanese Individual Number) (thanks Luca Sicurello) + - Identiteitskaartnummer, Paspoortnummer (the Dutch passport number) + (thanks Jeff Horemans) + - ОГРН, OGRN, PSRN, ОГРНИП, OGRNIP (Russian Primary State Registration Number) + (thanks Ivan Stavropoltsev) + +* Fix Czech RČ check digit validation (thanks Jan Chaloupecky) +* Support Ecuador public RUC with juridical format (thanks Leandro) +* Allow Uruguay RUT numbers starting with 22 +* Add missing music industry ISRC country codes (thanks Victor Sordoillet) +* Support 16 digit Indonesian NPWP numbers (thanks Chris Smola) +* Adjust Swiss uid module to accept numbers without CHE prefix (thanks Jeff Horemans) +* Update Irish PPS validator to support new numbers (thanks Olly Middleton) +* Add missing vat alias for Thailand VAT number (thanks Leandro Regueiro) +* Add more tests for the Verhoeff implementation +* Ensure that certificate verification can be configured using the verify + argument when using web services +* The check_dgii() and search_dgii() functions from the Dominican Republic Cedula + and RNC modules no longer work due to a change in the DGII online web service +* Various small code cleanups (thanks David Salvisberg) +* Various small fixes to update scripts +* The stdnum.util.to_unicode() function is now deprecated and will be removed + in an upcoming release + + changes from 1.19 to 1.20 ------------------------- diff --git a/README.md b/README.md index 17a231e..e09a984 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,10 @@ Currently this package supports the following formats: * ACN (Australian Company Number) * TFN (Australian Tax File Number) * BIS (Belgian BIS number) + * eID Number (Belgian electronic Identity Card Number) * Belgian IBAN (International Bank Account Number) * NN, NISS, RRN (Belgian national number) + * SSN, INSZ, NISS (Belgian social security number) * BTW, TVA, NWSt, ondernemingsnummer (Belgian enterprise number) * EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) * PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner) @@ -80,6 +82,7 @@ Currently this package supports the following formats: * KMKR (Käibemaksukohuslase, Estonian VAT number) * Registrikood (Estonian organisation registration code) * Tax Registration Number (الرقم الضريبي, Egypt tax number) + * CAE (Código de Actividad y Establecimiento, Spanish activity establishment code) * CCC (Código Cuenta Corriente, Spanish Bank Account Code) * CIF (Código de Identificación Fiscal, Spanish company tax number) * CUPS (Código Unificado de Punto de Suministro, Spanish meter point number) @@ -123,6 +126,7 @@ Currently this package supports the following formats: * OIB (Osobni identifikacijski broj, Croatian identification number) * ANUM (Közösségi adószám, Hungarian VAT number) * IBAN (International Bank Account Number) + * NIK (Nomor Induk Kependudukan, Indonesian identity number) * NPWP (Nomor Pokok Wajib Pajak, Indonesian VAT Number) * PPS No (Personal Public Service Number, Irish personal number) * VAT (Irish tax reference number) @@ -143,6 +147,7 @@ Currently this package supports the following formats: * ISIL (International Standard Identifier for Libraries) * ISIN (International Securities Identification Number) * ISMN (International Standard Music Number) + * ISNI (International Standard Name Identifier) * ISO 11649 (Structured Creditor Reference) * ISO 6346 (International standard for container identification) * ISRC (International Standard Recording Code) @@ -151,6 +156,7 @@ Currently this package supports the following formats: * Codice Fiscale (Italian tax code for individuals) * Partita IVA (Italian VAT number) * CN (法人番号, hōjin bangō, Japanese Corporate Number) + * IN (個人番号, kojin bangō, Japanese Individual Number) * PIN (Personal Identification Number, Kenya tax number) * BRN (사업자 등록 번호, South Korea Business Registration Number) * RRN (South Korean resident registration number) @@ -176,6 +182,7 @@ Currently this package supports the following formats: * BRIN number (the Dutch school identification number) * BSN (Burgerservicenummer, the Dutch citizen identification number) * Btw-identificatienummer (Omzetbelastingnummer, the Dutch VAT number) + * Identiteitskaartnummer, Paspoortnummer (the Dutch passport number) * Onderwijsnummer (the Dutch student identification number) * Postcode (the Dutch postal code) * Fødselsnummer (Norwegian birth number, the national identity number) @@ -200,6 +207,7 @@ Currently this package supports the following formats: * ONRC (Ordine din Registrul Comerţului, Romanian Trade Register identifier) * PIB (Poreski Identifikacioni Broj, Serbian tax identification number) * ИНН (Идентификационный номер налогоплательщика, Russian tax identifier) + * ОГРН, OGRN, PSRN, ОГРНИП, OGRNIP (Russian Primary State Registration Number) * Orgnr (Organisationsnummer, Swedish company number) * Personnummer (Swedish personal identity number) * Postcode (the Swedish postal code) diff --git a/docs/conf.py b/docs/conf.py index 2a7eba5..70e6774 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -39,7 +39,7 @@ master_doc = 'index' # General information about the project. project = u'python-stdnum' -copyright = u'2013-2024, Arthur de Jong' +copyright = u'2013-2025, Arthur de Jong' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/docs/index.rst b/docs/index.rst index 04d9ecd..a543b39 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -127,8 +127,10 @@ Available formats au.acn au.tfn be.bis + be.eid be.iban be.nn + be.ssn be.vat bg.egn bg.pnf @@ -178,6 +180,7 @@ Available formats ee.kmkr ee.registrikood eg.tn + es.cae es.ccc es.cif es.cups @@ -221,6 +224,7 @@ Available formats hr.oib hu.anum iban + id.nik id.npwp ie.pps ie.vat @@ -241,6 +245,7 @@ Available formats isil isin ismn + isni iso11649 iso6346 isrc @@ -249,6 +254,7 @@ Available formats it.codicefiscale it.iva jp.cn + jp.in_ ke.pin kr.brn kr.rrn @@ -274,6 +280,7 @@ Available formats nl.brin nl.bsn nl.btw + nl.identiteitskaartnummer nl.onderwijsnummer nl.postcode no.fodselsnummer @@ -298,6 +305,7 @@ Available formats ro.onrc rs.pib ru.inn + ru.ogrn se.orgnr se.personnummer se.postnummer diff --git a/docs/stdnum.be.eid.rst b/docs/stdnum.be.eid.rst new file mode 100644 index 0000000..2bcedf5 --- /dev/null +++ b/docs/stdnum.be.eid.rst @@ -0,0 +1,5 @@ +stdnum.be.eid +============= + +.. automodule:: stdnum.be.eid + :members: \ No newline at end of file diff --git a/docs/stdnum.be.ssn.rst b/docs/stdnum.be.ssn.rst new file mode 100644 index 0000000..3cf3186 --- /dev/null +++ b/docs/stdnum.be.ssn.rst @@ -0,0 +1,5 @@ +stdnum.be.ssn +============= + +.. automodule:: stdnum.be.ssn + :members: \ No newline at end of file diff --git a/docs/stdnum.es.cae.rst b/docs/stdnum.es.cae.rst new file mode 100644 index 0000000..93ddd64 --- /dev/null +++ b/docs/stdnum.es.cae.rst @@ -0,0 +1,5 @@ +stdnum.es.cae +============= + +.. automodule:: stdnum.es.cae + :members: \ No newline at end of file diff --git a/docs/stdnum.id.nik.rst b/docs/stdnum.id.nik.rst new file mode 100644 index 0000000..ca38885 --- /dev/null +++ b/docs/stdnum.id.nik.rst @@ -0,0 +1,5 @@ +stdnum.id.nik +============= + +.. automodule:: stdnum.id.nik + :members: \ No newline at end of file diff --git a/docs/stdnum.isni.rst b/docs/stdnum.isni.rst new file mode 100644 index 0000000..fd9ab98 --- /dev/null +++ b/docs/stdnum.isni.rst @@ -0,0 +1,5 @@ +stdnum.isni +=========== + +.. automodule:: stdnum.isni + :members: \ No newline at end of file diff --git a/docs/stdnum.jp.in_.rst b/docs/stdnum.jp.in_.rst new file mode 100644 index 0000000..7957124 --- /dev/null +++ b/docs/stdnum.jp.in_.rst @@ -0,0 +1,5 @@ +stdnum.jp.in_ +============= + +.. automodule:: stdnum.jp.in_ + :members: \ No newline at end of file diff --git a/docs/stdnum.nl.identiteitskaartnummer.rst b/docs/stdnum.nl.identiteitskaartnummer.rst new file mode 100644 index 0000000..782416d --- /dev/null +++ b/docs/stdnum.nl.identiteitskaartnummer.rst @@ -0,0 +1,5 @@ +stdnum.nl.identiteitskaartnummer +================================ + +.. automodule:: stdnum.nl.identiteitskaartnummer + :members: \ No newline at end of file diff --git a/docs/stdnum.ru.ogrn.rst b/docs/stdnum.ru.ogrn.rst new file mode 100644 index 0000000..aee4828 --- /dev/null +++ b/docs/stdnum.ru.ogrn.rst @@ -0,0 +1,5 @@ +stdnum.ru.ogrn +============== + +.. automodule:: stdnum.ru.ogrn + :members: \ No newline at end of file diff --git a/stdnum/__init__.py b/stdnum/__init__.py index 85da9ef..fa2d281 100644 --- a/stdnum/__init__.py +++ b/stdnum/__init__.py @@ -1,7 +1,7 @@ # __init__.py - main module # coding: utf-8 # -# Copyright (C) 2010-2024 Arthur de Jong +# Copyright (C) 2010-2025 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -45,4 +45,4 @@ from stdnum.util import get_cc_module __all__ = ('get_cc_module', '__version__') # the version number of the library -__version__ = '1.20' +__version__ = '2.0' -- cgit v1.2.3