Skip to content

Repository files navigation

python-codicefiscale

python-codicefiscale is a library for encode/decode Italian fiscal code - codifica/decodifica del Codice Fiscale.

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

fromcodicefiscaleimportcodicefiscale

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

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. 🧟‍♂️

About

🇮🇹 💳 encode / decode italian fiscal codes - codifica / decodifica del Codice Fiscale italiano.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages