Russian names generator
Project description
Library for generation of russian names. Cyrillic and latin alphabet. Useful for test, mocks etc.
Installation
Install with pip:
$ pip install russian-names
Usage
Import package:
>>> from russian_names import RussianNames
Basic example
Print random name:
>>> RussianNames().get_person() Владислав Николаевич Ильин
Batch
Create batch of persons. Set size in count option.
>>> rn = RussianNames(count=5, patronymic=False, name_reduction=True)
>>> batch = rn.get_batch()
>>> print(batch)
('Л. Ходилова', 'А. Креткова', 'Р. Тишанов', 'И. Закудряев', 'В. Демчин')
Generator
Use russian names as generator
>>> rn = RussianNames(count=7, patronymic=False, transliterate=True)
>>> for person in rn:
print(person)
Valeriy Forunin
Pavel Senakosov
Violetta Scherbovskaya
Natalya Furshtatova
Violetta Chuhontseva
Polina Aksentsova
Galina Botova
Options
List of options:
option |
description |
type |
default |
|---|---|---|---|
name |
bool |
True |
|
name_reduction |
Anna -> A. |
bool |
False |
name_max_len |
int |
10 |
|
patronymic |
bool |
True |
|
patronymic_reduction |
Fedorovich -> F. |
bool |
False |
patronymic_max_len |
int |
10 |
|
surname |
bool |
True |
|
surname_reduction |
Ivanov -> I. |
bool |
False |
surname_max_len |
int |
10 |
|
count |
int |
10 |
|
gender |
float |
0.5 |
|
transliterate |
cyrillic to latin |
bool |
False |
output_type |
output data format |
‘str’ or ‘list’ or ‘tuple’ or ‘dict’ |
‘str’ |
seed |
random seed |
int |
None |
rare |
use non popular names |
bool |
False |
uppercase |
set uppercase to all names |
bool |
False |
Examples of options
For credit cards:
>>> RussianNames(count=3, patronymic=False, transliterate=True, uppercase=True).get_batch()
('SEMEN SISYKIN', 'LYBOV POLEZAEVA', 'MIHAIL KAMAGOROV')
For polls:
>>> RussianNames(count=3, surname_reduction=True).get_batch()
('Анатолий Юрьевич Ш.', 'Софья Ивановна Т.', 'Валерия Валерьевна Н.')
Only women:
>>> RussianNames(count=3, gender=0.0).get_batch()
('Кристина Петровна Тоншина', 'Клавдия Эдуардовна Караулова', 'Лариса Викторовна Короткина')
List of dicts:
>>> RussianNames(count=3, output_type='dict').get_batch()
(
{'name': 'Кирилл', 'patronymic': 'Денисович', 'surname': 'Дрожжов'},
{'name': 'Андрей', 'patronymic': 'Кириллович', 'surname': 'Шувиков'},
{'name': 'Роман', 'patronymic': 'Евгеньевич', 'surname': 'Малеванкин'}
)
Get current option
Print options
>>> rn = RussianNames(count=10, gender=0.5, surname_max_len=15,
transliterate=True, uppercase=True)
>>> print(rn)
RussianNames settings:
name: True
name_reduction: False
name_max_len: 10
patronymic: True
patronymic_reduction: False
patronymic_max_len: 10
surname: True
surname_reduction: False
surname_max_len: 15
count: 10
gender: 0.5
transliterate: True
output_type: str
seed: None
rare: False
uppercase: True
Tests
$ pytest -v tests/*
License
This project is licensed under the MIT License - see the LICENSE.txt file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file russian_names-0.1.2-py3-none-any.whl.
File metadata
- Download URL: russian_names-0.1.2-py3-none-any.whl
- Upload date:
- Size: 652.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
284fbe55f0901531e8771a8b9c0adcd463d2f66c2f7a296b28c406808a9fa15a
|
|
| MD5 |
61b6578ff95e9154878ab58c3afb0e3d
|
|
| BLAKE2b-256 |
c1f7aed1f274b294728eaa67d941db817a21b660f7a6852cabc0c05513466ec8
|