Repository: joke2k/faker
Pull request #1492 (2021-08-03 15:09:29)

uk_UA address provider - fix streets and cities names, added regions
### What does this changes

Real regions of Ukraine and real city names were added to uk_UA address provider.  And `street_names` extended with additional streets.

### What was wrong

uk_UA address provider had not any real `city_name` and `region`. And `street_name` had not many options to choose from.

### How this fixes it

All Ukrainian cities were added to `city_names`.
All Ukrainian regions were added to `region_names`.
`street_titles` were extended with other cities' street names for better variety.

Slightly changed formats for better readability.

Fixes #...



Patch:
diff --git a/.bumpversion.cfg b/.bumpversion.cfg
index 5f80e929..df5bc03a 100644
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 8.10.3
+current_version = 8.12.3
 files = VERSION faker/__init__.py docs/conf.py
 commit = True
 tag = True
diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index 3286acf3..00000000
--- a/.circleci/config.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-version: 2
-
-jobs:
-  build:
-    docker:
-      - image: circleci/python:latest-node-browsers
-    steps:
-      - checkout
-      - run: pip install --user tox
-      - run: tox
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
deleted file mode 100644
index 049b5975..00000000
--- a/.github/workflows/lint.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-name: Python Lint
-
-on:
-  push:
-    tags-ignore:
-      - "*"
-
-jobs:
-  lint:
-    runs-on: ubuntu-latest
-
-    steps:
-    - uses: actions/checkout@v2
-    - name: Set up Python
-      uses: actions/setup-python@v2
-      with:
-        python-version: '3.x'
-    - name: Install dependencies
-      run: |
-        python -m pip install tox
-    - name: Lint with flake8
-      run: tox
-      env:
-        TOXENV: flake8
-    - name: Check manifest
-      run: tox
-      env:
-        TOXENV: checkmanifest
-    - name: isort
-      run: tox
-      env:
-        TOXENV: isort
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 024ea21e..4f34489a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,27 @@
 ## Changelog
 
+### [v8.12.3 - 2021-09-15](https://github.com/joke2k/faker/compare/v8.12.2...v8.12.3)
+
+* Fix missing underscores in ``mac_platform_token``. Thanks @iamkeyur.
+
+### [v8.12.2 - 2021-09-15](https://github.com/joke2k/faker/compare/v8.12.1...v8.12.2)
+
+*  Remove period/fullstop from ``en_GB`` prefixes. Thanks @stephengruppetta.
+
+### [v8.12.1 - 2021-08-24](https://github.com/joke2k/faker/compare/v8.12.0...v8.12.1)
+
+* Add missing diacritics in ``fr_FR`` ``person`` provider. Thanks @laowantong.
+
+### [v8.12.0 - 2021-08-20](https://github.com/joke2k/faker/compare/v8.11.0...v8.12.0)
+
+* Added non-geo numbers and services phones format for ``pt_BR``. Thanks @leogregianin.
+* Add datetime formats in ``pt_BR``. Thanks @leogregianin.
+* Add currency formats in ``pt_BR``. Thanks @leogregianin.
+
+### [v8.11.0 - 2021-08-03](https://github.com/joke2k/faker/compare/v8.10.3...v8.11.0)
+
+*  Add ``nic_handle``. Thanks @pishchalnikov.
+
 ### [v8.10.3 - 2021-07-26](https://github.com/joke2k/faker/compare/v8.10.2...v8.10.3)
 
 * Remove potentially offensive surname in ``it_IT``. Thanks @lordgordon.
diff --git a/CITATION.cff b/CITATION.cff
new file mode 100644
index 00000000..a0ee0b10
--- /dev/null
+++ b/CITATION.cff
@@ -0,0 +1,9 @@
+authors: 
+  - family-names: Faraglia
+    given-names: Daniele
+  - name: "Other Contributors"
+cff-version: 1.2.0
+license: MIT
+message: If you use this software, please cite it using these metadata.
+repository-code: "https://github.com/joke2k/faker"
+title: "Faker"
diff --git a/MANIFEST.in b/MANIFEST.in
index ceb0e3b6..72e4bd43 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -4,6 +4,7 @@ include CONTRIBUTING.rst
 include CHANGELOG.md
 include RELEASE_PROCESS.rst
 include VERSION
+include CITATION.cff
 recursive-include tests *.json
 recursive-include tests *.py
 recursive-exclude faker/sphinx *.py
diff --git a/VERSION b/VERSION
index 213bb682..e12be1cc 100644
--- a/VERSION
+++ b/VERSION
@@ -1,1 +1,1 @@
-8.10.3
+8.12.3
diff --git a/docs/conf.py b/docs/conf.py
index 87dc1741..f2f9f14c 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -51,9 +51,9 @@ copyright = '2014, Daniele Faraglia'
 # built documents.
 #
 # The short X.Y version.
-version = '8.10.3'
+version = '8.12.3'
 # The full version, including alpha/beta/rc tags.
-release = '8.10.3'
+release = '8.12.3'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/faker/__init__.py b/faker/__init__.py
index 3c306691..61b1b4ad 100644
--- a/faker/__init__.py
+++ b/faker/__init__.py
@@ -2,6 +2,6 @@ from faker.factory import Factory
 from faker.generator import Generator
 from faker.proxy import Faker
 
-VERSION = '8.10.3'
+VERSION = '8.12.3'
 
 __all__ = ('Factory', 'Generator', 'Faker')
diff --git a/faker/providers/address/uk_UA/__init__.py b/faker/providers/address/uk_UA/__init__.py
index a892049b..75742c60 100644
--- a/faker/providers/address/uk_UA/__init__.py
+++ b/faker/providers/address/uk_UA/__init__.py
@@ -2,13 +2,511 @@ from .. import Provider as AddressProvider
 
 
 class Provider(AddressProvider):
-    address_formats = ['{{street_address}}, {{city}}, {{postcode}}']
+    address_formats = ['{{street_address}}, {{city_name}}, {{postcode}}']
     building_number_formats = ['#', '##', '###']
-    city_formats = ['{{city_prefix}} {{first_name}}']
-    street_address_formats = ['{{street_name}}, {{building_number}}']
-    street_name_formats = ('{{street_prefix}} {{street_title}}', )
+    city_formats = ['{{city_prefix}} {{city_name}}']
+    street_address_formats = ('{{street_prefix}} {{street_name}}, буд. {{building_number}}',
+                              '{{street_prefix}} {{street_name}}, буд. {{building_number}} кв. {{building_number}}')
+
+    street_name_formats = ('{{street_prefix}} {{street_title}}')
 
     city_prefixes = ['місто', 'село', 'селище', 'хутір']
