Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2022-11-13 00:46:13 +0100
committerArthur de Jong <arthur@arthurdejong.org>2022-11-13 20:10:27 +0100
commit60a90ede3b5a0a91c9cc0cf5120abd16f8e794ff (patch)
tree9b775f4b5bada1a0c8feee7a084a6f7808e4ccd3
parent31b2694344b665146e54de7bb549157849d54082 (diff)
Get files ready for 1.18 release1.18
-rw-r--r--ChangeLog514
-rw-r--r--NEWS39
-rw-r--r--README.md15
-rw-r--r--docs/index.rst13
-rw-r--r--docs/stdnum.be.nn.rst5
-rw-r--r--docs/stdnum.cfi.rst5
-rw-r--r--docs/stdnum.cz.bankaccount.rst5
-rw-r--r--docs/stdnum.dz.nif.rst5
-rw-r--r--docs/stdnum.fo.vn.rst5
-rw-r--r--docs/stdnum.gh.tin.rst5
-rw-r--r--docs/stdnum.ke.pin.rst5
-rw-r--r--docs/stdnum.ma.ice.rst5
-rw-r--r--docs/stdnum.me.pib.rst5
-rw-r--r--docs/stdnum.mk.edb.rst5
-rw-r--r--docs/stdnum.pk.cnic.rst5
-rw-r--r--docs/stdnum.si.emso.rst5
-rw-r--r--docs/stdnum.tn.mf.rst5
-rw-r--r--stdnum/__init__.py4
-rw-r--r--stdnum/gh/tin.py12
-rw-r--r--tox.ini1
20 files changed, 653 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 894e58d..47e32ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,517 @@
+2022-11-13 Arthur de Jong <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <blaz@aklaro.si>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [8b5b07a] stdnum/casrn.py: Remove unused import
+
+ Fixes 09d595b
+
+2022-10-19 Arthur de Jong <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [acb6934] stdnum/cas.py: Add CAS Registry Number
+
+2022-09-18 Leandro Regueiro <leandro.regueiro@gmail.com>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <leandro.regueiro@gmail.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [5bcc460] stdnum/de/handelsregisternummer.py: Fix German
+ OffeneRegister company registry URL
+
+2022-08-15 Arthur de Jong <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [6b39c3d] update/nz_banks.py: Do not print trailing space
+
+2022-08-15 Arthur de Jong <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [2cf78c2] update/imsi.py: Update names of Wikipedia pages with
+ IMSI codes
+
+2022-08-15 Arthur de Jong <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [ed37a6a] stdnum/isil.py, update/isil.py: Update ISIL download URL
+
+2022-08-13 Christian Clauss <cclauss@me.com>
+
+ * [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 <romualdr@users.noreply.github.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <petr.prikryl@olc.cz>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [351be74] .github/workflows/test.yml, setup.py, tox.ini: Add
+ support for Python 3.10
+
+2022-08-08 Christian Clauss <cclauss@me.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <alexis.delattre@akretion.com>
+
+ * [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 <ced@b2ck.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <ced@b2ck.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [27c7c74] stdnum/cfi.py, tests/test_cfi.doctest: Fix Python 2.7
+ compatibility of the tests
+
+ Fixes a9039c1
+
+2022-02-14 Arthur de Jong <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [fd32e61] setup.py: Also ensure that embedded certificates
+ are shipped
+
+2022-01-09 Arthur de Jong <arthur@arthurdejong.org>
+
+ * [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 <ced@b2ck.com>
+
+ * [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 <arthur@arthurdejong.org>
+
+ * [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 <arthur@arthurdejong.org>
* [0779d6a] stdnum/kr/brn.py, tests/test_kr_brn.py: Remove South
diff --git a/NEWS b/NEWS
index 7da5d1a..9969f7d 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 0b5ec41..bd33ddc 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 193efb1..e48b450 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 0000000..1937b8b
--- /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 0000000..bc4be16
--- /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 0000000..64ed9d5
--- /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 0000000..845b47d
--- /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 0000000..74730ee
--- /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 0000000..fe8aaf5
--- /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 0000000..bd47baf
--- /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 0000000..32ef626
--- /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 0000000..b713647
--- /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 0000000..bff1a28
--- /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 0000000..c3a191b
--- /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 0000000..e4cd833
--- /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 0000000..781d0b9
--- /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 6059d02..d1991ec 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 @@ from stdnum.util import get_cc_module
__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 4ca6f6b..7fad4c1 100644
--- a/stdnum/gh/tin.py
+++ b/stdnum/gh/tin.py
@@ -27,13 +27,11 @@ are not eligible for the Ghanacard PIN and other entities.
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 a644908..63dd3bd 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