From 60a90ede3b5a0a91c9cc0cf5120abd16f8e794ff Mon Sep 17 00:00:00 2001 From: Arthur de Jong Date: Sun, 13 Nov 2022 00:46:13 +0100 Subject: [PATCH] Get files ready for 1.18 release --- ChangeLog | 514 +++++++++++++++++++++++++++++++++ NEWS | 39 +++ README.md | 15 +- docs/index.rst | 13 + docs/stdnum.be.nn.rst | 5 + docs/stdnum.cfi.rst | 5 + docs/stdnum.cz.bankaccount.rst | 5 + docs/stdnum.dz.nif.rst | 5 + docs/stdnum.fo.vn.rst | 5 + docs/stdnum.gh.tin.rst | 5 + docs/stdnum.ke.pin.rst | 5 + docs/stdnum.ma.ice.rst | 5 + docs/stdnum.me.pib.rst | 5 + docs/stdnum.mk.edb.rst | 5 + docs/stdnum.pk.cnic.rst | 5 + docs/stdnum.si.emso.rst | 5 + docs/stdnum.tn.mf.rst | 5 + stdnum/__init__.py | 4 +- stdnum/gh/tin.py | 12 +- tox.ini | 1 + 20 files changed, 653 insertions(+), 10 deletions(-) create mode 100644 docs/stdnum.be.nn.rst create mode 100644 docs/stdnum.cfi.rst create mode 100644 docs/stdnum.cz.bankaccount.rst create mode 100644 docs/stdnum.dz.nif.rst create mode 100644 docs/stdnum.fo.vn.rst create mode 100644 docs/stdnum.gh.tin.rst create mode 100644 docs/stdnum.ke.pin.rst create mode 100644 docs/stdnum.ma.ice.rst create mode 100644 docs/stdnum.me.pib.rst create mode 100644 docs/stdnum.mk.edb.rst create mode 100644 docs/stdnum.pk.cnic.rst create mode 100644 docs/stdnum.si.emso.rst create mode 100644 docs/stdnum.tn.mf.rst diff --git a/ChangeLog b/ChangeLog index 894e58d2..47e32ab7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,517 @@ +2022-11-13 Arthur de Jong + + * [31b2694] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, + stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/gs1_ai.dat, + stdnum/imsi.dat, stdnum/isbn.dat, stdnum/nz/banks.dat, + stdnum/oui.dat: Update database files + +2022-11-13 Arthur de Jong + + * [f691bf7] stdnum/de/handelsregisternummer.py, + tests/test_de_handelsregisternummer.py: Update German + OffeneRegister lookup data format + + It appears that the data structure at OffeneRegister has changed + which requires a different query. Data is returned in a different + structure. + +2022-11-13 Arthur de Jong + + * [5cdef0d] update/cn_loc.py: Increase timeout for CN Open Data + download + + It seems that raw.githubusercontent.com can be extremely slow. + +2022-11-13 Arthur de Jong + + * [580d6e0] update/my_bp.py: Pick up custom certificate from + script path + + This ensures that the script can be run from any directory. + + Fixes c4ad714 + +2022-09-06 Leandro Regueiro + + * [7348c7a] tests/test_vatin.doctest: vatin: Add a few more tests + for is_valid + + See https://github.com/arthurdejong/python-stdnum/pull/316 + +2022-11-13 Arthur de Jong + + * [fa62ea3] stdnum/pk/__init__.py, stdnum/pk/cnic.py, + tests/test_pk_cnic.doctest: Add Pakistani ID card number + + Based on the implementation provided by Quantum Novice (Syed + Haseeb Shah). + + Closes https://github.com/arthurdejong/python-stdnum/pull/306 + Closes https://github.com/arthurdejong/python-stdnum/issues/304 + +2022-10-16 Blaž Bregar + + * [feccaff] stdnum/si/__init__.py, stdnum/si/emso.py, + tests/test_si_emso.doctest: Add support for Slovenian EMŠO + (Unique Master Citizen Number) + + Closes https://github.com/arthurdejong/python-stdnum/pull/338 + +2022-11-12 Arthur de Jong + + * [74cc981] stdnum/cz/bankaccount.py, stdnum/nz/bankaccount.py, + tox.ini, update/iban.py: Ensure we always run flake8-bugbear + + This assumes that we no longer use Python 2.7 for running the + flake8 tests any more. + +2022-11-12 Arthur de Jong + + * [a03ac04] stdnum/cz/bankaccount.py, + stdnum/es/referenciacatastral.py, stdnum/lei.py, stdnum/nl/bsn.py: + Use HTTPS in URLs where possible + +2022-10-23 Leandro Regueiro + + * [8e76cd2] stdnum/cr/cpf.py: Pad with zeroes in a more readable + manner + + Closes https://github.com/arthurdejong/python-stdnum/pull/340 + +2022-11-12 Arthur de Jong + + * [45f098b] stdnum/exceptions.py: Make all exceptions inherit + from ValueError + + All the validation exceptions (subclasses of ValidationError) + are raised when a number is provided with an inappropriate value. + +2022-11-12 Arthur de Jong + + * [a218032] stdnum/ch/uid.py, tests/test_ch_uid.py: Add a check_uid() + function to the stdnum.ch.uid module + + This function can be used to performa a lookup of organisation + information by the Swiss Federal Statistical Office web service. + + Related to https://github.com/arthurdejong/python-stdnum/issues/336 + +2022-11-12 Arthur de Jong + + * [1364e19] stdnum/cusip.py, tests/test_cusip.doctest: Support + "I" and "O" in CUSIP number + + It is unclear why these letters were considered invalid at the + time of the implementation. + + This also reduces the test set a bit while still covering + most cases. + + Closes https://github.com/arthurdejong/python-stdnum/issues/337 + +2022-10-23 Arthur de Jong + + * [f972894] online_check/stdnum.wsgi: Switch to escape() from html + + The function was removed from the cgi module in Python 3.8. + +2022-10-23 Arthur de Jong + + * [c5d3bf4] online_check/stdnum.wsgi: Switch to parse_qs() from + urllib.parse + + The function was removed from the cgi module in Python 3.8. + +2022-10-19 Arthur de Jong + + * [8b5b07a] stdnum/casrn.py: Remove unused import + + Fixes 09d595b + +2022-10-19 Arthur de Jong + + * [09d595b] stdnum/casrn.py: Improve validation of CAS Registry + Number + + This ensures that a leading 0 is treated as invalid. + +2022-10-19 Arthur de Jong + + * [7c2153e] stdnum/cas.py: Remove duplicate CAS Registry Number + + The recently added stdnum.cas module was already available as + teh stdnum.casrn module. + + Reverts acb6934 + +2022-10-19 Arthur de Jong + + * [1003033] tests/test_no_fodselsnummer.doctest: Update + Fødselsnummer test case for date in future + + The future was now. This problem was pushed forwards to October + 2039. + +2022-10-15 Arthur de Jong + + * [1636045] tox.ini: Support running tests with PyPy 2.7 + + This also applies the fix from cfc80c8 from Python 2.7 to PyPy. + +2022-09-11 Leandro Regueiro + + * [7be2291] stdnum/gh/__init__.py, stdnum/gh/tin.py, + tests/test_gh_tin.doctest: Add support for Ghana TIN + + Closes https://github.com/arthurdejong/python-stdnum/pull/326 + Closes https://github.com/arthurdejong/python-stdnum/issues/262 + +2022-10-15 Arthur de Jong + + * [acb6934] stdnum/cas.py: Add CAS Registry Number + +2022-09-18 Leandro Regueiro + + * [2b6e087] stdnum/me/__init__.py, stdnum/me/pib.py, + tests/test_me_pib.doctest: Add support for Montenegro TIN + + Closes https://github.com/arthurdejong/python-stdnum/pull/331 + Closes https://github.com/arthurdejong/python-stdnum/issues/223 + +2022-09-10 Leandro Regueiro + + * [fbe094c] stdnum/fo/__init__.py, stdnum/fo/vn.py, + tests/test_fo_vn.doctest: Add Faroe Islands V-number + + Closes https://github.com/arthurdejong/python-stdnum/pull/323 + Closes https://github.com/arthurdejong/python-stdnum/issues/219 + +2022-09-17 Leandro Regueiro + + * [a261a93] stdnum/mk/__init__.py, stdnum/mk/edb.py, + tests/test_mk_edb.doctest: Add North Macedonian ЕДБ + + Note that this is implementation is mostly based + on unofficial sources describing the format, + which match the hundreds of examples found online. + https://forum.it.mk/threads/modularna-kontrola-na-embg-edb-dbs-itn.15663/?__cf_chl_tk=Op2PaEIauip6Z.ZjvhP897O8gRVAwe5CDAVTpjx1sEo-1663498930-0-gaNycGzNCRE#post-187048 + + Also note that the algorithm for the check digit was tested on + all found examples, and it doesn't work for all of them, despite + those failing examples don't seem to be valid according to the + official online search. + + Closes https://github.com/arthurdejong/python-stdnum/pull/330 + Closes https://github.com/arthurdejong/python-stdnum/issues/222 + +2022-09-23 Dimitri Papadopoulos +<3234522+DimitriPapadopoulos@users.noreply.github.com> + + * [eff3f52] stdnum/cn/ric.py, stdnum/ma/ice.py: Fix a couple typos + found by codespell + + Closes https://github.com/arthurdejong/python-stdnum/pull/333 + +2022-09-04 Leandro Regueiro + + * [31709fc] stdnum/dz/__init__.py, stdnum/dz/nif.py, + tests/test_dz_nif.doctest: Add Algerian NIF number + + This currently only checks the length and whether it only + contains digits because little could be found on the structure + of the number of whether there are any check digits. + + Closes https://github.com/arthurdejong/python-stdnum/pull/313 + Closes https://github.com/arthurdejong/python-stdnum/issues/307 + +2022-09-03 Leandro Regueiro + + * [2907676] stdnum/ma/__init__.py, stdnum/ma/ice.py, + tests/test_ma_ice.doctest: Add support for Morocco TIN + + Closes https://github.com/arthurdejong/python-stdnum/issues/226 + Closes https://github.com/arthurdejong/python-stdnum/pull/312 + +2022-08-08 Leandro Regueiro + + * [d70549a] stdnum/ke/__init__.py, stdnum/ke/pin.py, + tests/test_ke_pin.doctest: Add Kenyan TIN + + Closes https://github.com/arthurdejong/python-stdnum/issues/300 + Closes https://github.com/arthurdejong/python-stdnum/pull/310 + +2022-09-06 Leandro Regueiro + + * [dd70cd5] stdnum/tn/__init__.py, stdnum/tn/mf.py, + tests/test_tn_mf.doctest: Add support for Tunisia TIN + + Closes https://github.com/arthurdejong/python-stdnum/pull/317 + Closes https://github.com/arthurdejong/python-stdnum/issues/309 + +2022-08-15 Arthur de Jong + + * [e40c827] tests/test_eu_vat.py: Update EU VAT Vies test with + new number + + The number used before was apparently no longer valid. + +2022-08-15 Arthur de Jong + + * [5bcc460] stdnum/de/handelsregisternummer.py: Fix German + OffeneRegister company registry URL + +2022-08-15 Arthur de Jong + + * [ee9dfdf] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, + stdnum/cfi.dat, stdnum/cn/loc.dat, stdnum/eu/nace.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: Update database files + +2022-08-15 Arthur de Jong + + * [6b39c3d] update/nz_banks.py: Do not print trailing space + +2022-08-15 Arthur de Jong + + * [e901ac7] update/my_bp.py: Ignore invalid downloaded country codes + + The page currently lists a country without a country code (is + listed as "-"). This also ensures that lists of country codes + are handled consistently. + +2022-08-15 Arthur de Jong + + * [2cf78c2] update/imsi.py: Update names of Wikipedia pages with + IMSI codes + +2022-08-15 Arthur de Jong + + * [975d508] update/at_postleitzahl.py, update/be_banks.py, + update/cfi.py, update/cn_loc.py, update/cz_banks.py, + update/do_whitelists.py, update/eu_nace.py, update/gs1_ai.py, + update/iban.py, update/imsi.py, update/isbn.py, update/isil.py, + update/my_bp.py, update/nz_banks.py, update/oui.py: Provide a + timeout to all download scripts + +2022-08-15 Arthur de Jong + + * [ed37a6a] stdnum/isil.py, update/isil.py: Update ISIL download URL + +2022-08-13 Christian Clauss + + * [8aa6b5e] .github/workflows/test.yml: Remove redundant steps + with tox_job + + This also switches the other Tox jobs to use the latest Python + 3.x interpreter. + + Closes https://github.com/arthurdejong/python-stdnum/pull/305 + +2022-08-03 Romuald R + + * [ce9322c] stdnum/de/handelsregisternummer.py, + tests/test_de_handelsregisternummer.doctest: Add extra court + alias for german Handelsregisternummer + + Charlottenburg (Berlin) is a valid court representation for Berlin + (Charlottenburg). + + See + https://www.northdata.com/VRB+Service+GmbH,+Berlin/Amtsgericht+Charlottenburg+%28Berlin%29+HRB+103587+B + + Closes https://github.com/arthurdejong/python-stdnum/pull/298 + +2022-08-15 Arthur de Jong + + * [eae1dd2] stdnum/ch/esr.py, stdnum/il/idnr.py, stdnum/isin.py, + stdnum/nl/bsn.py, stdnum/no/kontonr.py, stdnum/nz/ird.py, + stdnum/ro/cui.py: Use str.zfill() for padding leading zeros + +2022-06-08 petr.prikryl + + * [c5595c7] stdnum/cz/bankaccount.py, stdnum/cz/banks.dat, + tests/test_cz_bankaccount.doctest, update/cz_banks.py: Add Czech + bank account numbers + + Closes https://github.com/arthurdejong/python-stdnum/issues/295 + Closes https://github.com/arthurdejong/python-stdnum/pull/296 + +2022-08-06 vovavili <64227274+vovavili@users.noreply.github.com> + + * [4d4a0b3] stdnum/isin.py: Fix small typo + + Improper inflection of plurals. + + Closes https://github.com/arthurdejong/python-stdnum/pull/299 + +2022-08-13 Arthur de Jong + + * [7ee0563] setup.cfg, stdnum/ad/nrt.py, stdnum/cr/cpj.py, + stdnum/eu/nace.py, stdnum/id/npwp.py, stdnum/il/hp.py, + stdnum/it/aic.py, stdnum/li/peid.py, stdnum/nz/ird.py, + stdnum/sg/uen.py, stdnum/sv/nit.py, stdnum/za/tin.py, + update/eu_nace.py: Put long line flake8 ignores in files instead + of globally + + We have some long URLs in the code (mostly in docstrings) and + wrapping them does not improve readability (and is difficult + in docstrings) so the E501 ignore is now put inside each file + instead of globally. + + Closes https://github.com/arthurdejong/python-stdnum/pull/302 + +2022-08-13 Arthur de Jong + + * [351be74] .github/workflows/test.yml, setup.py, tox.ini: Add + support for Python 3.10 + +2022-08-08 Christian Clauss + + * [b36c0d6] .github/workflows/test.yml: Upgrade GitHub Actions + + Update checkout to v3 (no relevant changes) and setup-python to v4 + (changes the names for pypy versions). + +2022-08-12 Arthur de Jong + + * [9f79691] stdnum/it/iva.py, update/iban.py: Fix flake8 error + + This stops using not as a function and hopefully also makes the + logic clearer. + +2022-07-04 Arthur de Jong + + * [a280d53] .github/workflows/test.yml: Upgrade to CodeQL Action v2 + + https://github.blog/changelog/2022-04-27-code-scanning-deprecation-of-codeql-action-v1/ + +2022-04-09 Arthur de Jong + + * [8a28e38] setup.cfg, tox.ini: Switch from nose to pytest + + Nose hasn't seen a release since 2015 and sadly doesn't work + with Python 3.10. + + See https://github.com/nose-devs/nose/issues/1099 + +2022-05-09 Arthur de Jong + + * [e831d07] setup.cfg: Ignore flake8 complaining about print + statements + + It seems that flake8 now uses T201 instead of T001 for this check. + +2022-04-08 Alexis de Lattre + + * [7d81eac] stdnum/gs1_128.py, tests/test_gs1_128.doctest: Support + parsing dates without a day in GS1-128 + + Date such as '(17)260400' is now properly interpreted as April + 30th 2026. + + Closes https://github.com/arthurdejong/python-stdnum/pull/294 + +2022-02-05 Cédric Krier + + * [bda2a9c] stdnum/be/nn.py, tests/test_be_nn.doctest: Compute + birth date from Belgian National Number + + Closes https://github.com/arthurdejong/python-stdnum/pull/288 + +2022-03-21 Arthur de Jong + + * [e2a2774] stdnum/iso7064/mod_97_10.py, tests/test_iso7064.doctest: + Return check digits in 02-98 range for ISO 7064 Mod 97, 10 + + There are some valid ranges for check digits within ISO 7064 + Mod 97, 10 that all result in a valid checksum. This changes the + calculated check digits to be in the range from 02 to 98 as is + specified for use in IBAN. + + See + https://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits + + Closes https://github.com/arthurdejong/python-stdnum/pull/289 + +2022-03-07 Cédric Krier + + * [73f5e3a] stdnum/fr/siret.py, tests/test_fr_siret.doctest: + Support special validation of La Post SIRET + + See + https://fr.wikipedia.org/wiki/Système_d'identification_du_répertoire_des_établissements#Exceptions_pour_le_groupe_La_Poste + + Closes https://github.com/arthurdejong/python-stdnum/pull/293 + Closes https://github.com/arthurdejong/python-stdnum/issues/291 + +2022-02-14 Arthur de Jong + + * [27c7c74] stdnum/cfi.py, tests/test_cfi.doctest: Fix Python 2.7 + compatibility of the tests + + Fixes a9039c1 + +2022-02-14 Arthur de Jong + + * [cfc80c8] tox.ini: Support running tests with Python 2.7 + + When using recent versions of virtualenv this ensures that + older versions of pip and setuptools will be used inside the + virtualenvs that are created by tox. + +2022-02-13 Arthur de Jong + + * [a9039c1] stdnum/cfi.dat, stdnum/cfi.py, tests/test_cfi.doctest, + update/cfi.py: Add Classification of Financial Instruments + + This implements parsing of ISO 10962 CFI codes based on the + published description of the structure of these numbers. + + Closes https://github.com/arthurdejong/python-stdnum/issues/283 + +2022-02-13 Arthur de Jong + + * [219ff54] stdnum/numdb.py, tests/numdb-test.dat: Fix problem in + numdb with missing sub-properties + + If a numdb data file line contains multiple values or ranges + the sub-ranges were only applied to the last value in the range. + +2022-02-13 Arthur de Jong + + * [fd32e61] setup.py: Also ensure that embedded certificates + are shipped + +2022-01-09 Arthur de Jong + + * [02dec52] stdnum/mx/curp.py: Fix disabling check digit validation + of Mexican CURP + + The validation functions supported an optional parameter to + disable check digit validation in the number that didn't actually + affect validation and was most likely accidentally copied from + the RFC module. + + Fixes 50874a9 Closes + https://github.com/arthurdejong/python-stdnum/issues/285 + +2021-11-29 Cédric Krier + + * [dcf4730] stdnum/be/__init__.py, stdnum/be/nn.py: Add Belgian + National Number + + Closes https://github.com/arthurdejong/python-stdnum/pull/284 + +2021-10-03 Arthur de Jong + + * [50650a9] ChangeLog, NEWS, README.md, docs/index.rst, + docs/stdnum.in_.epic.rst, docs/stdnum.in_.gstin.rst, + docs/stdnum.isrc.rst, docs/stdnum.pt.cc.rst, + docs/stdnum.se.postnummer.rst, docs/stdnum.th.moa.rst, + docs/stdnum.th.pin.rst, docs/stdnum.th.tin.rst, stdnum/__init__.py: + Get files ready for 1.17 release + 2021-10-03 Arthur de Jong * [0779d6a] stdnum/kr/brn.py, tests/test_kr_brn.py: Remove South diff --git a/NEWS b/NEWS index 7da5d1a6..9969f7d6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,42 @@ +changes from 1.17 to 1.18 +------------------------- + +* Add modules for the following number formats: + + - NN, NISS (Belgian national number) (thanks Cédric Krier) + - CFI (ISO 10962 Classification of Financial Instruments) + - Czech bank account number (thanks Petr Přikryl) + - NIF, sometimes N.I.F. (Numéro d'Identification Fiscale, Algeria tax number) + (thanks Leandro Regueiro) + - V-number (Vinnutal, Faroe Islands tax number) (thanks Leandro Regueiro) + - TIN (Taxpayer Identification Number, Ghana tax number) (thanks Leandro Regueiro) + - PIN (Personal Identification Number, Kenya tax number) (thanks Leandro Regueiro) + - ICE (Identifiant Commun de l’Entreprise, التعريف الموحد للمقاولة, Morocco tax number) + (thanks Leandro Regueiro) + - PIB (Poreski Identifikacioni Broj, Montenegro tax number) (thanks Leandro Regueiro) + - ЕДБ (Едниствен Даночен Број, North Macedonia tax number) (thanks Leandro Regueiro) + - CNIC number (Pakistani Computerised National Identity Card number) + (thanks Syed Haseeb Shah) + - Enotna matična številka občana (Unique Master Citizen Number) + (thanks Blaž Bregar) + - MF (Matricule Fiscal, Tunisia tax number) (thanks Leandro Regueiro) + +* Fix disabling check digit validation of Mexican CURP (thanks guyskk) +* Support special validation of La Post SIRET (thanks BIGBen99 and Cédric Krier) +* Fix support for "I" and "O" in CUSIP number (thanks Thomas Kavanagh) +* Calculate ISO 7064 Mod 97, 10 check digits in the range 02-98 for IBAN + (thanks David Svenson) +* Fix German OffeneRegister lookups (change of URL and of data structure) +* Add extra court alias for Berlin in German Handelsregisternummer (thanks Romuald R) +* Ensure certificate for the Belarus VAT number check_nalog() lookup is included +* Support parsing incomplete dates in GS1-128 (thanks Alexis de Lattre) +* Improve validation of CAS Registry Number +* Typo fixes (thanks Vladimir and Dimitri Papadopoulos) +* Add a check_uid() function to the stdnum.ch.uid module +* All validation exceptions should now inherit from ValueError +* Switch from nose to pytest as test runner + + changes from 1.16 to 1.17 ------------------------- diff --git a/README.md b/README.md index 0b5ec41f..bd33ddc6 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ Currently this package supports the following formats: * ACN (Australian Company Number) * TFN (Australian Tax File Number) * Belgian IBAN (International Bank Account Number) + * NN, NISS (Belgian national number) * BTW, TVA, NWSt, ondernemingsnummer (Belgian enterprise number) * EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) * PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner) @@ -41,6 +42,7 @@ Currently this package supports the following formats: * BN (Canadian Business Number) * SIN (Canadian Social Insurance Number) * CAS RN (Chemical Abstracts Service Registry Number) + * CFI (ISO 10962 Classification of Financial Instruments) * ESR, ISR, QR-reference (reference number on Swiss payment slips) * Swiss social security number ("Sozialversicherungsnummer") * UID (Unternehmens-Identifikationsnummer, Swiss business identifier) @@ -55,6 +57,7 @@ Currently this package supports the following formats: * NI (Número de identidad, Cuban identity card numbers) * CUSIP number (financial security identification number) * Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number) + * Czech bank account number * DIČ (Daňové identifikační číslo, Czech VAT number) * RČ (Rodné číslo, the Czech birth number) * Handelsregisternummer (German company register number) @@ -67,6 +70,7 @@ Currently this package supports the following formats: * Cedula (Dominican Republic national identification number) * NCF (Números de Comprobante Fiscal, Dominican Republic receipt number) * RNC (Registro Nacional del Contribuyente, Dominican Republic tax number) + * NIF, sometimes N.I.F. (Numéro d'Identification Fiscale, Algeria tax number) * EAN (International Article Number) * CI (Cédula de identidad, Ecuadorian personal identity code) * RUC (Registro Único de Contribuyentes, Ecuadorian company tax number) @@ -92,6 +96,7 @@ Currently this package supports the following formats: * Veronumero (Finnish individual tax number) * Y-tunnus (Finnish business identifier) * FIGI (Financial Instrument Global Identifier) + * V-number (Vinnutal, Faroe Islands tax number) * NIF (Numéro d'Immatriculation Fiscale, French tax identification number) * NIR (French personal identification number) * SIREN (a French company identification number) @@ -102,6 +107,7 @@ Currently this package supports the following formats: * UPN (English Unique Pupil Number) * UTR (United Kingdom Unique Taxpayer Reference) * VAT (United Kingdom (and Isle of Man) VAT registration number) + * TIN (Taxpayer Identification Number, Ghana tax number) * AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number) * FPA, ΦΠΑ, ΑΦΜ (Αριθμός Φορολογικού Μητρώου, the Greek VAT number) * GRid (Global Release Identifier) @@ -137,6 +143,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) + * PIN (Personal Identification Number, Kenya tax number) * BRN (사업자 등록 번호, South Korea Business Registration Number) * RRN (South Korean resident registration number) * LEI (Legal Entity Identifier) @@ -145,11 +152,14 @@ Currently this package supports the following formats: * PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number) * TVA (taxe sur la valeur ajoutée, Luxembourgian VAT number) * PVN (Pievienotās vērtības nodokļa, Latvian VAT number) + * ICE (Identifiant Commun de l’Entreprise, التعريف الموحد للمقاولة, Morocco tax number) * MAC address (Media Access Control address) * n° TVA (taxe sur la valeur ajoutée, Monacan VAT number) * IDNO (Moldavian company identification number) * Montenegro IBAN (International Bank Account Number) + * PIB (Poreski Identifikacioni Broj, Montenegro tax number) * MEID (Mobile Equipment Identifier) + * ЕДБ (Едниствен Даночен Број, North Macedonia tax number) * VAT (Maltese VAT number) * ID number (Mauritian national identifier) * CURP (Clave Única de Registro de Población, Mexican personal ID) @@ -169,6 +179,7 @@ Currently this package supports the following formats: * IRD number (New Zealand Inland Revenue Department (Te Tari Tāke) number) * CUI (Cédula Única de Identidad, Peruvian identity number) * RUC (Registro Único de Contribuyentes, Peruvian company tax number) + * CNIC number (Pakistani Computerised National Identity Card number) * NIP (Numer Identyfikacji Podatkowej, Polish VAT number) * PESEL (Polish national identification number) * REGON (Rejestr Gospodarki Narodowej, Polish register of economic units) @@ -187,6 +198,7 @@ Currently this package supports the following formats: * VAT (Moms, Mervärdesskatt, Swedish VAT number) * UEN (Singapore's Unique Entity Number) * ID za DDV (Davčna številka, Slovenian VAT number) + * Enotna matična številka občana (Unique Master Citizen Number) * IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number) * RČ (Rodné číslo, the Slovak birth number) * COE (Codice operatore economico, San Marino national tax number) @@ -194,6 +206,7 @@ Currently this package supports the following formats: * MOA (Thailand Memorandum of Association Number) * PIN (Thailand Personal Identification Number) * TIN (Thailand Taxpayer Identification Number) + * MF (Matricule Fiscal, Tunisia tax number) * T.C. Kimlik No. (Turkish personal identification number) * VKN (Vergi Kimlik Numarası, Turkish tax identification number) * UBN (Unified Business Number, 統一編號, Taiwanese tax number) @@ -267,7 +280,7 @@ also work with older versions of Python. Copyright --------- -Copyright (C) 2010-2021 Arthur de Jong and others +Copyright (C) 2010-2022 Arthur de Jong and others This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/docs/index.rst b/docs/index.rst index 193efb12..e48b450d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -127,6 +127,7 @@ Available formats au.acn au.tfn be.iban + be.nn be.vat bg.egn bg.pnf @@ -139,6 +140,7 @@ Available formats ca.bn ca.sin casrn + cfi ch.esr ch.ssn ch.uid @@ -153,6 +155,7 @@ Available formats cu.ni cusip cy.vat + cz.bankaccount cz.dic cz.rc de.handelsregisternummer @@ -165,6 +168,7 @@ Available formats do.cedula do.ncf do.rnc + dz.nif ean ec.ci ec.ruc @@ -190,6 +194,7 @@ Available formats fi.veronumero fi.ytunnus figi + fo.vn fr.nif fr.nir fr.siren @@ -200,6 +205,7 @@ Available formats gb.upn gb.utr gb.vat + gh.tin gr.amka gr.vat grid @@ -235,6 +241,7 @@ Available formats it.codicefiscale it.iva jp.cn + ke.pin kr.brn kr.rrn lei @@ -243,11 +250,14 @@ Available formats lt.pvm lu.tva lv.pvn + ma.ice mac mc.tva md.idno me.iban + me.pib meid + mk.edb mt.vat mu.nid mx.curp @@ -267,6 +277,7 @@ Available formats nz.ird pe.cui pe.ruc + pk.cnic pl.nip pl.pesel pl.regon @@ -285,6 +296,7 @@ Available formats se.vat sg.uen si.ddv + si.emso sk.dph sk.rc sm.coe @@ -292,6 +304,7 @@ Available formats th.moa th.pin th.tin + tn.mf tr.tckimlik tr.vkn tw.ubn diff --git a/docs/stdnum.be.nn.rst b/docs/stdnum.be.nn.rst new file mode 100644 index 00000000..1937b8b7 --- /dev/null +++ b/docs/stdnum.be.nn.rst @@ -0,0 +1,5 @@ +stdnum.be.nn +============ + +.. automodule:: stdnum.be.nn + :members: \ No newline at end of file diff --git a/docs/stdnum.cfi.rst b/docs/stdnum.cfi.rst new file mode 100644 index 00000000..bc4be164 --- /dev/null +++ b/docs/stdnum.cfi.rst @@ -0,0 +1,5 @@ +stdnum.cfi +========== + +.. automodule:: stdnum.cfi + :members: \ No newline at end of file diff --git a/docs/stdnum.cz.bankaccount.rst b/docs/stdnum.cz.bankaccount.rst new file mode 100644 index 00000000..64ed9d56 --- /dev/null +++ b/docs/stdnum.cz.bankaccount.rst @@ -0,0 +1,5 @@ +stdnum.cz.bankaccount +===================== + +.. automodule:: stdnum.cz.bankaccount + :members: \ No newline at end of file diff --git a/docs/stdnum.dz.nif.rst b/docs/stdnum.dz.nif.rst new file mode 100644 index 00000000..845b47d6 --- /dev/null +++ b/docs/stdnum.dz.nif.rst @@ -0,0 +1,5 @@ +stdnum.dz.nif +============= + +.. automodule:: stdnum.dz.nif + :members: \ No newline at end of file diff --git a/docs/stdnum.fo.vn.rst b/docs/stdnum.fo.vn.rst new file mode 100644 index 00000000..74730ee7 --- /dev/null +++ b/docs/stdnum.fo.vn.rst @@ -0,0 +1,5 @@ +stdnum.fo.vn +============ + +.. automodule:: stdnum.fo.vn + :members: \ No newline at end of file diff --git a/docs/stdnum.gh.tin.rst b/docs/stdnum.gh.tin.rst new file mode 100644 index 00000000..fe8aaf5d --- /dev/null +++ b/docs/stdnum.gh.tin.rst @@ -0,0 +1,5 @@ +stdnum.gh.tin +============= + +.. automodule:: stdnum.gh.tin + :members: \ No newline at end of file diff --git a/docs/stdnum.ke.pin.rst b/docs/stdnum.ke.pin.rst new file mode 100644 index 00000000..bd47baf7 --- /dev/null +++ b/docs/stdnum.ke.pin.rst @@ -0,0 +1,5 @@ +stdnum.ke.pin +============= + +.. automodule:: stdnum.ke.pin + :members: \ No newline at end of file diff --git a/docs/stdnum.ma.ice.rst b/docs/stdnum.ma.ice.rst new file mode 100644 index 00000000..32ef626c --- /dev/null +++ b/docs/stdnum.ma.ice.rst @@ -0,0 +1,5 @@ +stdnum.ma.ice +============= + +.. automodule:: stdnum.ma.ice + :members: \ No newline at end of file diff --git a/docs/stdnum.me.pib.rst b/docs/stdnum.me.pib.rst new file mode 100644 index 00000000..b713647c --- /dev/null +++ b/docs/stdnum.me.pib.rst @@ -0,0 +1,5 @@ +stdnum.me.pib +============= + +.. automodule:: stdnum.me.pib + :members: \ No newline at end of file diff --git a/docs/stdnum.mk.edb.rst b/docs/stdnum.mk.edb.rst new file mode 100644 index 00000000..bff1a283 --- /dev/null +++ b/docs/stdnum.mk.edb.rst @@ -0,0 +1,5 @@ +stdnum.mk.edb +============= + +.. automodule:: stdnum.mk.edb + :members: \ No newline at end of file diff --git a/docs/stdnum.pk.cnic.rst b/docs/stdnum.pk.cnic.rst new file mode 100644 index 00000000..c3a191b2 --- /dev/null +++ b/docs/stdnum.pk.cnic.rst @@ -0,0 +1,5 @@ +stdnum.pk.cnic +============== + +.. automodule:: stdnum.pk.cnic + :members: \ No newline at end of file diff --git a/docs/stdnum.si.emso.rst b/docs/stdnum.si.emso.rst new file mode 100644 index 00000000..e4cd833a --- /dev/null +++ b/docs/stdnum.si.emso.rst @@ -0,0 +1,5 @@ +stdnum.si.emso +============== + +.. automodule:: stdnum.si.emso + :members: \ No newline at end of file diff --git a/docs/stdnum.tn.mf.rst b/docs/stdnum.tn.mf.rst new file mode 100644 index 00000000..781d0b94 --- /dev/null +++ b/docs/stdnum.tn.mf.rst @@ -0,0 +1,5 @@ +stdnum.tn.mf +============ + +.. automodule:: stdnum.tn.mf + :members: \ No newline at end of file diff --git a/stdnum/__init__.py b/stdnum/__init__.py index 6059d02d..d1991ecf 100644 --- a/stdnum/__init__.py +++ b/stdnum/__init__.py @@ -1,7 +1,7 @@ # __init__.py - main module # coding: utf-8 # -# Copyright (C) 2010-2021 Arthur de Jong +# Copyright (C) 2010-2022 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 @@ -43,4 +43,4 @@ __all__ = ('get_cc_module', '__version__') # the version number of the library -__version__ = '1.17' +__version__ = '1.18' diff --git a/stdnum/gh/tin.py b/stdnum/gh/tin.py index 4ca6f6b5..7fad4c11 100644 --- a/stdnum/gh/tin.py +++ b/stdnum/gh/tin.py @@ -27,13 +27,11 @@ This number consists of 11 alpha-numeric characters. It begins with one of the following prefixes: - P00 For Individuals. - C00 For Companies limited by guarantee, shares, Unlimited (i.e organisation - required to register with the RGD). - G00 Government Agencies, MDAs. - Q00 Foreign Missions, Employees of foreign missions. - V00 Public Institutions, Trusts, Co-operatives, Foreign Shareholder - (Offshore), (Entities not registered by RGD). + P00 For Individuals. + C00 For Companies limited by guarantee, shares, Unlimited (i.e organisation required to register with the RGD). + G00 Government Agencies, MDAs. + Q00 Foreign Missions, Employees of foreign missions. + V00 Public Institutions, Trusts, Co-operatives, Foreign Shareholder (Offshore), (Entities not registered by RGD). More information: diff --git a/tox.ini b/tox.ini index a6449083..63dd3bd5 100644 --- a/tox.ini +++ b/tox.ini @@ -31,5 +31,6 @@ deps = flake8 commands = flake8 stdnum tests update setup.py [testenv:docs] +use_develop = true deps = Sphinx commands = sphinx-build -N -b html docs {envtmpdir}/sphinx -W