+
+    city_names = (
+        "Авдіївка",
+        "Алмазна",
+        "Алупка",
+        "Алушта",
+        "Алчевськ",
+        "Амвросіївка",
+        "Ананьїв",
+        "Андрушівка",
+        "Антрацит ",
+        "Апостолове",
+        "Армянськ",
+        "Арциз",
+        "Балаклія",
+        "Балта",
+        "Бар",
+        "Баранівка",
+        "Барвінкове",
+        "Батурин",
+        "Бахмач",
+        "Бахмут",
+        "Бахчисарай",
+        "Баштанка",
+        "Белз",
+        "Бердичів",
+        "Бердянськ",
+        "Берегове",
+        "Бережани",
+        "Березань ",
+        "Березівка",
+        "Березне",
+        "Берестечко",
+        "Берислав",
+        "Бершадь",
+        "Бібрка",
+        "Біла Церква",
+        "Білгород-Дністровський",
+        "Білицьке",
+        "Білогірськ",
+        "Білозерське",
+        "Білопілля",
+        "Біляївка",
+        "Благовіщенське",
+        "Бобринець",
+        "Бобровиця",
+        "Богодухів",
+        "Богуслав",
+        "Боково-Хрустальне",
+        "Болград",
+        "Болехів",
+        "Борзна",
+        "Борислав",
+        "Бориспіль",
+        "Борщів",
+        "Боярка",
+        "Бровари",
+        "Броди",
+        "Брянка",
+        "Бунге ",
+        "Буринь",
+        "Бурштин ",
+        "Буськ",
+        "Буча",
+        "Бучач",
+        "Валки ",
+        "Вараш",
+        "Василівка ",
+        "Васильків",
+        "Ватутіне",
+        "Вашківці",
+        "Великі Мости",
+        "Верхівцеве",
+        "Верхньодніпровськ",
+        "Вижниця",
+        "Вилкове",
+        "Винники",
+        "Виноградів",
+        "Вишгород",
+        "Вишневе ",
+        "Вільногірськ",
+        "Вільнянськ",
+        "Вінниця",
+        "Вовчанськ",
+        "Вознесенівка",
+        "Вознесенськ",
+        "Волноваха",
+        "Володимир-Волинський",
+        "Волочиськ",
+        "Ворожба",
+        "Вуглегірськ",
+        "Вугледар",
+        "Гадяч",
+        "Гайворон",
+        "Гайсин",
+        "Галич",
+        "Генічеськ",
+        "Географія Вільнянська",
+        "Герца",
+        "Гірник ",
+        "Гірське",
+        "Глиняни",
+        "Глобине",
+        "Глухів",
+        "Гнівань",
+        "Гола Пристань",
+        "Голубівка",
+        "Горішні Плавні",
+        "Горлівка",
+        "Городенка",
+        "Городище ",
+        "Городня",
+        "Городок",
+        "Горохів",
+        "Гребінка",
+        "Гуляйполе",
+        "Дебальцеве",
+        "Деражня",
+        "Дергачі",
+        "Джанкой",
+        "Дніпро ",
+        "Дніпрорудне",
+        "Добромиль",
+        "Добропілля",
+        "Довжанськ",
+        "Докучаєвськ",
+        "Долина ",
+        "Долинська",
+        "Донецьк",
+        "Дрогобич",
+        "Дружба ",
+        "Дружківка",
+        "Дубляни",
+        "Дубно",
+        "Дубровиця",
+        "Дунаївці",
+        "Енергодар",
+        "Євпаторія",
+        "Єнакієве",
+        "Жашків",
+        "Жданівка",
+        "Жидачів",
+        "Житомир",
+        "Жмеринка",
+        "Жовква",
+        "Жовті Води",
+        "Заводське",
+        "Залізне",
+        "Заліщики",
+        "Запоріжжя",
+        "Заставна",
+        "Збараж",
+        "Зборів",
+        "Звенигородка",
+        "Здолбунів",
+        "Зеленодольськ",
+        "Зимогір\'я",
+        "Зіньків",
+        "Зміїв",
+        "Знам\'янка",
+        "Золоте",
+        "Золотоноша",
+        "Золочів",
+        "Зоринськ",
+        "Зугрес",
+        "Івано-Франківськ",
+        "Ізмаїл",
+        "Ізюм",
+        "Ізяслав",
+        "Іллінці",
+        "Іловайськ",
+        "Інкерман",
+        "Ірміно",
+        "Ірпінь",
+        "Іршава",
+        "Ічня",
+        "Кагарлик",
+        "Кадіївка",
+        "Калинівка ",
+        "Калуш",
+        "Кальміуське",
+        "Кам\'янець-Подільський",
+        "Кам\'янка (Черкаська область)",
+        "Кам\'янка-Бузька",
+        "Кам\'янка-Дніпровська",
+        "Кам\'янське",
+        "Камінь-Каширський",
+        "Канів",
+        "Карлівка",
+        "Каховка",
+        "Керч",
+        "Київ",
+        "Кипуче",
+        "Ківерці",
+        "Кілія",
+        "Кіцмань",
+        "Кобеляки",
+        "Ковель",
+        "Кодима",
+        "Козятин",
+        "Коломия",
+        "Комарно",
+        "Конотоп",
+        "Копичинці",
+        "Корець",
+        "Коростень",
+        "Коростишів",
+        "Корсунь-Шевченківський",
+        "Корюківка",
+        "Косів",
+        "Костопіль",
+        "Костянтинівка",
+        "Краматорськ",
+        "Красилів",
+        "Красногорівка",
+        "Красноград",
+        "Красноперекопськ",
+        "Кременець",
+        "Кременчук",
+        "Кремінна",
+        "Кривий Ріг",
+        "Кролевець",
+        "Кропивницький",
+        "Куп\'янськ",
+        "Курахове",
+        "Ладижин",
+        "Ланівці",
+        "Лебедин",
+        "Лиман ",
+        "Липовець",
+        "Лисичанськ",
+        "Лозова ",
+        "Лохвиця",
+        "Лубни",
+        "Луганськ",
+        "Лутугине",
+        "Луцьк",
+        "Львів",
+        "Любомль",
+        "Люботин",
+        "Макіївка",
+        "Мала Виска",
+        "Малин",
+        "Мар\'їнка",
+        "Марганець ",
+        "Маріуполь",
+        "Мелітополь",
+        "Мена ",
+        "Мерефа",
+        "Миколаїв",
+        "Миколаївка ",
+        "Миргород",
+        "Мирноград",
+        "Миронівка",
+        "Міусинськ",
+        "Могилів-Подільський",
+        "Молодогвардійськ",
+        "Молочанськ",
+        "Монастириська",
+        "Монастирище",
+        "Моршин",
+        "Моспине",
+        "Мостиська",
+        "Мукачево",
+        "Надвірна",
+        "Немирів",
+        "Нетішин",
+        "Ніжин",
+        "Нікополь",
+        "Нова Каховка",
+        "Нова Одеса",
+        "Новгород-Сіверський",
+        "Нове Давидково",
+        "Новий Буг",
+        "Новий Калинів",
+        "Новий Розділ",
+        "Новоазовськ",
+        "Нововолинськ",
+        "Новоград-Волинський",
+        "Новогродівка",
+        "Новодністровськ",
+        "Новодружеськ",
+        "Новомиргород",
+        "Новомосковськ",
+        "Новоселиця",
+        "Новоукраїнка",
+        "Новояворівськ",
+        "Носівка",
+        "Обухів",
+        "Овруч",
+        "Одеса",
+        "Олевськ",
+        "Олександрівськ",
+        "Олександрія",
+        "Олешки",
+        "Оріхів",
+        "Остер ",
+        "Острог",
+        "Охтирка",
+        "Очаків",
+        "П\'ятихатки",
+        "Павлоград",
+        "Первомайськ",
+        "Первомайський ",
+        "Перевальськ",
+        "Перемишляни",
+        "Перечин",
+        "Перещепине",
+        "Переяслав",
+        "Першотравенськ",
+        "Петрово-Красносілля",
+        "Пирятин",
+        "Південне ",
+        "Підгайці",
+        "Підгородне",
+        "Погребище",
+        "Подільськ",
+        "Покров",
+        "Покровськ",
+        "Пологи ",
+        "Полонне",
+        "Полтава",
+        "Помічна",
+        "Попасна",
+        "Почаїв",
+        "Привілля",
+        "Прилуки",
+        "Приморськ (Україна)",
+        "Прип\'ять ",
+        "Пустомити",
+        "Путивль",
+        "Рава-Руська",
+        "Радехів",
+        "Радивилів",
+        "Радомишль",
+        "Рахів",
+        "Рені",
+        "Решетилівка",
+        "Ржищів",
+        "Рівне",
+        "Ровеньки",
+        "Рогатин",
+        "Родинське",
+        "Рожище",
+        "Роздільна",
+        "Ромни",
+        "Рубіжне",
+        "Рудки",
+        "Саки ",
+        "Самбір",
+        "Сарни",
+        "Свалява",
+        "Сватове",
+        "Світловодськ",
+        "Світлодарськ",
+        "Святогірськ",
+        "Севастополь",
+        "Селидове",
+        "Семенівка",
+        "Середина-Буда",
+        "Сєвєродонецьк",
+        "Синельникове",
+        "Сіверськ",
+        "Сімферополь",
+        "Скадовськ",
+        "Скалат",
+        "Сквира",
+        "Сколе",
+        "Славута",
+        "Славутич",
+        "Слов\'янськ",
+        "Сміла",
+        "Снігурівка",
+        "Сніжне",
+        "Сновськ",
+        "Снятин",
+        "Сокаль",
+        "Сокиряни",
+        "Соледар",
+        "Сорокине",
+        "Соснівка ",
+        "Старий Крим",
+        "Старий Самбір",
+        "Старобільськ",
+        "Старокостянтинів",
+        "Стебник",
+        "Сторожинець",
+        "Стрий",
+        "Судак ",
+        "Судова Вишня",
+        "Сулимівка (Слов\'янськ)",
+        "Суми",
+        "Суходільськ",
+        "Таврійськ",
+        "Тальне",
+        "Тараща",
+        "Татарбунари",
+        "Теплодар",
+        "Теребовля",
+        "Тернівка ",
+        "Тернопіль",
+        "Тетіїв",
+        "Тиврів",
+        "Тисмениця",
+        "Тлумач",
+        "Токмак",
+        "Торецьк",
+        "Тростянець",
+        "Трускавець",
+        "Тульчин",
+        "Турка",
+        "Тячів",
+        "Угнів",
+        "Ужгород",
+        "Узин",
+        "Українка ",
+        "Українськ",
+        "Умань",
+        "Устилуг",
+        "Фастів",
+        "Федорівка",
+        "Феодосія",
+        "Харків",
+        "Харцизьк",
+        "Херсон",
+        "Хирів",
+        "Хмельницький",
+        "Хмільник",
+        "Ходорів",
+        "Хорол ",
+        "Хоростків",
+        "Хотин",
+        "Хрестівка",
+        "Христинівка",
+        "Хрустальний",
+        "Хуст",
+        "Часів Яр",
+        "Червоноград",
+        "Червоносів",
+        "Черкаси",
+        "Чернівці",
+        "Чернігів",
+        "Чигирин",
+        "Чистякове",
+        "Чоп",
+        "Чорнобиль",
+        "Чорноморськ",
+        "Чортків",
+        "Чугуїв",
+        "Чуднів",
+        "Шаргород",
+        "Шахтарськ",
+        "Шепетівка",
+        "Шостка",
+        "Шпола",
+        "Шумськ",
+        "Щастя ",
+        "Щолкіне",
+        "Южне",
+        "Южноукраїнськ",
+        "Яворів",
+        "Яготин",
+        "Ялта",
+        "Ямпіль",
+        "Яремче",
+        "Ясинувата",
+    )
+
+    region_names = (
+        "Автономна Республіка Крим",
+        "Вінницька область",
+        "Волинська область",
+        "Дніпропетровська область",
+        "Донецька область",
+        "Житомирська область",
+        "Закарпатська область",
+        "Запорізька область",
+        "Івано-Франківська область",
+        "Київська область",
+        "Кіровоградська область",
+        "Луганська область",
+        "Львівська область",
+        "Миколаївська область",
+        "Одеська область",
+        "Полтавська область",
+        "Рівненська область",
+        "Сумська область",
+        "Тернопільська область",
+        "Харківська область",
+        "Херсонська область",
+        "Хмельницька область",
+        "Черкаська область",
+        "Чернівецька область",
+        "Чернігівська область",
+    )
+
     countries = [
         'Австралія', 'Австрія', 'Азербайджан', 'Албанія', 'Алжир', 'Ангола',
         'Андорра', 'Антигуа і Барбуда', 'Аргентина', 'Афганістан',
@@ -50,196 +548,1519 @@ class Provider(AddressProvider):
         'Чорногорія', 'Швейцарія', 'Швеція', 'Шрі-Ланка', 'Ямайка', 'Японія',
     ]
     street_prefixes = [
-        'вулиця', 'набережна',
+        'вулиця', 'набережна', 'провулок', 'площа', 'проспект', 'узвіз', 'сквер', 'парк', 'шосе',
     ]
