AudionAudion

Карта файлов проекта

PROJECT_FILES_GUIDE_RU.md

Карта файлов проекта

English · Справочник · Установка

Где что лежит. Документ для того, кто будет сопровождать проект: пользователю он не нужен.

Рабочие папки (input, output, logs, report, release, workspace, runtime, wheelhouse) описаны по роли, а не пофайлово — их содержимое порождается прогонами и пересобирается.


Корень

ФайлЧто это
Start.exeСкомпилированный запуск окна
launcher_gui.cmdЗапуск окна
launcher_project.cmdМеню проекта, английское
launcher_project_ru.cmdМеню проекта, русское
launcher_tools.cmdСлужебное меню: doctor, лицензии, релиз
builder_main.cmdСборка portable-окружения
cleanup_project.cmdОчистка наработанных артефактов
pytest.iniНастройки тестов
release_manifest.jsonМанифест последней сборки релиза
README.mdПубличное описание проекта

CMD-файлы должны оставаться UTF-8 без BOM с переносами CRLF. После правки — install\Check-CmdEncoding.cmd.


config — настройки

ФайлЧто это
project.yamlНастройки движка: город, эталонная колонка, целевые колонки, связанные колонки, ограничения безопасности
gui_settings.yamlЯзык, тема, поведение окна
tool_manifest.yamlОписание всех команд и полей окна; из него строится интерфейс
version.jsonВерсия и язык корневого README
ui_colors.yamlЦвета интерфейса
path_history.jsonИстория и закрепления путей источника и назначения
oktmo_current_keys.txtТекущие ключи поиска ОКТМО
oktmo_region_pins.jsonЗакреплённые регионы
oktmo_municipality_pins.jsonЗакреплённые муниципалитеты
oktmo_pins_bundle.jsonОбщий набор пинов

system_core — код

Верхний уровень

ФайлЧто делает
Ultimate_GT_Aligner.pyДвижок сопоставления: разбор адреса, проходы, перенос связанных колонок
safe_table_join.pyСравнение двух книг и перенос колонок через Excel
excel_layout.pyОформление книг результата: ширина колонок, перенос текста, заливка
remove_empty_rows.pyУдаление полностью пустых строк
Parser_Diagnostic.pyДиагностика разбора адреса
inspect_md_tables.pyРазбор таблиц в Markdown
doctor.pyПроверка окружения и импортов
main.pyПрямой запуск сопоставления без окна
fzf.exeМеню для CMD-launcher-ов

address_engine — адресный движок

ФайлЧто делает
audion_address_core.pyРазбор адреса на составляющие, распознавание адресоподобного текста
address_slots.pyСлоты: определение, заполнение, сборка адресной строки
slot_fill.pyЗаполнение слотов из свидетельств
models.pyСтруктуры данных: наблюдение, составляющие адреса, отпечаток, кластер
source_intake.pyЧтение источников всех поддерживаемых форматов
source_table_assembly.pyСбор адресов из источников в книгу
source_cleanup.pyОтсев временных файлов Office
reference_builder.pyПостроение эталонного справочника, определение слотов и колонок
reference_processor.pyСортировка и разложение справочника по слотам
oktmo_lookup.pyИндекс ОКТМО, дисковый кэш, поиск региона, МО и населённого пункта
oktmo_user_keys.pyФайл ключей проекта и пины
rosstat_update.pyСкачивание и обновление реестра Росстата
region_reference.pyСправочник регионов
russian_morphology.pyПадежные формы названий
universal_address.pyОбщий нормализатор адреса
normalizer_runtime.pyНастройка нормализатора под прогон
address_diagnostics.pyДиагностические выборки
legacy_office_converter.pyКонвертация DOC/XLS

services — сервисный слой

address_aligner_service.py — единственный файл. Каждая команда окна ссылается на функцию отсюда: сервис принимает параметры, вызывает движок, пишет журнал, отчёт и список артефактов.

ui_nicegui — окно

ФайлЧто делает
window.pyОбёртка окна: порт, иконка, движок WebView2
app.pyСам интерфейс: команды, поля, журнал, панели ОКТМО
workbench.pyИсточник и назначение, история путей, закрепления
i18n.pyПереключение языка
tokens.css, base.css, theme.cssОформление

core — ядро

ФайлЧто делает
jobs.pyЗапуск операций, отмена, прогресс
manifest.pyРазбор tool_manifest.yaml
paths.pyУправляемые папки проекта
config.pyЧтение настроек
ui_settings.pyНастройки окна
ansi_terminal.pyТерминальный вывод в журнал
cmd_encoding.pyПроверка кодировок CMD
output_decode.pyДекодирование вывода подпроцессов
logging_utils.pyЖурналирование

Прочее

ПутьЧто это
license/Сбор, дедупликация и очистка лицензий сторонних компонентов
icons/Иконки окна
start_launcher/Исходник Start.exe
powershell/Вспомогательные скрипты

install — установка и сборка

ФайлЧто делает
Build_Portable_Env.cmd / .ps1Сборка portable-окружения
install_portable_offline.cmdУстановка из локального wheelhouse
verify_portable_env.cmdПроверка собранного окружения
init_folders.cmdСоздание рабочих папок
Check-CmdEncoding.cmd, Repair-CmdEncoding.ps1Проверка и починка кодировок CMD
Clean-Install-Cache.cmd / .ps1Очистка кэша сборки
Update-Requirements-Lock.cmdОбновление lock-файла зависимостей
make_release_archive.cmdСборка релизного архива
Build-StartLauncher.cmd / .ps1Сборка Start.exe
launcher-tools-update_fzf.cmdОбновление fzf.exe
requirements_full.inСписок зависимостей
README_INSTALL.mdЗаметки по установке

data — данные

ПутьЧто это
regions_reference.yamlСправочник регионов
rosstat/data-*.csvРеестр ОКТМО, скачивается кнопкой в окне
rosstat/oktmo_lookup_cache.jsonРазобранный индекс ОКТМО

docs — документация

ФайлЧто это
README_RU.md, README_EN.mdОписание проекта, точка входа
USER_GUIDE_RU.md, USER_GUIDE_EN.mdРуководство пользователя
OKTMO_RU.md, OKTMO_EN.mdРеестр ОКТМО, ключи и пины
REFERENCE_RU.md, REFERENCE_EN.mdТехнический справочник
INSTALL_RU.md, INSTALL_EN.mdУстановка и запуск
tools/PROJECT_FILES_GUIDE_*.mdЭтот документ
PDF/Отрендеренные PDF всех документов в двух темах

PDF собираются отдельным инструментом из всех .md в docs, включая вложенные папки. Структура папок сохраняется.


tests — тесты

ФайлЧто проверяет
test_address_aligner_regression.pyПроходы сопоставления
test_safe_table_join.pyПеренос колонок по адресу
test_excel_layout.pyОформление книг результата
test_gui_render.pyОтрисовка окна
test_workbench_route_regression.pyИсточник и назначение
test_ansi_terminal.pyТерминальный вывод

Окно тестируется headless-фикстурой NiceGUI с разбором страницы через BeautifulSoup; selenium сознательно не используется.


licenses — лицензии

Тексты лицензий сторонних компонентов, THIRD_PARTY_NOTICES.txt, COMPONENTS.json, отчёт сканирования и манифест пакета. Собираются инструментами из system_core/license/.

Все проекты