2024-03-17 Arthur de Jong * [b454d3a] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/gs1_128.py, stdnum/gs1_ai.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/nz/banks.dat, stdnum/oui.dat, tests/test_be_iban.doctest, update/gs1_ai.py: Update database files The Belgian bpost bank no longer has a registration and a few bank account numbers in the tests that used that bank were removed. Also updates the update/gs1_ai.py script to handle the new format of the data published by GS1. Also update the GS1-128 module to handle some different date formats. The Pakistan entry was kept in the stdnum/iban.dat file because the PDF version of the IBAN Registry still contains the country. fix db 2024-03-17 Arthur de Jong * [97dbced] tox.ini: Add update-dat tox target for convenient data file updating 2024-03-17 Arthur de Jong * [26fd25b] setup.cfg, update/cfi.py, update/nz_banks.py, update/requirements.txt: Switch to using openpyxl for parsing XLSX files The xlrd has dropped support for parsing XLSX files. We still use xlrd for update/be_banks.py because they use the classic XLS format and openpyxl does not support that format. 2024-03-17 Arthur de Jong * [9230604] stdnum/za/idnr.py: Use HTTPS in URLs where possible 2024-02-27 Atul Deolekar * [7cba469] stdnum/in_/vid.py: Add Indian virtual identity number Closes https://github.com/arthurdejong/python-stdnum/pull/428 2024-03-17 Arthur de Jong * [bb20121] stdnum/ua/edrpou.py, tests/test_ua_edrpou.doctest: Fix Ukrainian EDRPOU check digit calculation This fixes the case where the weighted sum woud be 10 which should result in a check digit of 0. Closes https://github.com/arthurdejong/python-stdnum/issues/429 2023-12-15 Kevin Dagostino * [9c7c669] stdnum/fr/nif.py: Imporve French NIF validation (checksum) The last 3 digits are a checksum. % 511 https://ec.europa.eu/taxation_customs/tin/specs/FS-TIN%20Algorithms-Public.docx Closes https://github.com/arthurdejong/python-stdnum/pull/426 2024-02-03 Arthur de Jong * [1e412ee] stdnum/vatin.py, tests/test_vatin.doctest: Fix vatin number compacting for "EU" VAT numbers Thanks Davide Walder for finding this. Closes https://github.com/arthurdejong/python-stdnum/issues/427 2023-11-19 Daniel Weber * [2535bbf] stdnum/eu/ecnumber.py, tests/test_eu_ecnumber.doctest: Add European Community (EC) Number Closes https://github.com/arthurdejong/python-stdnum/pull/422 2023-10-20 Ömer Boratav * [2478483] stdnum/ca/bc_phn.py: Add British Columbia PHN Closes https://github.com/arthurdejong/python-stdnum/pull/421 2023-11-12 Arthur de Jong * [58d6283] stdnum/ro/cf.py, tests/test_eu_vat.doctest: Ensure EU VAT numbers don't accept duplicate country codes 2023-11-12 Arthur de Jong * [1a5db1f] stdnum/de/vat.py: Fix typo (thanks Александр Кизеев) 2023-10-02 Arthur de Jong * [352bbcb] .github/workflows/test.yml, setup.py, tox.ini: Add support for Python 3.12 2023-08-20 Arthur de Jong * [fa455fc] ChangeLog, NEWS, README.md, docs/index.rst, docs/stdnum.be.bis.rst, docs/stdnum.eg.tn.rst, docs/stdnum.es.postal_code.rst, docs/stdnum.eu.oss.rst, docs/stdnum.gn.nifp.rst, docs/stdnum.si.maticna.rst, stdnum/__init__.py: Get files ready for 1.19 release 2023-08-20 Arthur de Jong * [3191b4c] MANIFEST.in: Ensure all files are included in source archive Fixes b1dc313 Fixes 90044e2 2023-08-20 Arthur de Jong * [3947a54] stdnum/by/portal.nalog.gov.by.crt, stdnum/by/unp.py: Remove obsolete intermediate certificate The portal.nalog.gov.by web no longer has an incomplete certificate chain. 2023-08-20 Arthur de Jong * [7761e42] stdnum/numdb.py: Use importlib.resource in place of deprecated pkg_resources Closes https://github.com/arthurdejong/python-stdnum/issues/412 Closes https://github.com/arthurdejong/python-stdnum/pull/413 2023-08-20 Arthur de Jong * [f6edcc5] tests/test_do_rnc.py: Avoid the deprecated assertRegexpMatches function 2023-08-20 Arthur de Jong * [895f092] setup.cfg: Rename license_file option in setup.cfg It seems the old option wasn't working with all versions of setuptools anyway. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html 2023-08-20 Arthur de Jong * [3126f96] stdnum/by/unp.py, tests/test_by_unp.py: Update Belarusian UNP online check The API for the online check for Belarusian UNP numbers at https://www.portal.nalog.gov.by/grp/getData has changed some small details of the API. 2023-08-20 Arthur de Jong * [88d1dca] tests/test_de_handelsregisternummer.py: Replace test number for German company registry The number seems to be no longer valid breaking the online tests. 2023-08-20 Arthur de Jong * [6e56f3c] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/gs1_ai.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/nz/banks.dat, stdnum/oui.dat, tests/test_be_iban.doctest, update/oui.py: Update database files This also modifies the OUI update script because the website has changed to HTTPS and is sometimes very slow. The Belgian Commerzbank no longer has a registration and a bank account number in the tests used that bank. 2023-08-20 Arthur de Jong * [0aa0b85] update/eu_nace.py: Remove EU NACE update script The website that publishes the NACE catalogue has changed and a complete re-write of the script would be necessary. The data file hasn't changed since 2017 so is also unlikely to change until it is going to be replaced by NACE rev. 2.1 in 2025. See https://ec.europa.eu/eurostat/web/nace The NACE rev 2 specification can now be found here: https://showvoc.op.europa.eu/#/datasets/ESTAT_Statistical_Classification_of_Economic_Activities_in_the_European_Community_Rev._2/data The NACE rev 2.1 specification can now be found here: https://showvoc.op.europa.eu/#/datasets/ESTAT_Statistical_Classification_of_Economic_Activities_in_the_European_Community_Rev._2.1._%28NACE_2.1%29/data In both cases a ZIP file with RDF metadata can be downloaded (but the web applciation also exposes some simpler JSON APIs). 2023-08-13 Arthur de Jong * [f58e08d] stdnum/eu/oss.py, stdnum/eu/vat.py, tests/test_eu_oss.doctest, tests/test_eu_vat.doctest: Validate European VAT numbers with EU or IM prefix Closes https://github.com/arthurdejong/python-stdnum/pull/417 2023-06-30 Blaž Bregar * [d0f4c1a] stdnum/si/__init__.py, stdnum/si/maticna.py, tests/test_si_maticna.doctest: Add Slovenian Corporate Registration Number Closes https://github.com/arthurdejong/python-stdnum/pull/414 2023-08-06 Arthur de Jong * [b8ee830] .github/workflows/test.yml, scripts/check_headers.py, tox.ini: Extend license check to file header check This also checks that the file name referenced in the file header is correct. 2023-08-06 Arthur de Jong * [ef49f49] stdnum/be/bis.py, stdnum/be/nn.py, stdnum/de/stnr.py, stdnum/dz/nif.py, stdnum/fi/alv.py, stdnum/gb/utr.py, stdnum/hr/oib.py, stdnum/md/idno.py, stdnum/pl/regon.py, stdnum/py/ruc.py, stdnum/sk/dph.py, stdnum/tn/mf.py, stdnum/ua/edrpou.py, stdnum/ua/rntrc.py, stdnum/vn/mst.py, stdnum/za/idnr.py, tests/test_al_nipt.doctest, tests/test_gb_sedol.doctest, tests/test_iso6346.doctest, tests/test_iso7064.doctest, tests/test_th_moa.doctest, tests/test_tn_mf.doctest, tests/test_ve_rif.doctest: Fix file headers This improves consistency across files and fixes some files that had an incorrect file name reference. 2023-07-30 Arthur de Jong * [3848318] stdnum/ca/sin.py: Validate first digit of Canadian SIN See http://www.straightlineinternational.com/docs/vaildating_canadian_sin.pdf See https://lists.arthurdejong.org/python-stdnum-users/2023/msg00000.html 2023-06-20 Jeff Horemans * [be33a80] stdnum/be/bis.py, stdnum/be/nn.py, tests/test_be_bis.doctest, tests/test_be_nn.doctest: Add Belgian BIS Number Closes https://github.com/arthurdejong/python-stdnum/pull/418 2023-06-19 Arthur de Jong * [8ce4a47] .github/workflows/test.yml: Run Python 2.7 tests in a container for GitHub Actions See https://github.com/actions/setup-python/issues/672 2023-06-13 Jeff Horemans * [311fd56] stdnum/be/nn.py, tests/test_be_nn.doctest: Handle (partially) unknown birthdate of Belgian National Number This adds documentation for the special cases regarding birth dates embedded in the number, allows for date parts to be unknown and adds functions for getting the year and month. Closes https://github.com/arthurdejong/python-stdnum/pull/416 2023-06-01 Chales Horn * [7d3ddab] stdnum/isbn.py, stdnum/issn.py: Minor ISSN and ISBN documentation fixes Fix a comment that claimed incorrect ISSN length and use slightly more consistent terminology around check digits in ISSN and ISBN. Closes https://github.com/arthurdejong/python-stdnum/pull/415 2023-05-12 Arthur de Jong * [90044e2] .github/workflows/test.yml, scripts/check_license_headers.py, tox.ini: Add automated checking for correct license header 2023-01-28 Leandro Regueiro * [62d15e9] stdnum/gn/__init__.py, stdnum/gn/nifp.py, tests/test_gn_nifp.doctest: Add support for Guinea TIN Closes https://github.com/arthurdejong/python-stdnum/issues/384 Closes https://github.com/arthurdejong/python-stdnum/pull/386 2023-02-24 Victor * [96abcfe] stdnum/es/postal_code.py: Add Spanish postcode validator Closes https://github.com/arthurdejong/python-stdnum/pull/401 2023-02-13 mjturt * [36858cc] stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Add support for Finland HETU new century indicating signs More information at https://dvv.fi/en/reform-of-personal-identity-code Cloess https://github.com/arthurdejong/python-stdnum/pull/396 2023-01-05 Jeff Horemans * [42d2792] stdnum/be/nn.py, tests/test_be_nn.doctest: Add functionality to get gender from Belgian National Number This also extends the documentation for the number. Closes https://github.com/arthurdejong/python-stdnum/pull/347/files 2023-03-06 RaduBorzea <101399404+RaduBorzea@users.noreply.github.com> * [cf14a9f] stdnum/ro/cnp.py: Add get_county() function to Romanian CNP This also validates the county part of the number. Closes https://github.com/arthurdejong/python-stdnum/pull/407 2023-03-19 Arthur de Jong * [a8b6573] docs/conf.py, setup.cfg, tox.ini: Ensure flake8 is run on all Python files This also fixes code style fixes in the Sphinx configuration file. 2023-03-18 Arthur de Jong * [7af50b7] .github/workflows/test.yml, setup.py, tox.ini: Add support for Python 3.11 2023-03-18 Arthur de Jong * [8498b37] stdnum/gs1_128.py: Fix date formatting on PyPy 2.7 The original way of calling strftime was likely an artifact of Python 2.6 support. Fixes 7e84c05 2023-03-18 Arthur de Jong * [7e84c05] stdnum/gs1_128.py, stdnum/gs1_ai.dat, tests/test_gs1_128.doctest, update/gs1_ai.py: Extend date parsing in GS1-128 Some new AIs have new date formats or have changed the way optional components of formats are defined. 2023-03-09 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [bf1bdfe] stdnum/iban.dat: Update IBAN database file Closes https://github.com/arthurdejong/python-stdnum/pull/409 2023-03-18 Arthur de Jong * [a09a7ce] stdnum/al/nipt.py, tests/test_al_nipt.doctest: Fix Albanian tax number validation This extends the description of the Albanian NIPT (NUIS) number with information on the structure of the number. The first character was previously limited between J and L but this letter indicates a decade and the number is also used for individuals to where it indicates a birth date. Thanks Julien Launois for pointing this out. Source: https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Albania-TIN.pdf Fixes 3db826c Closes https://github.com/arthurdejong/python-stdnum/pull/402 2023-03-13 Ali-Akber Saifee * [031a249] stdnum/sg/uen.py: Fix typo in UEN docstring 2023-01-02 Arthur de Jong * [cf22705] online_check/stdnum.wsgi, tox.ini: Extend number properties to show in online check This also ensures that flake8 is run on the WSGI script. 2022-10-09 Leandro Regueiro * [6d366e3] stdnum/eg/__init__.py, stdnum/eg/tn.py, tests/test_eg_tn.doctest: Add support for Egypt TIN This also convertis Arabic digits to ASCII digits. Closes https://github.com/arthurdejong/python-stdnum/issues/225 Closes https://github.com/arthurdejong/python-stdnum/pull/334 2022-12-30 Arthur de Jong * [b1dc313] CONTRIBUTING.md, docs/contributing.rst, docs/index.rst: Add initial CONTRIBUTING.md file Initial description of the information needed for adding new number formats and some coding and testing guidelines. 2022-12-05 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [df894c3] stdnum/ch/uid.py, stdnum/gh/tin.py: Fix typos found by codespell Closes https://github.com/arthurdejong/python-stdnum/pull/344 2022-12-12 Arthur de Jong * [4f8155c] .github/workflows/test.yml: Run Python 3.5 and 3.6 GitHub tests on older Ubuntu The ubuntu-latest now points to ubuntu-22.04 instead of ubuntu-20.04 before. This also switches the PyPy version to test with to 3.9. 2022-11-29 valeriko * [74d854f] stdnum/ee/ik.py: Fix a typo Clocses https://github.com/arthurdejong/python-stdnum/pull/341 2022-11-28 Arthur de Jong * [7a91a98] tox.ini: Avoid newer flake8 The new 6.0.0 contains a number of backwards incompatible changes for which plugins need to be updated and configuration needs to be updated. Sadly the maintainer no longer accepts contributions or discussion See https://github.com/PyCQA/flake8/issues/1760 2022-11-13 Arthur de Jong * [60a90ed] ChangeLog, NEWS, README.md, docs/index.rst, docs/stdnum.be.nn.rst, docs/stdnum.cfi.rst, docs/stdnum.cz.bankaccount.rst, docs/stdnum.dz.nif.rst, docs/stdnum.fo.vn.rst, docs/stdnum.gh.tin.rst, docs/stdnum.ke.pin.rst, docs/stdnum.ma.ice.rst, docs/stdnum.me.pib.rst, docs/stdnum.mk.edb.rst, docs/stdnum.pk.cnic.rst, docs/stdnum.si.emso.rst, docs/stdnum.tn.mf.rst, stdnum/__init__.py, stdnum/gh/tin.py, tox.ini: Get files ready for 1.18 release 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 Korean BRN online check The Korea Fair Trade Commission website now requires solving a CAPTCHA before submitting the request so this is no longer possible. 2021-10-03 Arthur de Jong * [61ebc9c] stdnum/no/orgnr.py: Add documentation for Norwegian Organisasjonsnummer 2021-10-03 Arthur de Jong * [9da63a4] tests/test_do_cedula.py: Update Cedula online test value Apparently the previously whitelisted value is no longer recognised as a valid value by the DGII service. 2021-10-03 Arthur de Jong * [25c30d7] stdnum/by/portal.nalog.gov.by.crt: Update Let's Encrypt R3 intermediate certificate The portal.nalog.gov.by web site serves an incomplete certificate chain and the certificate chain was changed. 2021-10-03 Arthur de Jong * [3406c24] MANIFEST.in, README.md, docs/index.rst, setup.py, update/numlist.py: Rename README to README.md Mostly to please GitHub. See https://github.com/arthurdejong/python-stdnum/issues/280 2021-10-03 Arthur de Jong * [d5cba0a] stdnum/at/postleitzahl.dat, stdnum/be/banks.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/nz/banks.dat, stdnum/oui.dat, update/gs1_ai.py: Update database files 2021-09-30 Gaurav Chauhan <71322586+vairag22@users.noreply.github.com> * [26a7e7b] stdnum/in_/__init__.py, stdnum/in_/gstin.py: Add Indian GSTIN (VAT number) Closes https://github.com/arthurdejong/python-stdnum/pull/279 2021-09-30 Gaurav Chauhan <71322586+vairag22@users.noreply.github.com> * [ca560cd] stdnum/in_/epic.py: Add Indian EPIC number (Voter ID number) Closes https://github.com/arthurdejong/python-stdnum/pull/279 2021-09-30 Gaurav Chauhan <71322586+vairag22@users.noreply.github.com> * [fc56388] stdnum/in_/aadhaar.py, stdnum/in_/pan.py: Improve validation and docstrings of Indian numbers This ensures that an Aadhaar cannot be a palindrome and checks the serial part of the PAN to not be all zeros. It also updates some descriptions of PAN holder types and renames the card_holder_type to just holder_type. Closes https://github.com/arthurdejong/python-stdnum/pull/279 2021-09-19 Arthur de Jong * [1a0e613] stdnum/ec/ruc.py, tests/test_ec_ruc.doctest: Fix detection of natural RUC values A natural RUC is the CI plus an establishment number. Both the natural RUC and the public RUC can have a third digit with the value 6. Closes https://github.com/arthurdejong/python-stdnum/issues/267 2021-08-20 michele * [8071444] stdnum/se/__init__.py, stdnum/se/postnummer.py, tests/test_se_postnummer.doctest: Add swedish postcode validator Closes https://github.com/arthurdejong/python-stdnum/pull/271 2021-02-21 Piruin Panichphol * [424e408] stdnum/th/__init__.py, stdnum/th/moa.py, stdnum/th/pin.py, stdnum/th/tin.py, tests/test_th_moa.doctest, tests/test_th_pin.doctest, tests/test_th_tin.doctest: Add support for Thai Numbers - TIN Taxpayer Identification Number - PIN Personal Identification Number - MOA Memorandum of Association Number Closes https://github.com/arthurdejong/python-stdnum/issues/118 Closes https://github.com/arthurdejong/python-stdnum/pull/255 2021-03-10 Nuno André * [36d723c] stdnum/isrc.py, tests/test_isrc.doctest: Add ISRC (International Standard Recording Code) Closes https://github.com/arthurdejong/python-stdnum/pull/261 2021-08-07 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [48bfd84] stdnum/ad/nrt.py, stdnum/bitcoin.py, stdnum/do/ncf.py, stdnum/isbn.py, stdnum/util.py, stdnum/vn/mst.py, tests/test_cusip.doctest, tests/test_de_idnr.doctest, update/be_banks.py, update/imsi.py, update/isil.py, update/numlist.py: Fix typos found by codespell Closes https://github.com/arthurdejong/python-stdnum/pull/269 2021-08-07 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [dcdb5c9] stdnum/exceptions.py: Explicilty define exported exceptions LGTM alert: Import pollutes the enclosing namespace See: https://lgtm.com/rules/3980091/ Closes https://github.com/arthurdejong/python-stdnum/pull/270 2021-08-07 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [abda037] stdnum/no/fodselsnummer.py: Simplify range checking in Norwegian birth numbers LGTM alert: Test is always true See: https://lgtm.com/rules/900073/ Closes https://github.com/arthurdejong/python-stdnum/pull/270 2021-08-07 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [c69b4f6] update/be_banks.py: Fix handling of empty worksheet in Belgian bank download LGTM alert: Call to next() in a generator See: https://lgtm.com/rules/11000086/ Closes https://github.com/arthurdejong/python-stdnum/pull/270 2021-06-09 David Vaz * [4516748] stdnum/pt/cc.py, tests/test_pt_cc.doctest: Add CC (Número de Cartão de Cidadão, Portuguese Identity number) Closes https://github.com/arthurdejong/python-stdnum/pull/265 2021-06-10 FRANK ROBERTO CHAVEZ SOSA <1085268@est.intec.edu.do> * [4c51860] stdnum/do/ncf.py: Add new e-CF types to Dominican Republic NCF 2021-01-18 Andres Rodriguez * [48e6502] stdnum/do/ncf.py: Fix parsing of empty fields in DGII checking 2020-12-11 Cristopher Ortega * [2b452b6] stdnum/do/ncf.py, tests/test_do_ncf.py: Add ENCF validation support for Dominican Republic NCF Closes https://github.com/arthurdejong/python-stdnum/pull/248 2021-06-09 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [eeaf665] stdnum/fr/nif.py: Improve French NIF validation Closes https://github.com/arthurdejong/python-stdnum/pull/266 2021-07-12 Arthur de Jong * [e2a95fc] .github/workflows/test.yml: Configure CodeQL code scanning 2021-07-18 Arthur de Jong * [175b1e5] stdnum/exceptions.py: Ignore N818 because our exceptions are not named error 2021-04-11 Arthur de Jong * [38c368d] stdnum/numdb.py, tests/numdb-test.dat: Only process the shortest matches in the numdb module This ensures that matching numbers is done consistently when the numdb database file has conflicting information about the length of numbers. This also refactors the _find() function to be simpler and reduces the number of recursive calls that have to be done. The tests have been re-formatted to use pprint to make it easier to spot differences if any of the tests fail (instead of just saying expected True, got False). Closes https://github.com/arthurdejong/python-stdnum/issues/257 2021-04-11 Arthur de Jong * [b7901d6] update/imsi.py: Stop non-operational MNCs from confusing IMSI dataset This only includes data from non-operational (status "Not operational" according to Wikipedia) Mobile Network Code operators in the generated data file if they would not confuse the lookup of operational numbers. This avoid problems when the "030" to "039" non-operational ranges conflicting with the "03" operational range. This ensures that only the "03" value is kept. For historical completeness we keep the other non-operational values. Closes https://github.com/arthurdejong/python-stdnum/issues/257 2021-03-03 Jakub Wilk * [7e69090] docs/index.rst: Fix typo Closes https://github.com/arthurdejong/python-stdnum/pull/258 2021-03-21 Arthur de Jong * [5785afb] .github/workflows/test.yml, .travis.yml: Replace Travis with GitHub actions 2021-03-21 Arthur de Jong * [7c0bb84] .travis.yml, setup.py, tox.ini: Drop support for Python 2.6 and 3.4 It is increasingly difficult to test with these versions of Python and everybody should have upgraded to a more recent version long ago. 2021-02-06 Arthur de Jong * [075d85e] ChangeLog, NEWS, stdnum/__init__.py: Get files ready for 1.16 release 2021-02-06 Arthur de Jong * [fad3064] stdnum/by/portal.nalog.gov.by.crt: Add Let's Encrypt R3 intermediate certificate The portal.nalog.gov.by web site serves an incomplete certificate chain and the intermediate certificate was changed. 2021-02-06 Arthur de Jong * [8c4ec55] 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 2021-02-06 Arthur de Jong * [fe34e15] stdnum/kr/rrn.py, stdnum/pe/ruc.py, stdnum/ua/edrpou.py: Use HTTPS in URLs where possible 2021-01-24 Arthur de Jong * [407a02f] stdnum/at/postleitzahl.dat, update/at_postleitzahl.py: Switch postal code download to Austrian open-data portal This simplifies the process of downloading Austrian postal codes by downloading a JSON blob instead from https://www.data.gv.at/katalog/dataset/f76ed887-00d6-450f-a158-9f8b1cbbeebf This filters the list to only use addressable (adressierbar) postal codes because it matches the previous list. Thanks Bernd Schlapsi for providing the pointer. Closes https://github.com/arthurdejong/python-stdnum/issues/235 2021-01-21 Alexis de Lattre * [53f13b4] stdnum/vatin.py, tests/test_vatin.doctest: Add support for XI VAT numbers in vatin Closes https://github.com/arthurdejong/python-stdnum/pull/251 2021-01-21 Arthur de Jong * [b93d695] stdnum/eu/vat.py, stdnum/gb/vat.py, tests/test_eu_vat.doctest: Support xi country code for Northern Ireland While Great Brittain is no longer an EU member state some GB VAT numbers are still valid if the company meets certain requirements. See https://www.gov.uk/government/publications/accounting-for-vat-on-goods-moving-between-great-britain-and-northern-ireland-from-1-january-2021/check-when-you-are-trading-under-the-northern-ireland-protocol-if-you-are-vat-registered-business Closes https://github.com/arthurdejong/python-stdnum/issues/250 2021-01-11 Arthur de Jong * [6b7f209] ChangeLog, NEWS, README, docs/conf.py, docs/index.rst, docs/stdnum.li.peid.rst, docs/stdnum.ro.cui.rst, docs/stdnum.ua.edrpou.rst, docs/stdnum.ua.rntrc.rst, stdnum/__init__.py, tox.ini: Get files ready for 1.15 release 2021-01-11 Arthur de Jong * [755eee7] .travis.yml: Simplify Travis matrix This also ensures that supported Python interpreters are output in order. 2021-01-10 Arthur de Jong * [a0c62ee] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/gs1_ai.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/my/bp.dat, stdnum/nz/banks.dat, stdnum/oui.dat, update/at_postleitzahl.py, update/my_bp.py, update/nz_banks.py: Update database files 2021-01-10 Arthur de Jong * [df0623b] stdnum/by/unp.py, stdnum/do/ncf.py, stdnum/imsi.py, stdnum/isbn.py, stdnum/meid.py, tox.ini: Drop pinning of isort now flake8-isort has been fixed This changes a few inline imports in the code to pass with the new isort. Reverts 291b831 2021-01-10 Arthur de Jong * [b202eee] stdnum/my/nric.py: Fix typo 2021-01-10 Arthur de Jong * [7e86331] setup.py: Add project URLs for PyPI 2020-10-25 Leandro Regueiro * [126496c] stdnum/ua/rntrc.py, tests/test_ua_rntrc.doctest: Add support for Ukraine РНОКПП number Closes https://github.com/arthurdejong/python-stdnum/pull/242 Closes https://github.com/arthurdejong/python-stdnum/issues/117 2020-10-25 Leandro Regueiro * [b7b2af8] stdnum/ua/__init__.py, stdnum/ua/edrpou.py, tests/test_ua_edrpou.doctest: Add support for Ukraine ЄДРПОУ number Closes https://github.com/arthurdejong/python-stdnum/pull/242 Closes https://github.com/arthurdejong/python-stdnum/issues/117 2021-01-04 Viggo de Vries * [0427b01] stdnum/eu/vat.py, tests/test_eu_vat.doctest, tests/test_gb_vat.doctest: Remove GB from EU member states Closes https://github.com/arthurdejong/python-stdnum/pull/246 2021-01-10 Arthur de Jong * [2f2c742] .travis.yml, setup.py, tox.ini: Add support for Python 3.9 This switches Travis tests to bionic by default. 2021-01-10 Arthur de Jong * [2046f51] stdnum/damm.py, stdnum/eu/at_02.py, stdnum/gs1_128.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/luhn.py, stdnum/util.py, stdnum/verhoeff.py: Fix flake8 blind except Exception error 2021-01-04 Viggo de Vries * [cc3a970] stdnum/au/__init__.py: Use ABN as Australian VAT number See https://www.ato.gov.au/Business/GST/Tax-invoices/ Closes https://github.com/arthurdejong/python-stdnum/pull/246 2021-01-02 Arthur de Jong * [c74e322] stdnum/vatin.py, tests/test_vatin.doctest: Support VAT numbers that are only valid with country prefix The Swish VAT number has the CH prefix embedded as a required part of the number. This ensures that the international VAT number module also supports that. Closes https://github.com/arthurdejong/python-stdnum/issues/245 Fixes ff188bd 2020-10-27 Matthias Schmid, M.Sc * [5082af4] stdnum/li/__init__.py, stdnum/li/peid.py, tests/test_li_peid.doctest: Add Liechtenstein Personenidentifikationsnummer Closes https://github.com/arthurdejong/python-stdnum/pull/241 Closes https://github.com/arthurdejong/python-stdnum/issues/125 2020-10-02 Jonas Geuens * [3a592e4] stdnum/be/vat.py, tests/test_be_vat.doctest: Expanded validation for BE VAT numbers Specifically invalidated all-zero numbers Closes https://github.com/arthurdejong/python-stdnum/pull/240 2020-11-01 Arthur de Jong * [c5eb2d8] stdnum/eu/vat.py, stdnum/ro/cf.py, tests/test_eu_vat.doctest: Retain RO prefix in Romanian VAT numbers This does not strip the RO prefix from Romanian VAT numbers to be able to keep the distinction between a CUI/CIF that is registered for VAT (which commonly has the RO prefix) and those that don't. Closes https://github.com/arthurdejong/python-stdnum/issues/231 2020-11-01 Arthur de Jong * [1f6c77f] stdnum/ro/cnp.py, stdnum/ro/onrc.py: Minor updates 2020-11-01 Arthur de Jong * [e0417f6] stdnum/ro/cf.py, stdnum/ro/cui.py: Add Romanian CUI/CIF number This module separates the validation of numbers assigned to companies (CUI or CIF) of those assigned to natural persons (CNP). 2020-09-19 Arthur de Jong * [19d3f70] stdnum/eu/vat.py: Make list of EU member states list of public API This provides stdnum.eu.vat.MEMBER_STATES. Note that Greece is listed with a country code of "gr" while the prefix used in VAT numbers is "el". Closes https://github.com/arthurdejong/python-stdnum/issues/238 2020-09-04 Arthur de Jong * [992dc20] online_check/check.js, online_check/jquery-1.7.1.js, online_check/jquery-1.7.1.min.js, online_check/jquery-3.5.1.js, online_check/jquery-3.5.1.min.js, online_check/jquery-3.5.1.min.map, online_check/template.html: Upgrade jQuery to 3.5.1 This also runs eslint over check.js and fixes an issue from the upgrade. 2020-08-09 Arthur de Jong * [3373938] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.by.unp.rst, docs/stdnum.cn.uscc.rst, docs/stdnum.gb.utr.rst, docs/stdnum.gs1_128.rst, docs/stdnum.id.npwp.rst, docs/stdnum.il.hp.rst, docs/stdnum.it.aic.rst, docs/stdnum.kr.brn.rst, docs/stdnum.ro.onrc.rst, docs/stdnum.sg.uen.rst, docs/stdnum.sv.nit.rst, docs/stdnum.tw.ubn.rst, docs/stdnum.vatin.rst, docs/stdnum.vn.mst.rst, docs/stdnum.za.idnr.rst, stdnum/__init__.py: Get files ready for 1.14 release 2020-08-09 Arthur de Jong * [40fcc24] stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/gs1_ai.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/nz/banks.dat, stdnum/oui.dat, update/imsi.py, update/nz_banks.py: Update database files 2020-03-08 Leandro Regueiro * [ff188bd] stdnum/vatin.py, tests/test_vatin.doctest: Add module to check any VAT number This effectively mimics vatnumber's `check_vat` function, so people can easily replace the outdated vatnumber library with stdnum. Closes https://github.com/arthurdejong/python-stdnum/pull/199 2020-08-08 Arthur de Jong * [b6e43cd] update/gs1_ai.py: Fix Python 3.6 issue in update script Fixes 180788a 2020-08-08 Arthur de Jong * [180788a] stdnum/gs1_128.py, stdnum/gs1_ai.dat, tests/test_gs1_128.doctest, update/gs1_ai.py: Add GS1-128 format This adds validation, parsing and encoding functions for GS1-128. It is based on the lists of formats as published by the GS1 organisation. Based on the implementation provided by Sergi Almacellas Abellana . Closes https://github.com/arthurdejong/python-stdnum/pull/144 2020-08-02 Arthur de Jong * [c2284f3] stdnum/ro/onrc.py, tests/test_ro_onrc.doctest: Add Romanian Trade Register identifier Closes https://github.com/arthurdejong/python-stdnum/issues/229 Closes https://github.com/arthurdejong/python-stdnum/pull/234 2020-06-02 Mohammed Salman * [94e2c63] stdnum/gb/utr.py, tests/test_gb_utr.doctest: Add English Unique Tax Reference Closes https://github.com/arthurdejong/python-stdnum/pull/227 2020-08-02 Arthur de Jong * [505521e] stdnum/ro/cnp.py: Support foreign residents for Romanian CNP This supports 7 or 8 as first digits in the CNP which are apparently used to identify foreign residents. This also changes the exception for an incorrect first digit from InvalidFormat to InvalidComponent which is a little clearer. Closes https://github.com/arthurdejong/python-stdnum/issues/230 2020-08-02 Arthur de Jong * [51a122d] stdnum/kr/GPKIRootCA1.crt, stdnum/kr/brn.py: Remove custom CA certificate for www.ftc.go.kr This certificate is not needed any more because the site now uses a different certificate that is signed by a known CA. 2020-07-31 evaldez89 * [feca1fe] stdnum/do/rnc.py, tests/test_do_rnc.py: Scape new line character Closes https://github.com/arthurdejong/python-stdnum/pull/233 Closes https://github.com/arthurdejong/python-stdnum/issues/232 2020-04-05 Leandro Regueiro * [dab926c] stdnum/tw/__init__.py, stdnum/tw/ubn.py, tests/test_tw_ubn.doctest: Add support for Taiwan TIN number Closes https://github.com/arthurdejong/python-stdnum/pull/214 Closes https://github.com/arthurdejong/python-stdnum/issues/209 2020-07-05 Arthur de Jong * [291b831] tox.ini: Avoid newer isort for flake8 tests Do not install the latest isort because it currently breaks flake8-isort. This pinning should be removed as soon as https://github.com/gforcada/flake8-isort/issues/88 is resolved. 2020-03-08 Leandro Regueiro * [7112874] stdnum/id/__init__.py, stdnum/id/npwp.py, tests/test_id_npwp.doctest: Add support for Indonesian NPWP Closes https://github.com/arthurdejong/python-stdnum/issues/106 Closes https://github.com/arthurdejong/python-stdnum/pull/198 2020-04-18 Leandro Regueiro * [a34a76d] stdnum/vn/__init__.py, stdnum/vn/mst.py, tests/test_vn_mst.doctest: Add support for Vietnam TIN number Closes https://github.com/arthurdejong/python-stdnum/issues/217 Closes https://github.com/arthurdejong/python-stdnum/pull/218 2020-05-16 Arthur de Jong * [1b7e985] stdnum/kr/GPKIRootCA1.crt, stdnum/kr/brn.py, tests/test_kr_brn.py: Add an online check for the South Korean BRN 2020-03-07 Leandro Regueiro * [b3891f1] stdnum/kr/__init__.py, stdnum/kr/brn.py, tests/test_kr_brn.doctest: Add support for South Korea Business Registration Number Closes https://github.com/arthurdejong/python-stdnum/pull/197 Closes https://github.com/arthurdejong/python-stdnum/issues/101 2020-06-06 Christopher Ormaza * [127fff1] stdnum/ec/ci.py: Support 6 as third digit for foreign people in Ecuador Closes https://github.com/arthurdejong/python-stdnum/pull/228 2020-03-18 Leandro Regueiro * [0d5b8b1] stdnum/sg/__init__.py, stdnum/sg/uen.py, tests/test_sg_uen.doctest: Add support for Singapore Unique Entity Number Closes https://github.com/arthurdejong/python-stdnum/issues/111 Closes https://github.com/arthurdejong/python-stdnum/pull/203 2020-03-18 Leandro Regueiro * [4eda3f3] stdnum/nz/__init__.py: Add missing vat alias for New Zealand Closes https://github.com/arthurdejong/python-stdnum/pull/202 2020-04-04 Leandro Regueiro * [f3ce70c] stdnum/cn/__init__.py, stdnum/cn/uscc.py, tests/test_cn_uscc.doctest: Add support for Chinese TIN number Closes https://github.com/arthurdejong/python-stdnum/issues/207 Closes https://github.com/arthurdejong/python-stdnum/pull/210 2020-04-10 Leandro Regueiro * [54e2e8f] stdnum/sv/__init__.py, stdnum/sv/nit.py, tests/test_sv_nit.doctest: Add support for El Salvador TIN number Closes https://github.com/arthurdejong/python-stdnum/issues/133 Closes https://github.com/arthurdejong/python-stdnum/pull/215 2020-03-31 Leandro Regueiro * [356a729] stdnum/il/__init__.py, stdnum/il/hp.py, tests/test_il_hp.doctest: Add Israeli TIN number Closes https://github.com/arthurdejong/python-stdnum/pull/208 Closes https://github.com/arthurdejong/python-stdnum/issues/107 2020-04-25 Arthur de Jong * [e49e0e9] docs/index.rst: Document function return behaviour 2020-04-19 Arthur de Jong * [417b500] setup.cfg, setup.py, tox.ini: Flake 8 fixes 2020-04-18 Arthur de Jong * [ff86618] .travis.yml: Resolve Travis configuration warnings 2020-04-18 Arthur de Jong * [982322a] tox.ini: Avoid newest Sphinx Newer versions of Sphinx treat underscores differently when used in arguments to automodule causing problems in generating documentation for the stdnum.in_.aadhaar, stdnum.in_.pan, stdnum.is_.kennitala and stdnum.is_.vsk modules. 2020-03-20 Arthur de Jong * [91ca4da] stdnum/cu/ni.py, stdnum/do/ncf.py, stdnum/do/rnc.py, stdnum/es/ccc.py, stdnum/es/referenciacatastral.py, stdnum/eu/eic.py, stdnum/eu/nace.py, stdnum/fi/hetu.py, stdnum/fr/nir.py, stdnum/gb/nhs.py, stdnum/gr/amka.py, stdnum/isil.py, stdnum/issn.py, stdnum/kr/rrn.py, stdnum/mu/nid.py, stdnum/mx/curp.py, stdnum/mx/rfc.py, stdnum/pl/regon.py: Use HTTPS in URLs where possible 2020-03-19 grzekru * [273dd54] stdnum/eu/vat.py: Use HTTPS instead of HTTP fox VIES lookups Closes https://github.com/arthurdejong/python-stdnum/issues/204 Closes https://github.com/arthurdejong/python-stdnum/pull/205 2020-03-03 FabrizioMontanari * [8433821] stdnum/it/aic.py, tests/test_it_aic.doctest: Add Italian AIC codes Closes https://github.com/arthurdejong/python-stdnum/pull/193 2020-03-09 Arthur de Jong * [f7b968c] stdnum/by/unp.py: Fix typo Thanks @unho 2020-03-08 Arthur de Jong * [d09ed52] stdnum/lv/pvn.py, stdnum/ru/inn.py: Use zip() for applying weights in check algorithms 2020-03-07 Arthur de Jong * [60139a8] stdnum/by/__init__.py, stdnum/by/portal.nalog.gov.by.crt, stdnum/by/unp.py, tests/test_by_unp.doctest, tests/test_by_unp.py: Add Bellarus УНП number This also adds a function to do an online lookup of the number. Closes https://github.com/arthurdejong/python-stdnum/issues/196 2020-03-07 Leandro Regueiro * [ebe7e10] stdnum/jp/__init__.py: Add missing vat alias for Japan 2020-03-07 Leandro Regueiro * [6429080] stdnum/ca/__init__.py: Add missing vat alias for Canada 2020-03-07 Leandro Regueiro * [84ee720] stdnum/tr/__init__.py: Add missing vat alias for Turkey 2020-03-07 Leandro Regueiro * [fcbe159] stdnum/pe/__init__.py: Add missing vat alias for Peru 2020-03-07 Leandro Regueiro * [9be7dee] stdnum/cr/__init__.py: Add missing vat alias for Costa Rica 2020-03-07 Leandro Regueiro * [69d22e9] stdnum/br/__init__.py: Add missing vat alias for Brazil 2020-01-31 Leon Sandøy * [df9f922] stdnum/no/fodselsnummer.py, tests/test_no_fodselsnummer.doctest: Implement get_birth_date() for no.fodselsnummer This adds a function that allows you to determine a persons birth date from a Norwegian fødselsnummer. This also accounts for D-numbers, H-numbers, and FH-numbers, which contain special exceptions and modifications to the birthdate portion of the number. Most of the information this is based on was found here: https://no.wikipedia.org/wiki/F%C3%B8dselsnummer#H-nummer It also updates the list of valid fødselsnummer in the tests, since this list contained many numbers that are not valid by this new validation that now accounts for dates. Additionally, this updates all tests that were failing under the new validation, and adds a few new tests to bring the coverage to 100%. Closes https://github.com/arthurdejong/python-stdnum/pull/187 2020-01-31 Leon Sandøy * [4500881] stdnum/dk/cpr.py: Improve birth date validation for dk.cpr This adds a check to validate that the birth date information in a personnummer is not set in the future, resolving a TODO from this file. It also improves exception messages for certain validation fail conditions. 2020-01-31 Leon Sandøy * [f5e0456] stdnum/se/personnummer.py: Fix misleading docstring in se.personnummer get_birth_date() The docstring for get_birth_date() in the Swedish personnummer.py warned that the datetime might be 100 years off because of the lack of precision in the personnummer. This was accurate when the docstring was written, but this is no longer accurate after the - and + signs were correctly handled. Fixes 5441ffa 2020-03-01 Arthur de Jong * [8437b8e] .travis.yml: Use bionic for pypy3 tests on Travis This switches the pypy3 tests to bionic which has Python 3.6.9. There were installation issues with 3.5.3 on trusty and coverage issues with 3.6.1 of xenial (now the default on Travis). 2020-02-24 Aleksi Hoffman * [353db92] stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Support validating temporary Finnish personal identity codes This adds an optional allow_temporary parameter, which defaults to False, to the validate() function. Closes https://github.com/arthurdejong/python-stdnum/pull/191 2020-02-18 Gustavo Valverde * [efa70f1] stdnum/do/ncf.py: Change DGII endpoint to new one The old endpoint has been deprecated. Closes https://github.com/arthurdejong/python-stdnum/pull/190 2020-02-12 Arthur de Jong * [e513888] stdnum/se/personnummer.py, tests/test_se_personnummer.doctest: Fix issue with extra plus or minus in se.personnummer Fixes 5441ffa Closes https://github.com/arthurdejong/python-stdnum/issues/188 2020-01-22 Gustavo Valverde * [77a77ba] stdnum/do/ncf.py: Add missing NCF document types for validation These document types are in the official documentation, but were not being validated: https://dgii.gov.do/cicloContribuyente/facturacion/comprobantesFiscales/Paginas/tiposComprobantes.aspx Closes https://github.com/arthurdejong/python-stdnum/pull/186 2020-01-19 Arthur de Jong * [d5666b8] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ch.esr.rst, setup.py, stdnum/__init__.py: Get files ready for 1.13 release 2020-01-19 Arthur de Jong * [334e907] online_check/stdnum.wsgi: Fix online check to be Python 3 compatible 2020-01-18 Arthur de Jong * [53d9934] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/nz/banks.dat, stdnum/oui.dat, update/iban.py: Update database files 2020-01-18 Arthur de Jong * [f23c549] stdnum/za/idnr.py, tests/test_za_idnr.doctest: Add South African Identity Document number Closes https://github.com/arthurdejong/python-stdnum/issues/126 2020-01-12 Arthur de Jong * [42e096e] stdnum/isin.py, tests/test_isin.doctest: Add temporary and internal ISIN country codes This adds a few temporary and internal country codes that are used by various agencies so that they can also be validated. This does not mean that all these numbers are globally valid. Closes https://github.com/arthurdejong/python-stdnum/issues/158 2019-12-06 anwarbaroudi * [87c195f] stdnum/isin.py, tests/test_isin.doctest: Add three country codes to ISIN This adds three missing country codes: 'AN' for 'Netherlands Antilles', 'CS' for 'Serbia and Montenegro' and 'XK' for 'Kosovo'. Closes https://github.com/arthurdejong/python-stdnum/issues/173 Closes https://github.com/arthurdejong/python-stdnum/pull/174 Closes https://github.com/arthurdejong/python-stdnum/pull/176 2020-01-09 Emmanuel Arias * [0b30c4b] stdnum/ar/cuit.py, tests/test_ar_cuit.doctest: Test Argentinian CUIT type The first two digits of the CUIT indicate the type of CUIT (personal, company or international) and can only have certain values. Closes https://github.com/arthurdejong/python-stdnum/issues/179 Closes https://github.com/arthurdejong/python-stdnum/pull/181 2020-01-09 Arthur de Jong * [a9b3e90] stdnum/nl/btw.py, tests/test_eu_vat.doctest: Support new btw-identificatienummer The btw-identificatienummer has been introduced on January 1st 2020 in the Netherlands as an alternative to the btw-nummer that contains the BSN personal identifier. The number has the same structure and function but does not contain a BSN and uses a different check digit algorithm. Thanks to Cas Vissers, Jeroen van Heiningen, Jerome Hanke, Nicolas Martinelli, Ronald Portier and Tim Muller for contributing to the fix. More information: * http://kleineondernemer.nl/index.php/nieuw-btw-identificatienummer-vanaf-1-januari-2020-voor-eenmanszaken * https://nl.wikipedia.org/wiki/Btw-nummer_(Nederland) * https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business/vat/new-vat-id/ * https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/btw_nummers_controleren/uw_btw_nummer Closes https://github.com/arthurdejong/python-stdnum/issues/182 Closes https://github.com/arthurdejong/python-stdnum/pull/183 Closes https://github.com/arthurdejong/python-stdnum/pull/184 Closes https://github.com/arthurdejong/python-stdnum/pull/185 2020-01-04 Arthur de Jong * [9605dbe] stdnum/it/codicefiscale.py, tests/test_it_codicefiscale.doctest: The Italian IVA is also a Codice Fiscale Closes https://github.com/arthurdejong/python-stdnum/issues/180 2019-12-18 Sergi Almacellas Abellana * [087c668] .travis.yml, setup.py, tox.ini: Add support for Python 3.8 Closes https://github.com/arthurdejong/python-stdnum/pull/177 2019-12-27 Arthur de Jong * [922505a] stdnum/eu/nace.py: Broaden noqa docstring exclusion Nowadays flake8 seems to report this as D401 (First line should be in imperative mood) while before it was D402 (First line should not be the function’s signature). 2019-12-27 Arthur de Jong * [de50109] stdnum/do/ncf.py: Switch to using lxml for HTML parsing This avoids an extra dependency on BeautifulSoup and makes the code more consistent. 2019-11-12 Jakub Wilk * [831c669] NEWS, README, stdnum/br/__init__.py, stdnum/br/cnpj.py, stdnum/br/cpf.py: Fix typos Closes https://github.com/arthurdejong/python-stdnum/pull/172 2019-11-04 Kurt Keller * [388bac9] stdnum/iso11649.py: Add format to iso11649 Closes https://github.com/arthurdejong/python-stdnum/pull/171 2019-11-02 Kurt Keller * [a45d4f7] stdnum/ch/esr.py, tests/test_ch_esr.doctest: Add Swiss ESR/ISR/QR-reference Closes https://github.com/arthurdejong/python-stdnum/pull/170 2019-10-27 Arthur de Jong * [41b9c94] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ad.nrt.rst, docs/stdnum.cr.cpf.rst, docs/stdnum.cr.cpj.rst, docs/stdnum.cr.cr.rst, docs/stdnum.gt.nit.rst, docs/stdnum.il.idnr.rst, docs/stdnum.jp.cn.rst, docs/stdnum.kr.rrn.rst, docs/stdnum.nz.ird.rst, docs/stdnum.pe.cui.rst, docs/stdnum.pe.ruc.rst, docs/stdnum.py.ruc.rst, docs/stdnum.tr.vkn.rst, docs/stdnum.uy.rut.rst, docs/stdnum.ve.rif.rst, docs/stdnum.za.tin.rst, stdnum/__init__.py: Get files ready for 1.12 release 2019-10-27 Arthur de Jong * [6ca5b53] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/my/bp.dat, stdnum/nz/banks.dat, stdnum/oui.dat, stdnum/us/ein.dat, tests/test_be_iban.doctest: Update database files The BIC for some former Record Bank accounts (now ING Belgium) was changed from HBKABE22 to BBRUBEBB (that of ING). 2019-10-27 Arthur de Jong * [5b835bb] update/imsi.py: Parse multiple Wikipedia pages for full MCC/MNC list 2019-10-27 Arthur de Jong * [29de83e] update/oui.py: Make the IEEE OUI data more compact This groups consecutive assignments into a range to make the dat file a little more readable. 2019-10-27 Arthur de Jong * [67b747b] update/at_postleitzahl.py, update/be_banks.py, update/cn_loc.py, update/do_whitelists.py, update/iban.py, update/imsi.py, update/isil.py, update/my_bp.py, update/numlist.py, update/nz_banks.py, update/oui.py: Switch update scripts to Python 3 2019-10-27 Arthur de Jong * [0915b55] update/at_postleitzahl.py, update/be_banks.py, update/cn_loc.py, update/do_whitelists.py, update/eu_nace.py, update/iban.py, update/imsi.py, update/isbn.py, update/isil.py, update/oui.py: Switch update scripts to use requests This makes the scripts more consistent. 2019-10-27 Arthur de Jong * [40961fc] update/at_postleitzahl.py, update/eu_nace.py, update/isbn.py, update/isil.py, update/my_bp.py, update/requirements.txt: Switch update scripts to lxml This avoids an extra dependency on Beautiful Soup and makes the scripts more consistent. This also includes a fix in the ISIL because of website changes. 2019-10-27 Arthur de Jong * [c4ad714] update/my_bp.crt, update/my_bp.py: Work around incorrect jpn.gov.my certificate chain The intermediate certificate for jpn.gov.my is missing from the certificate chain that is returned by the server since the server switched to HTTPS. 2019-10-27 Arthur de Jong * [c9ad8d3] update/nz_banks.py: Fix New Zealand Bank Branch Register update script There is now a direct URL for the XLS file and there is no longer a need to search the page for a link. 2019-10-16 Gerard Dalmau * [7f3dcf0] stdnum/es/cif.py, stdnum/es/cups.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py: Improve descriptions of Spanish codes Closes https://github.com/arthurdejong/python-stdnum/pull/169 2019-10-14 Arthur de Jong * [54218b1] stdnum/kr/rrn.py: Fix rrn documentation This also fixes Python 2.6 compatibility. Fixes 790a052 2019-10-14 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [790a052] stdnum/kr/__init__.py, stdnum/kr/rrn.py, tests/test_kr_rrn.doctest: Add South Korean Resident Registration Numbers 2019-10-13 Andreas Häber * [63a643f] stdnum/au/__init__.py: AU: Provide vat as alias from tfn Closes https://github.com/arthurdejong/python-stdnum/pull/167 2019-10-13 Andreas Häber * [6119590] stdnum/at/__init__.py: AT: Provide personalid as an alias from vnr Closes https://github.com/arthurdejong/python-stdnum/pull/166 2019-10-13 Arthur de Jong * [3aedb1f] tests/test_ar_cbu.doctest, tests/test_ar_cuit.doctest, tests/test_au_abn.doctest, tests/test_bg_vat.doctest: Add various test numbers 2019-09-27 Andreas Häber * [d43ad77] stdnum/is_/__init__.py: IS: Provide personalid as an alias from kennitala 2019-09-27 Andreas Häber * [e5d7d9f] stdnum/dk/__init__.py: DK: Provide personalid as an alias from cpr 2019-09-18 Alan Hettinger * [37e6032] stdnum/jp/__init__.py, stdnum/jp/cn.py, tests/test_jp_cn.doctest: Add Japan Corporate Number Closes https://github.com/arthurdejong/python-stdnum/pull/157 2019-10-09 Amin Solhizadeh * [5441ffa] stdnum/se/personnummer.py, tests/test_se_personnummer.doctest: Handle - and + sign correctly in Swedish Personnummer For people aged 100 and up, the minus/dash in the personnummer is changed to a plus, on new year's eve the year they turn 100. See Folkbokföringslagen (1991:481), §18. This makes the - or + sign part of the number. Closes https://github.com/arthurdejong/python-stdnum/issues/156 Closes https://github.com/arthurdejong/python-stdnum/pull/160 2019-08-29 Jeffry Jesus De La Rosa * [9c18ac5] stdnum/do/ncf.py: Fix broken links to DGII documentation DGII has changed its page, all the link have been broken, so they changed some URL. Closes https://github.com/arthurdejong/python-stdnum/pull/153 2019-10-11 Jeffry Jesus De La Rosa * [ac50afa] stdnum/do/ncf.py: Change DGII form parameters DGII has changed their validation mechanism, so we first exract the __EVENTVALIDATION and __VIEWSTATE from the form and put them in the post request for validation. Closes https://github.com/arthurdejong/python-stdnum/pull/165 2019-10-13 Arthur de Jong * [aadf121] .travis.yml: Avoid skipping missing interpreters on Travis 2019-08-12 Arthur de Jong * [8cb71f2] tox.ini: Drop pinning of pydocstyle now flake8-docstrings has been fixed Reverts 61c762d 2019-08-02 Arthur de Jong * [d9b4818] setup.cfg: Show missing lines in coverage report 2019-08-02 Arthur de Jong * [d5bf6e5] .travis.yml: Fix Travis build to use trusty for some Python versions Python 2.6 is not available xenial which is the default now. The coverage also does not seem to work for pypy3. 2019-06-23 Leandro Regueiro * [2f38aaf] stdnum/gt/__init__.py, stdnum/gt/nit.py, tests/test_gt_nit.doctest: Add Guatemalan NIT Closes https://github.com/arthurdejong/python-stdnum/pull/149 Closes https://github.com/arthurdejong/python-stdnum/issues/132 2019-07-21 Arthur de Jong * [db89d38] stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.doctest: Fix the Handelsregisternummer number matching This ensures that numbers of 1 digit are also accepted and that trailing characters are not silently discardede in the validation. This also adds a few test cases for this and makes "Paderborn früher Höxter" an alias for "Paderborn". Closes https://github.com/arthurdejong/python-stdnum/issues/143 2019-07-21 Arthur de Jong * [e75b1bf] stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.py: Lookup German Handelsregisternummer in OffeneRegister.de This supports looking up the German Handelsregisternummer using the online OffeneRegister.de web service. 2019-07-21 Arthur de Jong * [fb72550] tox.ini: Do not require Python 2 for building Sphinx docs This results in tox using Python 3, mostly to work around https://sourceforge.net/p/docutils/bugs/365/ 2019-07-21 Arthur de Jong * [61c762d] tox.ini: Avoid newer pydocstyle Do not install the latest pydocstyle because it currently breaks flake8-docstring. This pinning should be removed as soon as https://gitlab.com/pycqa/flake8-docstrings/issues/36 is resolved. 2019-07-14 Arthur de Jong * [ad96b15] stdnum/util.py: Support normalising quotes See https://github.com/arthurdejong/python-stdnum/issues/150 2019-06-23 Leandro Regueiro * [4ad2d9c] stdnum/ad/__init__.py, stdnum/ad/nrt.py, tests/test_ad_nrt.doctest: Add Andorran TIN Closes https://github.com/arthurdejong/python-stdnum/pull/145 Closes https://github.com/arthurdejong/python-stdnum/issues/119 2019-06-15 Leandro Regueiro * [510a46a] stdnum/cr/cr.py, tests/test_cr_cr.doctest: Add Costa Rica foreigners identification number Part of https://github.com/arthurdejong/python-stdnum/issues/141 Closes https://github.com/arthurdejong/python-stdnum/pull/140 2019-06-15 Leandro Regueiro * [4b10f56] stdnum/cr/cpf.py, tests/test_cr_cpf.doctest: Add Costa Rica Cédula de Identidad Closes https://github.com/arthurdejong/python-stdnum/issues/139 2019-06-15 Leandro Regueiro * [d0da884] stdnum/cr/__init__.py, stdnum/cr/cpj.py, tests/test_cr_cpj.doctest: Add Costa Rica TIN number Closes https://github.com/arthurdejong/python-stdnum/issues/109 2019-06-10 Leandro Regueiro * [1e814ce] stdnum/za/__init__.py, stdnum/za/tin.py, tests/test_za_tin.doctest: Add South Africa TIN number Closes https://github.com/arthurdejong/python-stdnum/pull/129 Closes https://github.com/arthurdejong/python-stdnum/issues/108 2019-06-09 Leandro Regueiro * [8c1015a] stdnum/py/__init__.py, stdnum/py/ruc.py, tests/test_py_ruc.doctest: Add Paraguay RUC number This supports RUC number validation of rphysical persons, non-juridical persons and foreigners. Closes https://github.com/arthurdejong/python-stdnum/issues/122 Closes https://github.com/arthurdejong/python-stdnum/pull/123 2019-06-14 Jeffry Jesus De La Rosa * [e1ea8db] stdnum/do/ncf.py: Update Dominican Republic e-CF documents types The document type values are different from the NCF document types https://dgii.gov.do/contribuyentes/personasFisicas/inicioOperaciones/ComprobantesFiscales/Paginas/comprobantesFiscalesElectronicos.aspx Closes https://github.com/arthurdejong/python-stdnum/pull/138 2019-06-06 Leandro Regueiro * [817c177] stdnum/uy/__init__.py, stdnum/uy/rut.py, tests/test_uy_rut.doctest: Add Uruguay RUT number Closes https://github.com/arthurdejong/python-stdnum/pull/121 Closes https://github.com/arthurdejong/python-stdnum/issues/110 2019-06-14 Arthur de Jong * [51e00da] stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.doctest: Fix handelsregisternummer to not turn Hamburg into Homburg This changes the minimisation function that is used for comparison and canonicalisation to not reduce Hamburg and Homburg to the same string. This makes the function slightly more strict in which encoding differences to accept. This also adds a few aliases to the court names. Closes https://github.com/arthurdejong/python-stdnum/issues/136 2019-06-10 Jeffry Jesus De La Rosa * [5d0f288] stdnum/do/ncf.py, tests/test_do_ncf.doctest: Support Dominican Republic e-CF within NCF e-CF is the new way of DGII document, is the same as NCF, but the difference one to another, is that e-CF has 13 digit and is electronic invoice, with this change it will validate the correct NCF and e-CF. Closes https://github.com/arthurdejong/python-stdnum/pull/135 2019-06-06 Leandro Regueiro * [7fb390e] .gitignore: .gitignore: Also exclude some editor backup files 2019-06-02 Leandro Regueiro * [7211ccb] stdnum/nz/ird.py, tests/test_nz_ird.doctest: Add New Zealand IRD number Closes https://github.com/arthurdejong/python-stdnum/pull/112 Closes https://github.com/arthurdejong/python-stdnum/issues/104 2019-06-02 Arthur de Jong * [c969fc8] stdnum/eu/nace.py: Ignore wrong docstring detection Fixes 170e599 2019-06-02 Arthur de Jong * [170e599] docs/stdnum.eu.nace.rst, stdnum/eu/nace.py: Rename stdnum.eu.nace.label() to get_label() To be more consistent with other similar functions. This deprecates the old function which now is a wrapper around get_label(). 2019-06-02 Arthur de Jong * [6988d91] stdnum/tr/tckimlik.py, stdnum/tr/vkn.py, tests/test_tr_vkn.doctest: Add Vergi Kimlik Numarası Closes https://github.com/arthurdejong/python-stdnum/issues/99 2019-05-23 Sergi Almacellas Abellana * [8292779] stdnum/ean.py: Add GTIN (EAN-14) validation 2019-05-12 Arthur de Jong * [4ac84c5] stdnum/ve/__init__.py, stdnum/ve/rif.py, tests/test_ve_rif.doctest: Add Venezuelan RIF (VAT number) Closes https://github.com/arthurdejong/python-stdnum/issues/97 2019-05-01 Arthur de Jong * [a6521e6] tests/test_isbn.doctest, tox.ini: Fix remaining issue with encoding This also sets the python 2.6 interpreter explicityly because sometimes tox seems to get the wrong one. Fixes 680a95f 2019-04-29 Arthur de Jong * [b1af986] tests/test_isbn.doctest: Re-add Python 2.6 support Fixes 48ff92e 2019-04-28 Arthur de Jong * [8307b94] setup.cfg: Don't force "" strings to avoid escaping quotes Fixes test failures with recent flake8-quotes. 2019-04-28 Arthur de Jong * [c1fb46a] stdnum/util.py, tests/test_util.doctest: Convert various reasonable unicode digits This converts many of the "reasonable" unicode digits that are just variations on ASCII 0-9 to their ASCII counterparts. 2019-04-28 Arthur de Jong * [48ff92e] stdnum/ar/cbu.py, stdnum/ar/cuit.py, stdnum/ar/dni.py, stdnum/at/businessid.py, stdnum/at/postleitzahl.py, stdnum/at/tin.py, stdnum/at/uid.py, stdnum/at/vnr.py, stdnum/au/abn.py, stdnum/au/acn.py, stdnum/au/tfn.py, stdnum/be/vat.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/br/cnpj.py, stdnum/br/cpf.py, stdnum/ca/bn.py, stdnum/ca/sin.py, stdnum/casrn.py, stdnum/ch/uid.py, stdnum/cl/rut.py, stdnum/cn/ric.py, stdnum/co/nit.py, stdnum/cu/ni.py, stdnum/cy/vat.py, stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/de/idnr.py, stdnum/de/stnr.py, stdnum/de/vat.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/do/cedula.py, stdnum/do/ncf.py, stdnum/do/rnc.py, stdnum/ean.py, stdnum/ec/ci.py, stdnum/ec/ruc.py, stdnum/ee/ik.py, stdnum/ee/kmkr.py, stdnum/ee/registrikood.py, stdnum/es/ccc.py, stdnum/es/cif.py, stdnum/es/cups.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py, stdnum/eu/banknote.py, stdnum/eu/nace.py, stdnum/fi/alv.py, stdnum/fi/associationid.py, stdnum/fi/veronumero.py, stdnum/figi.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/vat.py, stdnum/gr/amka.py, stdnum/gr/vat.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/ie/vat.py, stdnum/il/idnr.py, stdnum/imei.py, stdnum/imo.py, stdnum/imsi.py, stdnum/in_/pan.py, stdnum/is_/vsk.py, stdnum/isbn.py, stdnum/issn.py, stdnum/it/iva.py, stdnum/lt/asmens.py, stdnum/lt/pvm.py, stdnum/lu/tva.py, stdnum/lv/pvn.py, stdnum/md/idno.py, stdnum/meid.py, stdnum/mt/vat.py, stdnum/mu/nid.py, stdnum/my/nric.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/no/fodselsnummer.py, stdnum/no/kontonr.py, stdnum/no/orgnr.py, stdnum/nz/bankaccount.py, stdnum/pe/cui.py, stdnum/pe/ruc.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, stdnum/pl/regon.py, stdnum/pt/nif.py, stdnum/ro/cf.py, stdnum/ro/cnp.py, stdnum/rs/pib.py, stdnum/ru/inn.py, stdnum/se/orgnr.py, stdnum/se/personnummer.py, stdnum/se/vat.py, stdnum/si/ddv.py, stdnum/sk/dph.py, stdnum/sm/coe.py, stdnum/tr/tckimlik.py, stdnum/us/rtn.py, stdnum/util.py, tests/test_cn_ric.doctest, tests/test_isbn.doctest, tests/test_robustness.doctest, tests/test_util.doctest: Use an internal isdigits() function instead of str.isdigit() The problem with the latter is that it will also accept all kinds of unicode digits that are not the ASCII 0-9 digits causing all kinds of problems in check digit calculations. Some of these unicode characters are also considered digits by int() but some are not (such as the SUPERSCRIPT TWO unicode character). Closes https://github.com/arthurdejong/python-stdnum/issues/96 2019-04-04 Arthur de Jong * [3aeec68] stdnum/il/__init__.py, stdnum/il/idnr.py: Add Israeli identity number 2019-03-24 Arthur de Jong * [e07a0e2] stdnum/pe/cui.py, tests/test_pe_cui.doctest: Add Peruvian CUI (DNI) 2019-03-23 Arthur de Jong * [2e87251] stdnum/pe/__init__.py, stdnum/pe/ruc.py, tests/test_pe_ruc.doctest: Add Peruvian RUC 2019-03-10 Arthur de Jong * [72cbfb8] ChangeLog, NEWS, README, docs/changes.rst, docs/conf.py, docs/index.rst, docs/stdnum.ar.dni.rst, docs/stdnum.at.vnr.rst, docs/stdnum.cu.ni.rst, docs/stdnum.gr.amka.rst, docs/stdnum.lt.asmens.rst, docs/stdnum.mac.rst, docs/stdnum.md.idno.rst, docs/stdnum.mx.curp.rst, docs/stdnum.no.fodselsnummer.rst, docs/stdnum.nz.bankaccount.rst, docs/stdnum.se.personnummer.rst, stdnum/__init__.py: Get files ready for 1.11 release This also adds the release notes to the generated documentation. 2019-03-10 Arthur de Jong * [fdeeb9a] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/oui.dat: Update database files 2019-03-10 Arthur de Jong * [fbbb550] update/at_postleitzahl.py, update/isil.py, update/my_bp.py, update/requirements.txt: Switch update scripts to beautifulsoup4 2019-02-27 Arthur de Jong * [61a8a94] stdnum/ee/ik.py: Add documentation 2018-12-27 Arthur de Jong * [151e0d8] stdnum/ar/cbu.py: Remove broken link 2019-03-10 Arthur de Jong * [3f953f3] stdnum/nz/__init__.py, stdnum/nz/bankaccount.py, stdnum/nz/banks.dat, tests/test_nz_bankaccount.doctest, update/nz_banks.py: Add New Zealand bank account number 2019-03-03 Arthur de Jong * [4e25e31] stdnum/md/__init__.py, stdnum/md/idno.py, tests/test_md_idno.doctest: Add Moldavian IDNO 2019-03-03 Arthur de Jong * [d5d812b] tests/test_bg_egn.doctest: Add more tests for Bulgarian EGN 2019-03-03 Arthur de Jong * [60cb887] stdnum/mac.py, tests/test_mac.doctest: Rename MAC check_manufacturer to validate_manufacturer For consistency with the other validation modules that have an extra argument to disable or enable certain parts of the validation. 2019-03-03 Arthur de Jong * [39b8ace] stdnum/lt/asmens.py, tests/test_lt_asmens.doctest: Add Lithuanian Asmens kodas 2019-02-27 Arthur de Jong * [ab91d87] stdnum/gr/amka.py, tests/test_gr_amka.doctest: Add Greek AMKA social security number 2019-02-20 Arthur de Jong * [6eadca1] setup.cfg, setup.py, stdnum/__init__.py, stdnum/bic.py, stdnum/cl/__init__.py, stdnum/co/__init__.py, stdnum/eu/at_02.py, stdnum/iso6346.py, stdnum/iso9362.py, stdnum/numdb.py, stdnum/sk/rc.py, stdnum/us/tin.py, tox.ini, update/at_postleitzahl.py, update/do_whitelists.py, update/my_bp.py, update/numlist.py: Switch from import-order to isort 2019-02-17 Arthur de Jong * [9daa1b0] stdnum/ar/cbu.py, stdnum/at/uid.py, stdnum/iban.py, update/iban.py: Fix typos 2019-02-17 Arthur de Jong * [cc6ffec] stdnum/de/handelsregisternummer.py, stdnum/de/stnr.py, stdnum/do/cedula.py, stdnum/numdb.py: Improvements reported by pylint 2019-02-17 Arthur de Jong * [be8e258] stdnum/cu/__init__.py, stdnum/cu/ni.py: Add Cuban número de identidad 2019-02-11 Andrés R * [0fc0c30] stdnum/do/rnc.py: Return only first response from DGII lookup This fixes an issue when response for check_dgii() comes with 2 records instead of one for same RNC. Closes https://github.com/arthurdejong/python-stdnum/pull/95 2019-02-10 Arthur de Jong * [b4773ae] .travis.yml, setup.py, tox.ini: Add Python 3.7 tests 2019-02-05 Arthur de Jong * [50874a9] stdnum/mx/__init__.py, stdnum/mx/curp.py, tests/test_mx_curp.doctest: Add Mexican CURP 2019-01-29 Arthur de Jong * [4cb44aa] stdnum/bg/egn.py, stdnum/cz/rc.py, stdnum/dk/cpr.py, stdnum/lv/pvn.py, stdnum/ro/cnp.py: Call compact in get_birth_date() functions This ensures that formatting characters are also removed when formatted numbers are passed to the get_birth_date() functions. Closes https://github.com/arthurdejong/python-stdnum/issues/94 2018-12-28 Arthur de Jong * [3f4a08a] stdnum/mac.py, stdnum/oui.dat, tests/test_mac.doctest, update/oui.py: Add MAC address This adds validation of MAC (Ethernet) addresses. It will perform lookups in the IEEE registry for manufacturer names for universally administered addresses. Closes https://github.com/arthurdejong/python-stdnum/issues/93 2018-12-27 Arthur de Jong * [d7f7b8e] stdnum/ar/__init__.py, stdnum/ar/dni.py: Add Argentinian DNI Closes https://github.com/arthurdejong/python-stdnum/issues/90 2018-12-26 Arthur de Jong * [375f63b] stdnum/at/vnr.py: Add Austrian Versicherungsnummer 2018-11-27 Ilya Vihtinsky * [b77c9cd] stdnum/se/__init__.py, stdnum/se/personnummer.py, tests/test_se_personnummer.doctest: Add Swedish Personnummer Closes https://github.com/arthurdejong/python-stdnum/pull/88 2018-11-27 Ilya Vihtinsky * [d11e5c4] stdnum/no/__init__.py, stdnum/no/fodselsnummer.py, tests/test_no_fodselsnummer.doctest: Add Norwegian Fødselsnummer Closes https://github.com/arthurdejong/python-stdnum/pull/88 2018-12-07 Mario Puntin * [bb24c2f] stdnum/ar/cuit.py: Add format for Argentinian CUIT number Closes https://github.com/arthurdejong/python-stdnum/pull/89 2018-11-24 Christopher Ormaza * [069279a] stdnum/ec/ci.py, stdnum/ec/ruc.py: Support Cedula and RUC of foreigners Add the case of Cedulas and RUCs of foreigners in Ecuador, as Venezuelans and Colombians Closes https://github.com/arthurdejong/python-stdnum/pull/87 2018-11-12 Gustavo Valverde * [e31ff95] stdnum/do/ncf.py, stdnum/do/rnc.py: Use HTTPS for WSDL as HTTP was deprecated The regulator changed their site to use HTTPS by default; making this resource unavailable through HTTP. Closes https://github.com/arthurdejong/python-stdnum/pull/85 2018-11-11 Arthur de Jong * [8677d04] setup.cfg: Make the multi-line operator place explicit Recent versions of flake8 changed the defaults of the errors to ignore. 2018-10-14 Arthur de Jong * [a68f3ca] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.bitcoin.rst, docs/stdnum.iso11649.rst, docs/stdnum.mu.nid.rst, docs/stdnum.no.iban.rst, docs/stdnum.no.kontonr.rst, stdnum/__init__.py, stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, update/my_bp.py: Get files ready for 1.10 release 2018-10-14 Arthur de Jong * [6b85f91] stdnum/iban.py, tests/test_iban.doctest: Raise InvalidComponent on unknown IBAN country This partially reverts 58ea7b2. Closes https://github.com/arthurdejong/python-stdnum/issues/82 2018-10-09 Arthur de Jong * [58ea7b2] stdnum/iban.py, tests/test_iban.doctest: Fix issue with minimal IBAN This ensures that an IBAN with a missing bban part and unknown country code (while still having a valid MOD 97,10 checksum) is considered valid. Closes https://github.com/arthurdejong/python-stdnum/issues/84 2018-09-30 Arthur de Jong * [54c3650] stdnum/bitcoin.py, tests/test_bitcoin.doctest: Bitcoin address This adds validation of Bitcoin addresses. No check is done that the addresses actually exist but only that they are syntactically correct. Closes https://github.com/arthurdejong/python-stdnum/issues/80 2018-09-21 Levin Rickert * [510ee93] stdnum/ru/__init__.py: Add vat alias for Russia 2018-08-30 Gerard Dalmau * [e58c09a] tests/test_es_cups.doctest, tests/test_es_referenciacatastral.doctest: Fix ES test descriptions 2018-08-30 Gerard Dalmau * [4a76779] stdnum/es/cif.py, stdnum/es/nif.py, tests/test_es_nif.doctest: Improve CIF and NIF validation NIF starting with K, L or M are NIF instead of CIF. This also adds NIF-DNI-CIF-NIE classification tests. Closes https://github.com/arthurdejong/python-stdnum/pull/81 2018-08-22 Arthur de Jong * [5af712b] stdnum/no/iban.py, stdnum/no/kontonr.py, tests/test_iban.doctest: Add Norwegian bank account number This includes validation of Norwegian bank account numbers and conversion to IBAN. Closes https://github.com/arthurdejong/python-stdnum/issues/79 2018-08-08 Arthur de Jong * [ec39d86] stdnum/mu/__init__.py, stdnum/mu/nid.py, tests/test_mu_nid.doctest: Add Mauritian national ID number Thans to Bradley Smith for providing the needed information to implement this. See https://lists.arthurdejong.org/python-stdnum-users/2018/msg00003.html 2018-05-24 Esben Toke Christensen * [676d62c] stdnum/iso11649.py, tests/test_iso11649.doctest: Add iso11649 structured creditor reference Closes https://github.com/arthurdejong/python-stdnum/pull/72 2018-06-18 PanderMusubi * [65b5bfe] README, stdnum/nl/brin.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/nl/postcode.py: Improved texts and added links Closes https://github.com/arthurdejong/python-stdnum/pull/75 2018-05-19 Arthur de Jong * [6e776ae] stdnum/do/ncf.py, tests/test_do_ncf.py: Switch the NCF online check to the new form This tries to screen-scrape the new DGII form that is used to validate the new format of NCF numbers. Closes https://github.com/arthurdejong/python-stdnum/issues/71 2018-05-01 Arthur de Jong * [04f78fb] online_check/stdnum.wsgi: Fix encoding issues in online check This ensures that all text is unicode internally and encoded to UTF-8 on response. 2018-05-01 Arthur de Jong * [bae6f19] stdnum/mx/rfc.py, tests/test_mx_rfc.doctest: Fix an issue with format of Mexican tax numbers Fix an issue where the format accepted a mix of personal and company numberer in validation causing in a raised ValueError exception. 2018-05-01 Arthur de Jong * [08d1053] stdnum/es/referenciacatastral.py, stdnum/mx/rfc.py, stdnum/util.py, tests/test_util.doctest: Make unicode conversion standard A few modules use non-ASCII characters in numbers. This introduces a to_unicode() function in util so that it can be used by multiple modules. 2018-04-14 Arthur de Jong * [d9defc8] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.at.postleitzahl.rst, docs/stdnum.at.tin.rst, docs/stdnum.be.iban.rst, docs/stdnum.de.handelsregisternummer.rst, docs/stdnum.de.stnr.rst, docs/stdnum.figi.rst, docs/stdnum.me.iban.rst, setup.py, stdnum/__init__.py, stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/us/ein.dat, update/isil.py: Get files ready for 1.9 release 2018-04-12 Arthur de Jong * [e200656] stdnum/iban.py, tests/test_be_iban.doctest: Add an extra test for Belgian IBANs A Belgian IBAN should not end with 00. This also fixes a docstring and comment in the IBAN module. 2018-04-10 Arthur de Jong * [e6739be] stdnum/imsi.dat, stdnum/imsi.py, tests/test_imsi.doctest, update/imsi.py: Correctly split IMSI with multi-length MNC Ensures that imsi.split() will correctly split the IMSI into an MCC, MNC and MSIN even if not all MNCs within a single MCC have the same length. This has the downside of not being able to guess the MNC length in some cases. This also omits empty information from the data file and updates the data file from Wikipedia. Closes https://github.com/arthurdejong/python-stdnum/issues/68 2018-04-09 Arthur de Jong * [2541a22] online_check/check.js: Improve online check animation This speeds up the animation, collapsing the list before performing the server request and disable the slide animation on history navigation. 2018-04-09 Arthur de Jong * [147b84b] online_check/stdnum.wsgi: Ensure API requests are cached separately This ensures that requests that browsers make using XMLHttpRequest (they set the X-Requested-With header) are cached separately from normal requests. 2018-04-09 Arthur de Jong * [8204ac6] stdnum/do/ncf.py: Support new style of NCF numbers This adds support for validating Dominican Republic invoice numbers that should be used since from 2018-05-01. http://www.dgii.gov.do/contribuyentes/personasFisicas/inicioOperaciones/ComprobantesFiscales/Paginas/SecuenciaDeNCF.aspx Closes https://github.com/arthurdejong/python-stdnum/issues/69 2018-03-25 Arthur de Jong * [918d483] stdnum/figi.py, tests/test_figi.doctest: Add Financial Instrument Global Identifier 2018-03-23 Arthur de Jong * [ceb3c62] stdnum/de/__init__.py, stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.doctest: Add German company registry numbers Based on the implementation provided by Markus Törnqvist and Lari Haataja of Holvi Payment Services. 2018-03-19 Arthur de Jong * [fec1685] stdnum/at/tin.py: Also ignore other letters with possible umlaut Fixes 98d11a3 Closes https://github.com/arthurdejong/python-stdnum/pull/67 2018-03-18 Arthur de Jong * [98d11a3] stdnum/at/fa.dat, stdnum/at/tin.py, tests/test_at_tin.doctest: Add Austrian Abgabenkontonummer Based on the implementation provided by Mohammed Salman of Holvi. Closes https://github.com/arthurdejong/python-stdnum/pull/50 2018-03-17 Arthur de Jong * [ab15e20] stdnum/at/__init__.py: Fix import order Fixes ee263a5 2018-03-17 Arthur de Jong * [ee263a5] setup.cfg, stdnum/at/__init__.py, stdnum/at/postleitzahl.dat, stdnum/at/postleitzahl.py, stdnum/nl/__init__.py, update/at_postleitzahl.py: Add Austrian postal code This also fixes the name of the Dutch postal_code alias and tunes the tests. 2018-03-17 Arthur de Jong * [8c29fbf] stdnum/me/__init__.py, stdnum/me/iban.py, tests/test_iban.doctest: Add support for Montenegro IBAN format This adds further checks to the country-specific part of the IBAN for Montenegro IBANs. 2018-03-11 Arthur de Jong * [647dfea] stdnum/de/stnr.py, tests/test_de_stnr.doctest: Add German Steuernummer Based on the implementation provided by Mohammed Salman of Holvi. This is the old tax number that is being replaced by the Steuerliche Identifikationsnummer. The number has a regional form (which is used most often) and a national form. Closes https://github.com/arthurdejong/python-stdnum/pull/49 2018-02-28 Esa Halsti * [6e30cf5] stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Add validation for "individual" part of hetu The range between 900 and 999 is reserved for temporary identifiers and is not given to any real person. Closes https://github.com/arthurdejong/python-stdnum/pull/66 2018-03-10 Arthur de Jong * [70dc091] setup.cfg: Support building a universal wheel 2018-02-19 Arthur de Jong * [75138a4] stdnum/do/cedula.py, tests/test_do_cedula.py: Add check_dgii() to stdnum.do.cedula module This exposes the stdnum.do.rnc.check_dgii() in the stdnum.do.cedula module with but rename the rnc result entry to cedula. Closes https://github.com/arthurdejong/python-stdnum/issues/63 2018-02-19 Arthur de Jong * [92d751c] stdnum/do/ncf.py, stdnum/do/rnc.py: Fix PySimpleSOAP DGII result parsing issue This strips the wrapper that PySimpleSOAP puts around results from the DGII PySimpleSOAP SOAP call. Closes https://github.com/arthurdejong/python-stdnum/issues/64 Closes https://github.com/arthurdejong/python-stdnum/issues/65 2018-02-19 Arthur de Jong * [81947a2] docs/index.rst: Improve get_cc_module() documentation 2018-02-14 Arthur de Jong * [5cbba25] setup.cfg, stdnum/al/__init__.py, stdnum/ar/__init__.py, stdnum/at/__init__.py, stdnum/be/__init__.py, stdnum/be/iban.py, stdnum/cl/__init__.py, stdnum/co/__init__.py, stdnum/cz/__init__.py, stdnum/dk/__init__.py, stdnum/do/__init__.py, stdnum/ec/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/exceptions.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/hr/__init__.py, stdnum/hu/__init__.py, stdnum/is_/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/mc/__init__.py, stdnum/mx/__init__.py, stdnum/nl/__init__.py, stdnum/no/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/rs/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py, stdnum/sm/__init__.py, tests/test_do_ncf.py, tests/test_do_rnc.py, update/be_banks.py, update/numlist.py: Update the flake8 ignore list Re-enable the flake8 test for unused imports by explicitly marking imports for namespace purposes. This allows us to remove a few unused imports. A few more cleanups that allow us to reduce the number of ignored flake8 ignored tests. The remaining ignored tests are now documented. Ignore a flake8 warning about print statements because we use print in the update scripts. 2018-02-11 Arthur de Jong * [201960c] stdnum/be/iban.py, stdnum/bic.py, stdnum/iban.py, tests/test_be_iban.doctest: Add test for Belgian IBANs This adds a test for IBANs that were found online together with a BIC code to test the IBAN to swift code mapping. This also supports some extra separators in IBAN and BIC numbers and fixes a check digit calculation issue in the Belgian account number check digits. 2018-02-10 Arthur de Jong * [56002fa] stdnum/be/banks.dat, stdnum/be/iban.py, tests/test_iban.doctest, update/be_banks.py, update/requirements.txt: Add support for Belgian IBAN format This adds further checks to the country-specific part of the IBAN for Belgian IBANs. Closes https://github.com/arthurdejong/python-stdnum/issues/62 2018-02-10 Arthur de Jong * [c611b27] stdnum/bic.py: Support spaces in BIC codes BIC codes are sometimes written in a space-separated form this correctly cleans the spaces for compact representation. 2018-02-06 Arthur de Jong * [5fd1ae0] stdnum/do/ncf.py, stdnum/do/rnc.py, stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Allow configuring SOAP request timeout This adds a timeout parameter to all checks that use a SOAP web service to reduce the blocking time. The default timeout for all checks is 30 seconds. 2018-01-07 Chris Lamb * [c113613] stdnum/eu/vat.py: Exclude EU country codes from documentation Whilst working on the Reproducible Builds effort [0], we noticed that python-stdnum could not be built reproducibly as it relies on a stable set ordering when generating the documentation. This has been filed in Debian as #88652 [0] https://reproducible-builds.org/ [1] https://bugs.debian.org/886522 Closes: https://github.com/arthurdejong/python-stdnum/pull/61 Signed-off-by: Chris Lamb 2018-01-06 Arthur de Jong * [9841bae] ChangeLog, NEWS, stdnum/__init__.py: Get files ready for 1.8.1 release 2018-01-06 Arthur de Jong * [820c233] README: Fix feedback section in README to be valid RST 2018-01-06 Arthur de Jong * [ab8a871] setup.py: Update long description in compatible way This ensures that the README is read correctly on all supported Python interpreters. Fixes 1304122 2018-01-05 5j9 <5j9@users.noreply.github.com> * [1304122] setup.py: setup.py: Open README with utf-8 encoding Fixes #59 2018-01-03 Arthur de Jong * [ae89e82] ChangeLog, MANIFEST.in, NEWS, README, docs/conf.py, docs/index.rst, docs/stdnum.casrn.rst, docs/stdnum.do.ncf.rst, docs/stdnum.eu.banknote.rst, docs/stdnum.in_.aadhaar.rst, docs/stdnum.in_.pan.rst, setup.cfg, stdnum/__init__.py, update/numlist.py: Get files ready for 1.8 release 2018-01-03 Arthur de Jong * [db9b278] tox.ini: Fix Sphinx dependency name 2018-01-03 Arthur de Jong * [fbb9d24] docs/index.rst, stdnum/__init__.py: Move get_cc_module() function to package for public use 2018-01-03 Arthur de Jong * [7bb0e5f] setup.py, stdnum/util.py: Try the non-caching zeep client on older versions This uses the "normal" Client class from zeep if CachingClient is not available (this is the case on older zeep versions). This also records (and documents) the dependencies for SOAP libraries in setup.py. 2018-01-01 Arthur de Jong * [6d7ba46] .travis.yml: Add a Travis configuration file 2018-01-01 Arthur de Jong * [db7be06] stdnum/do/ncf.py, stdnum/do/rnc.py, tox.ini: Fix Python 2.6 compatibility 2018-01-01 Arthur de Jong * [8107f08] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/us/ein.dat: Update database files Note that the Swift IBAN Registry in txt format is currently unavailable so hasn't been updated. 2018-01-01 Arthur de Jong * [e781eee] MANIFEST.in, tox.ini, update/README, update/cn_loc.py, update/do_whitelists.py, update/eu_nace.py, update/iban.py, update/imsi.py, update/isbn.py, update/isil.py, update/my_bp.py, update/numlist.py, update/requirements.txt: Move update scripts to own directory This moves all the update scripts to their own directory so they don't clutter the toplevel directory. This also ensures that the scripts are passed through flake8 and makes some adjustments for that alongside a few other cleanups. 2017-12-01 srikanthlogic * [442aa82] stdnum/in_/pan.py, tests/test_in_pan.doctest: Add Indian PAN Closes https://github.com/arthurdejong/python-stdnum/pull/57 2017-12-31 Arthur de Jong * [8a34b4e] stdnum/util.py: Correctly quote regular expression Fixes a6ae1d0. 2017-12-31 Arthur de Jong * [271b9e4] docs/stdnum.is_.kennitala.rst, docs/stdnum.is_.vsk.rst, tox.ini: Add Sphinx documentation checks This also fixes an escaping issue in the automatically generated documentation for modules that end with an underscore. 2017-12-06 Arthur de Jong * [be094f8] README, docs/conf.py, docs/index.rst, getnumlist.py, setup.py, stdnum/__init__.py: Use README as package long description This also shortens the stdnum module docstring and updates the Sphinx configuration. 2017-12-01 srikanthlogic * [c576bc4] stdnum/in_/__init__.py, stdnum/in_/aadhaar.py: Add Indian Aadhaar Closes https://github.com/arthurdejong/python-stdnum/pull/56 2017-11-26 Arthur de Jong * [bafdb70] stdnum/casrn.py, tests/test_casrn.doctest: Add CAS Registry Number This adds validation of the Chemical Abstracts Service Registry Number. 2017-11-24 Arthur de Jong * [d5f97e9] online_check/check.js, online_check/stdnum.wsgi: Change output of online lookups This puts the number before the number name to make it a little clearer. 2017-11-24 Arthur de Jong * [f7b4615] online_check/check.js: Store online check numbers in history This updates the browser history with with the numbers that were checked so that you can easily go back and forth between checked number. 2017-11-24 Arthur de Jong * [7cb114b] online_check/stdnum.wsgi: Correctly escape number for use in attribute 2017-11-26 Arthur de Jong * [90067f7] tests/test_eu_banknote.doctest: Fix incorrect banknote test Also add a few verified correct numbers. Fixes b7b812c. 2017-11-22 Arthur de Jong * [b7b812c] stdnum/eu/banknote.py, tests/test_eu_banknote.doctest: Add Euro bank notes serial number This adds validation of serial numbers that appear on Euro bills. 2017-11-02 Arthur de Jong * [a6ae1d0] docs/index.rst, docs/stdnum.bic.rst, docs/stdnum.iso9362.rst, stdnum/bic.py, stdnum/iso9362.py, stdnum/util.py: Rename stdnum.iso9362 to stdnum.bic The new name is more descriptive and easier to remember. This makes stdnum.iso9362 a compatibility module that can be imported with the old name but provides a deprecation warning. 2017-10-22 Arthur de Jong * [6be1754] stdnum/util.py: Support zeep as preferred SOAP library This tries zeep, suds (suds-jurko) and falls back to using pysimplesoap for performing the SOAP requests. From those zeep seems to be the best supported implementation. 2017-10-22 Arthur de Jong * [9ab1d66] stdnum/eu/vat.py, tests/test_eu_vat.py: Add tests for the VIES VAT validation functions These tests are not normally run as part of the normal test suite and have to be explicitly enabled by setting the ONLINE_TESTS environment variable to avoid overloading these online services. 2017-10-18 Arthur de Jong * [ab21159] stdnum/do/ncf.py, tests/test_do_ncf.py: Add stdnum.do.ncf.check_dgii() This adds functions for querying the Dirección General de Impuestos Internos (DGII) API to check if the RNC and NCF combination provided is valid. 2017-10-18 Arthur de Jong * [6b09c5d] stdnum/do/rnc.py, tests/test_do_rnc.py, tox.ini: Add stdnum.do.rnc.check_dgii() and search_dgii() This adds functions for querying the Dirección General de Impuestos Internos (DGII) API to validate the RNC and search the register by keyword. 2017-10-16 Arthur de Jong * [665bf7a] stdnum/do/ncf.py, tests/test_do_ncf.doctest: Add Dominican Republic receipt number (NCF) This number does not have a check digit but uses a distinctive enough format that it should not be too great of a problem. 2017-10-14 Arthur de Jong * [4ab1e3b] stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Cache SOAP client in get_soap_client() This caches the instantiated SOAP client classes in the util module instead of doing the caching in every module that performs requests. 2017-10-18 Arthur de Jong * [cecd35c] getdowhitelists.py: Add a script for updating RNC and Cedula whitelists 2017-10-13 Arthur de Jong * [399321b] stdnum/do/rnc.py, tests/test_do_rnc.doctest: Also add a whitelist for Dominican Republic RNC Some RNCs are apparently valid while having an incorrect check digit (though most appear to be inactive). There also appear to be valid RNCs that do not have 9 digits. 2017-10-13 Arthur de Jong * [58511dc] stdnum/do/cedula.py, tests/test_do_cedula.doctest: Add a few new numbers to the Cedula whitelist These numbers were found to be valid but had an invalid check digit nonetheless (though most appear to be inactive). Also there appear to be a few valid Cedula that do not have 11 digits. 2017-10-13 David Arnold * [74c1721] stdnum/util.py, tests/test_util.doctest: Handle unicode arguments in get_cc_module() Closes https://github.com/arthurdejong/python-stdnum/issues/54 2017-09-15 Arthur de Jong * [12cd072] stdnum/eu/at_02.py: Fix spelling errors 2017-09-12 Arthur de Jong * [4496ffe] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ca.bn.rst, docs/stdnum.ca.sin.rst, docs/stdnum.de.idnr.rst, docs/stdnum.ee.registrikood.rst, docs/stdnum.fi.veronumero.rst, docs/stdnum.gb.upn.rst, stdnum/__init__.py: Get files ready for 1.7 release 2017-09-12 Arthur de Jong * [28092b3] stdnum/damm.py: Add example with custom table to Damm 2017-09-11 Arthur de Jong * [24d4a76] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files 2017-09-11 Arthur de Jong * [5071636] getisbn.py: Update getisbn to allow TLSv1 The www.isbn-international.org site uses TLSv1 which seems to be blocked by recent Python/OpenSSL combinations unless configured otherwise. 2017-09-11 Arthur de Jong * [edaad05] setup.cfg, tox.ini: Run flake8 from tox 2017-09-10 Arthur de Jong * [0ce5d0b] stdnum/bg/egn.py, stdnum/cz/dic.py, stdnum/dk/cpr.py, stdnum/es/cups.py, stdnum/es/referenciacatastral.py, stdnum/eu/nace.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/iban.py, stdnum/it/codicefiscale.py, stdnum/lv/pvn.py, stdnum/numdb.py, stdnum/ro/cnp.py, stdnum/util.py: Minor code improvements (mostly PEP8) 2017-09-10 Arthur de Jong * [e468c1b] stdnum/ch/vat.py, stdnum/cn/ric.py, stdnum/do/cedula.py, stdnum/ee/ik.py, stdnum/ee/registrikood.py, stdnum/es/nif.py, stdnum/fi/__init__.py, stdnum/fi/hetu.py, stdnum/gb/nhs.py, stdnum/gb/upn.py, stdnum/gb/vat.py, stdnum/is_/kennitala.py, stdnum/it/codicefiscale.py, stdnum/nl/onderwijsnummer.py, stdnum/numdb.py, stdnum/rs/pib.py, stdnum/sk/rc.py, stdnum/us/tin.py: Make import ordering consistent 2017-09-10 Arthur de Jong * [1c27639] stdnum/al/nipt.py, stdnum/ar/cbu.py, stdnum/ar/cuit.py, stdnum/at/businessid.py, stdnum/at/uid.py, stdnum/au/abn.py, stdnum/au/acn.py, stdnum/au/tfn.py, stdnum/be/vat.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/br/cnpj.py, stdnum/br/cpf.py, stdnum/ca/bn.py, stdnum/ca/sin.py, stdnum/ch/ssn.py, stdnum/ch/uid.py, stdnum/ch/vat.py, stdnum/cl/rut.py, stdnum/cn/ric.py, stdnum/co/nit.py, stdnum/cusip.py, stdnum/cy/vat.py, stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/damm.py, stdnum/de/idnr.py, stdnum/de/vat.py, stdnum/de/wkn.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/do/cedula.py, stdnum/do/rnc.py, stdnum/ean.py, stdnum/ec/ci.py, stdnum/ec/ruc.py, stdnum/ee/ik.py, stdnum/ee/kmkr.py, stdnum/ee/registrikood.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/referenciacatastral.py, stdnum/eu/at_02.py, stdnum/eu/eic.py, stdnum/eu/nace.py, stdnum/eu/vat.py, stdnum/fi/alv.py, stdnum/fi/associationid.py, stdnum/fi/hetu.py, stdnum/fi/veronumero.py, stdnum/fi/ytunnus.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/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/imo.py, stdnum/imsi.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/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/iso9362.py, stdnum/issn.py, stdnum/it/codicefiscale.py, stdnum/it/iva.py, stdnum/lei.py, stdnum/lt/pvm.py, stdnum/lu/tva.py, stdnum/luhn.py, stdnum/lv/pvn.py, stdnum/mc/tva.py, stdnum/meid.py, stdnum/mt/vat.py, stdnum/mx/rfc.py, stdnum/my/nric.py, stdnum/nl/brin.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/nl/postcode.py, stdnum/no/mva.py, stdnum/no/orgnr.py, stdnum/numdb.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, stdnum/pl/regon.py, stdnum/pt/nif.py, stdnum/ro/cf.py, stdnum/ro/cnp.py, stdnum/rs/pib.py, stdnum/ru/inn.py, stdnum/se/orgnr.py, stdnum/se/vat.py, stdnum/si/ddv.py, stdnum/sk/dph.py, stdnum/sm/coe.py, stdnum/tr/__init__.py, stdnum/tr/tckimlik.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/verhoeff.py: Docstring improvements 2017-09-08 Arthur de Jong * [2cc39ea] stdnum/cz/dic.py, tests/test_eu_vat.doctest: Fix Czech DIČ check digit calculation This fixes a bug in the check digit calculation for the 9-digit numbers that start with a 6 for individuals without a RČ. This also adds a few tests for Czech VAT numbers. See https://github.com/arthurdejong/python-stdnum/issues/51 2017-09-04 Arthur de Jong * [d24a439] stdnum/ee/registrikood.py, tests/test_ee_registrikood.doctest: Add Estonian Registrikood This is based on what was done by Mohammed Salman of Holvi. This adds more tests and validates the check digit. This uses the check digit algorithm from Isikukood which seems to work with all tested numbers although there is no confirmation that this is the correct algorithm. 2017-08-25 Mohammed Salman * [53cc0dc] stdnum/de/idnr.py, tests/test_de_idnr.doctest: Add support for German tax id number 2017-08-30 Arthur de Jong * [a71a1ac] stdnum/isbn.py, tests/test_isbn.doctest: Check bookland code in ISBN This ensures that an InvalidComponent() exception is raised when an unknown EAN bookland code is found. It will also raise this exception when using to_isbn10() when not using the 978 code. 2017-08-28 Arthur de Jong * [8f6fa7d] setup.cfg, stdnum/iban.py, stdnum/ismn.py, stdnum/meid.py, stdnum/numdb.py, stdnum/util.py, tests/numdb-test.dat, tests/test_util.doctest: Ensure 100% branch coverage This ensures that the tests fail if 100% branch coverage is not achieved. It also adds some pragma statements for code that cannot be covered or is Python version dependent. Furthermore, the get_module_list() function was removed from stdnum.util and more tests were made from stdnum.util and stdnum.numdb. The functionality to call format() in a country-specific IBAN implementation was also dropped because it was not used. 2017-08-27 Arthur de Jong * [fbc92f8] stdnum/gb/upn.py: Add English Unique Pupil Number (UPN) 2017-08-26 Arthur de Jong * [b8389eb] stdnum/ca/bn.py, tests/test_ca_bn.doctest: Add Canadian Business Number (BN) 2017-08-26 Arthur de Jong * [efd2eb9] stdnum/ca/__init__.py, stdnum/ca/sin.py: Add Canadian Social Insurance Number (SIN) 2017-08-24 Arthur de Jong * [b8e12d6] setup.cfg: Ensure all Python files are in coverage report 2017-08-17 Mohammed Salman * [0c91b43] stdnum/fi/veronumero.py: Implement Finnish individual tax number validation 2017-07-11 Arthur de Jong * [bd0c7c7] online_check/check.js, online_check/stdnum.wsgi, online_check/template.html: Include search term in online form This also makes the Javascript regular expression used for highlighting links the same as the Python equivalent. 2017-06-02 Arthur de Jong * [81446fd] stdnum/iso7064/mod_97_10.py: Use slightly more compact code This changes the alphanumeric to numeric translation to be slightly more compact and slightly faster. 2017-04-16 Arthur de Jong * [ed9ac5b] tests/test_isbn.doctest: Add a few ISBNs found online This adds a number of ISBNs found online from various sources to the test suite. 2017-04-15 Arthur de Jong * [57c12d8] stdnum/ismn.py, tests/test_ismn.doctest: An ISMN can only be 10 or 13 digits This also adds the test that an ISMN should start with 9790. 2017-04-15 Arthur de Jong * [6fb2e89] stdnum/isbn.py, tests/test_isbn.doctest: Fix conversion of 9 digit ISBN to ISBN13 2017-04-13 Arthur de Jong * [5604d91] docs/index.rst, setup.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/gb/nhs.py, stdnum/isil.py, stdnum/iso6346.py, stdnum/lv/pvn.py, stdnum/nl/brin.py, stdnum/us/ein.dat, tests/test_al_nipt.doctest: Switch to HTTPS URLs 2017-04-13 Arthur de Jong * [d14ea3b] online_check/README, online_check/check.js, online_check/stdnum.wsgi: Show possible conversions in online check This shows possible converted values. For example it will show ISBN13 conversions for ISBN10 values. 2017-04-13 Arthur de Jong * [6b588d1] stdnum/damm.py: Fix bug in damm.is_valid() function 2017-04-11 Arthur de Jong * [35542c1] ChangeLog, MANIFEST.in, NEWS, README, docs/index.rst, docs/stdnum.ar.cbu.rst, docs/stdnum.eu.eic.rst, docs/stdnum.eu.nace.rst, docs/stdnum.lei.rst, docs/stdnum.mc.tva.rst, docs/stdnum.rs.pib.rst, stdnum/__init__.py: Get files ready for 1.6 release 2017-04-10 Arthur de Jong * [93459d3] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat: Update database files 2017-04-10 Arthur de Jong * [bb1712d] online_check/README, online_check/check.js, online_check/jquery-1.7.1.js, online_check/jquery-1.7.1.min.js, online_check/stdnum.wsgi, online_check/template.html: Add simple online check example This adds the code that is used to find formats for which a supplied number is valid. This is the code that is used on https://arthurdejong.org/python-stdnum/check/ 2017-04-10 Arthur de Jong * [5398247] stdnum/lei.py, tests/test_lei.doctest: Add Legal Entity Identifier 2017-04-10 Arthur de Jong * [e844b52] stdnum/iban.py, stdnum/iso7064/mod_97_10.py: Integrate base10 conversion into Mod 97, 10 This moves the conversion of an alphanumeric string to a numeric representation for modulo 97 calculation to the mod_97_10 module because this mechanism seems to be used by multiple formats. 2017-04-10 Arthur de Jong * [1b3d16e] stdnum/es/nie.py: Add missing export (__all__) 2017-04-10 Arthur de Jong * [72f5c6c] stdnum/rs/__init__.py, stdnum/rs/pib.py, tests/test_rs_pib.doctest: Add Serbian Poreski Identifikacioni Broj 2017-04-10 Arthur de Jong * [800205c] tox.ini: Print warnings during tox run 2017-04-07 Arthur de Jong * [7493eca] stdnum/cusip.py, stdnum/ean.py, stdnum/ec/ci.py, stdnum/isin.py, stdnum/tr/tckimlik.py: Use a slightly more readable weight alternation Switch to a slightly more readable syntax for alternating between two weights in checksums calculations. 2017-04-01 Arthur de Jong * [23b2150] stdnum/eu/eic.py, tests/test_eu_eic.doctest: Add European EIC (Energy Identification Code) 2017-03-26 Arthur de Jong * [194f025] stdnum/meid.py, tests/test_robustness.doctest: Add unicode robustness tests This tests a few unicode strings and fixes a bug in the MEID module. 2017-03-26 Arthur de Jong * [d43c394] stdnum/es/referenciacatastral.py, tests/test_es_referenciacatastral.doctest: Add test for Ñ in Referencia Catastral This supports the Referencia Catastral with an Ñ in it for both byte strings (Python 2) and unicode strings (Python 2 and 3). Support for literal unicode strings in Python 2 doctests is flaky so the test is a bit ugly. This also adds a few numbers that were found online. Sadly no real numbers with an Ñ in it have been found so the one in the test was constructed. 2017-03-26 Arthur de Jong * [61d73c1] getnace.py, stdnum/eu/nace.dat, stdnum/eu/nace.py, tests/test_robustness.doctest: Add European NACE classification This number is used to classify business. Validation is done based on a downloaded registry. 2017-03-26 Arthur de Jong * [649f073] stdnum/mc/tva.py: Remove unused import 2017-03-19 Arthur de Jong * [c957318] stdnum/fr/tva.py, stdnum/mc/__init__.py, stdnum/mc/tva.py, tests/test_eu_vat.doctest: Add support for Monaco VAT number The number uses the French TVA number but, unlike normal French VAT numbers, they are not valid French SIREN numbers. See https://github.com/arthurdejong/python-stdnum/issues/46 2016-12-11 Arthur de Jong * [5b43857] stdnum/au/tfn.py: Remove unused import 2016-12-01 Greg Kuwaye * [7d16ea5] stdnum/us/ein.dat: Add new 47 EIN prefix; fix duplicate 46; move 81 47 appears to be a new Internet campus code. Prefix 46 was listed twice, once under the Philadelphia campus and again under the Internet campus. This error may be seen on the IRS website itself. The Wikipedia article on EIN (https://en.wikipedia.org/wiki/Employer_Identification_Number) does not have 46 listed twice. 81 has moved from the Philadelphia campus to the Internet campus. 2016-11-14 Luciano Rossi * [dcde8f4] stdnum/ar/cbu.py, tests/test_ar_cbu.doctest: Implement CBU (unique bank code) of Argentina See https://github.com/arthurdejong/python-stdnum/issues/43 2016-11-14 Arthur de Jong * [da18e3b] setup.py, stdnum/fi/associationid.py, stdnum/meid.py, tests/test_mx_rfc.doctest, tox.ini: Add Python 2.6 support This also brings the list of Python versions in setup.py in line with tox.ini. 2016-11-13 Arthur de Jong * [62ebbce] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.au.abn.rst, docs/stdnum.au.acn.rst, docs/stdnum.au.tfn.rst, docs/stdnum.es.ccc.rst, docs/stdnum.es.cups.rst, docs/stdnum.es.iban.rst, docs/stdnum.es.referenciacatastral.rst, stdnum/__init__.py: Get files ready for 1.5 release 2016-11-13 Arthur de Jong * [c9beb00] stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, tests/test_iban.doctest: Update database files This removes the Costa Rica IBAN test because the format of the IBAN seems to have been changed. The old length still seems to be in use so a more permanent solution is probably required. 2016-11-13 Arthur de Jong * [ac560a7] getisbn.py: Update getisbn to Python3 There were some SSL-related issues with the urllib module. This was the easiest solution. 2016-11-13 Arthur de Jong * [458c310] getiban.py: Update gettin IBAN registry The format of the registry file has changed. Before it was a straightforward CSV file with countries in rows but countries are now in columns. 2016-11-09 Sergi Almacellas Abellana * [45faa7c] .gitignore, tox.ini: Add tox.ini file 2016-11-08 Sergi Almacellas Abellana * [a9e5405] stdnum/eu/at_02.py: Implement calc_check_digits in SEPA Identifier of the Creditor (AT-02) 2016-10-14 Arthur de Jong * [8ea76ba] stdnum/au/tfn.py, tests/test_au_tfn.doctest: Add Australian Tax File Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [8028c3a] stdnum/au/acn.py, tests/test_au_acn.doctest: Add Australian Company Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [70b94ee] stdnum/au/__init__.py, stdnum/au/abn.py, tests/test_au_abn.doctest: Add Australian Business Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [d7cff5d] stdnum/be/__init__.py, stdnum/be/vat.py: Provide businessid as an alias The Belgian company number or enterprise number (ondernemingsnummer) is the new name for what was previously the VAT number. 2016-09-10 Arthur de Jong * [352aa8a] stdnum/es/referenciacatastral.py: Add reference to Referencia Catastral implementation 2016-09-03 Arthur de Jong * [49db553] tests/test_es_referenciacatastral.doctest: Add more tests for Referencia Catastral This adds a number of extra tests for the Spanish Referencia Catastral (stdnum.es.referenciacatastral) module, mostly based on numbers found online. This commit includes some of the documentation on the structure of Referencia Catastral that was in the original pull request. See https://github.com/arthurdejong/python-stdnum/pull/38 2016-08-31 David García Garzón * [2c557a0] stdnum/es/referenciacatastral.py: Add Spansih Referencia Catastral The control digit check algorithm is based on Javascript implementation by Vicente Sancho that can be found at http://trellat.es/validar-la-referencia-catastral-en-javascript/ See https://github.com/arthurdejong/python-stdnum/pull/38 2016-09-10 Arthur de Jong * [b128c8d] tests/test_iban.doctest: Test a few Spanish IBANs found online 2016-09-10 Arthur de Jong * [878e036] stdnum/numdb.py: Avoid leaving open file descriptor in test 2016-09-08 Arthur de Jong * [be24790] stdnum/es/iban.py, tests/test_iban.doctest: Add Spanish IBAN number module This validates the country-specific part of the IBAN. 2016-09-08 Arthur de Jong * [2510932] stdnum/iban.py: Validate country-specific part of IBAN This adds the possible of validating the country-specific part of the IBAN. If the country has an IBAN module, checking is also delegated to that module. 2016-09-06 Arthur de Jong * [d8cca82] stdnum/eu/vat.py, stdnum/util.py: Introduce get_cc_module() utility function This changes the get_vat_module() function to a more generic get_cc_module() function so that it can also be used for other things like IBAN checking. 2016-09-06 Arthur de Jong * [1622873] stdnum/es/ccc.py: Add to_iban() function to Spanish CCC 2016-09-08 Arthur de Jong * [7d969be] stdnum/iban.py: Implement calc_check_digits() in IBAN Introduce a function to calculate the two check digits of an IBAN. Since the check digits are the third and fourth characters in the number, placeholders need to be provided when calling this function. 2016-08-31 David García Garzón * [294f872] stdnum/es/ccc.py: Add Spanish Código Cuenta Corriente (CCC) 2016-08-28 David García Garzón * [466cec8] stdnum/es/cups.py, tests/test_es_cups.doctest: Add Spanish CUPS code 2016-08-28 Arthur de Jong * [d95382f] stdnum/exceptions.py: Properly print error message of exceptions This ensures that the message passed to the constructor is shown in the traceback while falling back to the class default. 2016-07-26 Arthur de Jong * [01a7f34] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.damm.rst, docs/stdnum.fr.nif.rst, docs/stdnum.fr.nir.rst, docs/stdnum.fr.siret.rst, docs/stdnum.gb.nhs.rst, docs/stdnum.tr.tckimlik.rst, stdnum/__init__.py: Get files ready for 1.4 release 2016-07-26 Arthur de Jong * [3e4e9e2] getmybp.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the getmybp script to support the new layout. 2016-07-26 Arthur de Jong * [3e344d1] stdnum/iso6346.py: Add formatting of ISO 6346 container codes 2016-07-26 Arthur de Jong * [aa1c298] getnumlist.py, stdnum/damm.py, tests/test_damm.doctest: Implement Damm algorithm This is a generic check digit algorithm. 2016-07-26 Arthur de Jong * [411d038] stdnum/fr/nif.py: Fix French NIF format test Fixes 2409ee9. 2016-07-26 Arthur de Jong * [06e4165] stdnum/ch/ssn.py: Improve validation to Swiss SSN number The EAN-13 number should start with 756. 2016-07-26 Arthur de Jong * [1907c67] stdnum/br/cpf.py: Add documentation to Brazillian CPF 2016-07-26 Arthur de Jong * [cf428ac] stdnum/iso6346.py: Add pointer to ISO 6346 information 2016-07-26 Arthur de Jong * [011c0f0] stdnum/gb/nhs.py: Fix copyright notice 2016-05-22 Dimitri Papadopoulos * [2409ee9] stdnum/fr/nif.py: Add NIF - French tax identification number Add module for NIF also known as SPI number. 2016-07-26 Arthur de Jong * [43b58d3] stdnum/fr/nir.py: Move NIR check digit calculation to function This also fixes a number of formatting issues, improves the module description and adds tests for the 2A and 2B departments. 2016-05-29 Dimitri Papadopoulos * [879f2d3] stdnum/fr/nir.py: Improve French NIR validation Please note that the 7th character of the NIR might be 'A' or 'B'. Other than that the NIR contains digits only. 2016-07-25 Arthur de Jong * [fd9f953] stdnum/fr/siren.py, stdnum/fr/siret.py, tests/test_fr_siren.doctest, tests/test_fr_siret.doctest: Add extra tests for SIREN and SIRET This adds tests for a few numbers that have been found online and allows the dot as a seprator because those numbers were found. It also ensures that the SIREN validation is also called for SIRET and adds a SIRET formatting function. 2016-05-27 Yoann Aubineau * [5ba3a87] stdnum/fr/siret.py: Add French SIRET number Add a SIRET (Système d'Identification du Répertoire des ETablissements, a French company etablishment identification number) module. 2016-05-29 Arthur de Jong * [dc708f0] stdnum/isil.py, tests/test_isil.doctest: Add more ISIL tests This moves a few of the tests from the module to a dedicated test file and adds tests for a number of ISIL numbers found online. 2016-05-29 Arthur de Jong * [4a57d84] stdnum/us/tin.py: Fix formatting of bulleted list 2016-05-28 Arthur de Jong * [9b74840] stdnum/ch/ssn.py, tests/test_ch_ssn.doctest: Fix bug in Swiss SSN validation The validation was delegated to the EAN module but the number is supposed to be an EAN-13 only and and EAN-8 was also accepted. This also reformats the docstring. 2016-05-28 Arthur de Jong * [f3c2491] stdnum/ie/vat.py, tests/test_ie_vat.doctest: Fix bug in Irish VAT number validation The last digits of the number that should be letters were not tested to be letters which could result in ValueError being raised for certain validations. This also clarifies the documentation and adds a convert() function to convert numbers from the old format (where the second character would be a letter or symbol) to the new format (7 digits followed by 1 or 2 letters). 2016-05-28 Arthur de Jong * [b5397ed] tests/test_robustness.doctest: Small improvements to tests This includes a formatting fix and removes an unused variable from a test. 2016-05-28 Arthur de Jong * [d85b27f] stdnum/util.py: Fix get_module_description() This fixes the initial implementation in 3f6d52a. 2016-05-22 Dimitri Papadopoulos * [a1afa76] stdnum/fr/nir.py: Add French NIR Add module for NIR also known as social security number. 2016-05-09 Arthur de Jong * [0a2f39e] stdnum/gb/nhs.py: Add United Kingdom NHS number Add module for United Kingdom National Health Service patient identifier. 2016-05-09 Arthur de Jong * [2126947] stdnum/numdb.py: Read numdb files in context manager This ensures that the file is explicitly closed in the function to avoid "unclosed file" warnings. See: https://github.com/arthurdejong/python-stdnum/issues/33 2016-04-11 Arthur de Jong * [e28b5e1] stdnum/ch/uid.py, stdnum/ch/vat.py, stdnum/cusip.py, stdnum/dk/cpr.py, stdnum/iban.py, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/isin.py, stdnum/issn.py, stdnum/mx/rfc.py, stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py, stdnum/pl/regon.py, stdnum/tr/tckimlik.py, stdnum/us/ssn.py, stdnum/verhoeff.py: Make more information links consistent Also fix a docstring in stdnum.nl.bsn and add a pointer to stdnum.nl.onderwijsnummer. 2016-04-09 Arthur de Jong * [feab917] stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Implement online TC Kimlik check This refactors out the SOAP client function that was implemented for VIES to the stdnum.utils module. 2016-04-09 Arthur de Jong * [619b097] stdnum/tr/__init__.py, stdnum/tr/tckimlik.py, tests/test_tr_tckimlik.doctest: Add Turkish personal identification number 2016-04-01 Arthur de Jong * [095dcbb] stdnum/mx/rfc.py, tests/test_mx_rfc.doctest: Document accuracy of RFC check digit test There is an online service that allows validating RFC numbers. It seems there are a lot of numbers that do not match the check digit algorithm which confirms disabling the check digit test by default is a good idea. Also see https://github.com/arthurdejong/python-stdnum/issues/32 2016-03-05 Arthur de Jong * [41cecb5] ChangeLog, NEWS, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 1.3 release 2016-03-03 Arthur de Jong * [6457734] getcnloc.py, getiban.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the getcnloc and getiban scripts to use new URLs. 2015-10-30 Arthur de Jong * [0061564] stdnum/dk/cpr.py, stdnum/iban.py, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/issn.py, stdnum/nl/bsn.py, stdnum/us/ssn.py, stdnum/verhoeff.py: Integrate information from the wiki This adds the information that was previously in the Trac wiki into the source docstrings because the Trac instance is being phased out. This also includes small updates to the ISIL module. 2015-10-28 Arthur de Jong * [96c8151] stdnum/eu/vat.py: Fix SOAP client re-use This fixes a bug when checking re-use of the global SOAP client object. The object could not be evaluated in boolean context so is no explicitly compared to None. For suds a MethodNotFound exception would be raised for __nonzero__() (which Python uses for boolean comparison). 2015-10-28 Lionel Elie Mamane * [2881b86] stdnum/eu/vat.py: Fix problem with check_vies_approx() 2015-10-15 Ronald Paloschi * [fb0efe0] stdnum/iso6346.py, tests/test_iso6346.doctest: Fix for when ISO 6346 checksum is 10 Bug fix for when the checksum is 10, it was compared to 0 and failed. New doctest exposing the bug that passes after the fix is applied. See: https://github.com/arthurdejong/python-stdnum/pull/30 2015-10-11 Arthur de Jong * [1361817] ChangeLog, MANIFEST.in, NEWS, README, docs/index.rst, docs/stdnum.at.businessid.rst, docs/stdnum.br.cnpj.rst, docs/stdnum.ch.uid.rst, docs/stdnum.ch.vat.rst, docs/stdnum.cusip.rst, docs/stdnum.de.wkn.rst, docs/stdnum.ee.ik.rst, docs/stdnum.fi.associationid.rst, docs/stdnum.fi.ytunnus.rst, docs/stdnum.gb.sedol.rst, docs/stdnum.imo.rst, docs/stdnum.isin.rst, docs/stdnum.mx.rfc.rst, docs/stdnum.pl.pesel.rst, docs/stdnum.pl.regon.rst, docs/stdnum.ru.inn.rst, setup.py, stdnum/__init__.py: Get files ready for 1.2 release 2015-10-11 Arthur de Jong * [1327045] getcnloc.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the script to download updated Chinese location names. 2015-10-11 Arthur de Jong * [a891c60] stdnum/al/nipt.py, stdnum/co/nit.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/imei.py, stdnum/isan.py, stdnum/iso6346.py, stdnum/it/codicefiscale.py, stdnum/meid.py, stdnum/nl/postcode.py, stdnum/numdb.py, stdnum/pt/nif.py, stdnum/us/atin.py, stdnum/us/ein.py, stdnum/us/itin.py, stdnum/us/ptin.py, stdnum/us/ssn.py, stdnum/util.py: Code style improvements Ensure that regular expressions are r'' strings, avoid too long lines and fix line wrapping. Also avoid catching toplevel Exception when possible and use binascii for hex to binary conversion which is available in both Python 2 and 3. 2015-10-11 Arthur de Jong * [3c7a302] stdnum/cusip.py, stdnum/de/wkn.py, stdnum/gb/sedol.py, stdnum/isin.py: Convert security ids to ISIN Allow conversion from national securities identifiers to the international ISIN. 2015-10-11 Arthur de Jong * [c565517] stdnum/de/wkn.py, tests/test_de_wkn.doctest: Add German Wertpapierkennnummer The format itself is pretty simple (no check digit) but this module is more for completeness sake. 2015-10-10 Arthur de Jong * [961815f] stdnum/gb/sedol.py, tests/test_gb_sedol.doctest: Add SEDOL number 2015-10-10 Arthur de Jong * [fb91775] stdnum/ru/__init__.py: Add information to Russian package 2015-10-10 Arthur de Jong * [ebb5c07] MANIFEST.in, stdnum/numdb.py, tests/numdb-test.dat: Move numdb test file This places the test database file in the tests directory. 2015-10-10 Arthur de Jong * [fa8099e] stdnum/imo.py: Add int. maritime org. number (IMO) This adds checks for the International Maritime Organization number used to identify ships. However, there seem to be a lot of ships with an IMO number that does not follow these rules (different check digits or even length). 2015-10-10 Arthur de Jong * [111b4fd] stdnum/isan.py, tests/test_isan.doctest: Fix handling of strip_check_digits in ISAN This fixes the compact() function to honor the strip_check_digits argument and does not validate the check digits if they are passed to validate together with strip_check_digits. 2015-10-10 Arthur de Jong * [9f9d13c] stdnum/isin.py, tests/test_isin.doctest: Add international securities id (ISIN) This adds support for handling ISINs (International Securities Identification Number). The can contain a CUSIP but performing this additional validation is currently not performed. 2015-10-09 Arthur de Jong * [522611c] stdnum/cusip.py, tests/test_cusip.doctest: Add CUSIP number 2015-10-08 Arthur de Jong * [320ecea] stdnum/ch/uid.py, stdnum/ch/vat.py, tests/test_ch_uid.doctest, tests/test_ch_vat.doctest: Add Swiss UID and VAT numbers The Swiss VAT number (MWST, TVA, IVA, TPV) is the UID (Unternehmens-Identifikationsnummer) followed by one of the VAT abbreviations. 2015-10-05 Arthur de Jong * [ec9bcb0] stdnum/mx/__init__.py, stdnum/mx/rfc.py, tests/test_mx_rfc.doctest: Add Mexican RFC number This adds support for the Mexican tax number RFC (Registro Federal de Contribuyentes). This module includes a number of checks on the number but the validation of the last check digit is disabled by default because a large number of numbers were found that were otherwise valid but had an invalid check digit. 2015-10-04 Arthur de Jong * [fd0cfd9] stdnum/eu/vat.py, stdnum/util.py: Move finding VAT module to util This moves the finding of a VAT module to the util module so that it can be more easily re-used for non-EU countries. 2015-10-04 Arthur de Jong * [38ed9c0] stdnum/co/nit.py, tests/test_co_nit.doctest: Update Colombian NIT checks This adds a number of tests for numbers found online. The length check has also been revisited because both shorter numbers and longer number have been found. This also updates the format() function to handle arbitrary length numbers. 2015-10-02 Arthur de Jong * [d413f95] stdnum/isbn.py: Fix comment 2015-10-02 Arthur de Jong * [3d1dbbb] stdnum/ar/cuit.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/co/nit.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/do/rnc.py, stdnum/ec/ruc.py, stdnum/ee/kmkr.py, stdnum/fi/alv.py, stdnum/gb/vat.py, stdnum/hu/anum.py, stdnum/is_/kennitala.py, stdnum/lv/pvn.py, stdnum/mt/vat.py, stdnum/no/orgnr.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, stdnum/pl/regon.py, stdnum/ro/cf.py, stdnum/ro/cnp.py: Use zip() instead of enumerate() Makes the code slightly simpler and more compact. 2015-10-01 Sergio Isidoro * [222a87e] stdnum/fi/__init__.py: Add alias to hetu in for finnish personal id code 2015-09-27 Arthur de Jong * [e045c71] tests/test_eu_vat.doctest: Add more numbers found online 2015-09-07 Dariusz Choruzy * [36217ac] stdnum/pl/regon.py, tests/test_pl_regon.doctest: Add Polish REGON number 2015-09-06 Dariusz Choruzy * [a0cb61f] stdnum/pl/pesel.py: Add Polish PESEL number 2015-08-16 Arthur de Jong * [5ab8d24] stdnum/ru/__init__.py, stdnum/ru/inn.py, tests/test_ru_inn.doctest: Add Russioan ИНН (INN) tax ID This adds a basic implementation of the Russian Идентификационный номер налогоплательщика (tax identification number). This currently only checks the format, length and check digits but not whether each of the parts of the number are valid (e.g. valid region specified). 2015-08-16 Arthur de Jong * [714fa60] stdnum/br/cnpj.py, tests/test_br_cnpj.doctest: Add Brazillian CNPJ business identifier Add module for Cadastro Nacional da Pessoa Jurídica, the Brazillian company identifier. 2015-08-16 Arthur de Jong * [b939099] getiban.py, stdnum/iban.dat, tests/test_iban.doctest: Update IBAN tests This updates the iban.dat file from the IBAN registry, includes a fix for handling spaces in the BBAN and adds some more IBAN examples from the IBAN registry. 2015-08-16 Arthur de Jong * [7714db7] stdnum/iso9362.py: Make uppercase in compact() This changes the compact() function of the ISO 9362 module to make all the letters uppercase. 2015-08-16 Arthur de Jong * [6afa875] setup.cfg, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.py, stdnum/meid.py, stdnum/us/atin.py, stdnum/us/ein.py, stdnum/us/itin.py: Turn on and improve branch coverage 2015-08-16 Arthur de Jong * [e88ba0b] stdnum/dk/cpr.py, stdnum/is_/kennitala.py, stdnum/it/codicefiscale.py: Small typo and code style fixes 2015-08-03 Tomas Karasek * [243e50f] stdnum/ee/ik.py, tests/test_ee_ik.doctest: Add validation of Estonian personal ID 2015-06-12 Lari Haataja * [7f9c94f] stdnum/at/businessid.py: Add company register number validation for Austria 2015-07-12 Arthur de Jong * [0cbba6e] : Merge Finnish numbers provided by Holvi This merges the Finnish numbers provided by Holvi Payment Services Oy as found here: https://github.com/holvi/python-stdnum 2015-07-12 Arthur de Jong * [320326e] stdnum/fi/ytunnus.py: Split out format() function This uses the stdnum.fi.alv module more extensively and ensures that validate() returns a compact representation and a separate format() function is available. 2015-06-23 Lari Haataja * [37f7fa6] stdnum/fi/__init__.py, stdnum/fi/ytunnus.py: Add validation for Finnish y-tunnus (business identifier) 2015-07-12 Arthur de Jong * [db24746] stdnum/fi/associationid.py: Add a whitelist for short numbers and fix API This implements separate functions compact() and format() and fixes the doctests. This also implements a whitelist of registered short numbers to avoid accidentally validating just any number. 2015-06-16 Lari Haataja * [8d30992] stdnum/fi/associationid.py: Validation for Finnish association identifier 2015-07-12 Arthur de Jong * [e107457] : Merge changes to use CN Open Data 2015-07-12 Arthur de Jong * [a1a134e] stdnum/eu/vat.py: Fall back to pysimplesoap if suds is unavailable Initial testing seems to suggest that proxy-support is not complete with pysimplesoap (at least httplib2 and PySocks seem to be required). 2015-04-28 Lionel Elie Mamane * [8fe44f9] stdnum/eu/vat.py: Implement alternate VIES check Add a function to stdnum.eu.vat so that when one does a VIES VAT number check, one gets a proof (certificate) that one did the check, as defence against the VAT administration later putting this in doubt. This certificate is provided by the VIES service, if one provides one's own VAT number. 2015-06-08 Jiangge Zhang * [6308261] stdnum/cn/loc.dat: Download and generate latest Chinese location data. 2015-06-08 Jiangge Zhang * [12ba352] getcnloc.py: Download GB2260 data from github.com/cn. 2015-04-27 Arthur de Jong * [8925ae2] tests/test_iso6346.doctest: Fix copyright header 2015-04-27 Arthur de Jong * [58775d9] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.al.nipt.rst, docs/stdnum.ar.cuit.rst, docs/stdnum.cl.rut.rst, docs/stdnum.co.nit.rst, docs/stdnum.do.cedula.rst, docs/stdnum.do.rnc.rst, docs/stdnum.is_.kennitala.rst, docs/stdnum.is_.vsk.rst, docs/stdnum.iso9362.rst, docs/stdnum.no.mva.rst, docs/stdnum.no.orgnr.rst, docs/stdnum.se.orgnr.rst, docs/stdnum.sm.coe.rst, setup.py, stdnum/__init__.py: Get files ready for 1.1 release 2015-04-27 Arthur de Jong * [583b066] getcnloc.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the script to download updated Chinese location names. 2014-10-24 Tomas Thor Jonsson * [dd309e4] stdnum/se/orgnr.py, stdnum/se/vat.py: Add support for SE orgnr This also delegates some of the validation for the Swedish VAT module to the orgnr module. 2015-04-27 Arthur de Jong * [23882e2] tests/test_ec_ruc.doctest: Add extra tests for the stdnum.ec.ruc module These numbers were found in various online sources. 2015-04-25 Arthur de Jong * [eac4d63] stdnum/fr/tva.py: Add extra test for French TVA 2014-10-14 P. Christeas * [9934f76] stdnum/gr/vat.py: Change description of Greek FPA number In Greece, our VAT number is used as a generic "tax registration" num. Update the docstring to reflect that name. 2015-04-22 Arthur de Jong * [4d7163c] stdnum/ar/__init__.py, stdnum/ar/cuit.py, tests/test_ar_cuit.doctest: Add Argentinian CUIT (VAT) number Based partially on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [ba894d7] stdnum/sm/__init__.py, stdnum/sm/coe.py: Add San Marino COE (VAT) number Based partially on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [144e1a4] stdnum/co/__init__.py, stdnum/co/nit.py: Add Colombian NIT/RUT (VAT) code Based on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [c69c8f0] stdnum/cl/__init__.py, stdnum/cl/rut.py, tests/test_cl_rut.doctest: Add Chilean national tax number (RUT) Based on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [3db826c] stdnum/al/__init__.py, stdnum/al/nipt.py, tests/test_al_nipt.doctest: Add Albanian NIPT (VAT) number Partially based on the implementation in the vatnumber module. Some valid numbers appear to start with an L so those are allowed as well. 2015-04-23 Arthur de Jong * [88d1af3] stdnum/do/cedula.py: Extend the list of valid Cedula This is based on the list of Cedula found at http://prd.org.do/2013/07/30/lista-del-cen-del-prd-actualizada-y-registrada-en-la-junta-central-electoral/ (link provided by José Arturo García) 2015-04-17 Arthur de Jong * [49d1e69] stdnum/do/cedula.py, tests/test_do_cedula.doctest: Add Dominican Republic Cedula number The Cedule is a Dominican Republic national identification number for persons. The number uses the Luhn checksum but apparently there are a lof of valid numbers in use that do not match the checksum. For this a whitelist is used. 2015-04-17 Arthur de Jong * [d003ac3] stdnum/do/__init__.py, stdnum/do/rnc.py, tests/test_do_rnc.doctest: Add Dominican Republic RNC number The RNC (Registro Nacional del Contribuyente) is the Dominican Republic taxpayer registration number for companies. 2015-04-19 Arthur de Jong * [9e94ab8] tests/test_no_mva.doctest: Add more stdnum.no.mva tests 2015-04-18 Arthur de Jong * [c334bcf] stdnum/is_/kennitala.py, tests/test_is_kennitala.doctest: Add more tests for Kennitala 2015-04-11 Tuomas Toivonen * [84620f8] stdnum/is_/__init__.py, stdnum/is_/kennitala.py, stdnum/is_/vsk.py: Support Icelandic personal, organisation and VAT identifiers The package is named "is_" because "is" is a reserved word. 2015-04-11 Tuomas Toivonen * [699b340] stdnum/no/__init__.py, stdnum/no/mva.py, stdnum/no/orgnr.py: Add support for Norwegian organisation and VAT numbers This commit also includes changes from Tomas Thor Jonsson . 2015-02-09 Tony Bajan * [75bcef0] stdnum/iso9362.py: Add ISO 9362 (BIC) support 2015-04-17 Arthur de Jong * [2574f89] stdnum/imsi.py: Raise InvalidComponent for unregistered IMSI 2014-12-23 Emiliano Castro * [9883c72] stdnum/eu/vat.py, stdnum/hr/__init__.py: Adding HR (Croatia) to the list of available countries 2014-11-01 Arthur de Jong * [3a7c9f7] stdnum/bg/vat.py, stdnum/eu/at_02.py, stdnum/iban.py, stdnum/isan.py, stdnum/meid.py, stdnum/numdb.py: Fix common spelling mistake 2014-10-31 Matt McDonald * [6e332b1] stdnum/meid.py, tests/test_meid.doctest: Fix for invalidating MEIDs with invalid decimal bit length See: http://arthurdejong.org/trac/python-stdnum/ticket/10 2014-10-20 Arthur de Jong * [3fa795d] getnumlist.py: Restore section for on homepage 2014-10-19 Arthur de Jong * [147eeb1] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ch.ssn.rst, docs/stdnum.cn.ric.rst, docs/stdnum.ec.ci.rst, docs/stdnum.ec.ruc.rst, docs/stdnum.eu.at_02.rst, docs/stdnum.iso6346.rst, docs/stdnum.it.codicefiscale.rst, docs/stdnum.us.rtn.rst, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 1.0 release 2014-10-19 Arthur de Jong * [72c0ff1] stdnum/iso6346.py: Remove unused import 2014-10-19 Arthur de Jong * [e713cc7] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files 2014-10-13 Denis Krienbühl * [256aa49] stdnum/ch/__init__.py, stdnum/ch/ssn.py: Adds the Swiss social security number Also known as "Sozialversicherungsnummer" / "Neue AHV Nummer". 2014-10-18 Arthur de Jong * [2cc50e2] stdnum/eu/at_02.py, stdnum/iban.py, stdnum/imei.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/luhn.py, stdnum/util.py, stdnum/verhoeff.py: Only catch Exception 2014-10-17 Arthur de Jong * [e2948bb] : Add Ecuadorian CI and RUC numbers Add modules for Ecuadorian Identification Card (CI - Cédula de identidad) and Fiscal Numbers (RUC - Registro Único de Contribuyentes) See: https://github.com/arthurdejong/python-stdnum/pull/12 2014-10-17 Arthur de Jong * [e5250be] stdnum/ec/ci.py, stdnum/ec/ruc.py, tests/test_ec_ci.doctest, tests/test_ec_ruc.doctest: Validate parts of numbers This raises exceptions when the provice or establishment number part of the number contains invalid values. 2014-10-17 Arthur de Jong * [10a044f] stdnum/ec/ci.py, stdnum/ec/ruc.py: Refactor checksum functions Use the CI checks from within the RUC module for natural RUC numbers (thereby eliminating a bug in the RUC checksum calculation) and simplify the checksum functions. 2014-10-17 Arthur de Jong * [f61b855] stdnum/ec/ci.py, stdnum/ec/ruc.py, tests/test_ec_ci.doctest, tests/test_ec_ruc.doctest: Use dedicated doctests This moves a number of the existing test cases to dedicated doctest files and extend the tests with more numbers and corner cases. This also fixes a few docstrings. 2014-10-12 Jonathan Finlay * [e8f1ca6] stdnum/ec/__init__.py, stdnum/ec/ci.py, stdnum/ec/ruc.py: Add Ecuadorian CI and RUC numbers Add modules for Ecuadorian Identification Card (CI - Cédula de identidad) and Fiscal Numbers (RUC - Registro Único de Contribuyentes) 2014-10-06 Arthur de Jong * [2700b7a] : Add Chinese Resident Identity Card Number 2014-10-06 Jiangge Zhang * [141d576] stdnum/cn/ric.py, tests/test_cn_ric.doctest: Support the Resident Identity Card Number of People's Republic China 2014-10-05 Jiangge Zhang * [10ae548] getcnloc.py, stdnum/cn/loc.dat: Download locations from the China (PRC) government site 2014-10-05 Jiangge Zhang * [e9eb546] stdnum/cn/__init__.py: Add stdnum.cn package for Chinese (PRC) numbers 2014-10-05 Arthur de Jong * [97ac94d] stdnum/my/nric.py, tests/test_my_nric.doctest: Update NRIC tests 2014-10-05 Arthur de Jong * [123e9cb] getmybp.py, stdnum/my/bp.dat: Update URLs for Malaysian code lists This updates the URLs for the state and country codes as published by the National Registration Department of Malaysia and changes the parsing to the new page layout. This also updates the data file. https://github.com/arthurdejong/python-stdnum/issues/14 2014-09-01 Tony Bajan * [86f60a2] stdnum/us/rtn.py: Add US bank routing transit numbers 2014-07-05 Arthur de Jong * [fbb0316] getisbn.py: Use ElementTree for simpler XML parsing 2014-07-05 Arthur de Jong * [03e4f97] getisbn.py, stdnum/isbn.dat: Fix getisbn script and update ISBN data file 2014-04-11 Arthur de Jong * [26517fe] getnumlist.py, stdnum/__init__.py: Improve package docstring formatting and show example 2014-03-18 Sharoon Thomas * [85dd6f2] stdnum/iso6346.py, tests/test_iso6346.doctest: Add support for ISO6346 Add validation and creation of check digit for ISO6346 codes. See: https://github.com/arthurdejong/python-stdnum/pull/9 2014-03-05 Jussi Räsänen * [2405c89] stdnum/eu/vat.py: Added a simple backwards compability check 2014-02-17 Arthur de Jong * [a4012f5] stdnum/ie/pps.py, stdnum/ie/vat.py, tests/test_eu_vat.doctest: Add support for 2013 extension of Irish PPS Numbers References: - https://www.welfare.ie/en/Pages/PPSN.aspx - http://www.citizensinformation.ie/en/social_welfare/irish_social_welfare_system/personal_public_service_number.html 2014-02-06 Arthur de Jong * [71d9837] stdnum/eu/at_02.py: Rename AT-02 module to stdnum.eu.at_02 2014-02-05 Sergi Almacellas Abellana * [099078e] stdnum/at_02.py: Add SEPA Creditor identifier (AT-02) 2014-02-02 Arthur de Jong * [1ac00a0] stdnum/it/codicefiscale.py, tests/test_it_codicefiscale.doctest: Add an Italian Codice Fiscale module This module validates 16 digit Italian tax codes for individuals. https://en.wikipedia.org/wiki/Italian_fiscal_code_card It is based on the pycodicefiscale module that can be found here: https://github.com/baxeico/pycodicefiscale Functions have been renamed to follow the stdnum naming scheme: isvalid() -> is_valid(), control_code -> calc_check_digit(), get_birthday() -> get_birth_date(), get_sex() -> get_gender(). The build() function for generating tax codes (based on name, birth place and date) has been left out because this number cannot be uniquely constructed with this information alone (numbers are issued by the Italian tax office with a mechanism handle duplicates). Addresses trac ticket #9. 2014-01-01 Arthur de Jong * [c3d669c] setup.py: Remove requirement on distribute This accidentally slipped into 907e410. 2013-12-31 Arthur de Jong * [d933aab] .gitignore, ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.my.nric.rst, docs/stdnum.nl.brin.rst, docs/stdnum.nl.postcode.rst, docs/stdnum.us.atin.rst, docs/stdnum.us.ein.rst, docs/stdnum.us.itin.rst, docs/stdnum.us.ptin.rst, docs/stdnum.us.tin.rst, getiban.py, getimsi.py, stdnum/__init__.py: Get files ready for 0.9 release 2013-12-31 Arthur de Jong * [5c1765e] stdnum/iban.dat, stdnum/isbn.dat: Update database files 2013-12-31 Arthur de Jong * [4217c35] stdnum/isan.py, stdnum/meid.py, stdnum/util.py: Add pragma: no cover for Python 3 Some statements are not covered in Python 3 tests. 2013-12-31 Arthur de Jong * [6c49ca8] getiban.py: Update getiban script This switches to use the csv module to support multi-line column values. This also handles some problems in the BBAN structure column that would contain an IBAN structure. 2013-12-31 Arthur de Jong * [0ee74e5] ChangeLog: Generate Changelog with different formatter git log --date=short --name-only \ --format="%x0c%ad %aN <%aE>%n%n%x09* [%h]%x00%s%n%x00%+b%x00" | \ awk 'BEGIN { RS="\f"; FS="\0" } { if ($1) { gsub(/\n*$/, "", $4); gsub(/^\n*/, "", $4); gsub(/\n/, ", ", $4); gsub(/\ngit-svn-id.*/, "", $3); gsub(/\n/, "\n\t ", $3); print $1 " " $4 ": "; print "\t " $2 $3 }}' | \ fmt --width=78 -c > ChangeLog 2013-12-30 Cédric Krier * [a148835] stdnum/gb/vat.py, tests/test_gb_vat.doctest: Add some new VAT numbers for GB Add support for restarting from November 2009 using 9755. Add support for EU format of health authorities See: https://github.com/arthurdejong/python-stdnum/pull/4 2013-12-12 eneq123 * [4609a22] getimsi.py, stdnum/imsi.dat: Update parsing in getimsi script This updates the regexes and includes seom optimizations. See: https://github.com/arthurdejong/python-stdnum/issues/1 2013-12-30 Cédric Krier * [9ec3cb0] stdnum/eu/vat.py: Add support for proxy 2013-12-04 Arthur de Jong * [7f30979] getimsi.py, stdnum/imsi.dat: Update getimsi script This updates the script due to the Wikipedia article change and removes the code for getting the data from ITU for now. See: https://github.com/arthurdejong/python-stdnum/issues/1 2013-11-09 Arthur de Jong * [b0c47d5] stdnum/nl/__init__.py, stdnum/nl/postcode.py: Add a Dutch postal code module The Dutch postal code (postcode) consists of four digits followed by two characters and together with the house number should uniquely identify any address. Addresses trac ticket #7. 2013-11-09 Arthur de Jong * [73d05b0] stdnum/nl/brin.py: Add a Dutch Brin number module The Brin (Basis Registratie Instellingen) is a number to identify schools and related institutions. Addresses trac ticket #6. 2013-11-09 Arthur de Jong * [73330a1] stdnum/nl/onderwijsnummer.py: Clarify onderwijsnummer description 2013-11-09 Arthur de Jong * [188d3ea] : Add various United States Tax number modules This adds modules for the Individual Taxpayer Identification Number (ITIN), the Employer Identification Number (EIN), Adoption Taxpayer Identification Number (ATIN) and Preparer Tax Identification Number (PTIN) that together with the Social Security Number (SSN) are valid Taxpayer Identification Numbers (TIN) 2013-10-12 Arthur de Jong * [9530635] stdnum/us/tin.py: Add a United States TIN module The Taxpayer Identification Number is used used for tax purposes in the United States. This module uses the SSN, ITIN, EIN, PTIN and ATIN modules to determine validitiy of the TIN. 2013-10-11 Arthur de Jong * [316e3f2] stdnum/us/ptin.py: Add a United States PTIN module A Preparer Tax Identification Number (PTIN) is United States identification number for tax return preparers. It is an eight-digit number prefixed with a capital P. 2013-10-11 Arthur de Jong * [47ea6ea] stdnum/us/atin.py: Add a United States ATIN module An Adoption Taxpayer Identification Number (ATIN) is a temporary nine-digit number issued by the United States IRS for a child for whom the adopting parents cannot obtain a Social Security Number. 2013-10-11 Arthur de Jong * [b1c9ba5] stdnum/us/ein.dat, stdnum/us/ein.py: Add a United States EIN module The Employer Identification Number (EIN), also known as Federal Employer Identification Number (FEIN), is used to identify a business entity in the United States. It is issued to anyone that has to pay withholding taxes on employees. 2013-10-11 Arthur de Jong * [19039f7] stdnum/us/itin.py: Add a United States ITIN module The ITIN (Individual Taxpayer Identification Number) is issued by the United States IRS to individuals who are required to have a taxpayer identification number but who are not eligible to obtain a Social Security Number. 2013-10-11 Arthur de Jong * [70b974b] stdnum/meid.py: Remove unused import 2013-11-08 Arthur de Jong * [f122c88] stdnum/util.py: Try to replace Unicode characters with ASCII This changes the stdnum.util.clean() method that is used by all modules to replace alternative Unicode dashes, dots, etc. by their ASCII equivalent so the numbers will be automatically converted and validated. Inspiration for this change came from https://github.com/JNRowe/pyisbn/pull/6 2013-06-14 Arthur de Jong * [c042f02] ChangeLog, NEWS, stdnum/__init__.py: Get files ready for 0.8.1 release 2013-06-14 Arthur de Jong * [31e5e81] MANIFEST.in, setup.py: Ensure that all used files are included in the sdist 2013-06-09 Arthur de Jong * [7fa9822] ChangeLog, NEWS, README, docs/index.rst, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 0.8 release 2013-06-09 Arthur de Jong * [9597010] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files We manually tweak the Finland IBAN entry. We should probably change the parsing so that it uses the IBAN structure instead of the BBAN structure. 2013-06-09 Arthur de Jong * [19cbb3c] stdnum/my/nric.py: Fix NRIC module description 2013-06-08 Arthur de Jong * [46a7996] getmybp.py, stdnum/my/__init__.py, stdnum/my/bp.dat, stdnum/my/nric.py, tests/test_my_nric.doctest: Add a Malaysian NRIC No. module NRIC No. (National Registration Identity Card Number) is the unique identifier for issued to Malaysian citizens and permanent residents. 2013-06-08 Arthur de Jong * [999f2c3] : Provide a validate() function in all modules This provides an additional means of doing number validation that allows applications calling this library to get more information about why the validation failed and present more informative messages to the user. This introduces a collection of exceptions which will be raised by the validate() function in each module. All modules have been updated to provide this new function. 2013-05-22 Arthur de Jong * [cb69921] README, docs/index.rst, docs/stdnum.exceptions.rst: Document the validate() function and exceptions 2013-05-18 Arthur de Jong * [e00744c] stdnum/util.py: Use validate() in stdnum.util 2013-05-17 Arthur de Jong * [3d3a97d] stdnum/us/ssn.py: Implement validate() for U.S. Social Security Number 2013-05-17 Arthur de Jong * [4bfce3f] stdnum/eu/vat.py, tests/test_eu_vat.doctest: Implement validate() for European VAT numbers 2013-05-17 Arthur de Jong * [1aaf902] stdnum/sk/dph.py, stdnum/sk/rc.py: Implement validate() for Slovak numbers 2013-05-17 Arthur de Jong * [8982d1e] stdnum/si/ddv.py: Implement validate() for Slovenian VAT numbers 2013-05-17 Arthur de Jong * [522a599] stdnum/se/vat.py: Implement validate() for Swedish VAT numbers 2013-05-17 Arthur de Jong * [8e7d807] stdnum/pt/nif.py: Implement validate() for Portuguese VAT numbers 2013-05-17 Arthur de Jong * [7e865db] stdnum/pl/nip.py: Implement validate() for Polish numbers 2013-05-17 Arthur de Jong * [96c5080] stdnum/mt/vat.py: Implement validate() for Maltese numbers 2013-05-17 Arthur de Jong * [2ff4950] stdnum/lv/pvn.py: Implement validate() for Latvian numbers 2013-05-17 Arthur de Jong * [9845b0a] stdnum/lu/tva.py: Implement validate() for Luxembourgian numbers 2013-05-17 Arthur de Jong * [04cfb84] stdnum/lt/pvm.py: Implement validate() for Lithuanian numbers 2013-05-17 Arthur de Jong * [b1d5a72] stdnum/it/iva.py: Implement validate() for Italian numbers 2013-05-17 Arthur de Jong * [083993b] stdnum/ie/pps.py, stdnum/ie/vat.py: Implement validate() for Irish numbers 2013-05-17 Arthur de Jong * [301ba25] stdnum/hu/anum.py: Implement validate() for Hungarian numbers 2013-05-17 Arthur de Jong * [31f2684] stdnum/hr/oib.py: Implement validate() for Croatian numbers 2013-05-17 Arthur de Jong * [1932f69] stdnum/gr/vat.py: Implement validate() for Greek numbers 2013-05-17 Arthur de Jong * [10710dc] stdnum/gb/vat.py, tests/test_gb_vat.doctest: Implement validate() for United Kingdom numbers 2013-05-17 Arthur de Jong * [4753c09] stdnum/fi/alv.py, stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Implement validate() for Finnish numbers 2013-05-17 Arthur de Jong * [2259cbb] stdnum/es/cif.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py: Implement validate() for Spanish numbers 2013-05-17 Arthur de Jong * [07c66e1] stdnum/ee/kmkr.py: Implement validate() for Estonian numbers 2013-05-17 Arthur de Jong * [8caecc5] stdnum/dk/cpr.py, stdnum/dk/cvr.py: Implement validate() for Danish numbers 2013-05-17 Arthur de Jong * [360480b] stdnum/de/vat.py: Implement validate() for German numbers 2013-05-17 Arthur de Jong * [fce6196] stdnum/cy/vat.py: Implement validate() for Cypriot numbers 2013-05-17 Arthur de Jong * [14e382f] stdnum/cz/dic.py, stdnum/cz/rc.py: Implement validate() for Czech numbers 2013-05-17 Arthur de Jong * [54ce2d7] stdnum/br/cpf.py: Implement validate() for Brazillian numbers 2013-05-17 Arthur de Jong * [6080907] stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, tests/test_bg_vat.doctest: Implement validate() for Bulgarian numbers 2013-05-17 Arthur de Jong * [33ce4e9] stdnum/be/vat.py: Implement validate() for Belgian numbers 2013-05-17 Arthur de Jong * [66d6259] stdnum/at/uid.py: Implement validate() for Austrian numbers 2013-05-11 Arthur de Jong * [05547a4] stdnum/ro/cf.py, stdnum/ro/cnp.py: Implement validate() for Romanian numbers 2013-05-17 Arthur de Jong * [fc1432c] stdnum/fr/siren.py, stdnum/fr/tva.py: Implement validate() for French numbers 2013-05-05 Arthur de Jong * [62cafb4] stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py: Implement validate() for Dutch numbers 2013-05-04 Arthur de Jong * [cf88e23] stdnum/meid.py, tests/test_meid.doctest: Implement validate() for MEID 2013-05-04 Arthur de Jong * [c6f41f6] stdnum/issn.py: Implement validate() for ISSN 2013-05-04 Arthur de Jong * [21f07b3] stdnum/ismn.py, tests/test_ismn.doctest: Implement validate() for ISMN 2013-05-04 Arthur de Jong * [c07609f] stdnum/isil.py: Implement validate() for ISIL 2013-05-04 Arthur de Jong * [a18f1ac] stdnum/isan.py, tests/test_isan.doctest: Implement validate() for ISAN 2013-05-01 Arthur de Jong * [3ac8164] stdnum/iban.py: Implement validate() for IBAN 2013-05-03 Arthur de Jong * [12bd684] stdnum/grid.py: Implement validate() for GRid numbers 2013-05-04 Arthur de Jong * [9cee495] stdnum/imsi.py: Implement validate() for IMSI 2013-05-04 Arthur de Jong * [6e4bb71] stdnum/imei.py, tests/test_imei.doctest: Implement validate() for IMEI numbers 2013-05-04 Arthur de Jong * [efa2550] 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, tests/test_iso7064.doctest: Implement validate() for ISO 7064 algorithms 2013-05-03 Arthur de Jong * [5c9090b] stdnum/verhoeff.py, tests/test_verhoeff.doctest: Implement validate() for the Verhoeff checksum 2013-05-03 Arthur de Jong * [9ad5139] stdnum/luhn.py, tests/test_luhn.doctest: Implement validate() for the Luhn algorithms 2013-05-03 Arthur de Jong * [9580046] stdnum/isbn.py, tests/test_isbn.doctest: Implement validate() for ISBN 2013-05-03 Arthur de Jong * [fa1864f] stdnum/ean.py, tests/test_ean.doctest: Implement validate() for EAN 2013-06-07 Arthur de Jong * [8b9ef8f] stdnum/util.py: Raise a proper exception if cleaning fails 2013-06-07 Arthur de Jong * [1ac5437] setup.cfg, stdnum/exceptions.py: Provide a module with validation exceptions This introduces a new module for switching the validation scheme. Instead of using the is_valid() function that returns a boolean a validate() function either returns the sanitised number or raises an exception that should indicate the kind of validation failure. This should make it easier for applications calling this library to present more informative messages to the user. 2013-06-07 Arthur de Jong * [99586c9] stdnum/__init__.py, stdnum/de/vat.py, stdnum/nl/bsn.py, stdnum/util.py: Revert generating stdnum docstring dynamically Generating the docstring dynamically results in all stdnum modules being imported for every import from any stdnum module which is a performance hit. So we switch back to a manually generated list, using: from stdnum.util import get_module_list print '\n'.join(get_module_list()) This also shortens a few short descriptions to attempt to fit things on one line. 2013-06-07 Arthur de Jong * [a655e82] docs/conf.py, docs/index.rst: Documentation consistency improvements 2013-06-07 Arthur de Jong * [37a2afd] tests/test_iso7064.doctest: The robustness test were moved to the general tests 2013-06-07 Arthur de Jong * [90b7c4a] stdnum/numdb.py: Remove empty line 2013-06-07 Arthur de Jong * [bcb0a0b] stdnum/grid.py: GRid's format() function shouldn't have add_check_digit parameter 2013-04-26 Arthur de Jong * [2d956eb] stdnum/util.py: Use a cleaner way to get all stdnum modules This mechanism should work from Python 2.6 up to and including Python 3.3. 2013-04-26 Arthur de Jong * [30c832f] stdnum/numdb.py: Fix doctest to not be dependant on dict ordering 2013-04-26 Arthur de Jong * [51a55be] .gitignore: Add a .gitignore file 2012-09-22 Arthur de Jong * [3f6d52a] stdnum/__init__.py, stdnum/util.py: generate part of the stdnum docstring based on introspection of the modules 2012-06-16 Arthur de Jong * [af7e837] : set svn:ignore properly 2012-02-26 Arthur de Jong * [8f2e44c] stdnum/bg/egn.py, stdnum/cz/rc.py, stdnum/dk/cpr.py, stdnum/fi/hetu.py, stdnum/isan.py, stdnum/lv/pvn.py, stdnum/meid.py, stdnum/ro/cnp.py, tests/test_isan.doctest, tests/test_ismn.doctest, tests/test_robustness.doctest: re-add Python3 support 2012-02-26 Arthur de Jong * [3325052] ChangeLog, NEWS, stdnum/__init__.py: get files ready for 0.7 release 2012-02-26 Arthur de Jong * [a3ba206] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2012-02-26 Arthur de Jong * [c240eff] getnumlist.py: also generate a list of modules for use in the Spinx documentation 2012-02-26 Arthur de Jong * [54b0f47] README, getnumlist.py, stdnum/__init__.py: use a script to generate the list of number formats in stdnum 2012-02-26 Arthur de Jong * [dada6a4] stdnum/eu/vat.py, stdnum/gb/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/isan.py, stdnum/iso7064/__init__.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/lt/pvm.py, stdnum/luhn.py, stdnum/meid.py, stdnum/verhoeff.py: some more documentation improvements 2012-02-26 Arthur de Jong * [13218a0] setup.py: make script executable 2012-02-26 Arthur de Jong * [c2f0ea2] stdnum/fr/siren.py: add a to_vta() function to the stdnum.fr.siren module 2012-02-26 Arthur de Jong * [902a656] stdnum/__init__.py, stdnum/at/uid.py, stdnum/be/vat.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/br/cpf.py, stdnum/cy/vat.py, stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/de/vat.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/ean.py, stdnum/ee/kmkr.py, stdnum/es/cif.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py, stdnum/eu/vat.py, stdnum/fi/alv.py, stdnum/fi/hetu.py, stdnum/fr/siren.py, stdnum/fr/tva.py, stdnum/gb/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/imsi.py, stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.py, stdnum/iso7064/__init__.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/issn.py, stdnum/it/iva.py, stdnum/lt/pvm.py, stdnum/lu/tva.py, stdnum/luhn.py, stdnum/lv/pvn.py, stdnum/meid.py, stdnum/mt/vat.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/numdb.py, stdnum/pl/nip.py, stdnum/pt/nif.py, stdnum/ro/cf.py, stdnum/ro/cnp.py, stdnum/se/vat.py, stdnum/si/ddv.py, stdnum/sk/dph.py, stdnum/sk/rc.py, stdnum/us/ssn.py, stdnum/util.py, stdnum/verhoeff.py: ensure that the module docstrings are in a somewhat more usable format 2012-02-25 Arthur de Jong * [907e410] setup.py: add the optional dependency on suds for the stdnum.eu.vat.check_vies() function 2012-02-24 Arthur de Jong * [ae9268b] stdnum/cz/rc.py: make the get_birth_date() function publically available 2012-02-24 Arthur de Jong * [4dfc8d7] docs/_templates/autosummary/module.rst, docs/conf.py, docs/index.rst, docs/stdnum.at.uid.rst, docs/stdnum.be.vat.rst, docs/stdnum.bg.egn.rst, docs/stdnum.bg.pnf.rst, docs/stdnum.bg.vat.rst, docs/stdnum.br.cpf.rst, docs/stdnum.cy.vat.rst, docs/stdnum.cz.dic.rst, docs/stdnum.cz.rc.rst, docs/stdnum.de.vat.rst, docs/stdnum.dk.cpr.rst, docs/stdnum.dk.cvr.rst, docs/stdnum.ean.rst, docs/stdnum.ee.kmkr.rst, docs/stdnum.es.cif.rst, docs/stdnum.es.dni.rst, docs/stdnum.es.nie.rst, docs/stdnum.es.nif.rst, docs/stdnum.eu.vat.rst, docs/stdnum.fi.alv.rst, docs/stdnum.fi.hetu.rst, docs/stdnum.fr.siren.rst, docs/stdnum.fr.tva.rst, docs/stdnum.gb.vat.rst, docs/stdnum.gr.vat.rst, docs/stdnum.grid.rst, docs/stdnum.hr.oib.rst, docs/stdnum.hu.anum.rst, docs/stdnum.iban.rst, docs/stdnum.ie.pps.rst, docs/stdnum.ie.vat.rst, docs/stdnum.imei.rst, docs/stdnum.imsi.rst, docs/stdnum.isan.rst, docs/stdnum.isbn.rst, docs/stdnum.isil.rst, docs/stdnum.ismn.rst, docs/stdnum.iso7064.rst, docs/stdnum.issn.rst, docs/stdnum.it.iva.rst, docs/stdnum.lt.pvm.rst, docs/stdnum.lu.tva.rst, docs/stdnum.luhn.rst, docs/stdnum.lv.pvn.rst, docs/stdnum.meid.rst, docs/stdnum.mt.vat.rst, docs/stdnum.nl.bsn.rst, docs/stdnum.nl.btw.rst, docs/stdnum.nl.onderwijsnummer.rst, docs/stdnum.pl.nip.rst, docs/stdnum.pt.nif.rst, docs/stdnum.ro.cf.rst, docs/stdnum.ro.cnp.rst, docs/stdnum.se.vat.rst, docs/stdnum.si.ddv.rst, docs/stdnum.sk.dph.rst, docs/stdnum.sk.rc.rst, docs/stdnum.us.ssn.rst, docs/stdnum.verhoeff.rst, setup.cfg: generate documentation using Sphinx 2012-02-23 Arthur de Jong * [093b1a1] README, stdnum/__init__.py, stdnum/dk/cpr.py: add a CPR (personnummer, the Danish citizen number) module 2012-02-23 Arthur de Jong * [89e4d78] README, stdnum/__init__.py, stdnum/ie/pps.py: add a PPS No (Personal Public Service Number, Irish personal number) module 2012-02-22 Arthur de Jong * [3a9c407] README, stdnum/__init__.py, stdnum/hr/__init__.py, stdnum/hr/oib.py: add an OIB (Osobni identifikacijski broj, Croatian personal identification number) module 2012-02-20 Arthur de Jong * [680b7d1] numdb-test.dat, stdnum/numdb.py: rename numdb test file 2012-02-20 Arthur de Jong * [68f62bf] stdnum/eu/vat.py: add a stdnum.eu.vat.check_vies() function to do an on-line check of the VAT number 2012-02-19 Arthur de Jong * [e640e3b] stdnum/iban.py, stdnum/numdb.py: add "pragma: no cover" statements to code that isn't expected to be covered 2012-02-19 Arthur de Jong * [b561d59] README, stdnum/__init__.py, stdnum/eu/__init__.py, stdnum/eu/vat.py, tests/test_eu_vat.doctest: add a VAT (European Union VAT number) module 2012-02-19 Arthur de Jong * [61af19d] README, stdnum/__init__.py: make number description consistent 2012-02-19 Arthur de Jong * [eeb5c61] stdnum/at/__init__.py, stdnum/cz/__init__.py, stdnum/dk/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/hu/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/nl/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py: for all countries, provide vat as an alias for the local vat identifier 2012-02-19 Arthur de Jong * [6755b94] stdnum/at/__init__.py, stdnum/be/__init__.py, stdnum/bg/__init__.py, stdnum/br/__init__.py, stdnum/cy/__init__.py, stdnum/cz/__init__.py, stdnum/de/__init__.py, stdnum/dk/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/gb/__init__.py, stdnum/gr/__init__.py, stdnum/hu/__init__.py, stdnum/ie/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/mt/__init__.py, stdnum/nl/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/se/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py, stdnum/us/__init__.py: give all packages a description 2012-02-19 Arthur de Jong * [6d74fe9] stdnum/nl/vat.py: remove stdnum.nl.vat alias module 2012-02-19 Arthur de Jong * [528901d] stdnum/util.py, tests/test_robustness.doctest: use introspection to find number modules and test them 2012-02-18 Arthur de Jong * [2d80a24] README, stdnum/__init__.py, stdnum/bg/vat.py, tests/test_bg_vat.doctest, tests/test_robustness.doctest: add a VAT (Идентификационен номер по ДДС, Bulgarian VAT numbers) module 2012-02-18 Arthur de Jong * [1384488] README, stdnum/__init__.py, stdnum/bg/pnf.py, tests/test_robustness.doctest: add a PNF (ЛНЧ, Личен номер на чужденец, Bulgarian personal number of a foreigner) module 2012-02-18 Arthur de Jong * [a24e98e] README, stdnum/__init__.py, stdnum/bg/__init__.py, stdnum/bg/egn.py, tests/test_robustness.doctest: add an EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) module 2012-02-18 Arthur de Jong * [4ac3fe7] tests/test_robustness.doctest: explicitly test for False 2012-02-18 Arthur de Jong * [0c78d90] stdnum/lt/pvm.py: explicitly return False if no rule matches 2012-02-18 Arthur de Jong * [cddb5f9] README, stdnum/__init__.py, stdnum/gb/__init__.py, stdnum/gb/vat.py, tests/test_gb_vat.doctest, tests/test_robustness.doctest: add a VAT (United Kingdom (and Isle of Man) VAT registration number) module 2012-02-18 Arthur de Jong * [6c436ec] tests/test_fi_hetu.doctest: fix typo 2012-02-18 Arthur de Jong * [aa39c92] README, stdnum/__init__.py, stdnum/se/__init__.py, stdnum/se/vat.py, tests/test_robustness.doctest: add a VAT (Moms, Mervärdesskatt, Swedish VAT number) module 2012-02-18 Arthur de Jong * [3a7a91c] README, stdnum/__init__.py, stdnum/si/__init__.py, stdnum/si/ddv.py, tests/test_robustness.doctest: add a ID za DDV (Davčna številka, Slovenian VAT number) module 2012-02-18 Arthur de Jong * [ebbd1af] README, stdnum/__init__.py, stdnum/pl/__init__.py, stdnum/pl/nip.py, tests/test_robustness.doctest: add a NIP (Numer Identyfikacji Podatkowej, Polish VAT number) module 2012-02-18 Arthur de Jong * [c75f072] README, stdnum/__init__.py, stdnum/mt/__init__.py, stdnum/mt/vat.py, tests/test_robustness.doctest: add a VAT (Maltese VAT number) module 2012-02-17 Arthur de Jong * [0922f3c] stdnum/it/iva.py: strip a few more separators 2012-02-17 Arthur de Jong * [b708920] README, stdnum/__init__.py, stdnum/fr/tva.py, tests/test_robustness.doctest: add a TVA (Numéro d'identification à la taxe sur la valeur ajoutée, French VAT number) module 2012-02-17 Arthur de Jong * [dc8e9a3] README, stdnum/__init__.py, stdnum/lt/__init__.py, stdnum/lt/pvm.py, tests/test_robustness.doctest: add a PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number) module 2012-02-17 Arthur de Jong * [20296ef] README, stdnum/__init__.py, stdnum/ee/__init__.py, stdnum/ee/kmkr.py, tests/test_robustness.doctest: add a KMKR (Käibemaksukohuslase, Estonian VAT number) module 2012-02-17 Arthur de Jong * [2100c28] README, stdnum/__init__.py, stdnum/ie/__init__.py, stdnum/ie/vat.py, tests/test_robustness.doctest: add a VAT (Irish VAT number) module 2012-02-17 Arthur de Jong * [d2f1348] README, stdnum/__init__.py, stdnum/hu/__init__.py, stdnum/hu/anum.py, tests/test_robustness.doctest: add an ANUM (Közösségi adószám, Hungarian VAT number) module 2012-02-17 Arthur de Jong * [d803443] README, stdnum/__init__.py, stdnum/cz/dic.py, tests/test_robustness.doctest: add a DIČ (Daňové identifikační číslo, Czech VAT number) module 2012-02-17 Arthur de Jong * [0d2e4cc] README, stdnum/__init__.py, stdnum/fi/alv.py, tests/test_robustness.doctest: add an ALV nro (Arvonlisäveronumero, Finnish VAT number) module 2012-02-17 Arthur de Jong * [03eccc4] README, stdnum/__init__.py, stdnum/sk/dph.py, tests/test_robustness.doctest: add IČ DPH (Identifikačné číslo pre daň z pridanej hodnoty, Slovak VAT number) module 2012-02-16 Arthur de Jong * [389c306] README, stdnum/__init__.py, stdnum/pt/__init__.py, stdnum/pt/nif.py, tests/test_robustness.doctest: add a NIF (Número de identificação fiscal, Portuguese VAT number) module 2012-02-13 Arthur de Jong * [cdc7f96] README, stdnum/__init__.py, stdnum/at/__init__.py, stdnum/at/uid.py, tests/test_robustness.doctest: add a UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number) module 2012-02-13 Arthur de Jong * [e0bb4e8] README, stdnum/__init__.py, stdnum/cy/__init__.py, stdnum/cy/vat.py, tests/test_robustness.doctest: add a Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number) module 2012-02-12 Arthur de Jong * [402a0d5] stdnum/es/cif.py, stdnum/it/iva.py, stdnum/util.py: use the luhn module where possible 2012-02-12 Arthur de Jong * [1c2b4c3] tests/test_robustness.doctest: fix typo in header 2012-02-12 Arthur de Jong * [09ef54d] README, stdnum/__init__.py, stdnum/it/__init__.py, stdnum/it/iva.py, tests/test_robustness.doctest: add a Partita IVA (Italian VAT number) module 2012-02-12 Arthur de Jong * [ffc824b] README, stdnum/__init__.py, stdnum/ro/cf.py, tests/test_robustness.doctest: add a CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number) module 2012-02-12 Arthur de Jong * [9d65f6a] README, stdnum/__init__.py, stdnum/ro/__init__.py, stdnum/ro/cnp.py, tests/test_robustness.doctest: add a CNP (Cod Numeric Personal, Romanian Numerical Personal Code) module 2012-02-12 Arthur de Jong * [60533cd] stdnum/gr/vat.py: also strip : as seen in some numbers 2012-02-11 Arthur de Jong * [74c4c71] README, stdnum/__init__.py, stdnum/lu/__init__.py, stdnum/lu/tva.py, tests/test_robustness.doctest: add a TVA (Numéro d'identification à la taxe sur la valeur ajoutée, Luxembourgian VAT number) module 2012-02-11 Arthur de Jong * [74f4e2a] README, stdnum/__init__.py, stdnum/dk/__init__.py, stdnum/dk/cvr.py, tests/test_robustness.doctest: add a CVR (Momsregistreringsnummer, Danish VAT number) module 2012-02-11 Arthur de Jong * [3c64f1e] stdnum/be/vat.py: add missing test 2012-02-11 Arthur de Jong * [b8c3ba6] stdnum/be/vat.py: clean up numbers starting with (0) 2012-02-11 Arthur de Jong * [8a10861] README, stdnum/__init__.py, stdnum/lv/__init__.py, stdnum/lv/pvn.py, tests/test_robustness.doctest: add a PVN (Pievienotās vērtības nodokļa, Latvian VAT number) module 2012-02-11 Arthur de Jong * [a3610a3] README, stdnum/__init__.py, stdnum/es/nif.py, tests/test_robustness.doctest: add a NIF (Número de Identificación Fiscal, Spanish VAT number) module 2012-02-11 Arthur de Jong * [aa90c4f] README, stdnum/__init__.py, stdnum/es/cif.py, tests/test_robustness.doctest: add a CIF (Certificado de Identificación Fiscal, Spanish tax identification number) module 2012-02-11 Arthur de Jong * [a574e6c] stdnum/util.py: implement a digitsum() function to find the sub of all digits in a number 2012-02-11 Arthur de Jong * [84d1ee7] stdnum/es/nie.py: fix description and remove unnecessary import 2012-02-10 Arthur de Jong * [fa2d398] README, stdnum/__init__.py, stdnum/es/nie.py, tests/test_robustness.doctest: add a NIE (Número de Identificación de Extranjeros, Spanish identification number for foreigners) module 2012-02-10 Arthur de Jong * [fe3210f] README, stdnum/__init__.py, stdnum/es/__init__.py, stdnum/es/dni.py, tests/test_robustness.doctest: add a DNI (Documento nacional de identidad, Spanish personal identity codes) module 2012-02-10 Arthur de Jong * [4439f47] README, stdnum/__init__.py, stdnum/be/__init__.py, stdnum/be/vat.py, tests/test_robustness.doctest: add a BTW, TVA, NWSt (Belgian VAT number) module 2012-02-10 Arthur de Jong * [1ab602c] README, stdnum/__init__.py, stdnum/sk/__init__.py, stdnum/sk/rc.py: also make the stdnum.cz.rc module available as stdnum.sk.rc 2012-02-10 Arthur de Jong * [e9e5861] stdnum/nl/vat.py: also make the stdnum.nl.btw module available as stdnum.nl.vat 2012-02-10 Arthur de Jong * [c795b3c] stdnum/nl/btw.py: fix number in test and ensure that number is not all zeroes 2012-02-10 Arthur de Jong * [2bb9231] stdnum/cz/rc.py: add some info to description 2012-02-10 Arthur de Jong * [1aeeaf4] README, stdnum/__init__.py, stdnum/de/__init__.py, stdnum/de/vat.py, tests/test_robustness.doctest: add an Ust ID Nr. (Umsatzsteur Identifikationnummer, the German VAT number) module 2012-02-10 Arthur de Jong * [473b3ca] README, stdnum/__init__.py, stdnum/gr/__init__.py, stdnum/gr/vat.py, tests/test_robustness.doctest: add a FPA, ΦΠΑ (Foros Prostithemenis Aksias, the Greek VAT number) module 2012-02-05 Arthur de Jong * [9f1d47b] README, stdnum/__init__.py, stdnum/fr/__init__.py, stdnum/fr/siren.py, tests/test_robustness.doctest: add a SIREN (Système d'Identification du Répertoire des Entreprises, a French company identification number) module 2012-02-05 Arthur de Jong * [575fc75] README, stdnum/__init__.py, stdnum/cz/__init__.py, stdnum/cz/rc.py, tests/test_robustness.doctest: add a RČ (Rodné číslo, the Czech birth numbers) module 2012-02-04 Arthur de Jong * [41dd815] stdnum/br/cpf.py, stdnum/ean.py, stdnum/grid.py, stdnum/iban.py, stdnum/imei.py, stdnum/imsi.py, stdnum/isan.py, stdnum/isbn.py, stdnum/ismn.py, stdnum/issn.py, stdnum/meid.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/us/ssn.py, stdnum/util.py: implement a stdnum.util module for holding utility functions (for now clean()) 2012-02-04 Arthur de Jong * [54cc207] tests/test_robustness.doctest: some extra rubustness checks 2012-02-04 Arthur de Jong * [b43817c] stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py: rename calc_checksum() to checksum() for consistency 2012-02-04 Arthur de Jong * [548f129] stdnum/iso7064/mod_37_36.py: use integer division 2012-02-02 Arthur de Jong * [9efde4f] README, stdnum/__init__.py, stdnum/nl/btw.py, tests/test_robustness.doctest: add a BTW (the Dutch VAT number) module 2012-02-02 Arthur de Jong * [086e509] README, stdnum/__init__.py, stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py, tests/test_robustness.doctest: add an onderwijsnummer (Dutch school number) module 2011-12-31 Arthur de Jong * [587c538] setup.py: revert switching to distutils part of r93, keep restructuring part 2011-12-31 Arthur de Jong * [6756d79] setup.cfg, setup.py: switch to distutils 2011-11-07 Arthur de Jong * [e6020b9] README, stdnum/__init__.py, stdnum/fi/__init__.py, stdnum/fi/hetu.py, tests/test_fi_hetu.doctest, tests/test_robustness.doctest: add a HETU (Finnish personal identity code) module as provided by Jussi Judin (#5) 2011-09-30 Arthur de Jong * [77ac8d4] setup.py: fix version number use (fix r86) 2011-09-30 Arthur de Jong * [6cdfb6b] ChangeLog, NEWS, stdnum/__init__.py: get files ready for 0.6 release 2011-09-30 Arthur de Jong * [1451b47] stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2011-09-30 Arthur de Jong * [6ec6c7e] setup.py, stdnum/__init__.py: move the version number definition to the stdnum package 2011-09-25 Arthur de Jong * [ae2013d] stdnum/ismn.py: implement an ismn_type() function 2011-09-23 Arthur de Jong * [14b97f9] : ignore __pycache__ directories 2011-09-23 Arthur de Jong * [cbd114e] README, getimsi.py, stdnum/__init__.py, stdnum/imsi.dat, stdnum/imsi.py, tests/test_robustness.doctest: add an IMSI (International Mobile Subscriber Identity) module 2011-09-23 Arthur de Jong * [68c98f0] stdnum/imei.py: implement an imei.split() function that splits the number into a TAC, serial number and checksum or software version 2011-09-23 Arthur de Jong * [e6cd768] getiban.py: remove unneeded import 2011-09-20 Arthur de Jong * [4e8d7e4] stdnum/isbn.py, tests/test_isbn.doctest: implement a conversion function from ISBN13 to ISBN10 2011-09-20 Arthur de Jong * [d6f9ba2] tests/test_imei.doctest, tests/test_isan.doctest, tests/test_isbn.doctest, tests/test_ismn.doctest: fix space before inline comments 2011-09-20 Arthur de Jong * [c4ad099] stdnum/isbn.py, tests/test_isbn.doctest: fix a problem with an ISBN13 with a valid check digit but with an unknown bookland prefix 2011-09-04 Arthur de Jong * [1c7c198] setup.py: fix homepage URL 2011-08-19 Arthur de Jong * [881e8a6] getiban.py, getisbn.py, getisil.py, setup.py, stdnum/br/cpf.py, stdnum/ean.py, stdnum/grid.py, stdnum/iban.py, stdnum/imei.py, stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.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/issn.py, stdnum/luhn.py, stdnum/meid.py, stdnum/nl/bsn.py, stdnum/numdb.py, stdnum/us/ssn.py, stdnum/verhoeff.py: make source code layout follow PEP8 more 2011-07-09 Arthur de Jong * [8dbcedd] ChangeLog, NEWS, setup.py: get files ready for 0.5 release 2011-07-09 Arthur de Jong * [596c7a1] stdnum/iban.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2011-06-20 Arthur de Jong * [63b2b0a] stdnum/issn.py: implement a conversion function from ISSN to EAN 2011-06-20 Arthur de Jong * [d101acf] stdnum/isbn.py, stdnum/ismn.py: use the ean module for calculating the check digit 2011-06-20 Arthur de Jong * [f5747bc] README, stdnum/__init__.py, stdnum/ean.py, tests/test_robustness.doctest: add an EAN (International Article Number) module 2011-03-06 Arthur de Jong * [1b904ba] setup.py, stdnum/numdb.py: also support Python3 with the same codebase (see #3) 2011-03-06 Arthur de Jong * [a45079f] setup.py: ensure that data files are always included 2011-03-02 Arthur de Jong * [c17920a] stdnum/verhoeff.py: Python 2.5 compatibility improvement 2011-02-06 Arthur de Jong * [e6ba399] ChangeLog, NEWS, setup.py: get files ready for 0.4 release 2011-02-06 Arthur de Jong * [060dfce] stdnum/isbn.dat: include an updated version 2011-02-06 Arthur de Jong * [8806d2a] README, stdnum/__init__.py, stdnum/us/__init__.py, stdnum/us/ssn.py, tests/test_robustness.doctest: add an SSN (U.S. Social Security Number) module 2011-02-05 Arthur de Jong * [c260626] README, stdnum/__init__.py: add ISIL to the documentation 2011-02-05 Arthur de Jong * [e517903] getisil.py, stdnum/isil.dat, stdnum/isil.py, tests/test_robustness.doctest: add an ISIL (International Standard Identifier for Libraries and Related Organizations) module 2011-02-05 Arthur de Jong * [96f4f7c] stdnum/numdb.py: allow most kind of characters in number ranges 2011-02-05 Arthur de Jong * [33611d1] stdnum/iban.py: move more validation into try/except (specifically the _convert() call) 2011-02-05 Arthur de Jong * [62aa496] tests/test_iban.doctest, tests/test_imei.doctest, tests/test_isan.doctest, tests/test_isbn.doctest, tests/test_ismn.doctest, tests/test_issn.doctest, tests/test_luhn.doctest, tests/test_meid.doctest, tests/test_nl_bsn.doctest, tests/test_robustness.doctest, tests/test_verhoeff.doctest: move all robustness tests into one test file 2011-02-05 Arthur de Jong * [9081e90] tests/test_iso7064.doctest: fix imports of iso7064.mod_*_* modules 2011-02-05 Arthur de Jong * [e5678ca] stdnum/isbn.py: fix typo in r53 2011-02-05 Arthur de Jong * [ea737ff] stdnum/__init__.py: add encoding header 2011-01-31 Arthur de Jong * [cc7a6d8] README, stdnum/__init__.py: get README and package docstring in sync 2011-01-21 Arthur de Jong * [6724e50] stdnum/isbn.py, tests/test_isbn.doctest: add a convert parameter to most isbn functions to automatically convert to ISBN-13 2011-01-17 Arthur de Jong * [411874e] README: add note about CPF and update copyright year 2011-01-16 Arthur de Jong * [db2238c] README, getiban.py, stdnum/iban.dat, stdnum/iban.py, tests/test_iban.doctest: add an IBAN (International Bank Account Number) module 2011-01-16 Arthur de Jong * [2b4aff6] setup.py, stdnum/numdb.py: revert r49 because it wasn't needed after all 2011-01-16 Arthur de Jong * [0bf31c9] setup.py, stdnum/numdb.py: introduce a full parameter that can be used to only return the part that is in the database 2011-01-16 Arthur de Jong * [4fe17ba] stdnum/grid.py, stdnum/isan.py: fix import of iso7064 modules 2011-01-16 Arthur de Jong * [c1f03c2] stdnum/numdb.py, test.dat: add test for partial match 2011-01-15 Arthur de Jong * [81a99d3] tests/test_nl_bsn.doctest: fix comments to refer to the new path of the module 2011-01-15 Arthur de Jong * [fda67ac] stdnum/br/__init__.py, stdnum/br/cpf.py, tests/test_br_cpf.doctest: add a CPF (Cadastro de Pessoas Físicas) module 2011-01-15 Arthur de Jong * [8d3a92c] stdnum/nl/__init__.py, stdnum/nl/bsn.py, tests/test_nl_bsn.doctest: move bsn module inside nl package 2010-11-26 Arthur de Jong * [6ed480c] setup.py, stdnum/__init__.py: move general description to package __init__.py file 2010-11-24 Arthur de Jong * [124c16d] getisbn.py, stdnum/isbn.dat, stdnum/isbn.py, stdnum/isbn/ranges.py, stdnum/numdb.py, test.dat, tests/test_isbn.doctest: implement a new numdb module to hold information on hierarchically organised numbers and switch the isbn module to use this format instead 2010-09-11 Arthur de Jong * [72a0b96] ChangeLog, NEWS, README, setup.py: get files ready for 0.3 release 2010-09-05 Arthur de Jong * [cd844b5] setup.py: have sdist target create a tarball with reasonable permissions 2010-08-29 Arthur de Jong * [2e64eb8] stdnum/bsn.py, stdnum/isan.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/meid.py, stdnum/verhoeff.py, tests/test_bsn.doctest, tests/test_ismn.doctest: spelling check 2010-08-28 Arthur de Jong * [2a7afff] README, stdnum/grid.py: add a GRid (Global Release Identifier) module 2010-08-27 Arthur de Jong * [9970652] README, stdnum/isan.py, tests/test_isan.doctest: add ISAN (International Standard Audiovisual Number) module 2010-08-27 Arthur de Jong * [fda9552] README, stdnum/iso7064/__init__.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, tests/test_iso7064.doctest: implement some ISO/IEC 7064 check digit schemes 2010-08-26 Arthur de Jong * [4017d83] stdnum/isbn/__init__.py, stdnum/ismn.py, stdnum/issn.py, stdnum/verhoeff.py: switch to using enumerate() for looping over numbers where needed 2010-08-21 Arthur de Jong * [8bdb6ef] README, stdnum/ismn.py, tests/test_ismn.doctest: add an ISMN (International Standard Music Number) module 2010-08-21 Arthur de Jong * [97d5280] tests/test_isbn.doctest: simplify ranges tests a bit 2010-08-21 Arthur de Jong * [f3b025b] stdnum/isbn/ranges.py: update ranges from newly downloaded file 2010-08-20 Arthur de Jong * [8748830] README, stdnum/meid.py, tests/test_meid.doctest: add a MEID (Mobile Equipment Identifier) module 2010-08-20 Arthur de Jong * [f125f3e] setup.cfg, tests/test_isbn.doctest, tests/test_issn.doctest: write some more tests (some of which are a bit of a hack) to get coverage to 100% 2010-08-20 Arthur de Jong * [d622d92] stdnum/imei.py, tests/test_imei.doctest: add an add_check_digit option to the format() function to add a check digit if needed and possible 2010-08-20 Arthur de Jong * [a74a6f7] stdnum/luhn.py: make checksum calculation a little more readable 2010-08-20 Arthur de Jong * [6bb04af] README, stdnum/imei.py, tests/test_imei.doctest: add an IMEI (International Mobile Equipment Identity) module 2010-08-20 Arthur de Jong * [ca08995] README, stdnum/luhn.py, tests/test_luhn.doctest: add functions for handling the Luhn and Luhn mod N algorithms 2010-08-20 Arthur de Jong * [7e800c3] stdnum/issn.py: fix typo 2010-08-20 Arthur de Jong * [571dc83] README, stdnum/verhoeff.py, tests/test_verhoeff.doctest: add functions for handling the Verhoeff algorithm 2010-08-16 Arthur de Jong * [9ffa9fd] ChangeLog, NEWS, setup.py: get files ready for 0.2 release 2010-08-16 Arthur de Jong * [19b7d2d] debian/changelog, debian/compat, debian/control, debian/copyright, debian/docs, debian/rules, debian/source/format, debian/watch: debian package configuration is now available at http://svn.debian.org/viewsvn/python-modules/packages/python-stdnum/trunk/ 2010-08-14 Arthur de Jong * [85e9e3b] setup.cfg, tests/test_bsn.doctest, tests/test_isbn.doctest: add more doctests that are not part of the module documentation 2010-07-27 Arthur de Jong * [c536356] README, stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/issn.py: rename validate() function to is_valid() 2010-07-27 Arthur de Jong * [85a5fc8] stdnum/isbn/ranges.py: fix typo in output() function 2010-07-27 Arthur de Jong * [1071603] stdnum/isbn/ranges.py: fix range detection to handle lookup errors more gracefully 2010-07-27 Arthur de Jong * [a86c4cc] stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/issn.py: handle wrong types passed to validate() more gracefully 2010-07-26 Arthur de Jong * [9495116] debian/changelog, debian/source/format, debian/watch: make release 0.1-1 2010-07-25 Arthur de Jong * [55a97d4] ChangeLog: get files ready for 0.1 release 2010-07-25 Arthur de Jong * [1e02d5a] debian/changelog, debian/compat, debian/control, debian/copyright, debian/docs, debian/rules, debian/source/format: add Debian packaging 2010-07-25 Arthur de Jong * [14bd2fe] COPYING, ChangeLog, MANIFEST.in, NEWS: include some more files in the source distribution 2010-07-25 Arthur de Jong * [9940cf3] setup.cfg: use nose for testing and ignore generated files and directories 2010-07-25 Arthur de Jong * [967f2ae] setup.py: add a setup.py script for use of setuptools 2010-07-25 Arthur de Jong * [ca5f850] README: add documentation to the README 2010-07-25 Arthur de Jong * [40aff16] stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/isbn/ranges.py, stdnum/issn.py: spelling check an extra doctest and a simplification 2010-07-23 Arthur de Jong * [6eabbc3] stdnum/bsn.py: add BSN (Burgerservicenummer, the Ducth national identification number) module 2010-07-23 Arthur de Jong * [92e18aa] stdnum/issn.py: add an ISSN (International Standard Serial Number) module 2010-07-23 Arthur de Jong * [31ce783] stdnum/isbn/__init__.py: fix example and fix ISBN13 conversion 2010-07-23 Arthur de Jong * [4b8c10e] stdnum/isbn/__init__.py: get rid of remainders of old code that used exceptions 2010-07-23 Arthur de Jong * [7d2f15a] README, stdnum/__init__.py, stdnum/isbn/__init__.py, stdnum/isbn/ranges.py: make a initial repository layout with an implementation of the isbn module