-    street_suffixes = ['узвіз']
 
     # https://data.gov.ua/en/dataset/__-120/resource/76e2684f-e75c-45e5-a0b2-6d5596ab47f8
     # https://opendata.drohobych-rada.gov.ua/sites/default/files/%D0%90%D0%B4%D1%80%D0%B5%D1%81%D0%B8%20%D0%94%D1%80%D0%BE%D0%B3%D0%BE%D0%B1%D0%B8%D1%87.xlsx
     street_titles = [
-        '22 Січня',
-        'Адама Міцкевича',
+        '1-ша Лінія 4-ї ст. Люстдорфської дороги',
+        '1-ша Лінія 6-й ст. Люстдорфської дороги',
+        '1-ша Лінія Марії Демченко',
+        '1-ша Суворовська',
+        '1-й Академічний тупик',
+        '10-та Лінія 6-й ст. Люстдорфської дороги',
+        '10-та Лінія Марії Демченко',
+        '10-та Суворовська',
+        '11-ша Лінія 6-й ст. Люстдорфської дороги',
+        '11-та Лінія Марії Демченко',
+        '11-та ст. Великого Фонтану пляж',
+        '11-та Суворовська',
+        '12-та Лінія 6-й ст. Люстдорфської дороги',
+        '12-та ст. Великого Фонтану пляж',
+        '12-та Суворовська',
+        '13-та Лінія 6-й ст. Люстдорфської дороги',
+        '13-та ст. Великого Фонтану пляж',
+        '13-та Суворовська',
+        '14-та Лінія 6-й ст. Люстдорфської дороги',
+        '14-та ст. Великого Фонтану пляж',
+        '14-та Суворовська',
+        '15-та Лінія 6-й ст. Люстдорфської дороги',
+        '15-та ст. Великого Фонтану пляж',
+        '15-та Суворовська',
+        '16-та Лінія 6-й ст. Люстдорфської дороги',
+        '17-та Лінія 6-й ст. Люстдорфської дороги',
+        '18-та Лінія 6-й ст. Люстдорфської дороги',
+        '19-та Лінія',
+        '19-й км Старокиївської дороги',
+        '2-га Лінія 4-ї ст. Люстдорфської дороги',
+        '2-га Лінія 6-й ст. Люстдорфської дороги',
+        '2-га Лінія Марії Демченко',
+        '2-га Суворовська',
+        '2-й Академічний тупик',
+        '21-й км Старокиївської дороги',
+        '3-тя Лінія 4-ї ст. Люстдорфської дороги',
+        '3-тя Лінія 6-й ст. Люстдорфської дороги',
+        '3-тя Лінія Марії Демченко',
+        '3-тя Суворовська',
+        '4-та Лінія 6-й ст. Люстдорфської дороги',
+        '4-та Лінія Марії Демченко',
+        '4-та Суворовська',
+        '40-річчя оборони Одеси',
+        '411-ї батареї',
+        '5-та Лінія 6-й ст. Люстдорфської дороги',
+        '5-та Лінія Марії Демченко',
+        '5-та Суворовська',
+        '6-та Лінія 6-й ст. Люстдорфської дороги',
+        '6-та Лінія Марії Демченко',
+        '6-та Суворовська',
+        '7-ма Лінія 6-й ст. Люстдорфської дороги',
+        '7-ма Лінія Дачі Ковалевського',
+        '7-ма Суворовська',
+        '8-ма Лінія 6-й ст. Люстдорфської дороги',
+        '8-ма Лінія Дачі Ковалевського',
+        '8-ма Суворовська',
+        '9-та Лінія Дачі Ковалевського',
+        '9-та Суворовська',
+        'Абрикосова',
+        'Абрикосовий',
+        'Авангардна',
+        'Авдєєва-Чорноморського',
+        'Авіаторів',
+        'Авіаційна',
+        'Аграрна',
+        'Агрономічна',
+        'Агрономічний',
+        'Адміральський',
+        'Аеродромна',
+        'Аеродромний 1-й',
+        'Аеродромний 2-й',
+        'Аеродромний 3-й',
+        'Аеропортівська',
+        'Аеропортівський 1-й',
+        'Аеропортівський 2-й',
+        'Аеропортівський 3-й',
+        'Аеропортівський 4-й',
+        'Аеропортівський 5-й',
+        'Аеропортівський 6-й',
+        'Азербайджан',
+        'Азовський',
+        'Академіка Богатського',
+        'Академіка Вавилова',
+        'Академіка Векслера',
+        'Академіка Вільямса',
+        'Академіка Вільямса',
+        'Академіка Вільямса',
+        'Академіка Воробйова',
+        'Академіка Гаркавого',
+        'Академіка Глушка',
+        'Академіка Заболотного',
+        'Академіка Корольова',
+        'Академіка Панкратової',
         'Академіка Сахарова',
-        'Андрея Шептицького',
-        'Андрія Мельника',
-        'Андрія Чайковського',
-        'Антона Чехова',
-        'Архипа Люльки',
-        'Байди',
-        'Богдана Лепкого',
+        'Академіка Філатова',
+        'Академіка Ясиновського',
+        'Академічна',
+        'Академічний',
+        'Акордна',
+        'Алмазна',
+        'Альпіністів',
+        'Амбулаторна',
+        'Амбулаторний',
+        'Амбулаторний 1-й',
+        'Амбулаторний 2-й',
+        'Амундсена, 1-й',
+        'Амундсена, 2-й',
+        'Амундсена, 3-й',
+        'Амурська',
+        'Амурський 1-й',
+        'Амурський 2-й',
+        'Амурський 3-й',
+        'Амурський 4-й',
+        'Ананьївська',
+        'Ангарська',
+        'Андреєвського',
+        'Андрійця Олега',
+        'Андросовський',
+        'Анни Ахматової',
+        'Аполона Скальковського',
+        'Аптекарський',
+        'Аркадіївський',
+        'Аркадійська',
+        'Аркаса Миколи',
+        'Армійська',
+        'Артезіанська',
+        'Артилерійська',
+        'Артилерійський 2-й',
+        'Архітекторська',
+        'Архітектурна',
+        'Асєєва Юрія',
+        'Асташкіна',
+        'Асташкіна',
+        'Астрономічна',
+        'Астрономічний',
+        'Ашгабатська',
+        'Бабеля',
+        'Багрицького',
+        'Базарна',
+        'Байдарочний',
+        'Байкал тупик',
+        'Байкальська',
+        'Балківська',
+        'Балтська дорога',
+        'Балтський 1-й',
+        'Балтський 2-й',
+        'Балтський 3-й',
+        'Балтський 4-й',
+        'Балтський 5-й',
+        'Балтський 6-й',
+        'Балтський 7-й',
+        'Балтський 8-й',
+        'Банний',
+        'Баркасний',
+        'Басейна',
+        'Басейний 1-й',
+        'Басейний 2-й',
+        'Басейний 3-й',
+        'Басейний 4-й',
+        'Басейний 6-й',
+        'Бахчева',
+        'Баштанна',
+        'Безіменний',
+        'Берегова',
+        'Березова',
+        'Березовий',
+        'Бернардацці',
+        'Бессарабська',
+        'Бехтерєва',
+        'Бібліотечна',
+        'Білоруська',
+        'Більшовицький',
+        'Біляївська',
+        'Бірюкова',
+        'Бісквітний',
+        'Бітумна',
+        'Благовидової',
         'Богдана Хмельницького',
-        'Бойківська',
-        'Бориса Грінченка',
-        'Бориславська',
-        'Братів Кицилів',
-        'Броніслава Козловського',
-        'Бруно Шульца',
+        'Богуна',
+        'Бодаревського',
+        'Бокаріуса Миколи',
+        'Болгарська',
+        'Болградська',
+        'Бориса Дерев\'янка',
+        'Бориса Літвака',
+        'Бородінська',
+        'Ботанічний',
+        'Братів Поджіо',
+        'Братська',
+        'Брестська',
+        'Бреуса',
+        'Бригадна',
+        'Бугаївська',
         'Будівельна',
-        'Буковинська',
-        "В'ячеслава Чорновола",
-        'Василя Барського',
+        'Будівельний',
+        'Бузкова',
+        'Бузковий',
+        'Бузковий 1-й',
+        'Бузковий 2-й',
+        'Буніна',
+        'Бучми',
+        'В’ячеслава Чорновола',
+        'Валіховський',
+        'Ванний',
+        'Ванцетті',
+        'Ванцетті',
+        'Вапняна',
+        'Вапняне селище',
+        'Вапняний 1-й',
+        'Вапняний 2-й',
+        'Вапняний 3-й',
+        'Варненська',
+        'Василя Кандинського',
+        'Василя Кандинського 1-й',
+        'Василя Кандинського 2-й',
+        'Василя Кандинського 3-й',
+        'Василя Кандинського 4-й',
+        'Василя Кандинського 5-й',
         'Василя Симоненка',
         'Василя Стуса',
-        'Вербова',
+        'Васнецова',
+        'Васнецова',
+        'Ватманський',
+        'Велика Арнаутська',
+        'Велика Садова',
+        'Венгера',
+        'Верещагіна',
+        'Вернидуба',
+        'Верстатобудівна',
+        'Вертелецького',
+        'Верф’яний',
+        'Верхня',
+        'Вершинна',
+        'Весела',
+        'Весняна',
+        'Ветеранів праці',
+        'Вєтрова',
+        'Вєтрогонова',
+        'Виїзна',
+        'Виноградна',
+        'Виноградна 1-ша',
+        'Виноградна 2-га',
+        'Виноградна 3-тя',
+        'Виноградний',
+        'Виноградний тупик',
+        'Висока',
+        'Високий',
+        'Висоцького',
+        'Виставочна',
+        'Вишнева',
+        'Вишневий',
+        'Відважних',
+        'Військовий узвіз',
+        'Вільгельма Габсбурга',
+        'Віри Інбер',
+        'Віри Фігнер',
+        'Віри Холодної',
+        'Вірського',
+        'Вітчизняна',
+        'Віцеадмірала Азарова',
+        'Віцеадмірала Жукова',
+        'Водний',
+        'Водопровідна',
+        'Водопровідний 1-й',
+        'Водопровідний 2-й',
+        'Водопровідний 3-й',
+        'Вознесенський',
         'Вокзальна',
-        'Володимира Івасюка',
-        'Володимира Бірчака',
-        'Володимира Великого',
-        'Володимира Вернадського',
-        'Володимира Винниченка',
-        'Володимира Гнатюка',
-        'Володимира Чапельського',
-        'Володимира Чапельського',
-        'Гайдамацька',
+        'Вокзальний',
+        'Волзький',
+        'Волна тупик',
+        'Волниста',
+        'Володимира Вінниченка',
+        'Володимира Хавкіна',
+        'Володі Дубініна',
+        'Волоколамська',
+        'Воронезька',
+        'Воронцовський',
+        'Восьмого березня',
+        'Восьмого березня 1-й',
+        'Восьмого березня 2-й',
+        'Восьмого березня 3-й',
+        'Восьмого березня 4-й',
+        'Восьмого березня 5-й',
+        'Восьмого березня 6-й',
+        'Восьмого березня 7-й',
+        'Восьмого березня 8-й',
+        'Восьмого березня 9-й',
+        'Восьмого Березня Лінія 1-ша',
+        'Восьмого Березня Лінія 2-га',
+        'Восьмого Березня Лінія 3-тя',
+        'Восьмого Березня Лінія 4-та',
+        'Восьмого Березня Лінія 5-та',
+        'Восьмого березня узвіз',
+        'Восьмого березня узвіз',
+        'Вузький',
+        'Вчительська',
+        'Вчительської, 2-й',
+        'Гаванна',
+        'Гагаріна',
+        'Гагаріна',
+        'Гагаріна',
+        'Гагарінське плато',
+        'Газова',
+        'Газовий',
+        'Гаріна',
+        'Гаршина',
+        'Гаршина',
+        'Гастелло',
+        'Гвардійська',
+        'Гвоздична',
+        'Гвоздичний',
+        'Гена Іоганна',
+        'Генуезька',
+        'Геологічна',
+        'Георгія Гамова',
+        'Геранієва',
         'Героїв Крут',
-        'Глінки',
-        'Гончарська',
-        'Горішня Брама',
-        'Григорія Коссака',
-        'Григорія Сковороди',
-        'Грюнвальдська',
-        'Данила Галицького',
-        'Данила Нечая',
-        'Дмитра Бортнянського',
-        'Дмитра Бурка',
-        'Дмитра Вітовського',
-        'Дмитра Грицая',
-        'Дмитра Котка',
+        'Героїв Небесної Сотні',
+        'Героїв оборони Одеси',
+        'Героїв прикордонників',
+        'Герцена',
+        'Гетьманський',
+        'Гілельса',
+        'Гімназична',
+        'Гладкова',
+        'Глазунова',
+        'Глазунова 1-й',
+        'Глазунова 2-й',
+        'Глиняна',
+        'Глухий міст',
+        'Гоголя',
+        'Головківська',
+        'Головна',
+        'Гонтаренко',
+        'Горбатий міст',
+        'Горбиста',
+        'Горизонтальна',
+        'Горіхова',
+        'Городня',
+        'Госпітальний',
+        'Градоначальницька',
+        'Гранатна',
+        'Гранатний',
+        'Грецька',
+        'Грецька',
+        'Грецький',
+        'Грибоєдова',
+        'Грузинська',
+        'Грузовий',
+        'Давида Ойстраха',
+        'Далекосхідна',
+        'Дальницька',
+        'Дальницьке',
+        'Дальній',
+        'Дальня',
+        'Данила Крижанівського',
+        'Данькевича',
+        'Дача Ковалевського',
+        'Дачна',
+        'Дачний',
+        'Дачний 1-й',
+        'Дачний 2-й',
+        'Дворянська',
+        'Дев’ята',
+        'Деволанівська',
+        'Деволанівський узвіз',
+        'Дежньова',
+        'Декабристів',
+        'Дельфін',
+        'Дем’янова',
+        'Демократична',
+        'Депутатський',
+        'Деревообробна',
+        'Деревообробний 1-й',
+        'Деревообробний 2-й',
+        'Деревообробний 3-й',
+        'Деревообробний 4-й',
+        'Деревообробний 5-й',
+        'Державіна',
+        'Державіна',
+        'Дерибасівська',
+        'Десантний',
+        'Десята',
+        'Десятого квітня',
+        'Десятого квітня',
+        'Джерельна',
+        'Джутовий',
+        'Дзвінка',
+        'Дігтярна',
+        'Дідріхсона',
+        'Діхтієвського Віктора',
+        'Дмитрія Донського',
+        'Дмитрія Донського',
+        'Дніпровська',
+        'Дніпропетровська дорога',
         'Дністровська',
-        'Євгена Гребінки',
-        'Євгена Коновальця',
-        'Захарії Копистенського',
-        'Зварицька',
+        'Добровольського',
+        'Довга',
+        'Довженка',
+        'Докова',
+        'Долинська',
+        'Донецька',
+        'Донцова Дмитра',
+        'Дорбуду',
+        'Дорожня',
+        'Достоєвського',
+        'Достоєвського',
+        'Друга',
+        'Дружний',
+        'Дубова',
+        'Дубовий гай',
+        'Дукова',
+        'Думська',
+        'Дунаєва',
+        'Дунаєвського',
+        'Дунаєвського 1-й',
+        'Дунаєвського 2-й',
+        'Дунаєвського 3-й',
+        'Дунайська',
+        'Дюківська',
+        'Дюківський сад',
+        'Економічний',
+        'Елеваторна',
+        'Естафетна',
+        'Естонська',
+        'Естонський',
+        'Єврейська',
+        'Єлисаветградський',
+        'Єліна',
+        'Єлісаветинська',
+        'Єнісейська',
+        'Єрмака',
+        'Єфімова',
+        'Жаботинського',
+        'Жасминна',
+        'Жевахова',
+        'Желябова',
+        'Житкова',
+        'Житомирська',
+        'Житомирський 3-й',
+        'Житомирський 4-й',
+        'Жоліо-Кюрі',
+        'Жолкова Бориса',
+        'Жуковського',
+        'Заводська',
+        'Заводська 1-ша',
+        'Заводська 2-га',
+        'Заводська 3-тя',
+        'Заводська 4-та',
+        'Заводська 5-та',
+        'Задніпровського',
+        'Закарпатська',
+        'Залізнична',
+        'Залізничний 3-й',
+        'Заньковецької',
+        'Запорізька',
+        'Зарічна',
+        'Західний 1-й',
+        'Західний 2-й',
+        'Західний 3-й',
+        'Західний 4-й',
         'Зелена',
-        'Івана Вагилевича',
-        'Івана Вендзиловича',
-        'Івана Верхратського',
-        'Івана Карпенка-Карого',
-        'Івана Котляревського',
-        'Івана Мазепи',
-        'Івана Макуха',
-        'Івана Пулюя',
-        'Івана Підкови',
-        'Івана Сірка',
-        'Івана Труша',
+        'Зелена балка',
+        'Зелена гірка',
+        'Зелений',
+        'Зернова',
+        'Злакова',
+        'Змієнка Всеволода',
+        'Зої Космодем’янської',
+        'Золотий берег',
+        'Зоопаркова',
+        'Зоринська',
+        'Зоряна',
+        'Івана Вазова',
+        'Івана Микитенка',
         'Івана Франка',
-        'Іллі Рєпіна',
-        'Індустріальна',
-        'Ірини Вільде',
-        'Йосипа Левицького',
-        'Йосипа Сліпого',
-        'Йосифа Стадника',
+        'Івана Франка',
+        'Іванівська',
+        'Іванівський переїзд',
+        'Іванова',
+        'Іванова 1-й',
+        'Іванова 2-й',
+        'Іванова Ігоря',
+        'Івасюка Володимира',
+        'Івахненка Петра',
+        'Ільфа і Петрова',
+        'ім. С.Ю. Вітте',
+        'ім. К.Г. Паустовського',
+        'Інглезі',
+        'Індійська',
+        'Інтернаціональний',
+        'Іподромний',
+        'Іспанська',
+        'Іспанський',
+        'Історія Футболу',
+        'Італійський',
+        'Іцхака Рабіна',
+        'Йосипа Тимченка',
+        'Кавказька',
+        'Кавказький',
+        'Кавунова',
+        'Казанська',
+        'Казковий',
+        'Калинова',
+        'Калнишевського Петра',
+        'Каманіна',
+        'Каманіна',
+        'Камишова',
+        'Канатна',
+        'Канатний',
+        'Капітана Гаврікова',
+        'Капітана Кузнецова',
+        'Кар’єрна',
+        'Карантинна',
+        'Карантинний узвіз',
+        'Каретний',
+        'Каркашадзе',
         'Карпатська',
-        'Кирило - Мефодіївська',
-        'Київська',
-        'Княгині Ольги',
-        'Ковальська',
-        'Козацька',
-        'Коминярська',
+        'Картамишевська',
+        'Картамишевський',
+        'Касима Юрія',
+        'Каспійський',
+        'Катаєва',
+        'Катерининська',
+        'Катерининська',
+        'Каховський',
+        'Качалова',
+        'Каштанова',
+        'Квіткова',
+        'Квітковий',
+        'Квітнева',
+        'Кедровий',
+        'Керченська',
+        'Керченський 1-й',
+        'Керченський 2-й',
+        'Керченський 3-й',
+        'Кибальчича',
+        'Київське',
+        'Килимовий',
+        'Кипарисний 1-й',
+        'Кипарисний 2-й',
+        'Кипарисний 3-й',
+        'Китобійна',
+        'Китобійний 1-й',
+        'Китобійний 2-й',
+        'Кифоренка Бориса',
+        'Кишинівська',
+        'Кільовий',
+        'Кільцева',
+        'Кінна',
+        'Кісельова Ігоря',
+        'Кладовищенська',
+        'Кладовищний',
+        'Кленова',
+        'Клинова',
+        'Ключовий 1-й',
+        'Ключовий 2-й',
+        'Книжковий',
+        'Князівська',
+        'Князівський',
+        'Коблевська',
+        'Ковалевського',
+        'Ковалевського узвіз',
+        'Ковиловий',
+        'Колективний',
+        'Колекційна',
+        'Колонічна',
+        'Колонтаївська',
+        'Комітетська',
+        'Компасний',
+        'Композитора Глинки',
+        'Композитора Глинки',
+        'Композитора Ніщинського',
+        'Кондрашина',
+        'Кондренка',
+        'Конструкторський',
+        'Контрадмірала Луніна',
+        'Кордонна',
+        'Кордонний',
+        'Корнюшина',
+        'Короленка',
+        'Короткий',
+        'Косвена',
+        'Косий',
+        'Космонавта Комарова',
+        'Космонавтів',
+        'Косовська',
+        'Косовський',
+        'Костанді',
+        'Костанді 2-й',
+        'Костанді 3-й',
+        'Кострова',
+        'Косяченка Олексія',
+        'Котляревського',
+        'Коцебу міст',
+        'Коцюбинського',
+        'Кощового отамана',
+        'Крайня',
+        'Красива',
+        'Красна',
+        'Красний',
+        'Красних Зорь',
+        'Краснова',
+        'Красносільська',
+        'Краснослобідська',
+        'Краснослобідський',
+        'Кредитний',
+        'Кренкеля',
+        'Кривобалківська',
+        'Крижанівський',
+        'Крилова',
+        'Кримська',
+        'Кримський',
+        'Кристаловського',
+        'Кришталева',
+        'Кришталевий',
+        'Кропивницького',
+        'Кругова',
+        'Круговий',
+        'Крутоярська',
         'Крушельницької',
-        'Купальська',
-        'Лева Толстого',
-        'Лемківська',
-        'Леся Курбаса',
-        'Леся Мартовича',
+        'Кузнечна',
+        'Куликове поле',
+        'Куликовський 2-й',
+        'Куниці',
+        'Купріна',
+        'Курганська',
+        'Курортний',
+        'Курортний 6-й',
+        'Курська',
+        'Кустанайська',
+        'Кустанайський 2-й',
+        'Кутова',
+        'Кутузова',
+        'Куяльницький міст',
+        'Лавкова',
+        'Лазурний 1-й',
+        'Лазурний 2-й',
+        'Лазурний 3-й',
+        'Лазурний 4-й',
+        'Лазурний 5-й',
+        'Лазурний 6-й',
+        'Ламаний',
+        'Ланжерон',
+        'Ланжеронівська',
+        'Ланжеронівський узвіз',
+        'Латвійський узвіз',
+        'Левадна',
+        'Леваневського',
+        'Леваневського',
+        'Леваневського',
+        'Леваневського тупик',
+        'Левітана',
+        'Левкоєва',
+        'Лейтенанта Шмідта',
+        'Леонова',
+        'Леонтовича',
+        'Лермонтовський',
+        'Лермонтовський 2-й',
+        'Лесі Українки',
         'Лесі Українки',
+        'Леха Качинського',
+        'Лиманна',
+        'Лиманний',
+        'Лиманчик 2-й Лінія 1-ша',
+        'Лиманчик 2-й Лінія 11-та',
+        'Лиманчик 2-й Лінія 2-га',
+        'Лиманчик 2-й Лінія 3-тя',
+        'Лиманчик 2-й Лінія 4-та',
+        'Лиманчик 2-й Лінія 5-та',
+        'Лиманчик 2-й Лінія 8-ма',
+        'Лиманчик 2-й Лінія 9-та',
+        'Лип Івана та Юрія',
+        'Липнева',
+        'Листяна',
+        'Листяний',
+        'Литовська',
+        'Ліверпульський',
+        'Лідерсівський',
+        'Лізи Чайкіної',
+        'Лінійна',
+        'Лінійний',
+        'Лїнія 1-ша',
+        'Лінія 22-га',
+        'Лінія 23-тя',
+        'Лінія 24-та',
+        'Лінія 25-та',
+        'Лінія 26-та',
+        'Лінія 27-ма',
+        'Лінія 28-ма',
+        'Лінія 29-та',
+        'Лінія 30-та',
+        'Лінія 31-ша',
+        'Лінія 32-га',
+        'Лінія 33-тя',
+        'Лінія 35-та',
+        'Лінія 36-та',
+        'Лінія 37-ма',
+        'Лінія 38-ма',
+        'Лінія 39-та',
+        'Лінія 40-ва',
+        'Лінія 41-ша',
+        'Лінія 42-га',
+        'Лінія 43-тя',
+        'Лінія 44-та',
+        'Лінія 45-та',
+        'Лінія 46-та',
+        'Лінія 47-ма',
+        'Лінія 48-ма',
+        'Лінія 49-та',
+        'Лінія 50-та',
+        'Лінія 51-ша',
+        'Лінія 52-га',
+        'Лінія 53-тя',
+        'Лінія 54-та',
+        'Лінія 55-та',
+        'Літакова',
+        'Літературна',
+        'Літній',
+        'Літня',
+        'Лобачевського',
+        'Лодочний',
+        'Локальна',
+        'Локомотивна',
+        'Локомотивний 1-й',
+        'Локомотивний 2-й',
+        'Локомотивний 3-й',
+        'Локомотивний 4-й',
+        'Ломоносова',
+        'Луганська',
+        'Лугова',
+        'Лузанівка',
+        'Лузанівка',
+        'Лузанівська',
+        'Лузанівський',
+        'Лузанівський 1-й',
+        'Лузанівський 2-й',
+        'Лунний',
+        'Луценка Івана',
+        'Луцька',
+        'Лучиста',
+        'Льва Симиренка',
+        'Льва Толстого',
+        'Льва Толстого',
         'Львівська',
-        'Людвіга ван Бетховена',
-        'Лішнянська',
-        'Максима Залізняка',
-        'Максима Кривоноса',
-        'Максима Рильського',
-        'Малий Ринок',
-        'Марка Кропивницького',
-        'Маркіяна Шашкевича',
-        'Марії Заньковецької',
+        'Львівський',
+        'Любашівський',
+        'Людмили Гінзбург',
+        'Люстдорфська дорога',
+        'Люстдорфський',
+        'Лютеранський',
+        'Лютнева',
+        'Лютневий 1-й',
+        'Лютневий 2-й',
+        'Лядова',
+        'Ляпідевського',
+        'Ляпунова',
+        'М’ясоєдовська',
+        'Магістральна',
+        'Магнітогорська',
+        'Магнітогорський',
+        'Магнітогорський 2-й',
+        'Магнітогорський 3-й',
+        'Мазараті',
+        'Мазепи Івана',
+        'Майстерний',
+        'Макаренка',
+        'Макарова',
+        'Макова',
+        'Маковий',
+        'Мала',
+        'Мала Арнаутська',
+        'Мала Садова',
+        'Маланова',
+        'Малиновський',
+        'Маловського',
+        'Манежна',
+        'Манежний',
+        'Маразліївська',
+        'Марата',
+        'Марата 1-й',
+        'Марата 2-й',
+        'Маринеско узвіз',
+        'Мариністів',
+        'Марії Демченко',
+        'Марії Демченко',
+        'Марії Демченко 2-й',
         'Маріїнська',
-        'Механізаторів',
+        'Марсельська',
+        'Маршала Бабаджаняна',
+        'Маршала Говорова',
+        'Маршала Малиновського',
+        'Маршрутна',
+        'Матеріальний 1-й',
+        'Матроська Слобідка',
+        'Матроська Слобідка',
+        'Матроський узвіз',
+        'Матюшенка',
+        'Махачкалинська',
+        'Мацієвської',
+        'Мацієвської узвіз',
+        'Машинобудівний',
+        'Маяковського',
+        'Маячний',
+        'Мелітопольська',
+        'Мельницька',
+        'Металістів',
+        'Метрополітенівський',
+        'Мечникова',
+        'Мечникова',
+        'Мигдальна',
+        'Миколаївська дорога',
+        'Миколаївський 1-й',
+        'Миколи Бажана',
+        'Миколи Боровського',
         'Миколи Вороного',
-        'Миколи Гоголя',
-        'Миколи Леонтовича',
-        'Миколи Лисенка',
-        'Миколи Некрасова',
-        'Мирона Тарнавського',
-        'Мирослава Тураша',
-        'Михайла Вербицького',
+        'Миколи Гефта',
+        'Миколи Гумільова',
+        'Миколи Огренича',
+        'Миколи Плигуна',
+        'Мирна',
+        'Митна',
+        'Митракова',
+        'Михайла Божія',
         'Михайла Грушевського',
-        'Михайла Зубрицького',
-        'Михайла Коцюбинського',
-        'Михайла Лермонтова',
-        'Михайла Остроградського',
-        'Михайла Павлика',
-        'Михайла Старицького',
-        'Млинарська',
-        'Модеста Менцинського',
-        'Музична',
+        'Михайла Жванецького',
+        'Михайлівська',
+        'Михайлівська',
+        'Мінська',
+        'Місячна',
+        'Місячна',
+        'Міхновського Миколи',
+        'Міцкевича',
+        'Мічманський 1-й',
+        'Мічманський 2-й',
+        'Мічуріна',
+        'Мічуріна',
+        'Мічуріна',
+        'Могилівська',
+        'Молоді',
+        'Молодіжна',
+        'Молодіжна',
+        'Молодогвардійська',
+        'Молокова',
+        'Монастирський',
+        'Монгольська',
+        'Морехідна',
+        'Морехідний',
+        'Морська',
+        'Морський',
+        'Морський 2-й',
+        'Москвіна',
+        'Москеті',
+        'Мостовий',
+        'Моторна',
+        'Моторний 1-й',
+        'Моторний 2-й',
+        'Моторний 3-й',
+        'Мукачівський',
+        'Мусіна',
+        'Набережна',
+        'Навігаційний',
+        'Надіїі',
+        'Наклонна',
+        'Наливна',
         'Нафтовиків',
+        'Нафтовиків',
+        'Нафтовиків 1-й',
+        'Нафтовиків 2-й',
+        'Нафтовиків 3-й',
+        'Нахімова',
+        'Наявний 1-й',
+        'Наявний 2-й',
+        'Наявний 3-й',
+        'Наявний 4-й',
+        'Наявний 5-й',
+        'Наявний 6-й',
+        'Наявний 7-й',
+        'Небесної Сотні',
+        'Недєліна',
+        'Нежданової',
+        'Нежданової',
+        'Незалежності',
+        'Некрасова',
+        'Немировича-Данченка',
+        'Неплія',
+        'Нерубайська',
+        'Нескучна',
+        'Нечипуренка',
+        'Ніжинська',
+        'Нікітіна',
+        'Нова',
         'Нова',
+        'Нова',
+        'Новаторів',
+        'Новгородська',
+        'Новгородський',
+        'Новгородський 2-й',
+        'Новий',
+        'Новиков міст',
+        'Новикова',
+        'Новікова 2-га',
+        'Новобазарний',
+        'Новоберегова',
+        'Новомосковська дорога',
+        'Новоселів',
+        'Новоселів',
+        'Новосельского',
+        'Новоукраїнський',
+        'Новощіпний ряд',
+        'Об\'їзна дорога',
+        'Обільна',
+        'Обільний 1-й',
+        'Обільний 2-й',
+        'Оборони Ленінграду',
+        'Обривиста',
+        'Обсерваторний',
+        'Овідіопольська',
+        'Овідіопольська дорога',
+        'Овідіопольська дуга',
+        'Овідіопольський',
+        'Одарія',
+        'Одеса-Головна',
+        'Одеська',
+        'Одеський',
         'Озерна',
-        'Олега Ольжича',
-        'Олександра Кониського',
-        'Олександра Пушкіна',
-        'Олекси Довбуша',
-        'Олексндра Довженка',
-        'Олени Теліги',
-        'Олеся Гончара',
-        'Опришківська',
-        'Осипа Турянського',
+        'Окружна',
+        'Олександра Блока',
+        'Олександра Вронського',
+        'Олександра Кутузакія',
+        'Олександра Матросова',
+        'Олександра Невського',
+        'Олександра Невського 1-й',
+        'Олександра Невського 2-й',
+        'Олександра Невського 3-й',
+        'Олександра Невського 4-й',
+        'Олександра Невського 5-й',
+        'Олександра Стурдзи',
+        'Олександра Тимошенка',
+        'Олександрівський',
+        'Олексіївська',
+        'Ольгіївська',
+        'Ольгіївський узвіз',
+        'Омська',
+        'Онезька',
+        'Онілової',
+        'Оранжерейний',
+        'Орликова',
+        'Орловська',
+        'Орловський',
+        'Осипова',
+        'Осіння',
         'Остапа Вишні',
-        'Остапа Нижанківського',
-        'Павла Грабовського',
-        'Павла Полуботка',
+        'Отамана Головатого',
+        'Отамана Чепіги',
+        'Отрада',
+        'Отрадна',
+        'Офіцерська',
+        'Офіцерський 1-й',
+        'Офіцерський 2-й',
+        'П\'ята',
+        'Пiвденний',
+        'Павла Кравцова',
+        'Павла Шклярука',
+        'Павлова',
+        'Павлодарська',
+        'Палія Семена',
+        'Палубна',
+        'Палубний',
         'Панаса Мирного',
+        'Пантелеймонівська',
+        'Панченка',
+        'Парашутний',
         'Паркова',
-        'Петра Дорошенка',
-        'Петра Сагайдачного',
-        'Пилипа Орлика',
-        'Пластунів',
-        'Прорізна',
+        'Парковий',
+        'Партизанська',
+        'Партизанської Слави',
+        'Парусна',
+        'Пассіонарії',
+        'Пастера',
+        'Патріотична',
+        'Паустовського',
+        'Педагогічна',
+        'Педагогічний',
+        'Пейзажна',
+        'Перемоги',
+        'Перемоги',
+        'Перепечка',
+        'Пересипський міст',
+        'Пересипська 1-ша',
+        'Пересипська 10-та',
+        'Пересипська 2-га',
+        'Пересипська 3-тя',
+        'Пересипська 4-та',
+        'Пересипська 5-та',
+        'Пересипська 6-та',
+        'Пересипська 7-ма',
+        'Пересипська 8-ма',
+        'Пересипська 9-та',
+        'Пересипський 1-й',
+        'Пересипський 2-й',
+        'Пересипський узвіз',
+        'Перлинна',
+        'Перша',
+        'Перший Кришталевий',
+        'Першотравневий 1-й',
+        'Першотравневий 2-й',
+        'Першотравневий 3-й',
+        'Пестеля',
+        'Пестеля',
+        'Петра Лещенка',
+        'Петрашевського',
+        'Пироговська',
+        'Пироговський',
+        'Писарева',
         'Південна',
-        'Раневицька',
-        'Рихтицька',
-        'Рівна',
+        'Південна дорога',
+        'Південно-Санаторний',
+        'Північна',
+        'Північний',
+        'Підйомний',
+        'Пілотна',
+        'Пісочна',
+        'Пісочний',
+        'Пішонівська',
+        'Планетна',
+        'Платанова',
+        'Плієва',
+        'Пляжна',
+        'Побратимів',
+        'Подільська',
+        'Поїзна',
+        'Покровський',
+        'Ползунова 1-й',
+        'Ползунова 2-й',
+        'Політкаторжан',
+        'Політкаторжан',
+        'Полтавська',
+        'Полуничний',
+        'Польова',
+        'Польова',
+        'Польовий 1-й',
+        'Польська',
+        'Польський узвіз',
+        'Поперечний',
+        'Посівна',
+        'Посмітного',
+        'Поштова',
+        'Поштовий',
+        'Преображенська',
+        'Пресича Олександра',
+        'Пржевальського',
+        'Прибережний',
+        'Привозна',
+        'Привокзальна',
+        'Привокзальний',
+        'Приморська',
+        'Приморський',
+        'Приморський',
+        'Прирейкова',
+        'Проектна 1-ша',
+        'Проектна 2-га',
+        'Проектний 5-й',
+        'Проектований 3-й',
+        'Проектований 4-й',
+        'Проїзний 1-й',
+        'Проїзний 2-й',
+        'Проїзний 3-й',
+        'Прокатна',
+        'Пролетарський 3-й',
+        'Промислова',
+        'Промисловий',
+        'Прорізна',
+        'Прорізний',
+        'Просвіти',
+        'Просьолочна',
+        'Проточний',
+        'Професора Каришковського',
+        'Професора Коровицького',
+        'Профспілкова',
+        'Прохоровська',
+        'Прохоровський',
+        'Прохоровський',
+        'Проценка',
+        'Псковська',
+        'Псковський',
+        'Пугачова',
+        'Путьова',
+        'Пушкінська',
+        'ПшеничнаРадищева',
+        'Радіальна',
+        'Радіальний',
+        'Радіо',
+        'Радісна',
+        'Радісний',
+        'Разумовська',
+        'Раїси Сергієнко',
+        'Райдужна',
+        'Ракетна',
+        'Рачкова',
+        'Регенсбург',
+        'Рекордний',
+        'Рельєфна',
+        'Ремонтна',
+        'Республіканська',
+        'Рєпіна',
+        'Рибальська',
+        'Рибальська балка',
+        'Рибальський',
+        'Ризька',
+        'Рівний',
+        'Рівності',
+        'Рівності',
+        'Рівності 1-й',
+        'Рівності 2-й',
         'Різдвяна',
-        'Ріпницька',
-        'Самбірська',
-        'Северина Наливайка',
-        'Солоний Ставок',
-        'Спартака',
+        'Різницький',
+        'Різовська',
+        'Рішельєвська',
+        'Рожева',
+        'Роздольна',
+        'Розкидайлівська',
+        'Розумовський 1-й',
+        'Розумовський 2-й',
+        'Романа Кармена',
+        'Романтиків',
+        'Романтичний',
+        'Ромашкова',
+        'Ростовська',
+        'Рощева',
+        'Рульовий',
+        'Сабанєєв',
+        'Сабанський',
+        'Савицький',
+        'Савранська',
+        'Садиковська',
+        'Садова',
+        'Садова 1-ша',
+        'Садова 2-га',
+        'Садова 3-тя',
+        'Садова 4-та',
+        'Садова 5-та',
+        'Садова 6-та',
+        'Садовий',
+        'Садовського',
+        'Саксаганського',
+        'Салтикова-Щедріна',
+        'Самарська',
+        'Самодіяльна',
+        'Санаторний',
+        'Санітарна',
+        'Сашка Хорошенка',
+        'Світанку',
+        'Світла',
+        'Світлий',
+        'Свободи',
+        'Святослава Ріхтера',
+        'Севастопольський',
+        'Сегедська',
+        'Селекційна',
+        'Селекційний',
+        'Селищна',
+        'Селищний',
+        'Семафорний',
+        'Семінарська',
+        'Сергія Ейзенштейна',
+        'Сергія Уточкіна',
+        'Сергія Ядова',
+        'Серединський',
+        'Середньофонтанська',
+        'Середньофонтанський',
+        'Середня',
+        'Сєрова',
+        'Сєрогодського',
+        'Сєченова',
+        'Сибірська',
+        'Сирітський',
+        'Сирітський 2-й',
+        'Сільська',
+        'Сільськогосподарський',
+        'Сімферопольська',
+        'Сінна',
+        'Скворцова',
+        'Скидановська',
+        'Скидановський узвіз',
+        'Складська',
+        'Скляна',
+        'Скляний 1-й',
+        'Скляний 2-й',
+        'Скляний 3-й',
+        'Скрипковий',
+        'Слави',
+        'Слави',
+        'Слєпньова',
+        'Сливова',
+        'Слобідська',
+        'Слобідський узвіз',
+        'Слов\'янська',
+        'Сміливий',
+        'Смоленська',
+        'Собінова',
+        'Соборна',
+        'Совіньйонівський',
+        'Солонцюватий',
+        'Солонцюватий 1-й',
+        'Соляна',
+        'Соляний 1-й',
+        'Соляний 2-й',
+        'Соляний 3-й',
+        'Соляний 4-й',
+        'Соляний 5-й',
+        'Соляний 6-й',
+        'Соляний 7-й',
+        'Сонячна',
+        'Сонячна',
+        'Сортувальна 1-ша',
+        'Сортувальна 2-га',
+        'Сосюри',
+        'Софії Перовської',
+        'Софіївська',
+        'Соціальна',
+        'Спартаківська',
+        'Спартаківський',
+        'Спаський',
+        'Спиридонівська',
         'Спортивна',
-        'Станіслава Людкевича',
-        'Станіславська',
-        'Степана Коваліва',
-        'Степана Рудавського',
-        'Стрийська',
-        'Східна',
-        'Січових Стрільців',
-        'Тараса Шевченка',
-        'Твердохліба',
-        'Тисменицька',
-        'Тита Реваковича',
+        'Спортивний',
+        'Сталепрокатна',
+        'Стамбульський',
+        'Станційна 1-ша',
+        'Станційна 2-га',
+        'Станційна 3-тя',
+        'Старицького',
+        'Старобазарний',
+        'Старокінний',
+        'Старопортофранківська',
+        'Старорізнична',
+        'Старосінна',
+        'Стахановський 4-й',
+        'Стельмаха',
+        'Степана Олійника узвіз',
+        'Степана Разіна',
+        'Степна',
+        'Степний 2-й',
+        'Степова',
+        'Стеценко',
+        'Стєклова',
+        'Стовпова',
+        'Стороженка Олега',
+        'Стражеска Миколи',
+        'Строганов міст',
+        'Строганова',
+        'Студена',
+        'Студентський',
+        'Студентський 1-й',
+        'Студентський 2-й',
+        'Студентський 3-й',
+        'Студентський 4-й',
+        'Студентський 5-й',
+        'Суворовська',
+        'Суднобудівна',
+        'Суднобудівний',
+        'Сумська',
+        'Сумський',
+        'Суперфосфатна',
+        'Супутників',
+        'Сурикова',
+        'Сурикова 1-й',
+        'Сурикова 2-й',
+        'Сухолиманна',
+        'Східний',
+        'Східний 1-й',
+        'Східний 2-й',
+        'Східчастий 3-й',
+        'Східчастий 4-й',
+        'Східчастий',
+        'Сьома',
+        'Таїрова',
+        'Таїрова',
+        'Танкерна',
+        'Танкістів',
+        'Танфільєва',
+        'Тарутинська',
+        'Творча',
+        'Текстильників',
+        'Теліги Олени',
+        'Тепла',
+        'Теплична',
+        'Тепличний 1-й',
+        'Тепличний 2-й',
+        'Терещенка Володимира',
+        'Тетяни Тесс',
+        'Технічний',
+        'Тещин міст',
+        'Тимірязєва',
+        'Тимірязєва',
+        'Тимірязєва 3-й',
+        'Тимірязєва 4-й',
+        'Тимірязєва 5-й',
+        'Тираспольська',
+        'Тираспольська',
+        'Тираспольське',
         'Тиха',
-        'Трускавецька',
-        'Уляни Кравченко',
-        'Устима Кармелюка',
-        'Устияновичів',
+        'Тіниста',
+        'Тінистий',
+        'Тінистий',
+        'Ткачова',
+        'Товарний',
+        'Толбухіна',
+        'Толбухіна',
+        'Толбухіна',
+        'Тополина',
+        'Тополиний',
+        'Топольського',
+        'Торгова',
+        'Травневий',
+        'Травневий 1-й',
+        'Травневий 2-й',
+        'Травневий 3-й',
+        'Травневий 4-й',
+        'Травневий 5-й',
+        'Тракторна',
+        'Трамвайна',
+        'Трамвайний',
+        'Транспортна',
+        'Траса Здоров\'я',
+        'Троїцька',
+        'Троїцького Миколи',
+        'Тролейбусна',
+        'Трояндова',
+        'Трудова',
+        'Трудовий',
+        'Трудових резервів',
+        'Тульська',
+        'Тульська',
+        'Тупиковий',
+        'Тупиковий 1-й',
+        'Тупиковий 2-й',
+        'Тургенєва',
+        'Туристська',
+        'Туристський',
+        'Тюльпанний',
+        'Угорська',
+        'Удільний',
+        'Українська',
+        'Український 1-й',
+        'Український 2-й',
+        'Український 3-й',
+        'Улітіна',
+        'Уманська',
+        'Умова',
+        'Університетський',
+        'Уральська',
+        'Уральський',
+        'Урожайна',
+        'Усатівська',
+        'Успенська',
+        'Успенський',
+        'Утьосова',
+        'Училищна',
+        'Учительський',
+        'Учнівська',
+        'Ушакова',
+        'Ушинського',
+        'Уютна',
+        'Ф. Пішеніна',
         'Фабрична',
-        'Фредеріка Шопена',
-        'Холмська',
-        'Шевська',
-        'Шкільна',
-        'Шолом Алейхема',
+        'Фестивальний',
+        'Флотська',
+        'Флотський 1-й',
+        'Флотський 2-й',
+        'Флотський 3-й',
+        'Флотський 4-й',
+        'Фонтанська дорога',
+        'Французький',
+        'Фруктовий',
+        'Хаджибейська дорога',
+        'Хаджибейський 1-й',
+        'Хаджибейський 2-й',
+        'Хаджибейський 3-й',
+        'Харківська',
+        'Хвойний',
+        'Херсонський',
+        'Херсонський сквер',
+        'Хімічна',
+        'Хімічний 1-й',
+        'Хімічний 2-й',
+        'Хімічний 3-й',
+        'Хлібна гавань',
+        'Художника Федорова',
+        'Хутірська',
+        'Хутірський',
+        'Цебриківська',
+        'Цегельнозаводська',
+        'Цегляна',
+        'Цементний',
+        'Центральна',
+        'Центральний аеропорт',
+        'Церковна',
+        'Цимлянська',
+        'Ціолковського',
+        'Чайковського',
+        'Чапаєва',
+        'Чапаєва',
+        'Чапаєва',
+        'Чапаєва 2-й',
+        'Черепанових',
+        'Черепанових 2-й',
+        'Черешнева',
+        'Черкаська',
+        'Чернишевського',
+        'Чернівецький',
+        'Чернігівська',
+        'Чернігівський',
+        'Черняховського',
+        'Четверта',
+        'Чехова',
+        'Чорноморка',
+        'Чорноморська',
+        'Чорноморський',
+        'Чорноморський',
+        'Чорноморський 1-й',
+        'Чорноморський 10-й',
+        'Чорноморський 11-й',
+        'Чорноморський 12-й',
+        'Чорноморський 13-й',
+        'Чорноморський 2-й',
+        'Чорноморський 3-й',
+        'Чорноморський 4-й',
+        'Чорноморський 5-й',
+        'Чорноморський 6-й',
+        'Чорноморський 7-й',
+        'Чорноморський 8-й',
+        'Чорноморський 9-й',
+        'Чорноморського козацтва',
+        'Чубаївська',
+        'Чубаївський',
+        'Чумацька',
+        'Шампанський',
+        'Шахтинський',
+        'Шебелінський',
+        'Шевченка',
+        'Шевченка парк',
+        'Шептицікого',
+        'Шефська',
+        'Шилова',
+        'Ширшова',
+        'Ширяївський',
+        'Шишкіна',
+        'Шишкіна',
+        'Шишкіна 1-й',
+        'Шишкіна 2-й',
+        'Шишкіна 3-й',
+        'Шкільний',
+        'Шкільний аеродром',
+        'Шкіперська',
+        'Шкодова гора',
+        'Шовкуненка',
+        'Шовкуненка',
+        'Шолохова',
+        'Шоста',
+        'Шостої 1-й',
+        'Шостої 2-й',
         'Шота Руставелі',
-        'Юліуша Словацького',
-        'Юрія Дрогобича',
-        'Юрія Федьковича',
-        'Якова Головацького',
-        'Ярослава Осмомисла',
+        'Штабний',
+        'Штильова',
+        'Штурвальна',
+        'Штурманська',
+        'Шухевича Романа',
+        'Щіпний',
+        'Щоглова',
+        'Щоголєва',
+        'Щукіна',
+        'Ювілейний 1-й',
+        'Ювілейний 2-й',
+        'Юннатів',
+        'Юннатів 1-й',
+        'Юннатів 2-й',
+        'Юннатів 3-й',
+        'Юрженка Олександра',
+        'Юрія Олеші',
+        'Юрія Яновського',
+        'Юхима Геллера',
+        'Юхима Фесенка',
+        'Яблочкіної',
+        'Яблунева',
+        'Яблучна',
+        'Якірний',
+        'Якутська',
+        'Ялинкова',
+        'Ялинковий',
+        'Ямська',
+        'Ямчитського',
+        'Ярморочна площа',
+        'Яружний',
+        'Ясна',
+        'Яхненка Семена',
+        'Яші Гордієнка',
     ]
 
     def city_prefix(self):
         return self.random_element(self.city_prefixes)
 
+    def city_name(self):
+        return self.random_element(self.city_names)
+
     def postcode(self):
         """The code consists of five digits (01000-99999)"""
         return f'{self.generator.random.randint(0, 10)}{self.generator.random.randint(1000, 10000)}'
@@ -247,5 +2068,13 @@ class Provider(AddressProvider):
     def street_prefix(self):
         return self.random_element(self.street_prefixes)
 
-    def street_title(self):
+    def street_name(self):
         return self.random_element(self.street_titles)
+
+    def street_title(self):
+        prefix = self.street_prefix()
+        street = self.street_name()
+        return prefix + ' ' + street
+
+    def region(self):
+        return self.random_element(self.region_names)
diff --git a/faker/providers/currency/pt_BR/__init__.py b/faker/providers/currency/pt_BR/__init__.py
new file mode 100644
index 00000000..17ee8e3f
--- /dev/null
+++ b/faker/providers/currency/pt_BR/__init__.py
@@ -0,0 +1,9 @@
+from .. import Provider as CurrencyProvider
+
+
+class Provider(CurrencyProvider):
+
+    price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"]
+
+    def pricetag(self):
+        return ("R$" + self.numerify(self.random_element(self.price_formats)))
diff --git a/faker/providers/date_time/pt_BR/__init__.py b/faker/providers/date_time/pt_BR/__init__.py
new file mode 100644
index 00000000..e853211f
--- /dev/null
+++ b/faker/providers/date_time/pt_BR/__init__.py
@@ -0,0 +1,37 @@
+from .. import Provider as DateTimeProvider
+
+
+class Provider(DateTimeProvider):
+
+    DAY_NAMES = {
+        "0": "domingo",
+        "1": "segunda-feira",
+        "2": "terça-feira",
+        "3": "quarta-feira",
+        "4": "quinta-feira",
+        "5": "sexta-feira",
+        "6": "sábado",
+    }
+
+    MONTH_NAMES = {
+        "01": "janeiro",
+        "02": "fevereiro",
+        "03": "março",
+        "04": "abril",
+        "05": "maio",
+        "06": "junho",
+        "07": "julho",
+        "08": "agosto",
+        "09": "setembro",
+        "10": "outubro",
+        "11": "novembro",
+        "12": "dezembro",
+    }
+
+    def day_of_week(self):
+        day = self.date("%w")
+        return self.DAY_NAMES[day]
+
+    def month_name(self):
+        month = self.month()
+        return self.MONTH_NAMES[month]
diff --git a/faker/providers/person/en_GB/__init__.py b/faker/providers/person/en_GB/__init__.py
index 413fa50b..609332be 100644
--- a/faker/providers/person/en_GB/__init__.py
+++ b/faker/providers/person/en_GB/__init__.py
@@ -588,5 +588,5 @@ class Provider(PersonProvider):
         ('Watkins', 0.06),
     ))
 
