Changes in python-stdnum¶
changes from 1.12 to 1.13¶
- Add modules for the following number formats:
- ESR, ISR, QR-reference (reference number on Swiss payment slips) (thanks Kurt Keller)
- ID number (South African Identity Document number)
- Add format function for ISO 11649 numbers (thanks Kurt Keller)
- Add support for Python 3.8 (thanks Sergi Almacellas Abellana)
- Clarify that the Italian Codice Fiscale can also be the IVA for companies (thanks Nicholas Fiorentini)
- Support the new Dutch btw-identificatienummer (thanks Cas Vissers, Jeroen van Heiningen, Jerome Hanke, Nicolas Martinelli, Ronald Portier and Tim Muller)
- Extend test for Argentinian CUIT to check first two digits
- Add more country codes to ISIN (thanks nocluebutalotofit, Anwar Baroudi and alexbond73)
changes from 1.11 to 1.12¶
- Add modules for the following number formats:
- NRT (Número de Registre Tributari, Andorra tax number) (thanks Leandro Regueiro)
- CPF (Cédula de Persona Física, Costa Rica physical person ID number) (thanks Leandro Regueiro)
- CPJ (Cédula de Persona Jurídica, Costa Rica tax number) (thanks Leandro Regueiro)
- CR (Cédula de Residencia, Costa Rica foreigners ID number) (thanks Leandro Regueiro)
- NIT (Número de Identificación Tributaria, Guatemala tax number) (thanks Leandro Regueiro)
- Identity Number (Mispar Zehut, מספר זהות, Israeli identity number)
- CN (法人番号, hōjin bangō, Japanese Corporate Number) (thanks Alan Hettinger)
- RRN (South Korean resident registration number) (thanks Dimitri Papadopoulos)
- IRD number (New Zealand Inland Revenue Department (Te Tari Tāke) number) (thanks Leandro Regueiro)
- CUI (Cédula Única de Identidad, Peruvian identity number)
- RUC (Registro Único de Contribuyentes, Peruvian company tax number)
- RUC number (Registro Único de Contribuyentes, Paraguay tax number) (thanks Leandro Regueiro)
- VKN (Vergi Kimlik Numarası, Turkish tax identification number) (thanks Leandro Regueiro)
- RUT (Registro Único Tributario, Uruguay tax number) (Leandro Regueiro)
- RIF (Registro de Identificación Fiscal, Venezuelan VAT number) (thanks Kevin Kaiser)
- TIN (South African Tax Identification Number) (thanks Leandro Regueiro)
- Support GTIN (EAN-14) validation as part of EAN (thanks Sergi Almacellas Abellana)
- Support Dominican Republic e-CF within NCF (thanks Jeffry Jesus De La Rosa)
- Fix Dominican Republic DGII lookups of NCF (thanks Jeffry Jesus De La Rosa)
- Fix German Handelsregisternummer to not confuse Hamburg with Homburg and to accept shorter numbers (thanks Kevin Kaiser)
- Support lookups of German Handelsregisternummer in OffeneRegister.de web service
- Handle - and + sign correctly in Swedish Personnummer (thanks Amin Solhizadeh)
- Provide various personalid and vat aliases for existing numbers (thanks Andreas Häber)
- Improve descriptions of Spanish codes (thanks Gerard Dalmau)
- Fix handling and normalisation of various Unicode digit representations (thanks Helge Munk Jacobsen)
changes from 1.10 to 1.11¶
- Add modules for the following number formats:
- DNI (Documento Nacional de Identidad, Argentinian national identity nr.)
- VNR, SVNR, VSNR (Versicherungsnummer, Austrian social security number)
- NI (Número de identidad, Cuban identity card numbers)
- AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number)
- Asmens kodas (Lithuanian, personal numbers)
- MAC address (Media Access Control address)
- IDNO (Moldavian company identification number)
- CURP (Clave Única de Registro de Población, Mexican personal ID)
- Fødselsnummer (Norwegian birth number, the national identity number) (thanks Ilya Vihtinsky)
- New Zealand bank account number
- Personnummer (Swedish personal identity number) (thanks Ilya Vihtinsky)
- Code style improvements
- Change Dominican Republic DGII check URL to HTTPS (thanks Gustavo Valverde)
- Support Ecuadorian Cedula and RUC of foreigners (thanks Christopher Ormaza)
- Add format() function for Argentinian CUIT number (thanks Mario Puntin)
- Support passing formatted numbers to all get_birth_date() and similar functions
- Handle Dominican Republic DGII lookup returning multiple entities (thanks Andrés R)
changes from 1.9 to 1.10¶
- Add modules for the following number formats:
- Bitcoin address
- ISO 11649 (Structured Creditor Reference)
- ID number (Mauritian national identifier)
- Norwegian IBAN (International Bank Account Number)
- Konto nr. (Norwegian bank account number)
- Fix a bug in handling of Mexican tax numbers
- Improve Spanish CIF and NIF validation
- Update Dominican Republic NCF numbers online check
- Improve Unicode conversion for bytestrings
- Improvements to some corner cases in IBAN validation
- Documentation improvements
- Add stdnum.ru.vat as an alias for stdnum.ru.inn
changes from 1.8.1 to 1.9¶
- Add modules for the following number formats:
- Postleitzahl (Austrian postal code)
- Abgabenkontonummer (Austrian tax identification number)
- Belgian IBAN (International Bank Account Number)
- Handelsregisternummer (German company register number)
- St.-Nr. (Steuernummer, German tax number)
- FIGI (Financial Instrument Global Identifier)
- Montenegro IBAN (International Bank Account Number)
- Have documentation rebuilt reproducibly (thanks Chris Lamb)
- Allow configuring the SOAP request timeout
- Support spaces in ISO 9362 (SWIFT) BIC codes
- Add check_dgii() to stdnum.do.cedula module
- Add validation for “individual” part of hetu (thanks Esa Halsti)
- Support new style of Dominican Republic NCF numbers
- Fix issue when using PySimpleSOAP for DGII lookups
- Fix an issue in splitting certain IMSI values
- Support building a universal wheel
- Documentation and code style improvements
changes from 1.8 to 1.8.1¶
- Fix a packaging issue in the long description
changes from 1.7 to 1.8¶
- Add modules for the following number formats:
- NCF (Números de Comprobante Fiscal, Dominican Republic receipt number)
- Euro banknote serial numbers
- CAS RN (Chemical Abstracts Service Registry Number)
- Aadhaar (Indian digital resident personal identity number) (thanks Srikanth Lakshmanan)
- PAN (Permanent Account Number, Indian income tax identifier) (thanks Srikanth Lakshmanan)
- Add functions for using the Dominican Republic DGII web service to validate and search for RNC and NCF numbers
- Add/update whitelists for Dominican Republic RNC and Cedula
- Support zeep as preferred SOAP library (suds and pysimplesoap are tried as fallback)
- Rename stdnum.iso9362 to stdnum.bic (iso9362 is deprecated but still available for compatibility)
- Add tests for web services (not normally run to avoid unnecessary load)
- Fixes and improvement to the sample online validation service
Development of the NCF format validation and DGII web service validation was funded by iterativo | http://iterativo.do
changes from 1.6 to 1.7¶
- Add modules for the following number formats:
- BN (Canadian Business Number)
- SIN (Canadian Social Insurance Number)
- IdNr (Steuerliche Identifikationsnummer, German personal tax number) (thanks Mohammed Salman of Holvi)
- Registrikood (Estonian organisation registration code) (thanks Mohammed Salman of Holvi)
- Veronumero (Finnish individual tax number) (thanks Mohammed Salman of Holvi)
- UPN (English Unique Pupil Number)
- Fix a bug in the Czech DIČ check digit calculation
- Fix conversion of 9 digit ISBN to ISBN13
- Fix a bug in the Damm is_valid() function
- More validation of 13-digit ISBN values
- More validation of ISMN values
- Various code and test improvements (100% branch coverage now)
- Documentation improvements
changes from 1.5 to 1.6¶
- Add modules for the following number formats:
- CBU (Clave Bancaria Uniforme, Argentine bank account number) (thanks Luciano Rossi)
- EIC (European Energy Identification Code)
- NACE (classification for businesses in the European Union)
- LEI (Legal Entity Identifier)
- n° TVA (taxe sur la valeur ajoutée, Monacan VAT number)
- PIB (Poreski Identifikacioni Broj, Serbian tax identification number)
- Add online check example that finds valid formats for a given number
- Fix support for Ñ in Spanish Referencia Catastral
- Updates to U.S. Employer Identification Number (thanks Greg Kuwaye)
- Various minor improvements
changes from 1.4 to 1.5¶
- Add modules for the following number formats:
- ABN (Australian Business Number)
- ACN (Australian Company Number)
- TFN (Australian Tax File Number)
- CCC (Código Cuenta Corriente, Spanish Bank Account Code)
- CUPS (Código Unificado de Punto de Suministro, Supply Point Unified Code)
- Spanish IBAN (International Bank Account Number)
- Referencia Catastral (Spanish real estate property id)
- The IBAN module now support validating the country-specific part
- The Belgian VAT number is now also referenced as businessid
- Add a Tox configuration file
changes from 1.3 to 1.4¶
- Add modules for the following number formats:
- NIF (Numéro d’Immatriculation Fiscale, French tax identification number) provided by Dimitri Papadopoulos
- NIR (French personal identification number) provided by Dimitri Papadopoulos
- SIRET (a French company establishment identification number) provided by Yoann Aubineau
- NHS (United Kingdom National Health Service patient identifier)
- T.C. Kimlik No. (Turkish personal identification number)
- Add an implementation of the Damm algorithm
- Ensure data files are properly closed
- Documentation improvements
- Extend test suite
- A number of minor bug fixes and improvements
changes from 1.2 to 1.3¶
- Fix ISO 6346 check digit calculation (thanks Ronald Paloschi)
- Fix problem with check_vies_approx() (thanks Lionel Elie Mamane)
- Fix problem with SOAP client when using suds
- Include documentation that was previously on the Trac wiki
changes from 1.1 to 1.2¶
- Add modules for the following number formats:
- Austrian Company Register Numbers
- CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazilian company identifier)
- UID (Unternehmens-Identifikationsnummer, Swiss business identifier)
- VAT, MWST, TVA, IVA, TPV (Mehrwertsteuernummer, the Swiss VAT number)
- CUSIP number (financial security identification number)
- Wertpapierkennnummer (German securities identification code)
- Isikukood (Estonian Personcal ID number)
- Finnish Association Identifier
- Y-tunnus (Finnish business identifier)
- SEDOL number (Stock Exchange Daily Official List number)
- IMO number (International Maritime Organization number)
- ISIN (International Securities Identification Number)
- RFC (Registro Federal de Contribuyentes, Mexican tax number)
- PESEL (Polish national identification number)
- REGON (Rejestr Gospodarki Narodowej, Polish register of economic units)
- ИНН (Идентификационный номер налогоплательщика, Russian tax identifier)
- Add an alternate VIES check (check_vies_approx()) that includes a proof (certificate) that the check was performed
- Fall back to pysimplesoap if suds is unavailable
- Test and code quality improvements
changes from 1.0 to 1.1¶
- Add number formats based on the implementation in the vatnumber module:
- NIPT (Numri i Identifikimit për Personin e Tatueshëm, Albanian VAT number)
- CUIT (Código Único de Identificación Tributaria, Argentinian tax number)
- RUT (Rol Único Tributario, Chilean national tax number)
- NIT (Número De Identificación Tributaria, Colombian identity code)
- COE (Codice operatore economico, San Marino national tax number)
- Add modules for the following number formats:
- Cedula (Dominican Republic national identification number)
- RNC (Registro Nacional del Contribuyente, Dominican Republic tax number)
- Kennitala (Icelandic personal and organisation identity code, provided by Tuomas Toivonen)
- VSK number (Virðisaukaskattsnúmer, Icelandic VAT number, provided by Tuomas Toivonen)
- ISO 9362 (Business identifier codes, provided by Tony Bajan)
- MVA (Merverdiavgift, Norwegian VAT number, provided by Tuomas Toivonen)
- Orgnr (Organisasjonsnummer, Norwegian organisation number, provided by Tuomas Toivonen)
- Orgnr (Organisationsnummer, Swedish company number, provided by Tomas Thor Jonsson)
- Add Croatia to list of EU VAT numbers
- Update getcnloc script
- Various small fixes and additional tests for existing modules
changes from 0.9 to 1.0¶
- Add modules for the following number formats:
- Swiss social security number (“Sozialversicherungsnummer”)
- RIC No. (Chinese Resident Identity Card Number)
- CI (Cédula de identidad, Ecuadorian personal identity code)
- RUC (Registro Único de Contribuyentes, Ecuadorian company tax number)
- SEPA Identifier of the Creditor (AT-02)
- ISO 6346 (International standard for container identification)
- Codice Fiscale (Italian tax code for individuals)
- RTN (Routing transport number)
- Add support for 2013 extension of Irish PPS Numbers
- Update getisbn script
- Update getmybp URLs for Malaysian code lists
- Various other minor improvements
changes from 0.8.1 to 0.9¶
- Add modules for the following number formats:
- Brin number (Dutch number for schools)
- Postcode (Dutch postal code)
- ATIN (U.S. Adoption Taxpayer Identification Number)
- EIN (U.S. Employer Identification Number)
- ITIN (U.S. Individual Taxpayer Identification Number)
- PTIN (U.S. Preparer Tax Identification Number)
- TIN (U.S. Taxpayer Identification Number)
- Try to replace Unicode characters with similar-looking ASCII characters
- Update getimsi script (thanks eneq123)
- Update getiban script
- Add proxy support to the stdnum.eu.vat.check_vies() function (thanks Cédric Krier)
- Support newer United Kingdom VAT numbers
changes from 0.8 to 0.8.1¶
- Include some files that were missing from the source tarball
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 Brazilian 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