python-codicefiscale is a library for encode/decode Italian fiscal code - codifica/decodifica del Codice Fiscale.
Features
NEWAuto-updated data (once a week) directly from ANPR data-source.- Transliteration for name/surname
- Multiple birthdate formats (date/string) (you can see all the supported string formats here)
- Automatic birthplace city/foreign-country code detection from name
- Omocodia support
Installation
pip install python-codicefiscale
Usage
Import
from codicefiscale import codicefiscale
Encode
codicefiscale.encode(surname='Caccamo', name='Fabio', sex='M', birthdate='03/04/1985', birthplace='Torino') # 'CCCFBA85D03L219P'
Decode
codicefiscale.decode('CCCFBA85D03L219P') # { # 'code': 'CCCFBA85D03L219P', # 'sex': 'M', # 'birthdate': datetime.datetime(1985, 4, 3, 0, 0), # 'birthplace': { # 'name': 'TORINO' # 'province': 'TO', # 'code': 'L219', # }, # 'omocodes': [ # 'CCCFBA85D03L219P', # 'CCCFBA85D03L21VE', # 'CCCFBA85D03L2MVP', # 'CCCFBA85D03LNMVE', # 'CCCFBA85D0PLNMVA', # 'CCCFBA85DLPLNMVL', # 'CCCFBA8RDLPLNMVX', # 'CCCFBAURDLPLNMVU', # ], # 'raw': { # 'code': 'CCCFBA85D03L219P', # 'surname': 'CCC', # 'name': 'FBA', # 'birthdate': '85D03', # 'birthdate_year': '85' # 'birthdate_month': 'D', # 'birthdate_day': '03', # 'birthplace': 'L219', # 'cin': 'P', # }, # }
Check
codicefiscale.is_valid('CCCFBA85D03L219P') # True
codicefiscale.is_omocode('CCCFBA85D03L219P') # False
Testing
# clone repository git clone https://github.com/fabiocaccamo/python-codicefiscale.git && cd python-codicefiscale # create virtualenv and activate it python -m venv venv && . venv/bin/activate # upgrade pip python -m pip install --upgrade pip # install requirements pip install -r requirements.txt -r requirements-test.txt # run tests using tox tox # or run tests using unittest python -m unittest tests.tests # or run tests using setuptools python setup.py test
License
Released under MIT License.
Supporting
- โญ Star this project on GitHub
Follow me on GitHub- ๐ Follow me on Twitter
- ๐ฐ Sponsor me on Github
See also
-
python-benedict- dict subclass with keylist/keypath support, I/O shortcuts (base64, csv, json, pickle, plist, query-string, toml, xml, yaml) and many utilities. ๐ -
python-fontbro- friendly font operations. ๐งข -
python-fsutil- file-system utilities for lazy devs. ๐งโโ๏ธ