-    prefixes_female = ('Mrs.', 'Ms.', 'Miss', 'Dr.')
-    prefixes_male = ('Mr.', 'Dr.')
+    prefixes_female = ('Mrs', 'Ms', 'Miss', 'Dr')
+    prefixes_male = ('Mr', 'Dr')
diff --git a/faker/providers/person/fr_FR/__init__.py b/faker/providers/person/fr_FR/__init__.py
index 42df5875..53a4c41c 100644
--- a/faker/providers/person/fr_FR/__init__.py
+++ b/faker/providers/person/fr_FR/__init__.py
@@ -208,7 +208,6 @@ class Provider(PersonProvider):
         'Margot',
         'Margaret',
         'Maggie',
-        'daisy',
         'Marianne',
         'Marie',
         'Marine',
@@ -259,41 +258,41 @@ class Provider(PersonProvider):
     last_names = (
         'Martin', 'Bernard', 'Thomas', 'Robert', 'Petit', 'Dubois', 'Richard', 'Garcia', 'Durand', 'Moreau', 'Lefebvre',
         'Simon', 'Laurent', 'Michel', 'Leroy', 'Martinez', 'David', 'Fontaine', 'Da Silva', 'Morel', 'Fournier',
-        'Dupont', 'Bertrand', 'Lambert', 'Rousseau', 'Girard', 'Roux', 'Vincent', 'Lefevre', 'Boyer', 'Lopez', 'Bonnet',
-        'Andre', 'Francois', 'Mercier', 'Muller', 'Guerin', 'Legrand', 'Sanchez', 'Garnier', 'Chevalier', 'Faure',
-        'Perez', 'Clement', 'Fernandez', 'Blanc', 'Robin', 'Morin', 'Gauthier', 'Pereira', 'Perrin', 'Roussel', 'Henry',
-        'Duval', 'Gautier', 'Nicolas', 'Masson', 'Marie', 'Noel', 'Ferreira', 'Lemaire', 'Mathieu', 'Riviere', 'Denis',
+        'Dupont', 'Bertrand', 'Lambert', 'Rousseau', 'Girard', 'Roux', 'Vincent', 'Lefèvre', 'Boyer', 'Lopez', 'Bonnet',
+        'Andre', 'François', 'Mercier', 'Muller', 'Guérin', 'Legrand', 'Sanchez', 'Garnier', 'Chevalier', 'Faure',
+        'Perez', 'Clément', 'Fernandez', 'Blanc', 'Robin', 'Morin', 'Gauthier', 'Pereira', 'Perrin', 'Roussel', 'Henry',
+        'Duval', 'Gautier', 'Nicolas', 'Masson', 'Marie', 'Noël', 'Ferreira', 'Lemaire', 'Mathieu', 'Rivière', 'Denis',
         'Marchand', 'Rodriguez', 'Dumont', 'Payet', 'Lucas', 'Dufour', 'Dos Santos', 'Joly', 'Blanchard', 'Meunier',
-        'Rodrigues', 'Caron', 'Gerard', 'Fernandes', 'Brunet', 'Meyer', 'Barbier', 'Leroux', 'Renard', 'Goncalves',
+        'Rodrigues', 'Caron', 'Gérard', 'Fernandes', 'Brunet', 'Meyer', 'Barbier', 'Leroux', 'Renard', 'Goncalves',
         'Gaillard', 'Brun', 'Roy', 'Picard', 'Giraud', 'Roger', 'Schmitt', 'Colin', 'Arnaud', 'Vidal', 'Gonzalez',
         'Lemoine', 'Roche', 'Aubert', 'Olivier', 'Leclercq', 'Pierre', 'Philippe', 'Bourgeois', 'Renaud', 'Martins',
         'Leclerc', 'Guillaume', 'Lacroix', 'Lecomte', 'Benoit', 'Fabre', 'Carpentier', 'Vasseur', 'Louis', 'Hubert',
         'Jean', 'Dumas', 'Rolland', 'Grondin', 'Rey', 'Huet', 'Gomez', 'Dupuis', 'Guillot', 'Berger', 'Moulin',
         'Hoarau', 'Menard', 'Deschamps', 'Fleury', 'Adam', 'Boucher', 'Poirier', 'Bertin', 'Charles', 'Aubry',
         'Da Costa', 'Royer', 'Dupuy', 'Maillard', 'Paris', 'Baron', 'Lopes', 'Guyot', 'Carre', 'Jacquet', 'Renault',
-        'Herve', 'Charpentier', 'Klein', 'Cousin', 'Collet', 'Leger', 'Ribeiro', 'Hernandez', 'Bailly', 'Schneider',
-        'Le Gall', 'Ruiz', 'Langlois', 'Bouvier', 'Gomes', 'Prevost', 'Julien', 'Lebrun', 'Breton', 'Germain', 'Millet',
-        'Boulanger', 'Remy', 'Le Roux', 'Daniel', 'Marques', 'Maillot', 'Leblanc', 'Le Goff', 'Barre', 'Perrot',
-        'Leveque', 'Marty', 'Benard', 'Monnier', 'Hamon', 'Pelletier', 'Alves', 'Etienne', 'Marchal', 'Poulain',
-        'Tessier', 'Lemaitre', 'Guichard', 'Besson', 'Mallet', 'Hoareau', 'Gillet', 'Weber', 'Jacob', 'Collin',
-        'Chevallier', 'Perrier', 'Michaud', 'Carlier', 'Delaunay', 'Chauvin', 'Alexandre', 'Marechal', 'Antoine',
+        'Hervé', 'Charpentier', 'Klein', 'Cousin', 'Collet', 'Léger', 'Ribeiro', 'Hernandez', 'Bailly', 'Schneider',
+        'Le Gall', 'Ruiz', 'Langlois', 'Bouvier', 'Gomes', 'Prévost', 'Julien', 'Lebrun', 'Breton', 'Germain', 'Millet',
+        'Boulanger', 'Rémy', 'Le Roux', 'Daniel', 'Marques', 'Maillot', 'Leblanc', 'Le Goff', 'Barre', 'Perrot',
+        'Lévêque', 'Marty', 'Benard', 'Monnier', 'Hamon', 'Pelletier', 'Alves', 'Étienne', 'Marchal', 'Poulain',
+        'Tessier', 'Lemaître', 'Guichard', 'Besson', 'Mallet', 'Hoareau', 'Gillet', 'Weber', 'Jacob', 'Collin',
+        'Chevallier', 'Perrier', 'Michaud', 'Carlier', 'Delaunay', 'Chauvin', 'Alexandre', 'Maréchal', 'Antoine',
         'Lebon', 'Cordier', 'Lejeune', 'Bouchet', 'Pasquier', 'Legros', 'Delattre', 'Humbert', 'De Oliveira', 'Briand',
         'Lamy', 'Launay', 'Gilbert', 'Perret', 'Lesage', 'Gay', 'Nguyen', 'Navarro', 'Besnard', 'Pichon', 'Hebert',
         'Cohen', 'Pons', 'Lebreton', 'Sauvage', 'De Sousa', 'Pineau', 'Albert', 'Jacques', 'Pinto', 'Barthelemy',
-        'Turpin', 'Bigot', 'Lelievre', 'Georges', 'Reynaud', 'Ollivier', 'Martel', 'Voisin', 'Leduc', 'Guillet',
-        'Vallee', 'Coulon', 'Camus', 'Marin', 'Teixeira', 'Costa', 'Mahe', 'Didier', 'Charrier', 'Gaudin', 'Bodin',
-        'Guillou', 'Gregoire', 'Gros', 'Blanchet', 'Buisson', 'Blondel', 'Paul', 'Dijoux', 'Barbe', 'Hardy', 'Laine',
-        'Evrard', 'Laporte', 'Rossi', 'Joubert', 'Regnier', 'Tanguy', 'Gimenez', 'Allard', 'Devaux', 'Morvan', 'Levy',
+        'Turpin', 'Bigot', 'Lelièvre', 'Georges', 'Reynaud', 'Ollivier', 'Martel', 'Voisin', 'Leduc', 'Guillet',
+        'Vallée', 'Coulon', 'Camus', 'Marin', 'Teixeira', 'Costa', 'Mahe', 'Didier', 'Charrier', 'Gaudin', 'Bodin',
+        'Guillou', 'Grégoire', 'Gros', 'Blanchet', 'Buisson', 'Blondel', 'Paul', 'Dijoux', 'Barbe', 'Hardy', 'Laine',
+        'Evrard', 'Laporte', 'Rossi', 'Joubert', 'Regnier', 'Tanguy', 'Gimenez', 'Allard', 'Devaux', 'Morvan', 'Lévy',
         'Dias', 'Courtois', 'Lenoir', 'Berthelot', 'Pascal', 'Vaillant', 'Guilbert', 'Thibault', 'Moreno', 'Duhamel',
         'Colas', 'Masse', 'Baudry', 'Bruneau', 'Verdier', 'Delorme', 'Blin', 'Guillon', 'Mary', 'Coste', 'Pruvost',
         'Maury', 'Allain', 'Valentin', 'Godard', 'Joseph', 'Brunel', 'Marion', 'Texier', 'Seguin', 'Raynaud', 'Bourdon',
         'Raymond', 'Bonneau', 'Chauvet', 'Maurice', 'Legendre', 'Loiseau', 'Ferrand', 'Toussaint', 'Techer', 'Lombard',
         'Lefort', 'Couturier', 'Bousquet', 'Diaz', 'Riou', 'Clerc', 'Weiss', 'Imbert', 'Jourdan', 'Delahaye', 'Gilles',
-        'Guibert', 'Begue', 'Descamps', 'Delmas', 'Peltier', 'Dupre', 'Chartier', 'Martineau', 'Laroche', 'Leconte',
-        'Maillet', 'Parent', 'Labbe', 'Potier', 'Bazin', 'Normand', 'Pottier', 'Torres', 'Lagarde', 'Blot', 'Jacquot',
-        'Lemonnier', 'Grenier', 'Rocher', 'Bonnin', 'Boutin', 'Fischer', 'Munoz', 'Neveu', 'Lacombe', 'Mendes',
+        'Guibert', 'Bègue', 'Descamps', 'Delmas', 'Peltier', 'Dupré', 'Chartier', 'Martineau', 'Laroche', 'Leconte',
+        'Maillet', 'Parent', 'Labbé', 'Potier', 'Bazin', 'Normand', 'Pottier', 'Torres', 'Lagarde', 'Blot', 'Jacquot',
+        'Lemonnier', 'Grenier', 'Rocher', 'Bonnin', 'Boutin', 'Fischer', 'Munoz', 'Neveu', 'Lacombe', 'Mendès',
         'Delannoy', 'Auger', 'Wagner', 'Fouquet', 'Mace', 'Ramos', 'Pages', 'Petitjean', 'Chauveau', 'Foucher', 'Peron',
-        'Guyon', 'Gallet', 'Rousset', 'Traore', 'Bernier', 'Vallet', 'Letellier', 'Bouvet', 'Hamel', 'Chretien',
+        'Guyon', 'Gallet', 'Rousset', 'Traore', 'Bernier', 'Vallet', 'Letellier', 'Bouvet', 'Hamel', 'Chrétien',
         'Faivre', 'Boulay', 'Thierry', 'Samson', 'Ledoux', 'Salmon', 'Gosselin', 'Lecoq', 'Pires', 'Leleu', 'Becker',
         'Diallo', 'Merle', 'Valette',
     )
