changes from 1.14 to 1.15 ------------------------- * Add modules for the following number formats: - CUI or CIF (Codul Unic de Înregistrare, Romanian company identifier) - PEID (Liechtenstein tax code for individuals and entities) (thanks Matthias Schmid) - ЄДРПОУ, EDRPOU (Identifier for enterprises and organizations in Ukraine) (thanks Leandro Regueiro) - РНОКПП, RNTRC (Individual taxpayer registration number in Ukraine) (thanks Leandro Regueiro) * Make list of EU member states part of public API * Retain RO prefix in Romanian VAT numbers * Support international VAT numbers that are only valid with country prefix * Expanded validation for Belgian VAT numbers * Use ABN as Australian VAT number * Remove GB from EU member states changes from 1.13 to 1.14 ------------------------- * Add modules for the following number formats: - УНП, UNP (Учетный номер плательщика, the Belarus VAT number) - AIC (Italian code for identification of drugs) (thanks Fabrizio Montanari) - Company Number (מספר חברה, or short ח.פ. Israeli company number) (thanks Leandro Regueiro) - NIT (Número de Identificación Tributaria, El Salvador tax number) (thanks Leandro Regueiro) - USCC (Unified Social Credit Code, 统一社会信用代码, China tax number) (thanks Leandro Regueiro) - UEN (Singapore's Unique Entity Number) (thanks Leandro Regueiro) - BRN (사업자 등록 번호, South Korea Business Registration Number) (thanks Leandro Regueiro) - MST (Mã số thuế, Vietnam tax number) (thanks Leandro Regueiro) - NPWP (Nomor Pokok Wajib Pajak, Indonesian VAT Number) (thanks Leandro Regueiro) - UBN (Unified Business Number, 統一編號, Taiwanese tax number) (thanks Leandro Regueiro) - UTR (United Kingdom Unique Taxpayer Reference) (thanks Mohammed Salman) - ONRC (Ordine din Registrul Comerţului, Romanian Trade Register identifier) (thanks dotbit1) - GS1-128 (Standard to encode product information in Code 128 barcodes) (thanks Sergi Almacellas Abellana) - VATIN (International value added tax identification number) (thanks Leandro Regueiro) * Fix missing Dominican Republic NCF document types (thanks Gustavo Valverde) * Fix issue with extra plus or minus in Swedish Personnummer (thanks balderman) * Update Dominican Republic DGII endpoint (thanks Gustavo Valverde) * Support validating temporary Finnish personal identity codes (thanks Aleksi Hoffman) * Fix misleading docstring in se.personnummer.get_birth_date() (thanks Leon Sandøy) * Improve birth date validation in Danish CPR (thanks Leon Sandøy) * Add birth date validating in Norwegian Fødselsnummer (thanks Leon Sandøy) * Add missing vat aliases for a number of countries (thanks Leandro Regueiro) * Use HTTPS instead of HTTP fox VIES lookups (thanks grzekru) * Switch to HTTPS URLs where possible * Support 6 as third digit in Ecuadorian CI (thanks Christopher Ormaza) * Add an online check for South Korean BRN * Fix unescaping in Dominican Republic RNC online check (thanks evaldez89) * Support foreign residents for Romanian CNP (thanks dotbit1) 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