1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
changes from 0.7 to 0.8
-----------------------
* add modules for the following number formats:
- NRIC No. (Malaysian National Registration Identity Card Number)
* all modules now provide a validate() function that throws an exception
that contains more information on the failure reason
* documentation improvements
* remove add_check_digit parameter from GRid's format() function
* improvements to the tests
* re-add Python3 support (now tested with Python 2.7, 3.2 and 3.3)
changes from 0.6 to 0.7
-----------------------
* add modules for the following number formats:
- Onderwijsnummer (Dutch school number)
- BTW-nummer (Omzetbelastingnummer, the Dutch VAT number)
- HETU (Finnish personal identity code) as provided by Jussi Judin (#5)
- RČ (Rodné číslo, the Czech and Slovak birth numbers)
- SIREN (a French company identification number)
- FPA, ΦΠΑ (Foros Prostithemenis Aksias, the Greek VAT number)
- Ust ID Nr. (Umsatzsteur Identifikationnummer, the German VAT number)
- BTW, TVA, NWSt (Belgian VAT number)
- DNI (Documento nacional de identidad, Spanish personal identity codes)
- NIE (Número de Identificación de Extranjeros, Spanish foreigner number)
- CIF (Certificado de Identificación Fiscal, Spanish company tax number)
- NIF (Número de Identificación Fiscal, Spanish VAT number)
- PVN (Pievienotās vērtības nodokļa, Latvian VAT number)
- CVR (Momsregistreringsnummer, Danish VAT number)
- TVA (taxe sur la valeur ajoutée, Luxembourgian VAT number)
- CNP (Cod Numeric Personal, Romanian Numerical Personal Code)
- CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number)
- Partita IVA (Italian VAT number)
- Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number)
- UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number)
- NIF (Número de identificação fiscal, Portuguese VAT number)
- IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number)
- ALV nro (Arvonlisäveronumero, Finnish VAT number)
- DIČ (Daňové identifikační číslo, Czech VAT number)
- ANUM (Közösségi adószám, Hungarian VAT number)
- VAT (Irish VAT number)
- KMKR (Käibemaksukohuslase, Estonian VAT number)
- PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number)
- n° TVA (taxe sur la valeur ajoutée, French VAT number)
- VAT (Maltese VAT number)
- NIP (Numer Identyfikacji Podatkowej, Polish VAT number)
- ID za DDV (Davčna številka, Slovenian VAT number)
- VAT (Moms, Mervärdesskatt, Swedish VAT number)
- VAT (United Kingdom (and Isle of Man) VAT registration number)
- EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes)
- PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner)
- VAT (Идентификационен номер по ДДС, Bulgarian VAT number)
- VAT (European Union VAT number)
- OIB (Osobni identifikacijski broj, Croatian identification number)
- PPS No (Personal Public Service Number, Irish personal number)
- CPR (personnummer, the Danish citizen number)
* additional tests for robustness and use introspection to test all modules
* some code refactoring with the introduction of an internal utility module
* improvements to the docstring documentation
* generate API documentation using Sphinx
changes from 0.5 to 0.6
-----------------------
* fix a problem with handling an ISBN13 with a valid check digit but with an
unknown bookland prefix
* add an IMSI (International Mobile Subscriber Identity) module
* implement a conversion function from ISBN13 to ISBN10
* implement an ismn.ismn_type() function
* implement an imei.split() function that splits the number into a TAC, serial
number and checksum or software version
* source code layout changes to better follow PEP8
changes from 0.4 to 0.5
-----------------------
* add modules for the following number formats:
- EAN (International Article Number)
* refactoring to use the EAN check digit code for ISBN and ISMN checks
* implement a conversion function from ISSN to EAN
* support Python3 with the same codebase
* Python 2.5 compatibility improvement
changes from 0.3 to 0.4
-----------------------
* add modules for the following number formats:
- CPF (Cadastro de Pessoas Físicas, the Brazillian national identification
number)
- IBAN (International Bank Account Number)
- ISIL (International Standard Identifier for Libraries and Related
Organizations)
- SSN (U.S. Social Security Number)
* implement an internal module to store and handle hierarchically organised
data structures efficiently
* regional-specific numbers are now in ISO 3166 packages (the BSN module
is now in stdnum.nl.bsn)
* ISBN module functions now have a convert flag to convert to ISBN-13 on
the fly
changes from 0.2 to 0.3
-----------------------
* add modules for the following number formats:
- ISMN (International Standard Music Number)
- ISAN (International Standard Audiovisual Number)
- IMEI (International Mobile Equipment Identity)
- MEID (Mobile Equipment Identifier)
- GRid (Global Release Identifier)
* add modules for handling the following check digit algorithms:
- the Verhoeff algorithm
- the Luhn and Luhn mod N algorithms
- some algorithms described in ISO/IEC 7064: Mod 11, 2, Mod 37, 2,
Mod 97, 10, Mod 11, 10 and Mod 37, 36
* added more unit tests
changes from 0.1 to 0.2
-----------------------
* rename validate() function to is_valid() for all modules
* handle wrong types passed to is_valid() more gracefully
* add more tests and fix some minor bugs
|