diff --git a/faker/providers/phone_number/pt_BR/__init__.py b/faker/providers/phone_number/pt_BR/__init__.py
index 46b1fb0b..2097f2ff 100644
--- a/faker/providers/phone_number/pt_BR/__init__.py
+++ b/faker/providers/phone_number/pt_BR/__init__.py
@@ -75,6 +75,14 @@ class Provider(PhoneNumberProvider):
         '71 ####-####',
         '81 ####-####',
         '84 ####-####',
+        '0300 ### ####',
+        '0500 ### ####',
+        '0800 ### ####',
+        '0900 ### ####',
+        '0300-###-####',
+        '0500-###-####',
+        '0800-###-####',
+        '0900-###-####',
     )
 
     msisdn_formats = (
@@ -102,6 +110,31 @@ class Provider(PhoneNumberProvider):
         '+55 (##) 9 ####-####',
     )
 
+    services_phones_formats = (
+        '100',
+        '128',
+        '151',
+        '152',
+        '153',
+        '156',
+        '180',
+        '181',
+        '185',
+        '188',
+        '190',
+        '191',
+        '192',
+        '193',
+        '194',
+        '197',
+        '198',
+        '199',
+    )
+
     def cellphone_number(self):
         pattern = self.random_element(self.cellphone_formats)
         return self.numerify(self.generator.parse(pattern))
+
+    def service_phone_number(self):
+        pattern = self.random_element(self.services_phones_formats)
+        return self.numerify(self.generator.parse(pattern))
diff --git a/faker/providers/user_agent/__init__.py b/faker/providers/user_agent/__init__.py
index 2a4c8a7d..40fe1830 100644
--- a/faker/providers/user_agent/__init__.py
+++ b/faker/providers/user_agent/__init__.py
@@ -192,7 +192,7 @@ class Provider(BaseProvider):
 
     def mac_platform_token(self):
         """Generate a MacOS platform token used in user agent strings."""
-        return (f'Macintosh; {self.random_element(self.mac_processors)} Mac OS X 10 '
+        return (f'Macintosh; {self.random_element(self.mac_processors)} Mac OS X 10_'
                 f'{self.generator.random.randint(5, 12)}_{self.generator.random.randint(0, 9)}')
 
     def android_platform_token(self):


Test patch:
diff --git a/.github/workflows/test-ubuntu.yml b/.github/workflows/ci.yml
similarity index 74%
rename from .github/workflows/test-ubuntu.yml
rename to .github/workflows/ci.yml
index 2d2a786a..64ff14b4 100644
--- a/.github/workflows/test-ubuntu.yml
+++ b/.github/workflows/ci.yml
@@ -1,10 +1,42 @@
 name: Python Tests
 
-on: [push]
+on:
+  push:
+    branches:
+      - master
+  pull_request:
+    branches:
+      - master
 
 jobs:
+  lint:
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up Python
+      uses: actions/setup-python@v2
+      with:
+        python-version: '3.x'
+    - name: Install dependencies
+      run: |
+        python -m pip install tox
+    - name: Lint with flake8
+      run: tox
+      env:
+        TOXENV: flake8
+    - name: Check manifest
+      run: tox
+      env:
+        TOXENV: checkmanifest
+    - name: isort
+      run: tox
+      env:
+        TOXENV: isort
+
   test_ubuntu:
     runs-on: ubuntu-latest
+    needs: [lint]
     strategy:
       matrix:
         python: [3.6, 3.7, 3.8, 3.9, "pypy3"]
@@ -30,6 +62,7 @@ jobs:
 
   test_alpine:
     runs-on: ubuntu-latest
+    needs: [lint]
 
     steps:
     - uses: actions/checkout@v2
@@ -48,6 +81,7 @@ jobs:
 
   test_32bit:
     runs-on: ubuntu-latest
+    needs: [lint]
 
     steps:
     - uses: actions/checkout@v2
diff --git a/tests/providers/test_currency.py b/tests/providers/test_currency.py
index 60703517..d63a8a38 100644
--- a/tests/providers/test_currency.py
+++ b/tests/providers/test_currency.py
@@ -346,3 +346,19 @@ class TestRoRo:
         for _ in range(num_samples):
             pricetag = faker.pricetag()
             assert isinstance(pricetag, str)
+
+
+class TestPtBr:
+    """Test pt_BR currency provider"""
+
+    num_samples = 100
+
+    @classmethod
+    def setup_class(cls):
+        from faker.providers.currency.pt_BR import Provider as PtBrCurrencyProvider
+        cls.provider = PtBrCurrencyProvider
+
+    def test_pricetag(self, faker, num_samples):
+        for _ in range(num_samples):
+            pricetag = faker.pricetag()
+            assert isinstance(pricetag, str)
diff --git a/tests/providers/test_date_time.py b/tests/providers/test_date_time.py
index 38195d8e..33c4f16a 100644
--- a/tests/providers/test_date_time.py
+++ b/tests/providers/test_date_time.py
@@ -25,6 +25,7 @@ from faker.providers.date_time.es_ES import Provider as EsEsProvider
 from faker.providers.date_time.hy_AM import Provider as HyAmProvider
 from faker.providers.date_time.it_IT import Provider as ItItProvider
 from faker.providers.date_time.pl_PL import Provider as PlProvider
+from faker.providers.date_time.pt_BR import Provider as PtBrProvider
 from faker.providers.date_time.pt_PT import Provider as PtPtProvider
 from faker.providers.date_time.ro_RO import Provider as RoRoProvider
 from faker.providers.date_time.ru_RU import Provider as RuProvider
@@ -1103,6 +1104,21 @@ class TestTrTr(unittest.TestCase):
         assert month in TrTrProvider.MONTH_NAMES.values()
 
 
+class TestPtBr(unittest.TestCase):
+
+    def setUp(self):
+        self.fake = Faker('pt_BR')
+        Faker.seed(0)
+
+    def test_day(self):
+        day = self.fake.day_of_week()
+        assert day in PtBrProvider.DAY_NAMES.values()
+
+    def test_month(self):
+        month = self.fake.month_name()
+        assert month in PtBrProvider.MONTH_NAMES.values()
+
+
 class TestPtPt(unittest.TestCase):
 
     def setUp(self):
diff --git a/tests/providers/test_internet.py b/tests/providers/test_internet.py
index 356572c1..2f9c37d9 100644
--- a/tests/providers/test_internet.py
+++ b/tests/providers/test_internet.py
@@ -14,6 +14,7 @@ from faker.providers.internet.en_GB import Provider as EnGbInternetProvider
 from faker.providers.internet.es_ES import Provider as EsEsInternetProvider
 from faker.providers.internet.pl_PL import Provider as PlPlInternetProvider
 from faker.providers.internet.ro_RO import Provider as RoRoInternetProvider
+from faker.providers.internet.ru_RU import Provider as RuRuInternetProvider
 from faker.providers.internet.th_TH import Provider as ThThInternetProvider
 from faker.providers.internet.zh_CN import Provider as ZhCnInternetProvider
 from faker.providers.person.ja_JP import Provider as JaPersonProvider
@@ -691,6 +692,43 @@ class TestRoRo:
         assert tld in PlPlInternetProvider.tlds
 
 
+class TestRuRu:
+    """Test ru_RU internet provider methods"""
+
+    def test_free_email_domain(self, faker):
+        assert faker.free_email_domain() in RuRuInternetProvider.free_email_domains
+
+    def test_tld(self, faker):
+        assert faker.tld() in RuRuInternetProvider.tlds
+
+    @patch(
+        'faker.providers.internet.Provider.user_name',
+        lambda x: 'ИванИванов',
+    )
+    def test_ascii_safe_email(self, faker):
+        email = faker.ascii_safe_email()
+        validate_email(email)
+        assert email.split('@')[0] == 'ivanivanov'
+
+    @patch(
+        'faker.providers.internet.Provider.user_name',
+        lambda x: 'АлександрСмирнов',
+    )
+    def test_ascii_free_email(self, faker):
+        email = faker.ascii_free_email()
+        validate_email(email)
+        assert email.split('@')[0] == 'aleksandrsmirnov'
+
+    @patch(
+        'faker.providers.internet.Provider.user_name',
+        lambda x: 'СергейКузнецов',
+    )
+    def test_ascii_company_email(self, faker):
+        email = faker.ascii_company_email()
+        validate_email(email)
+        assert email.split('@')[0] == 'sergekuznetsov'
+
+
 class TestThTh:
     """Test th_TH internet provider methods"""
 
diff --git a/tests/providers/test_phone_number.py b/tests/providers/test_phone_number.py
index 04668374..287cfae5 100644
--- a/tests/providers/test_phone_number.py
+++ b/tests/providers/test_phone_number.py
@@ -37,7 +37,8 @@ class TestPtBr:
         pattern = re.compile(
             r'(?:\+55 )?'
             r'(?:[1-8]1|84|\((?:0[1-8]1|084)\))'
-            r' \d{4}[ -]\d{4}',
+            r' \d{4}[ -]\d{4}|'
+            r'\d{4}?[ -]\d{3}[ -]\d{4}',
         )
         for _ in range(num_samples):
             phone_number = faker.phone_number()
@@ -59,6 +60,12 @@ class TestPtBr:
             cellphone = faker.cellphone_number()
             assert pattern.fullmatch(cellphone)
 
+    def test_service_phone(self, faker, num_samples):
+        pattern = re.compile(r'1(?:0|2|5|8|9)?(?:[0-9])')
+        for _ in range(num_samples):
+            service = faker.service_phone_number()
+            assert pattern.fullmatch(service)
+
 
 class TestHuHu:
     """Test hu_HU phone number provider methods"""
diff --git a/tests/providers/test_user_agent.py b/tests/providers/test_user_agent.py
index 0e8ab70c..cda2fccc 100644
--- a/tests/providers/test_user_agent.py
+++ b/tests/providers/test_user_agent.py
@@ -8,6 +8,7 @@ class TestUserAgentProvider:
     num_samples = 1000
     android_token_pattern = re.compile(r'Android (?P<android_version>\d+(?:\.\d){0,2})')
     ios_token_pattern = re.compile(r'^(?P<apple_device>.*?); CPU \1 OS (?P<ios_version>\d+(?:_\d){0,2}) like Mac OS X')
+    mac_token_pattern = re.compile(r'Macintosh; (?P<mac_processor>.*?) Mac OS X 10_([5-9]|1[0-2])_(\d)')
 
     def test_android_platform_token(self, faker, num_samples):
         for _ in range(num_samples):
@@ -19,3 +20,8 @@ class TestUserAgentProvider:
             match = self.ios_token_pattern.fullmatch(faker.ios_platform_token())
             assert match.group('apple_device') in UaProvider.apple_devices
             assert match.group('ios_version').replace('_', '.') in UaProvider.ios_versions
+
+    def test_mac_platform_token(self, faker, num_samples):
+        for _ in range(num_samples):
+            match = self.mac_token_pattern.fullmatch(faker.mac_platform_token())
+            assert match.group('mac_processor') in UaProvider.mac_processors