Metadata-Version: 1.1
Name: Pynames
Version: 0.2.3
Summary: name generation library
Home-page: https://github.com/Tiendil/pynames
Author: Aleksey Yeletsky <Tiendil>
Author-email: a.eletsky@gmail.com
License: BSD
Description: ==================================
        PYNAMES — names generation library
        ==================================
        
        Pynames intended for generation of all sorts of names. Currently it implements generators for character names of different races and cultures:
        
        * Scandinavian: traditional names;
        * Russian: pagan names;
        * Mongolian: traditional names;
        * Korean: traditional names;
        * Elven: DnD names;
        * Elven: Warhammer names;
        * Goblins: custom names;
        * Orcs: custom names;
        * Iron Kingdoms: caspian midlunder sulese;
        * Iron Kingdoms: dwarf;
        * Iron Kingdoms: gobber;
        * Iron Kingdoms: iossan nyss;
        * Iron Kingdoms: khadoran;
        * Iron Kingdoms: ogrun;
        * Iron Kingdoms: ryn;
        * Iron Kingdoms: thurian morridane;
        * Iron Kingdoms: tordoran;
        * Iron Kingdoms: trollkin.
        
        There are two supported languages : English & Russian. Russian language names are generated with forms for every case of a noun and time.
        
        Currently implemented two generation algorithms:
        
        * ``pynames.from_list_generator`` — names are created from list of predefined words;
        * ``pynames.from_table_generator`` — names are created using templates, every part of template is gotten from separate table;
        
        The library is easily extensible. If you need extra functionality (including new languages), please, contact me, post an issue, or just make a pull request.
        
        *************
        Installation
        *************
        
        ::
        
           pip install pynames
        
        *************
        Usage
        *************
        
        .. code:: python
        
           from pynames import GENDER, LANGUAGE
        
        All generators are divided by "races", so that all generators of elven names are placed in the module ``pynames.generators.elven``, etc.
        
        .. code:: python
        
           from pynames.generators.elven import DnDNamesGenerator
           elven_generator = DnDNamesGenerator()
        
        Number of different names (male and female) and for each gender separately.
        
        .. code:: python
        
           In [4]: elven_generator.get_names_number()
           Out[4]: 1952949936
        
           In [5]: elven_generator.get_names_number(GENDER.MALE)
           Out[5]: 976474968
        
           In [6]: elven_generator.get_names_number(GENDER.FEMALE)
           Out[6]: 976474968
        
        Fast random name generation.
        
        .. code:: python
        
           In [7]: elven_generator.get_name_simple()
           Out[7]: u'Elineer'
        
           In [8]: elven_generator.get_name_simple(GENDER.MALE)
           Out[8]: u'Caslithdar'
        
           In [9]: elven_generator.get_name_simple(GENDER.MALE, LANGUAGE.EN) # English
           Out[9]: u'Mararon'
        
           In [10]: print elven_generator.get_name_simple(GENDER.MALE, LANGUAGE.RU)  # Russian
           Ттомусиэл
        
        Instead of text, you can get the Name object with additional functionality.
        
        .. code:: python
        
           In [11]: name = elven_generator.get_name()
        
           In [12]: name.translations  # all translations
           Out[12]:
           {u'm': {u'en': u"ae'Angaithnyn",
                   u'ru': [u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u0430",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u0443",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u0430",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u043e\u043c",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u0435",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u044b",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u043e\u0432",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u0430\u043c",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u043e\u0432",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u0430\u043c\u0438",
                           u"\u0430\u044d'\u0410\u043d\u0433\u0430\u0438\u0442\u0442\u043d\u0438\u0438\u043d\u0430\u0445"]}}
        
           In [13]: print u'\n'.join(name.get_forms_for(GENDER.MALE, language=LANGUAGE.RU))
           аэ'Ангаиттниин
           аэ'Ангаиттниина
           аэ'Ангаиттниину
           аэ'Ангаиттниина
           аэ'Ангаиттниином
           аэ'Ангаиттниине
           аэ'Ангаиттниины
           аэ'Ангаиттниинов
           аэ'Ангаиттниинам
           аэ'Ангаиттниинов
           аэ'Ангаиттниинами
           аэ'Ангаиттниинах
        
           In [14]: name.genders
           Out[14]: frozenset({u'm'}) # all genders
        
Keywords: gamedev,game,game development,names,names generation
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Natural Language :: Russian
