Skip to main content

A Python library for declension of personal names in Serbian

Project description

deklinacija

A Python library for declension of personal names in Serbian. The grammatical rules utlized in this library also apply to Croatian and Bosnian.

Installation

The source code is currently hosted on GitHub: https://github.com/urelja/deklinacija

The latest binary versions are hosted on the Python Package Index (PyPI): https://pypi.org/project/deklinacija/

pip install deklinacija

Usage

Simply import the package. It is recommended to set the alias to dek.

import deklinacija as dek

As of right now, only first names are supported. To decline names, all you have to do is to call the appropriate function for the grammatical case you want to use, and specify the name and the gender parameter. There is also the third latin parameter, which indicates whether the provided name parameter is written in the Cyrillic or Latin script. Currently, only the Latin script is supported.

The functions in this example return a string.

import deklinacija as dek

genitiv = dek.genitiv("Velja","male") #Velje
dativ = dek.dativ("Petar","male") #Petru
akuzativ = dek.akuzativ("Jana","female") #Janu
vokativ = dek.vokativ("Predrag","male") #Predraže
instrumental = dek.instrumental("Uroš","male") #Urošem
instrumental2 = dek.instrumental("Vuk","male") #Vukom
lokativ = dek.lokativ("Lana","female") #Lani

print(f"Zdravo, {vokativ}! Dobio si zahtev za prijateljstvo od {genitiv}.") 
#Zdravo Predraže! Dobio si zahtev za prijateljstvo od Velje.
#Translation: Hello Predrag! You have received a friend request from Velja.

You can also immediatelly decline a name through all grammatical cases by calling the declineAll() function.

The declineAll() function returns a dictionary.

import deklinacija as dek

Nikola = dek.declineAll("Nikola","male") 
#{'nominativ': 'Nikola', 'genitiv': 'Nikole', 'dativ': 'Nikoli', 'akuzativ': 'Nikolu', 
#'vokativ':'Nikola', 'instrumental': 'Nikolom', 'lokativ': 'Nikoli'}

print("Dali ste poklon",Nikola['dativ']) 
#Dali ste poklon Nikoli
#Translation: You have given a gift to Nikola

Todo

The following features are on the roadmap:

  • Support for both Latin and Cyrillic scripts
  • Declension of last names

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deklinacija-1.0.1.tar.gz (7.0 kB view hashes)

Uploaded Source

Built Distribution

deklinacija-1.0.1-py3-none-any.whl (7.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page