Skip to content

Instantly share code, notes, and snippets.

@alanbuxton
Created July 28, 2019 14:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alanbuxton/49cb45440737e900de107182b05412c6 to your computer and use it in GitHub Desktop.
Save alanbuxton/49cb45440737e900de107182b05412c6 to your computer and use it in GitHub Desktop.
'''
Data extracted from https://en.wikipedia.org/wiki/List_of_legal_entity_types_by_country
This is extracted verbatim, including punctuation, from the wikipedia page. So there will be entries for both Ltd and Ltd. depending on what was written on the page.
Be careful with unicode data, because, e.g.
'KT vs КТ'.lower() == 'kt vs кт'
Just because it looks the same doesn't mean the characters are the same
e.g. run this in your command prompt:
[ord(x) for x in 'KT =/= КТ']
and notice the difference between the first two and last two characters
'''
import re
import unicodedata
COMPANY_TYPE_ABBREVIATIONS = {
'(Pty) Ltd': {'ZA': 'Private company/privaat maatskappy'},
'A.B.E.E.': { 'GR': 'Anónimi Viomichanikí Emborikí Etaireía / Ανώνυμη '
'Βιομηχανική Εμπορική Εταιρεία'},
'a.d.': { 'BA': 'akcionarsko društvo',
'RS': 'akcionarsko društvo / aкционарско друштво'},
'A.D.': { 'MK': 'Akcionersko Društvo / Акционерско друштво',
'ME': 'Akcionarsko Društvo'},
'A.E.': {'GR': 'Anónimi Etaireía / Ανώνυμη Εταιρεία'},
'A.M.B.A.': {'DK': 'Andelsselskab med begrænset ansvar'},
'A.O.': {'TR': 'Anonim Ortaklık'},
'a.s.': {'CZ': 'Akciová společnost', 'SK': 'Akciová spoločnosť'},
'A.V.E.E.': { 'GR': 'Anónimi Viomichanikí Emborikí Etaireía / Ανώνυμη '
'Βιομηχανική Εμπορική Εταιρεία'},
'A.Ş.': {'TR': 'Anonim Şirket'},
'a.д.': {'RS': 'akcionarsko društvo / aкционарско друштво'},
'A/S': {'DK': 'Aktieselskab'},
'Ab': {'FI': 'osakeyhtiö / aktiebolag'},
'AB': {'LT': 'Akcinė bendrovė', 'SE': 'Aktiebolag'},
'AB (publ)': {'SE': 'Publikt aktiebolag'},
'Abp': {'FI': 'julkinen osakeyhtiö / publikt aktiebolag'},
'AD': {'BG': 'aktsionerno drujestvo / акционерно дружество'},
'ADSITz': { 'BG': 'aktsionerno druzhestvo sus spetsialna investitsionna '
'tsel / акционерно дружество със специална '
'инвестиционна цел'},
'AG': { 'AT': 'Aktiengesellschaft',
'DE': 'Aktiengesellschaft',
'CH': 'Aktiengesellschaft / Société anonyme / Società anonima'},
'AG & Co. KG': {'DE': 'the general partner is an AG'},
'AG & Co. KGaA': {'DE': 'the general partner is an AG'},
'AJ': {'UZ': 'Aksiyadorlik jamiyati/Акциядорлик жамияти'},
'akc. spol.': {'CZ': 'Akciová společnost'},
'Anl.': {'FI': 'osuuskunta / andelslag'},
'ANS': {'NO': 'Ansvarlig selskap'},
'AO': {'KZ': 'Aktsionernoe obschestvo/Акционерное общество\xa0[ru]'},
'ApS': {'DK': 'Anpartsselskab'},
'AS': { 'EE': 'Aktsiaselts',
'LV': 'Akciju sabiedrība',
'NO': 'Aksjeselskap'},
'ASA': {'NO': 'Allmennaksjeselskap'},
'ASBL': { 'BE': 'vereniging zonder winstoogmerk / association sans but '
'lucratif / Vereinigung ohne Gewinnerzielungsabsicht'},
'AT': {'UA': 'Акціонерне товариство / Aktsionerne tovarystvo'},
'Ay': {'FI': 'avoin yhtiö / öppet bolag'},
'B.M.': {'IL': "Be'eravon Mugbal"},
'BA': {'NO': 'Selskap med begrenset ansvar'},
'Bhd': {'SG': 'public limited company/Berhad'},
'Bhd.': {'MY': 'Berhad'},
'BK': {'ZA': 'beslote korporasie'},
'BL': {'NO': 'Borettslag'},
'BO': {'LV': 'Bezpeļņas organizācija'},
'bt.': {'HU': 'betéti társaság'},
'bv': {'NL': 'Besloten vennootschap'},
'BVBA': { 'BE': 'besloten vennootschap met beperkte aansprakelijkheid / '
'société privée à responsabilité limitée'},
'C. por A.': {'DO': 'Compañía por Acciones'},
'C.A.': {'EC': 'Compañía Anónima'},
'CC': {'ZA': 'Close corporation'},
'Ccc': {'GB': 'Public Limited Company / Cwmni Cyfyngedig Cyhoeddus'},
'Cia.': {'NI': 'Sociedad en Nombre Colectivo'},
'Cia. Ltda.': { 'NI': 'Sociedad en Nombre Colectivo de Responsabilidad '
'Limitada'},
'CIC': {'GB': 'community interest company'},
'CIO': {'GB': 'Charitable Incorporated Organisation'},
'Co.': {'PH': 'Company'},
'Comm.V': { 'BE': 'gewone commanditaire vennootschap / société en '
'commandite simple'},
'Comm.VA': { 'BE': 'commanditaire vennootschap op aandelen / société en '
'commandite par actions'},
'Coop.': {'PH': 'Cooperative'},
'Corp.': {'CA': 'Corporation', 'PH': 'Corporation', 'US': 'corporation'},
'CRL': {'PT': 'Cooperativa de Responsabilidade Limitada'},
'CS': {'ET': 'cooperative societies / ህብረት ስራ ማህበራት'},
'Cty CP': {'VN': 'Công ty cổ phần / "Company with Joint Stock"'},
'Cty TNHH': { 'VN': 'Công ty trách nhiệm hữu hạn / "Company with Limited '
'Liablity"'},
'Cty TNHH MTV': { 'VN': 'Công ty trách nhiệm hữu hạn một thành viên/ '
'"Limited Liablity Company with a Single '
'member"'},
'cv': {'NL': 'Commanditaire vennootschap'},
'CVBA': { 'BE': 'coöperatieve vennootschap met beperkte '
'aansprakelijkheid / société coopérative à '
'responsabilité limitée'},
'CVOA': { 'BE': 'coöperatieve vennootschap met onbeperkte '
'aansprakelijkheid / société coopérative à '
'responsabilité illimitée'},
'Cyf': {'GB': 'Cyfyngedig / Private Limited Company'},
'Cía': {'PH': 'Compañía'},
'Cía. Ltda.': { 'EC': 'Compañía Limitada',
'GT': 'Sociedad de Responsabilidad Limitada'},
'Cía. S. C. A': {'GT': 'Sociedad en Comandita por Acciones'},
'd.d.': { 'BA': 'dioničko društvo',
'HR': 'dioničko društvo',
'RS': 'deoničarsko društvo / деоничарско друштво or deoničko '
'društvo / деоничко друштво',
'SI': 'Delniška družba'},
'd.n.o.': { 'BA': 'društvo s neograničenom solidarnom odgovornošću',
'SI': 'Družba z neomejeno odgovornostjo'},
'd.o.o.': { 'BA': 'društvo s ograničenom odgovornošću',
'HR': 'društvo s ograničenom odgovornošću',
'RS': 'društvo sa ograničenom odgovornošću / друштво сa '
'ограниченом одговорношћу',
'SI': 'Družba z omejeno odgovornostjo'},
'D.O.O.': { 'MK': 'Društvo so Ograničena Odgovornost / Друштво со '
'ограничена одговорност',
'ME': 'Društvo sa Ograničenom Odgovornošću'},
'D.O.O.E.L.': { 'MK': 'Društvo so Ograničena Odgovornost od Edno Lice / '
'Друштво со ограничена одговорност основано од '
'едно лице'},
'DA': {'NO': 'Selskap med delt ansvar'},
'DAT': { 'UA': 'Державне акціонерне товариство / Derzhavne aktsionerne '
'tovarystvo'},
'DNNN': {'VN': 'Doanh nghiệp nhà nước / "Enterprise of the State"'},
'DNTN': {'VN': 'Doanh nghiệp tư nhân / "Enterprise Private"'},
'DTNN': { 'VN': 'Doanh nghiệp có vốn đầu tư nước ngoài "Enterprise with '
'Foreign Investment"'},
'e.c.': {'HU': 'egyéni cég'},
'E.E.': {'GR': 'Eterórrithmi Etaireía / Ετερόρρυθμη Εταιρία'},
'e.G.': {'DE': 'eingetragene Genossenschaft'},
'e.K.': {'DE': 'Eingetragener Kaufmann'},
'e.Kfm.': {'DE': 'Eingetragener Kaufmann'},
'e.Kfr.': {'DE': 'Eingetragene Kauffrau'},
'E.P.E.': { 'GR': 'Etaireía Periorisménis Efthínis / Εταιρεία '
'Περιορισμένης Ευθύνης'},
'e.U.': {'AT': 'eingetragenes Einzelunternehmen'},
'E.U.': {'CO': 'Empresa Unipersonal'},
'e.V.': {'DE': 'eingetragener Verein'},
'e.v.': {'HU': 'egyéni vállalkozó'},
'EAD': { 'BG': 'ednolichno aktsionerno druzhestvo / еднолично акционерно '
'дружество'},
'EBVBA': { 'BE': 'eenpersoons besloten vennootschap met beperkte '
'aansprakelijkheid / société privée à responsabilité '
'limitée unipersonnelle'},
'EEIG': { 'EEA': 'European Economic Interest Grouping',
'FI': 'Eurooppalainen taloudellinen etuyhtymä, Swedish: '
'europeisk ekonomisk intressegruppering'},
'eG': {'CH': 'einfache Gesellschaft / société simple / società semplice'},
'ehf.': {'IS': 'einkahlutafélag'},
'EI': {'FR': 'Entreprise individuelle/entreprise en nom personnel'},
'EIRELI': {'BR': 'Empresa Individual de Responsabilidade Limitada'},
'EIRL': {'CL': 'Empresa Individual de Responsabilidad Limitada'},
'EIRL.': {'DO': 'Empresa Individual de Responsabilidad Limitada'},
'Ek. för.': {'SE': 'Ekonomisk förening'},
'Ent.': {'PH': 'Enterprise'},
'EOOD': { 'BG': 'ednolichno druzhestvo s ogranichena otgovornost / '
'еднолично дружество с ограничена отговорност'},
'EP': {'EC': 'Empresa Pública'},
'ESV': { 'BE': "economisch samenwerkingsverband / groupement d'intérêt "
'économique'},
'ET': {'BG': 'ednolichen turgovetz / едноличен търговец'},
'Etat': {'NO': 'state, county or municipal agency'},
'EURL': {'FR': 'Entreprise unipersonnelle à responsabilité limitée'},
'F.M.B.A.': {'DK': 'Forening med begrænset ansvar'},
'Fa': {'ID': 'Firma'},
'FCP': {'FR': 'Fond commun de placement'},
'FIE': {'EE': 'Füüsilisest isikust ettevõtja'},
'FKF': {'NO': 'Fylkeskommunalt foretak'},
'FOP': {'UA': 'Фізична особа підприємець / Fizychna osoba pidpryyemets'},
'G.I.E': {'MA': "Groupement d'Intérêt Economique"},
'G.K.': {'JP': '合同会社 gōdō-kaisha or gōdō-gaisha'},
'G/S': {'DK': 'Gensidigt selskab'},
'GbR': {'DE': 'Gesellschaft bürgerlichen Rechts'},
'Gen': { 'AT': 'Genossenschaft; types: Erwerbs- und '
'Wirtschaftsgenossenschaft'},
'GesbR': {'AT': 'Gesellschaft des bürgerlichen Rechts'},
'GIE': { 'BE': "economisch samenwerkingsverband / groupement d'intérêt "
'économique',
'FR': "Groupement d'intérêt économique",
'CH': 'wirtschaftliche Interessengemeinschaft / groupement '
"d'intérêt économique / gruppo di interesse economico"},
'GIU': {'HR': 'gospodarsko interesno udruženje'},
'GmbH': { 'AT': 'Gesellschaft mit beschränkter Haftung',
'DE': 'Gesellschaft mit beschränkter Haftung',
'CH': 'Gesellschaft mit beschränkter Haftung / Société à '
'responsabilité limitée / Società a garanzia limitata'},
'GmbH & Co. KG': {'DE': 'the general partner is a GmbH'},
'GmbH & Co. KGaA': {'DE': 'the general partner is a GmbH'},
'GmbH & Co. OHG': {'DE': 'each of the general partners are a GmbH'},
'GMK': {'JP': '合名会社 gōmei-kaisha or gōmei-gaisha'},
'GP': { 'KH': 'General Partnership',
'KZ': 'Gosudarstvenoe predpriyatie/Государственное предприятие',
'RU': 'Gosudarstvennoye (unitarnoye'},
'GSK': {'JP': '合資会社 gōshi-kaisha or gōshi-gaisha'},
'Gte.': {'NG': 'Limited by Guarantee'},
'GUP': {'RU': 'Gosudarstvennoye (unitarnoye'},
'HAAO': {'TR': 'Halka Açık Anonim Ortaklık'},
'HB': {'SE': 'Handelsbolag'},
'HF': {'NO': 'helseforetak'},
'hf.': {'IS': 'hlutafélag'},
'HTX': {'VN': 'Hợp tác xã/ Co-operation'},
'HUF': {'IN': 'Hindu Undivided Family'},
'I.K.E.': { 'GR': 'Idiotiki Kefalaiouchiki Etaireía / Ιδιωτική '
'Κεφαλαιουχική Εταιρεία'},
'I/S': {'DK': 'Interessentskab'},
'IK': {'LV': 'Individuālais komersants'},
'IKS': {'NO': 'Interkommunalt selskap'},
'ILP': {'AU': 'Incorporated limited partnership'},
'Inc.': { 'AU': 'Incorporated',
'CA': 'Incorporated / Incorporée',
'PH': 'Incorporated',
'US': 'corporation'},
'IP': { 'RU': "Individualny predprinimatel' / Индивидуальный "
'предприниматель'},
'IVS': {'DK': 'Iværksætterselskab'},
'IĮ': {'LT': 'Individuali įmonė'},
'j.d.o.o.': {'HR': 'jednostavno društvo s ograničenom odgovornošću'},
'j.p.': {'RS': 'javno preduzeće / јавно предузеће'},
'j.t.d.': {'HR': 'javno trgovačko društvo'},
'J.T.D.': {'MK': 'Javno Trgovsko Društvo / Јавно трговско друштво'},
'jy': { 'FI': 'julkinen keskinäinen vakuutusyhtiö / publikt ömsesidigt '
'försäkringsbolag'},
'k.d.': { 'BA': 'komanditno društvo',
'HR': 'komanditno društvo',
'RS': 'komanditno društvo / командитно друштво',
'SI': 'Komanditna družba'},
'K.D.': { 'MK': 'Komanditno Društvo / Командитно друштво',
'ME': 'Komanditno Društvo'},
'K.D.A.': { 'MK': 'Komanditno Društvo so Akcie / Командитно друштво со '
'акции'},
'K.K.': {'JP': '株式会社 kabushiki-kaisha or kabushiki-gaisha'},
'k.s.': {'CZ': 'komanditní společnost', 'SK': 'Komanditná spoločnosť'},
'K/S': {'DK': 'Kommanditselskab'},
'Kb': {'FI': 'kommandiittiyhtiö / kommanditbolag'},
'KB': {'SE': 'Kommanditbolag'},
'KD': {'BG': 'komanditno druzhestvo / командитно дружество'},
'KDA': { 'BG': 'komanditno druzhestvo s aktzii / командитно дружество с '
'акции'},
'KEG': {'AT': 'Kommanditerwerbsgesellschaft'},
'KF': {'NO': 'Kommunalt foretak'},
'kft.': {'HU': 'korlátolt felelősségű társaság'},
'KG': { 'AT': 'Kommanditgesellschaft',
'DE': 'Kommanditgesellschaft',
'CH': 'Kommanditgesellschaft / société en commandite / società '
'in accomandita'},
'KGaA': {'DE': 'Kommanditgesellschaft auf Aktien'},
'kht.': {'HU': 'közhasznú társaság'},
'kkt.': {'HU': 'közkereseti társaság'},
'KolG': { 'CH': 'Kollektivgesellschaft / société en nom collectif / '
'società in nome collettivo'},
'Koll. Şti.': {'TR': 'Kolektif şirket'},
'Kom. Şti': {'TR': 'Komandit şirket'},
'KomAG': { 'CH': 'Kommanditaktiengesellschaft / société en commandite '
'par actions / società in accomandita per azioni'},
'Koop.': {'TR': 'Kooperatif Şirket'},
'KS': {'LV': 'Komandītsabiedrība', 'NO': 'Kommandittselskap'},
'KT': { 'KZ': 'Komanditnoe Tovarishchestvo; Командитное товарищество',
'UA': 'Командитне товариство / Komandytne tovarystvo'},
'kv.': {'HU': 'közös vállalat'},
'Ky': {'FI': 'kommandiittiyhtiö / kommanditbolag'},
'KŪB': {'LT': 'Komanditinė ūkinė bendrija'},
'L.O.': {'TR': 'Limited Ortaklık'},
'L.Ş.': {'TR': 'Limited şirket'},
'LC': {'US': 'Limited Liability Company'},
'Lda.': {'PT': 'Limitada'},
'LLC': { 'EG': 'Limited Liability Company',
'US': 'Limited Liability Company'},
'LLLP': {'US': 'Limited Liability Limited Partnership'},
'LLP': { 'AU': 'Limited liability partnership',
'NG': 'Limited Liability Partnership',
'SG': 'limited liability partnership',
'GB': 'Limited liability partnership',
'US': 'Limited Liability Partnership'},
'LP': { 'KH': 'Limited Partnership',
'GB': 'Limited partnership',
'US': 'Limited partnership'},
'Ltd': { 'HK': 'Limited/有限公司',
'IN': 'Public Limited Company',
'NZ': 'Limited',
'SG': 'public limited company/Berhad',
'GB': 'Private Limited Company'},
'LTD': {'ZA': 'Public company/publieke maatskappy'},
'Ltd.': { 'AU': 'Limited',
'CA': 'Limited / Limitée',
'NG': 'Private Limited Company',
'PH': 'Limited'},
'Ltd. Co.': {'US': 'Limited Liability Company'},
'Ltd. Şti.': {'TR': 'Limited şirket'},
'LTDA.': {'CL': 'Sociedad de responsabilidad limitada'},
'Ltda.': {'CO': 'Sociedad de Responsabilidad Limitada',
'BR': 'Sociedade limitada'},
'Ltée': {'CA': 'Limited / Limitée'},
'M.E.P.E.': { 'GR': 'Monoprósopi Etaireía Periorisménis Efthínis / '
'Μονοπρόσωπη Ε.Π.Ε.'},
'MB': {'LT': 'Mažoji bendrija'},
'mbH': {'DE': 'mit beschränkter Haftung'},
'MChJ': { 'UZ': "Mas'uliyati Cheklangan Jamiyat/Масъулияти Чекланган "
'Жамият'},
'Mij': {'NL': 'Maatschappij'},
'Mts': {'NL': 'Maatschap'},
'MTÜ': {'EE': 'Mittetulundusühing'},
'NA': {'US': 'National Association'},
'Nhóm Cty': {'VN': 'Công Ty / "Group Company"'},
'NK': {'JP': "任意組合 nin'i kumiai"},
'NKO': { 'RU': 'Nekommercheskaya organizatsiya / Некоммерческая '
'организация'},
'NL': {'AU': 'No liability'},
'NT&SA': {'US': 'National Trust and Savings Association'},
'NUF': {'NO': 'Norskregistrert utenlandsk foretak'},
'NV': {'BE': 'naamloze vennootschap / societé anonyme'},
'nv': {'NL': 'Naamloze vennootschap'},
'Nyrt.': {'HU': 'nyilvánosan működő részvénytársaság'},
'O.B.E.E.': { 'GR': 'Omórrithmi Viomichanikí Emborikí Etaireía / '
'Ομόρρυθμη Βιομηχανική Εμπορική Εταιρεία'},
'O.D.': {'ME': 'Ortačko Društvo'},
'o.d.': {'RS': 'ortačko društvo / ортачко друштво'},
'O.E.': {'GR': 'Omórrithmi Etaireía / Ομόρρυθμη Εταιρεία, Ο.Ε.'},
'O.N.G.': {'RO': 'Organizație Non-Guvernamentală'},
'o.p.s.': {'CZ': 'obecně prospěšná společnost'},
'O.V.E.E.': { 'GR': 'Omórrithmi Viomichanikí Emborikí Etaireía / '
'Ομόρρυθμη Βιομηχανική Εμπορική Εταιρεία'},
'OAJ': {'UZ': 'Ochiq aksiyadorlik jamiyati/Очиқ акциядорлик жамияти'},
'OEG': {'AT': 'Offene Erwerbsgesellschaft'},
'OG': {'AT': 'offene Gesellschaft'},
'ohf.': {'IS': 'opinbert hlutafélag'},
'OHG': {'DE': 'Offene Handelsgesellschaft'},
'OK': {'UZ': 'Oilaviy korxona/Оилавий корхона'},
'OO': {'KZ': 'Obshestvennoe Obedinenie / Общественное объединение'},
'OOD': { 'BG': 'drujestvo s ogranichena otgovornost / дружество с '
'ограничена отговорност'},
'OOO': { 'RU': 'Obschestvo s ogranichennoy otvetstvennostyu / Общество с '
'ограниченной ответственностью'},
'OPG': {'HR': 'obiteljsko poljoprivredno gospodarstvo'},
'osk': {'FI': 'osuuskunta / andelslag'},
'Oy': {'FI': 'osakeyhtiö / aktiebolag'},
'Oyj': {'FI': 'julkinen osakeyhtiö / publikt aktiebolag'},
'OÜ': {'EE': 'Osaühing'},
'P.C.': {'US': 'Professional Corporation'},
'P/S': {'DK': 'Partnerselskab or Kommanditaktieselskab'},
'PAO': { 'RU': 'Publichnoye aktsionernoye obschestvo / Публичное '
'акционерное общество'},
'PartG': {'DE': 'Partnerschaftsgesellschaft'},
'PartGmbBH': { 'DE': 'Partnerschaftsgesellschaft mit beschränkter '
'Berufshaftung'},
'PAT': { 'UA': 'Публічне акціонерне товариство / Publichne aktsionerne '
'tovarystvo'},
'PC': { 'ET': 'public enterprises or public corporations / የመንግስት ልማት '
'ድርጅቶች or ኮርፖሬሽን',
'US': 'Professional Corporation'},
'PE': { 'ET': 'public enterprises or public corporations / የመንግስት ልማት '
'ድርጅቶች or ኮርፖሬሽን'},
'PEEC': {'KH': 'Public Establishment with Economic characteristics'},
'PFA': {'RO': 'persoana fizica autorizata'},
'PLC': { 'ET': 'Private limited company / ሃላፊነቱ የተወሰነ የግል ማህበር',
'NG': 'Public Limited Company',
'GB': 'Public Limited Company / Cwmni Cyfyngedig Cyhoeddus'},
'Plc Ltd.': {'KH': 'Public Limited Company'},
'PLLC': { 'BR': 'Sociedade simples',
'US': 'Professional Limited Liability Company'},
'PLT': {'MY': 'PLT'},
'PP': {'UA': 'Приватне підприємство / Pryvatne pidpryyemstvo'},
'PrAT': { 'UA': 'Приватне акціонерне товариство / Prytvatne aktsionerne '
'tovarystvo'},
'PrK': {'KZ': 'Proizvodstvenni Kooperativ / Производственный кооператив'},
'PS': {'LV': 'Pilnsabiedrība'},
'PSU': {'IN': 'Public Sector Undertaking'},
'PT': { 'ID': 'Perseroan Terbatas',
'KZ': 'Polnoe Tovarishchestvo / Полное товарищество',
'UA': 'Повне товариство / Povne tovarystvo'},
'PT Tbk': {'ID': 'Perseroan Terbatas Terbuka or Perseroan Terbuka'},
'Pte Ltd': {'SG': 'private limited company/Sendirian Berhad'},
'Pte Ltd.': {'KH': 'Private Limited Company'},
'PtK': {'KZ': 'Potrebibitelskii Kooperativ / Потребительский кооператив'},
'Pty.': {'AU': 'Unlimited Proprietary'},
'Pty. Ltd.': {'AU': 'Proprietary Limited Company'},
'Pvt Ltd': {'IN': 'Private Limited Company'},
'QK': {'UZ': "Qo'shma korxona/Қўшма корхона"},
'QMJ': {'UZ': "Qo'shimcha ma'suliyatli jamiyat/Қўшимча масъулиятли жамият"},
'r.V.': {'DE': 'altrechtlicher Verein/rechtsfähiger Verein'},
'rf': {'FI': 'rekisteröity yhdistys / förening'},
'RHF': {'NO': 'regionalt helseforetak'},
'rs': {'FI': 'säätiö / stiftelse'},
'rt.': {'HU': 'részvénytársaság'},
'ry': {'FI': 'rekisteröity yhdistys / förening'},
'S. A.': {'GT': 'Sociedad Anónima'},
'S. de R.L.': {'MX': 'Sociedad de Responsabilidad Limitada'},
'S. de R.L. de C.V.': {'MX': 'Sociedad de Responsabilidad Limitada'},
'S. en C.': { 'CO': 'Comandita Simple',
'MX': 'Sociedad en Comandita Simple'},
'S. en C. de C.V.': {'MX': 'Sociedad en Comandita Simple'},
'S. en C. por A.': {'MX': 'Sociedad en Comandita por Acciones'},
'S. en C. por A. de C.V.': {'MX': 'Sociedad en Comandita por Acciones'},
'S.A': {'MA': 'Société Anonyme'},
'S.A.': { 'AR': 'Sociedad Anónima',
'BR': 'Sociedade anônima',
'CL': 'Sociedad Anónima',
'CO': 'Sociedad Anónima',
'CR': 'Sociedad Anónima',
'DO': 'Sociedad Anónima',
'EC': 'Sociedad Anónima',
'LU': 'Société anonyme',
'MX': 'Sociedad Anónima',
'NI': 'Sociedad Anónima',
'PE': 'Sociedad Anónima',
'PL': 'spółka akcyjna',
'PT': 'Sociedade Aberta',
'RO': 'Societate pe Acţiuni',
'ES': 'Sociedad Anónima'},
'S.A. de C.V.': {'MX': 'Sociedad Anónima'},
'S.A.A.': {'PE': 'Sociedad Anónima Abierta'},
'S.A.B.': {'MX': 'Sociedad Anónima Bursátil'},
'S.A.D.': {'ES': 'Sociedad Anónima Deportiva'},
's.a.l.': {'LB': 'Societe Anonyme Libanaise'},
'S.a.p.a.': {'IT': 'Società in accomandita per azioni'},
'S.A.P.I.': {'MX': 'Sociedad Anónima Promotora de Inversión'},
'S.A.R.F.': {'CA': 'Société par actions de régime fédéral'},
'S.A.R.L': {'MA': 'Société à Responsabilité Limitée'},
'S.A.R.L.': { 'LB': 'Société à responsabilité limitée',
'LU': 'Société à responsabilité limitée'},
'S.A.S': { 'AR': 'Sociedades de Acciones Simplificadas',
'DO': 'Sociedad Anónima Simplificada',
'MA': 'Société Anonyme Simplifiée'},
'S.A.S.': {'CO': 'Sociedades por Acciones Simplificada'},
'S.a.s.': {'IT': 'Società in accomandita semplice'},
'S.C.': {'CO': 'Sociedad Colectiva', 'ES': 'Sociedad Colectiva'},
's.c.': {'PL': 'spółka cywilna'},
'S.C.A': {'MA': 'Société en Commandite par Actions'},
'S.C.A.': { 'CO': 'Comandita por Acciones',
'NI': 'Sociedad en Comandita por Acciones',
'RO': 'societate în comandită pe acţiuni'},
'S.c.a.r.l.': {'IT': 'Società consortile a responsabilità limitata'},
'S.C.e I.': {'AR': 'Sociedad de Capital e Industria'},
'S.C.P.': {'ES': 'Sociedad Civil Privada'},
'S.C.p.A.': {'AR': 'Sociedad en Comandita por Acciones'},
'S.c.p.a.': {'IT': 'Società consortile per azioni'},
'S.c.r.l.': {'IT': 'Società cooperativa a responsabilità limitata'},
'S.C.S': {'MA': 'Société en Commandite Simple'},
'S.C.S.': { 'AR': 'Sociedad en Comandita Simple',
'LB': 'Société en Commandite Simple',
'NI': 'Sociedad en Comandita Simple',
'RO': 'societate în comandită simplă'},
'S.Coop.': {'ES': 'Sociedad Cooperativa'},
'S.Cra.': {'ES': 'Sociedad Comanditaria'},
'S.E.': {'AR': 'Sociedad del Estado'},
'S.F.': {'PT': 'Sociedade Fechada'},
'S.G.R.': { 'AR': 'Sociedad de Garantía Reciproca',
'CL': 'Sociedad de Garantia Reciproca'},
'S.K.A.': {'PL': 'spółka komandytowo-akcyjna'},
'S.L.': {'ES': 'Sociedad Limitada'},
'S.L.L.': {'ES': 'Sociedad Limitada Laboral'},
'S.L.N.E.': {'ES': 'Sociedad Limitada Nueva Empresa'},
'S.M.B.A.': {'DK': 'Selskab med begrænset ansvar'},
'S.N.C': {'MA': 'Société en Nom Collectif'},
'S.n.c.': {'IT': 'Società in nome collettivo'},
'S.N.C.': { 'LB': 'Société en Nom Collectif',
'RO': 'societate în nume colectiv'},
's.p.': { 'BA': 'samostalni preduzetnik',
'CZ': 'státní podnik',
'SI': 'Samostojni podjetnik'},
'S.p.a.': {'IT': 'Società per azioni'},
'S.R.L.': { 'AR': 'Sociedad de Responsabilidad Limitada',
'CR': 'Sociedad de Responsabilidad Limitada',
'RO': 'societate cu răspundere limitată'},
'S.r.l.': {'IT': 'Società a responsabilità limitata'},
's.r.o.': { 'CZ': 'Společnost s ručením omezeným',
'SK': 'Spoločnosť s ručením obmedzeným'},
'S.s.': {'IT': 'Società semplice'},
'SA': { 'BE': 'naamloze vennootschap / societé anonyme',
'FR': 'Société anonyme',
'HT': 'Sociedad Anónima',
'PH': 'Sociedad Anónima',
'CH': 'Aktiengesellschaft / Société anonyme / Società anonima'},
'SAE': {'EG': 'Sharikat al-Mossahamah'},
'saf.': {'IS': 'samlagsfélag'},
'Sagl': { 'CH': 'Gesellschaft mit beschränkter Haftung / Société à '
'responsabilité limitée / Società a garanzia limitata'},
'SAL': {'ES': 'Sociedad Anónima Laboral'},
'SAM': {'MC': 'Société Anonyme Monégasque'},
'sam.': {'IS': 'samsteypa'},
'SAOC': {'OM': 'Société Anonyme Omanaise Close'},
'SAOG': {'OM': 'Société Anonyme Omanaise Générale'},
'SARL': {'MC': 'Société à Responsabilité Limitée'},
'SARL, SàRL': {'FR': 'Société à responsabilité limitée'},
'SAS': {'FR': 'Société par actions simplifiée'},
'SASU': {'FR': 'U- unipersonnelle'},
'SC': { 'ET': 'Share company / አክሲዩን ማህበር',
'RO': 'Societăți comerciale',
'CH': 'Kommanditgesellschaft / société en commandite / società '
'in accomandita'},
'SCA': { 'BE': 'commanditaire vennootschap op aandelen / société en '
'commandite par actions',
'FR': 'Société en commandite par actions',
'MC': 'Société en Commandite par Actions',
'CH': 'Kommanditaktiengesellschaft / société en commandite par '
'actions / società in accomandita per azioni'},
'SCCL': {'ES': 'Sociedad Cooperativa Catalana Limitada'},
'SCE': {'EEA': 'Societas Cooperativa Europaea', 'FI': 'Eurooppaosuuskunta'},
'SCI': {'FR': 'Société Civile Immobilière'},
'SCOP': {'FR': 'Société coopérative de production'},
'SCRI': { 'BE': 'coöperatieve vennootschap met onbeperkte '
'aansprakelijkheid / société coopérative à '
'responsabilité illimitée'},
'SCRL': { 'BE': 'coöperatieve vennootschap met beperkte '
'aansprakelijkheid / société coopérative à '
'responsabilité limitée'},
'SCS': { 'BE': 'gewone commanditaire vennootschap / société en '
'commandite simple',
'FR': 'Société en commandite simple',
'LU': 'Société en commandite simple',
'MC': 'Societe En Commandite Simple'},
'SCSp': {'LU': 'Société en Commandite Spéciale'},
'SD': {'BG': 'subiratelno druzhestvo / събирателно дружество'},
'Sdn Bhd': {'SG': 'private limited company/Sendirian Berhad'},
'Sdn. Bhd.': {'MY': 'Sendirian Berhad'},
'SE': {'EEA': 'Societas Europaea', 'FI': 'Eurooppayhtiö'},
'SEM': {'FR': "Société d'économie mixte"},
'SEP': {'FR': 'Société en participation'},
'SF': {'NO': 'Statsforetak'},
'sf.': {'IS': 'sameignarfélag'},
'sfs.': {'IS': 'sjálfseignarstofnun'},
'SGPS': {'PT': 'Sociedade Gestora de Participações Sociais'},
'Sh.A.': {'AL': 'Shoqëri Aksionere'},
'Sh.p.k.': {'AL': 'Shoqëri me përgjegjësi të kufizuar'},
'SIA': {'LV': 'Sabiedrība ar ierobežotu atbildību'},
'SICAV': {'FR': "Société d'investissement à capital variable"},
'SM Pte Ltd.': {'KH': 'Single Member Private Limited Company'},
'SNC': { 'BE': 'vennootschap onder firma / société en nom collectif',
'FR': 'Société en nom collectif',
'MC': 'Societe en Nom Collectif',
'CH': 'Kollektivgesellschaft / société en nom collectif / '
'società in nome collettivo'},
'Soc.Col.': {'AR': 'Sociedad Colectiva'},
'SP': {'KH': 'Sole Proprietorship'},
'Sp. z o.o.': {'PL': 'spółka z ograniczoną odpowiedzialnością'},
'sp.j.': {'PL': 'spółka jawna'},
'sp.k.': {'PL': 'spółka komandytowa'},
'sp.p.': {'PL': 'spółka partnerska'},
'SpA': {'CL': 'Sociedad por acciones'},
'SPE': {'EEA': 'Societas Privata Europaea'},
'spol. s r.o.': { 'CZ': 'Společnost s ručením omezeným',
'SK': 'Spoločnosť s ručením obmedzeným'},
'SPRL': { 'BE': 'besloten vennootschap met beperkte aansprakelijkheid / '
'société privée à responsabilité limitée'},
'SPRLU': { 'BE': 'eenpersoons besloten vennootschap met beperkte '
'aansprakelijkheid / société privée à responsabilité '
'limitée unipersonnelle'},
'SRL': {'CL': 'Sociedad de Responsabilidad Limitdada'},
'SRL.': {'DO': 'Sociedad de Resposabilidad Limitada'},
'stG': {'AT': 'stille Gesellschaft'},
'sv.': {'IS': 'samvinnufélag'},
'szöv.': {'HU': 'szövetkezet'},
'Sàrl': { 'CH': 'Gesellschaft mit beschränkter Haftung / Société à '
'responsabilité limitée / Società a garanzia limitata'},
'T:mi': {'FI': 'toiminimi'},
'TDO': { 'KZ': 'Tovarishchestvo s dopolnitelnoyu '
'otvetstvennostyu/Товарищество с дополнительной '
'ответственностью'},
'TDV': { 'UA': 'Товариство з додатковою відповідальністю / Tovarystvo z '
'dodatkvoiu vidpovidalnistiu'},
'TK': {'JP': '匿名組合 tokumei kumiai'},
'TOB': { 'UA': 'Товариство з обмеженою відповідальністю / Tovarystvo z '
'obmezhenoiu vidpovidalnistiu'},
'TOO': { 'KZ': 'Tovarishchestvo s ogranichennoy '
'otvetstvennostyu/Товарищество с ограниченной '
'ответственностью\xa0[ru]'},
'TOV': { 'UA': 'Товариство з обмеженою відповідальністю / Tovarystvo z '
'obmezhenoiu vidpovidalnistiu'},
'TÜ': {'EE': 'Täisühing'},
'TŪB': {'LT': 'Tikroji ūkinė bendrija'},
'UAB': {'LT': 'Uždaroji akcinė bendrovė'},
'Uchr': {'KZ': 'Uchrezhdenie/Учреждение'},
'UD': {'ID': 'Usaha Dagang'},
'UG': {'DE': 'Unternehmergesellschaft'},
'UK': {'UZ': 'Unitar korxona/Унитар корхона'},
'Ultd': {'HK': 'Unlimited/無限公司'},
'ULtd.': {'NG': 'Unlimited'},
'Unipessoal Lda.': {'PT': 'Unipessoal Limitada'},
'Unltd': {'HK': 'Unlimited/無限公司'},
'UÜ': {'EE': 'Usaldusühing'},
'v.o.s.': { 'CZ': 'veřejná obchodní společnost',
'SK': 'Verejná obchodná spoločnosť'},
'VAT': { 'UA': 'Вiдкрите акцiонерне товариство / Vidkryte aktsionerne '
'tovarystvo'},
'VOF': {'BE': 'vennootschap onder firma / société en nom collectif'},
'vof': {'NL': 'Vennootschap onder firma'},
'VoG': { 'BE': 'vereniging zonder winstoogmerk / association sans but '
'lucratif / Vereinigung ohne Gewinnerzielungsabsicht'},
'VSIA': {'LV': 'Valsts sabiedrība ar ierobežotu atbildību'},
'VZW': { 'BE': 'vereniging zonder winstoogmerk / association sans but '
'lucratif / Vereinigung ohne Gewinnerzielungsabsicht'},
'VšĮ': {'LT': 'Viešoji įstaiga'},
'wIG': { 'CH': 'wirtschaftliche Interessengemeinschaft / groupement '
"d'intérêt économique / gruppo di interesse economico"},
'XK': {'UZ': 'Xususiy korxona/Хусусий корхона'},
'XT': {'UZ': 'Xususiy tadbirkorlik/Хусусий тадбиркорлик'},
'y Cía. S. C.': {'GT': 'Sociedad Colectiva'},
'y Cía. S. en C.': {'GT': 'Sociedad en Comandita Simple'},
'Y.K.': {'JP': '有限会社 yūgen-kaisha or yūgen-gaisha'},
'YoAJ': {'UZ': 'Yopiq aksiyadorlik jamiyati/Ёпиқ акциядорлик жамияти'},
'z.s.': {'CZ': 'zapsaný spolek'},
'ZAT': { 'UA': 'Закрите акцiонерне товариство / Zakryte Aktsionerne '
'Tovarystvo'},
'Zrt.': {'HU': 'zártkörűen működő részvénytársaság'},
'ĀKF': {'LV': 'Ārzemju komersanta filiāle'},
'Şb.': {'TR': 'Şube'},
'Ε.Π.Ε.': { 'GR': 'Etaireía Periorisménis Efthínis / Εταιρεία '
'Περιορισμένης Ευθύνης'},
'Μ.Ε.Π.Ε.': { 'GR': 'Monoprósopi Etaireía Periorisménis Efthínis / '
'Μονοπρόσωπη Ε.Π.Ε.'},
'А.Д.': {'MK': 'Akcionersko Društvo / Акционерско друштво'},
'ААТ': { 'BY': 'Адкрытае акцыянернае таварыства / Открытое акционерное '
'общество'},
'АД': {'BG': 'aktsionerno drujestvo / акционерно дружество'},
'АДСИЦ': { 'BG': 'aktsionerno druzhestvo sus spetsialna investitsionna '
'tsel / акционерно дружество със специална '
'инвестиционна цел'},
'АО': { 'KZ': 'Aktsionernoe obschestvo/Акционерное общество\xa0[ru]',
'RU': 'Aktsionernoye obschestvo / Акционерное общество'},
'ВАТ': { 'UA': 'Вiдкрите акцiонерне товариство / Vidkryte aktsionerne '
'tovarystvo'},
'ГП': { 'KZ': 'Gosudarstvenoe predpriyatie/Государственное предприятие',
'RU': 'Gosudarstvennoye (unitarnoye'},
'ГУП': {'RU': 'Gosudarstvennoye (unitarnoye'},
'ГХО ХХК': { 'MN': 'Gadaadiin khurungu oruulalttai khyazgaarlagdmal '
'khariutslagatai kompani / Гадаадын хөрөнгө '
'оруулалттай хязгаарлагдмал хариуцлагатай компани'},
'д.д.': { 'RS': 'deoničarsko društvo / деоничарско друштво or deoničko '
'društvo / деоничко друштво'},
'Д.О.О.': { 'MK': 'Društvo so Ograničena Odgovornost / Друштво со '
'ограничена одговорност'},
'д.о.о.': { 'RS': 'društvo sa ograničenom odgovornošću / друштво сa '
'ограниченом одговорношћу'},
'Д.О.О.Е.Л.': { 'MK': 'Društvo so Ograničena Odgovornost od Edno Lice / '
'Друштво со ограничена одговорност основано од '
'едно лице'},
'ДАТ': { 'UA': 'Державне акціонерне товариство / Derzhavne aktsionerne '
'tovarystvo'},
'ЕАД': { 'BG': 'ednolichno aktsionerno druzhestvo / еднолично акционерно '
'дружество'},
'ЕООД': { 'BG': 'ednolichno druzhestvo s ogranichena otgovornost / '
'еднолично дружество с ограничена отговорност'},
'ЗАО': { 'BY': 'Закрытае ацыянернае таварыства / Закрытое акционерное '
'общество'},
'ЗАТ': { 'BY': 'Закрытае ацыянернае таварыства / Закрытое акционерное '
'общество',
'UA': 'Закрите акцiонерне товариство / Zakryte Aktsionerne '
'Tovarystvo'},
'ИП': { 'RU': "Individualny predprinimatel' / Индивидуальный "
'предприниматель'},
'К.Д.': {'MK': 'Komanditno Društvo / Командитно друштво'},
'к.д.': {'RS': 'komanditno društvo / командитно друштво'},
'К.Д.А.': { 'MK': 'Komanditno Društvo so Akcie / Командитно друштво со '
'акции'},
'КД': {'BG': 'komanditno druzhestvo / командитно дружество'},
'КДА': { 'BG': 'komanditno druzhestvo s aktzii / командитно дружество с '
'акции'},
'КТ': { 'KZ': 'Komanditnoe Tovarishchestvo; Командитное товарищество',
'UA': 'Командитне товариство / Komandytne tovarystvo'},
'НКО': { 'RU': 'Nekommercheskaya organizatsiya / Некоммерческая '
'организация'},
'ОАО': { 'BY': 'Адкрытае акцыянернае таварыства / Открытое акционерное '
'общество'},
'ОО': {'KZ': 'Obshestvennoe Obedinenie / Общественное объединение'},
'ООД': { 'BG': 'drujestvo s ogranichena otgovornost / дружество с '
'ограничена отговорност'},
'ООО': { 'BY': 'Таварыства з абмежаванай адказнасцю / Общество с '
'ограниченной ответственностью'},
'ПT': {'UA': 'Повне товариство / Povne tovarystvo'},
'ПАО': { 'RU': 'Publichnoye aktsionernoye obschestvo / Публичное '
'акционерное общество'},
'ПАТ': { 'UA': 'Публічне акціонерне товариство / Publichne aktsionerne '
'tovarystvo'},
'ПП': {'UA': 'Приватне підприємство / Pryvatne pidpryyemstvo'},
'ПрАТ': { 'UA': 'Приватне акціонерне товариство / Prytvatne aktsionerne '
'tovarystvo'},
'ПрК': {'KZ': 'Proizvodstvenni Kooperativ / Производственный кооператив'},
'ПТ': {'KZ': 'Polnoe Tovarishchestvo / Полное товарищество'},
'ПтК': {'KZ': 'Potrebibitelskii Kooperativ / Потребительский кооператив'},
'ПУП': { 'BY': 'Прыватнае унітарнае прадпрыемства / Частное унитарное '
'предприятие'},
'РО': {'KZ': 'Relitioznoe Obedinenie / Религиозное объединение'},
'СД': {'BG': 'subiratelno druzhestvo / събирателно дружество'},
'ТАА': { 'BY': 'Таварыства з абмежаванай адказнасцю / Общество с '
'ограниченной ответственностью'},
'ТББ': {'MN': 'Töriin Bus Baiguullaga/Төрийн Бус Байгууллага'},
'ТДВ': { 'UA': 'Товариство з додатковою відповідальністю / Tovarystvo z '
'dodatkvoiu vidpovidalnistiu'},
'ТДО': { 'KZ': 'Tovarishchestvo s dopolnitelnoyu '
'otvetstvennostyu/Товарищество с дополнительной '
'ответственностью'},
'ТОО': { 'KZ': 'Tovarishchestvo s ogranichennoy '
'otvetstvennostyu/Товарищество с ограниченной '
'ответственностью\xa0[ru]'},
'Учр': {'KZ': 'Uchrezhdenie/Учреждение'},
'ФОП': {'UA': 'Фізична особа підприємець / Fizychna osoba pidpryyemets'},
'ХК': {'MN': 'Khuvitsaat Kompani/Хувьцаат Компани'},
'ХХК': { 'MN': 'Khyazgaarlagdmal Khariutslagatai Kompani/ Хязгаарлагдмал '
'Хариуцлагатай Компани'},
'ЧУП': { 'BY': 'Прыватнае унітарнае прадпрыемства / Частное унитарное '
'предприятие'},
'ј.п.': {'RS': 'јавно предузеће'},
'Ј.Т.Д.': {'MK': 'Javno Trgovsko Društvo / Јавно трговско друштво'},
'בע"מ': {'IL': "Be'eravon Mugbal"}
}
def company_type_abbreviations(regions=[]):
if regions == []:
return COMPANY_TYPE_ABBREVIATIONS.keys()
regions = set(regions)
abbrevs = set()
for k,v in COMPANY_TYPE_ABBREVIATIONS.items():
avail_regions = set(v.keys())
if regions.intersection(avail_regions):
abbrevs.add(k)
return abbrevs
def available_territories():
return set(item for sublist in COMPANY_TYPE_ABBREVIATIONS.values()
for item in sublist)
def strip_accents_ascii(s):
# From sklearn.feature_extraction.text
# Take care with this function as it will remove characters
# if it can't substitute them.
#
# There is also a strip_accents_unicode version, see
# See https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/feature_extraction/text.py
nfkd_form = unicodedata.normalize('NFKD', s)
return nfkd_form.encode('ASCII', 'ignore').decode('ASCII')
def simplify(a):
''' Remove any punctuation; replace accented characters with Ascii representation
'''
stripped = strip_accents_ascii(a)
return re.sub(r"[^\w\s]","",stripped)
########################################################
#
# Some examples
#
#######################################################
def run_examples():
# All abbreviations
cnt_all_abbrevs = 468
print("Expected %d abbrevs, got %d\n" %
(cnt_all_abbrevs, len(company_type_abbreviations())))
assert len(company_type_abbreviations()) == cnt_all_abbrevs
# All territories (i.e. country codes plus EEA)
cnt_territories = 75
print("Expected %d territories, got %d\n" %
(cnt_territories, len(available_territories())))
assert len(available_territories()) == cnt_territories
# Results for Argentina
ar_set = set(['S.A.', 'S.A.S', 'S.C.S.', 'S.C.e I.', 'S.C.p.A.',
'S.E.', 'S.G.R.', 'S.R.L.', 'Soc.Col.'])
res = company_type_abbreviations(["AR"])
print("AR: expected %s, got %s\n" % (ar_set,res))
assert res == ar_set
# Results for Albania and EEA
al_eea_set = set(['EEIG', 'SCE', 'SE', 'SPE', 'Sh.A.', 'Sh.p.k.'])
res = company_type_abbreviations(["AL","EEA"])
print("AL, EEA: expected %s, got %s\n" % (al_eea_set,res))
assert res == al_eea_set
# Remove accents and punctuation
str1 = 'Koll. Şti.'
str2 = "Μ.Ε.Π.Ε." # Care, although the M and E look like ascii they aren't
str3 = 'ВАТ' # Care, none of these are ascii either
str1b = simplify(str1)
str2b = simplify(str2)
str3b = simplify(str3)
print("Simplifying '%s' (%s), got '%s' (%s)\n" % (str1,
[ord(x) for x in str1], str1b, [ord(x) for x in str1b]))
print("Simplifying '%s' (%s), got '%s' (%s)\n" % (str2,
[ord(x) for x in str2], str2b, [ord(x) for x in str2b]))
print("Simplifying '%s' (%s), got '%s' (%s)\n" % (str3,
[ord(x) for x in str3], str3b, [ord(x) for x in str3b]))
assert simplify(str1) == "Koll Sti"
assert simplify(str2) == ""
assert simplify(str3) == ""
print("All examples tested successfully")
if __name__ == '__main__':
run_examples()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment