Интеграция с Региональной витриной данных
Project description
Проект "Интеграция с Региональной витриной данных (РВД)"
Для интеграции с Региональной витриной данных был выделен отдельный пакет для использования его компонентов в различных продуктах.
На текущий момент интеграция реализуется в рамках проектов Электронная школа (ЭШ) и Электронный колледж (ЭК).
Описание концепции
Со стороны Минцифры предоставляется спецификация (ЕФТТ) с требованиями по формату и механизму выгрузки данных.
Выбрана модель промежуточного хранения данных на стороне продукта, которые подлежат выгрузке. При помощи такого подхода, можно обеспечить формирование не хранящихся в продукте данных и дальнейшее их обновление и удаление. Упрощается процесс поиска ошибок в данных, т.к. можно явно определить, в каких записях находятся ошибки и далее анализировать существующие данные в продуктах или функционал по формированию данных.
Принцип работы
Весь процесс разделен на сбор и выгрузку данных. Выделяются следующие понятия:
Модель продукта : Django-модель находящаяся в самом продукте. При помощи нее производится накапливание пользовательских данных;
Модель РВД : Django-модель находящаяся в пакете РВД продукта. Из моделей РВД формируется схема БД, позволяющая хранить данные для дальнейшей выгрузки в нормализованном виде;
Сущность РВД : Описание формата выгрузки данных в РВД в виде dataclass-а. Хранит в себе описание первичных, внешних ключей, обязательность и порядок полей.
На этапе сбора данных производится формирование данных моделей РВД на основе данных моделей продуктов. Существуют так называемые расчетные модели, для которых данные рассчитываются в процессе сбора.
Стоит обратить внимание, что сущности РВД могут содержать в себе данные из нескольких моделей РВД.
Требования к окружению
Для работы требуется Python >=3.7. Так же в зависимостях есть внутренние пакеты:
- educommon;
- function-tools;
- m3-db-utils;
- uploader-client.
Версии всех пакетов уточнены в файлах с зависимостями.
Разворачивание
Перед внедрением пакета в проект, необходимо убедиться, что:
- В проекте используется логирование из educommon;
- В проект внедрен function-tools;
- В проект внедрен m3-db-utils;
- В проект внедрен uploader-client.
Параметры конфигурационного файла
В разных проектах существуют различные способы добавления настроек, где-то через плагины, где-то напрямую в settings.py. Будет рассмотрен подход указания настроек в settings.py и указания параметров в конфигурационном файле.
Для возможности конфигурирования необходимо проделать ряд действий:
-
Определение значений по умолчанию настроек в settings.py:
PROJECT_DEFAULT_CONFIG.update({ # Настройки РВД ('rdm_general', 'EXPORT_ENTITY_ID_PREFIX'): '', # Дефолтное значение нужно изменить на специфическое системе ('rdm_general', 'COLLECT_CHUNK_SIZE'): 500, ('rdm_general', 'EXPORT_CHUNK_SIZE'): 500, ('rdm_transfer_task', 'MINUTE'): '0', ('rdm_transfer_task', 'HOUR'): '*/4', ('rdm_transfer_task', 'DAY_OF_WEEK'): '*', ('rdm_transfer_task', 'LOCK_EXPIRE_SECONDS'): 21600, ('rdm_transfer_task', 'TIMEDELTA'): 3600, ('rdm_transfer_task', 'ENTITIES'): '', ('rdm_upload_status_task', 'MINUTE'): '*/30', ('rdm_upload_status_task', 'HOUR'): '*', ('rdm_upload_status_task', 'DAY_OF_WEEK'): '*', ('rdm_upload_status_task', 'LOCK_EXPIRE_SECONDS'): 7200, ('uploader_client', 'URL'): 'http://localhost:8090', ('uploader_client', 'DATAMART_NAME'): '', ('uploader_client', 'REQUEST_RETRIES'): 10, ('uploader_client', 'REQUEST_TIMEOUT'): 10, ('uploader_client', 'ENABLE_REQUEST_EMULATION'): False, })
-
Получение значений настроек из конфигурационного файла в settings.py:
# Ссылка на каталог с файлами для загрузки UPLOADS = 'uploads' # ============================================================================= # Интеграция с Региональной витриной данных (РВД) # ============================================================================= # Префикс идентификаторов записей сущностей специфический для продукта RDM_EXPORT_ENTITY_ID_PREFIX = conf.get('rdm_general', 'EXPORT_ENTITY_ID_PREFIX') # Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных RDM_COLLECT_CHUNK_SIZE = conf.get_int('rdm_general', 'COLLECT_CHUNK_SIZE') # Количество записей моделей обрабатываемых за одну итерацию экспорта данных RDM_EXPORT_CHUNK_SIZE = conf.get_int('rdm_general', 'EXPORT_CHUNK_SIZE') # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE = conf.get_int('rdm_general', 'UPDATE_NON_EXPORTED_CHUNK_SIZE') # Настройка запуска периодической задачи выгрузки данных: RDM_TRANSFER_TASK_MINUTE = conf.get('rdm_transfer_task', 'MINUTE') RDM_TRANSFER_TASK_HOUR = conf.get('rdm_transfer_task', 'HOUR') RDM_TRANSFER_TASK_DAY_OF_WEEK = conf.get('rdm_transfer_task', 'DAY_OF_WEEK') RDM_TRANSFER_TASK_EXPIRE_SECOND = conf.get('rdm_transfer_task', 'LOCK_EXPIRE_SECONDS') # Настройка запуска периодической задачи статуса загрузки данных в витрину: RDM_UPLOAD_STATUS_TASK_MINUTE = conf.get('rdm_upload_status_task', 'MINUTE') RDM_UPLOAD_STATUS_TASK_HOUR = conf.get('rdm_upload_status_task', 'HOUR') RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK = conf.get('rdm_upload_status_task', 'DAY_OF_WEEK') RDM_UPLOAD_STATUS_TASK_EXPIRE_SECOND = conf.get('rdm_upload_status_task', 'LOCK_EXPIRE_SECONDS') # Настройка запуска периодической задачи поиска зависших этапов экспорта: RDM_CHECK_SUSPEND_TASK_MINUTE = conf.get('rdm_check_suspend_task', 'MINUTE') RDM_CHECK_SUSPEND_TASK_HOUR = conf.get('rdm_check_suspend_task', 'HOUR') RDM_CHECK_SUSPEND_TASK_DAY_OF_WEEK = conf.get('rdm_check_suspend_task', 'DAY_OF_WEEK') RDM_CHECK_SUSPEND_TASK_EXPIRE_SECOND = conf.get('rdm_check_suspend_task', 'LOCK_EXPIRE_SECONDS') RDM_CHECK_SUSPEND_TASK_TIMEDELTA = conf.get_int('rdm_check_suspend_task', 'TIMEDELTA') # Загрузка данных в Региональную витрину данных (РВД) # Адрес витрины (schema://host:port) RDM_UPLOADER_CLIENT_URL = conf.get('uploader_client', 'URL') # Мнемоника Витрины RDM_UPLOADER_CLIENT_DATAMART_NAME = conf.get('uploader_client', 'DATAMART_NAME') # Количество повторных попыток запроса RDM_UPLOADER_CLIENT_REQUEST_RETRIES = conf.get_int('uploader_client', 'REQUEST_RETRIES') # Таймаут запроса, сек RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT = conf.get_int('uploader_client', 'REQUEST_TIMEOUT') # Включить эмуляцию отправки запросов RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION = conf.get_bool('uploader_client', 'ENABLE_REQUEST_EMULATION')
Перечень настроек в settings.py указан в таблице ниже.
Название настройки в settings Описание Значение по умолчанию UPLOADS Основная директория в MEDIA, в которой будет создана директория edu_rdm_integration для сохранения файлов для дальнейшей выгрузки 500 RDM_COLLECT_CHUNK_SIZE Количество записей моделей обрабатываемых за одну итерацию сбора данных 500 RDM_EXPORT_CHUNK_SIZE Количество записей моделей обрабатываемых за одну итерацию экспорта 500 RDM_UPDATE_NON_EXPORTED_CHUNK_SIZE # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified 5000 RDM_UPLOADER_CLIENT_URL Адрес витрины (schema://host:port) 'http://localhost:8090' RDM_UPLOADER_CLIENT_DATAMART_NAME Мнемоника Витрины 'test' RDM_UPLOADER_CLIENT_REQUEST_RETRIES Количество повторных попыток запроса 10 RDM_UPLOADER_CLIENT_REQUEST_TIMEOUT Таймаут запроса, сек 10 RDM_UPLOADER_CLIENT_ENABLE_REQUEST_EMULATION Включить эмуляцию отправки запросов True RDM_TRANSFER_TASK_MINUTE Настройка запуска периодической задачи выгрузки данных. Минута '0' RDM_TRANSFER_TASK_HOUR Настройка запуска периодической задачи выгрузки данных. Час '*/4' RDM_TRANSFER_TASK_DAY_OF_WEEK Настройка запуска периодической задачи выгрузки данных. День недели '*' RDM_TRANSFER_TASK_LOCK_EXPIRE_SECONDS Время по истечении которого, блокировка может быть снята (в секунадх) 21600 RDM_UPLOAD_STATUS_TASK_MINUTE Настройка запуска периодической задачи статуса загрузки данных в витрину. Минута '*/30' RDM_UPLOAD_STATUS_TASK_HOUR Настройка запуска периодической задачи статуса загрузки данных в витрину. Час '*' RDM_UPLOAD_STATUS_TASK_DAY_OF_WEEK Настройка запуска периодической задачи статуса загрузки данных в витрину. День недели '*' RDM_UPLOAD_STATUS_TASK_LOCK_EXPIRE_SECONDS Время по истечении которого, блокировка может быть снята (в секунадх) 3600 RDM_CHECK_SUSPEND_TASK_STAGE_TIMEOUT Дельта для определения зависшего подэтапа. Минута 120 -
В дефолтный конфиг проекта необходимо добавить:
# Общие настройки интеграции с РВД [rmd_general] # Префикс идентификаторов записей сущностей специфический для продукта. Указывается в settings.py и не должен # изменяться. Возможность изменения через конфигурационный файл оставлена для экстренных случаев. # EXPORT_ENTITY_ID_PREFIX = # Количество записей моделей обрабатываемых за одну итерацию экспорта данных EXPORT_CHUNK_SIZE = 500 # Количество записей моделей ЭШ обрабатываемых за одну итерацию сбора данных COLLECT_CHUNK_SIZE = 500 # Количество не экспортированных записей моделей обрабатываемых за одну итерацию обновления поля modified UPDATE_NON_EXPORTED_CHUNK_SIZE = 5_000 # Настройка запуска периодической задачи выгрузки данных [rdm_transfer_task] MINUTE=*/2 HOUR=* DAY_OF_WEEK=* LOCK_EXPIRE_SECONDS=21600 # Дельта между прошлым и текущим запуском, сек TIMEDELTA=120 # Сущности, по которым должен производиться сбор и выгрузка данных. Перечисляются через запятую без пробелов. ENTITIES = # Настройка запуска периодической задачи статуса загрузки данных в витрину [rdm_upload_status_task] MINUTE=*/2 HOUR=* DAY_OF_WEEK=* LOCK_EXPIRE_SECONDS=7200 # Настройка запуска периодической задачи поиска зависших этапов экспорта [rdm_check_suspend_task] MINUTE=*/10 HOUR=* DAY_OF_WEEK=* LOCK_EXPIRE_SECONDS=7200 # Дельта для определения зависшего подэтапа, мин STAGE_TIMEOUT=120 [uploader_client] # Адрес витрины URL = http://localhost:8090 # Мнемоника Витрины DATAMART_NAME = test # Количество повторных попыток запроса REQUEST_RETRIES = 10 # Таймаут запроса, сек REQUEST_TIMEOUT = 10 # Включить эмуляцию отправки запросов ENABLE_REQUEST_EMULATION = True
На основе дефолтного конфига произвести конфигурирование приложений.
Сборка и распространение
Сборка пакета производится при помощи Job-а в Jenkins M3.build_dist.
Пакет выкладывается в глобальный PYPI и во внутренний Nexus
Документация
С документацией можно ознакомиться по ссылке http://docs.py.bars.group/edu-rdm-integration/
История изменений
Все изменения проекта должны быть отражены в этом файле.
Формат основан на Keep a Changelog и проект следует Семантическому версионированию.
[x.y.z] - гггг-мм-дд
Здесь должно быть расширенное описание того, что было сделано, какие есть планы у команды по дальнейшему развитию. Желательно будущие цели привязывать к конкретным задачам. Т.е. на каждую цель нужно поставить отдельную задачу и отразить ее номер здесь.
Добавлено
-
ПРОЕКТ-ZZZZ PATCH Название задачи или изменения.
-
ПРОЕКТ-YYYY MINOR Название задачи или изменения.
-
ПРОЕКТ-XXXX MAJOR Название задачи или изменения.
Изменено
Исправлено
Удалено
3.4.8 - 2024-11-14
Повышение версии пакета до 3.4.8.
Исправлено
- EDUKNDG-14586 Повышение версии пакета до 3.4.8.
3.4.7 - 2024-11-14
Добавлена настройка отображения пункта меню "Региональная витрина данных"
Добавлено
- EDUKNDG-14586 Добавлена настройка отображения пункта меню "Региональная витрина данных"
3.4.6 - 2024-11-12
Исправлена ошибка формирования SQL-запроса с наименованиями таблиц (например, group), совпадающими с зарезервированными словами языка SQL.
Исправлено
- EDUKNDG-14586 Наименование таблицы обернуто в двойные кавычки при формировании строки SQL-запроса.
3.4.5 - 2024-11-01
Добавлена обработка ошибок чтения файла при отправке данных в РВД (UploadDataAsyncTask)
Исправлено
- EDUSCHL-22734 Добавлена обработка ошибок чтения файла при отправке данных в РВД (UploadDataAsyncTask)
3.4.4 - 2024-10-23
Добавлена ассинхронная менедж-команда простановки размеров файлов выгрузки в модель ExportingDataSubStageAttachment
Исправлено
- EDUSCHL-22651 Добавлена ассинхронная менедж-команда простановки размеров файлов выгрузки в модель ExportingDataSubStageAttachment
3.4.3 - 2024-10-17
Исправлена миграция простановки размеров файлов выгрузки в модель ExportingDataSubStageAttachment
Исправлено
- EDUSCHL-22651 Исправлена миграция простановки размеров файлов выгрузки в модель ExportingDataSubStageAttachment
3.4.2 - 2024-10-15
Добавлены отдельные параметры по управлению временем запуска UploadDataAsyncTask
Добавлено
- EDUSCHL-22166 Добавлены отдельные параметры по управлению временем запуска UploadDataAsyncTask
3.4.1 - 2024-09-26
Добавлена документация по сбору/выгрузке сущностей для ЭДС, ЭК
Добавлено
- EDUKNDG-14518 Добавлена документация по сбору/выгрузке сущностей для ЭДС, ЭК
3.4.0 - 2024-09-25
В базовый класс тестирования функций сбора добавлена поддержка формата PhoneNumber для формирования экземпляра модели AuditLog. Повышена версия зависимости educommon >= 3.11.0. Вынесены утилиты и базовый класс для логирования и сбора по модели в рамках сущности
Добавлено
- EDUSCHL-22378 Реализация поля моделей Django содержащего номер телефона
Изменено
- EDUKNDG-14516 PATCH Вынесены утилиты и базовый класс для логирования и сбора по модели в рамках сущности
3.3.8 - 2024-10-14
Задача UploadDataAsyncTask изменена с PeriodicAsyncTask на UploadDataAsyncTask
- [EDUSCHL-22519]https://jira.bars.group/browse/EDUSCHL-22519 PATCH Задача UploadDataAsyncTask изменена с PeriodicAsyncTask на UploadDataAsyncTask
3.3.7 - 2024-09-06
Добавлены команда (UploadEntitiesData) и модель (UploadDataCommand) для логирования и запуска выгрузки данных в витрину
- EDUSCHL-22042 PATCH Добавлены команда (UploadEntitiesData) и модель (UploadDataCommand) для логирования и запуска выгрузки данных в витрину
3.3.6 - 2024-09-02
Добавлена фильтрация по дате выгрузки при обновлении данных на экспорт в BaseExportLatestEntitiesData
Изменено
- EDUSCHL-22335 PATCH Добавлена фильтрация по дате выгрузки при обновлении данных на экспорт в BaseExportLatestEntitiesData
3.3.5 - 2024-08-26
Классы UniquePeriodicAsyncTask, PeriodicTaskLocker перенесены в educommon.
Удалено
- EDUSCHL-22267 MINOR Классы UniquePeriodicAsyncTask, PeriodicTaskLocker перенесены в educommon.
3.3.4 - 2024-08-16
Поднята максимальная версия Django (<3.3)
Изменено
- EDUKNDG-14560 MINOR Добавлена поддержка Django 3.2
3.3.3 - 2024-08-19
Изменен порядок запуска сбора и экспорта по сущностям в периодической задаче TransferLatestEntitiesDataPeriodicTask с учетом многопоточности, скорректированы номера миграций
Изменено
- EDUSCHL-21965 PATCH Добавлен параметр export_off в модель TransferredEntity и изменен порядок запуска сбора и экспорта в TransferLatestEntitiesDataPeriodicTask. Скорректированы номера миграций
3.3.2 - 2024-07-16
Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
Изменено
- EDUSCHL-22070 PATCH Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
3.3.1 - 2024-06-13
Удалён устаревший параметр logs_sub_period_days у базового класса команды сбора данных BaseCollectModelsDataByGeneratingLogsCommand. Добавлен таймаут для сохранения информации об объемах файла в кеш.
Изменено
- EDUSCHL-20649 MINOR Удалён устаревший параметр logs_sub_period_days у базового класса команды сбора данных BaseCollectModelsDataByGeneratingLogsCommand
Исправлено
- EDUSCHL-21835 PATCH Реализация многопоточной выгрузки
3.3.0 - 2024-06-06
Отправка файлов в РВД вынесена в отдельную задачу UploadDataAsyncTask, добавлен кеш файлов и очередь подэтапов отправки, а также расчет объемов отправляемых файлов
Изменено
- EDUSCHL-21835 MINOR Реализация многопоточной выгрузки
3.2.8 - 2024-08-02
Исправлена ошибка задвоения сборки и экспорта в периодической задаче TransferLatestEntitiesDataPeriodicTask.
Изменено
- EDUSCHL-21965 PATCH Исправлена ошибка задвоения сборки и экспорта в периодической задаче TransferLatestEntitiesDataPeriodicTask.
3.2.7 - 2024-07-31
Исправлен файл MANIFEST.in для включения в сборку js-шаблонов.
Изменено
- EDUSCHL-21965 PATCH Добавлено включение js-шаблонов в сборку в файл MANIFEST.in
3.2.6 - 2024-07-23
Добавлен параметр export_off (Отключение экспорта для сущности) в модель TransferredEntity Изменен порядок запуска сбора и экспорта по сущностям в периодической задаче TransferLatestEntitiesDataPeriodicTask
Изменено
- EDUSCHL-21965 PATCH Добавлен параметр export_off в модель TransferredEntity и изменен порядок запуска сбора и экспорта в TransferLatestEntitiesDataPeriodicTask.
3.2.5 - 2024-07-16
Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
Изменено
- EDUSCHL-22070 PATCH Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
3.2.5 - 2024-07-16
Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
Изменено
- EDUSCHL-22070 PATCH Добавлен параметр use_times_limit в BaseCollectLatestModelsData для использования переданных параметров logs_period_started_at и logs_period_ended_at
3.2.4 - 2024-07-16
Внесены корректировки в запросы используемые в функциях get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates.
Изменено
- EDUSCHL-22217 PATCH Внесены корректировки в запросы используемые в функциях get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates. В подзапросах отсутствовало условие фильтрации по статусу.
3.2.3 - 2024-06-06
Внесены корректировки в запросы используемые в функциях get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates.
Изменено
- EDUSCHL-21804 PATCH Внесены корректировки в запросы используемые в функциях get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates. Дата и время окончания предыдущего сбора/экспорта могла быть не корректно определена.
3.2.2 - 2024-05-21
Изменения в переодической задаче TransferLatestEntitiesDataPeriodicTask, Изменено определение даты последнего успешного этапа сбора у менеджеров Функций сбора и экспорта. Изменения получения крайней даты из переданного поля по указанным моделям в BaseCollectLatestModelsData. Удалён параметр RDM_TRANSFER_TASK_TIMEDELTA.
Изменено
- EDUSCHL-21804 PATCH Изменение определения даты последнего успешного этапа сбора у менеджеров Функций сбора и экспорта Изменения получения крайней даты из переданного поля по указанным моделям в BaseCollectLatestModelsData. Реализованы функции get_collecting_managers_max_period_ended_dates и get_exporting_managers_max_period_ended_dates для получения даты времени успешного этапа сбора/экспорта.
3.2.1 - 2024-05-03
Понижен уровень логирования при возникновении ошибки отправки запросов в РВД с ERROR до WARNING
Изменено
- EDUSCHL-21903 PATCH Понижен уровень логирования при возникновении ошибки отправки запросов в РВД
3.2.0 - 2024-05-02
Периодические задачи RDMCheckUploadStatus, CheckSuspendedExportedStagePeriodicTask, TransferLatestEntitiesDataPeriodicTask сделаны уникальными.
Изменено
- EDUSCHL-21891 MINOR Периодические задачи RDMCheckUploadStatus, CheckSuspendedExportedStagePeriodicTask, TransferLatestEntitiesDataPeriodicTask сделаны уникальными. Во время действия блокировки не будет возможности поставить новую подобную задачу.
3.1.1 - 2024-05-03
Понижен уровень логирования при возникновении ошибки отправки запросов в РВД с ERROR до WARNING
Изменено
- EDUSCHL-21903 PATCH Понижен уровень логирования при возникновении ошибки отправки запросов в РВД
3.1.0 - 2024-04-23
Добавлена поддержка setuptools 69.*. Поднята минимальная версия пакета pip 23.2.1
Изменено
- EDUSCHL-21761 MINOR Добавлена поддержка setuptools 69.*. Поднять минимальную версию pip до 23.2.1.
3.0.4 - 2024-04-17
Возвращено проставление подэтапа выгрузки всем записям модели.
Изменено
- EDUSCHL-21761 PATCH Возвращено проставление подэтапа выгрузки всем записям модели.
3.0.3 - 2024-04-11
В классах примесей CollectCommandMixin и ExportCommandMixin указана очередь для celery используемая в рамках пакета. Указано базовое описание и тип задачи для отражения в реестре "Асинхронные задачи".
Изменено
- EDUSCHL-21793 PATCH В классах примесей CollectCommandMixin и ExportCommandMixin указана очередь для celery используемая в рамках пакета.
3.0.2 - 2024-04-11
Изменены типы полей ОГРН и ОКФС в сущности Organisations на строковые. Исправлен тип передаваемого параметра institute_ids при выполнении поставленной задачи. Исправлена ошибка проставления подэтапа выгрузки у неотправленных записей.
Изменено
- EDUCLLG-8336 PATCH Изменены типы полей ОГРН и ОКФС в сущности Organisations на строковые.
- EDUSCHL-21743 PATCH Исправлен тип передаваемого параметра institute_ids при выполнении поставленной задачи.
- EDUSCHL-21761 PATCH Исправлена ошибка проставления подэтапа.
3.0.1 - 2024-04-03
Убрано окружение кавычками пустых необязательных полей.
Изменено
- EDUCLLG-8325 PATCH Убрано окружение кавычками пустых необязательных полей.
3.0.0 - 2024-04-02
Расширены возможности кастомизации поведения метода BaseExportDataFunctionHelper.prepare_record
.
Добавлено
- EDUCLLG-8325
MAJOR Добавлена возможность отдельно указывать, как формировать строковое
представление полей в зависимости от их типа и обязательности. Требуется добавить
параметр
required_fields
в методprepare_record
helper-а функции.
[2.2.1] - 2024-03-28
Исправление наследования Meta в моделях EduRdmCollectDataCommandProgress и EduRdmExportDataCommandProgress
Исправлено
- EDUSCHL-21569 MINOR Перенести оставшиеся общие асинхронные задачи из ЭШ в пакет edu_rdm_integration
[2.2.0] - 2024-03-20
Из ЭШ перенесена периодическая задача по сбору и выгрузке данных в РВД.
Также из ЭШ перенесены и переименованы модели:
- CollectDataCommandProgress перименована в EduRdmCollectDataCommandProgress
- ExportDataCommandProgress перименована в EduRdmExportDataCommandProgress
- Добавлены миксины CollectCommandMixin и ExportCommandMixin
Добавлено
- EDUSCHL-21569 MINOR Перенести оставшиеся общие асинхронные задачи из ЭШ в пакет edu_rdm_integration
[2.1.0] - 2024-03-18
Добавлена поддержка Django 3.1.
Добавлено
- EDUSCHL-18052 MINOR Поднять версию Django до 3.1.14
[2.0.3] - 2024-03-11
Добавлено сохранение чанка логов в list
перед его использованием в запускаемых классах в методе _get_runnable_objects
класса BaseCollectingDataRunner
.
Исправлено
- EDUSCHL-21581
PATCH Добавлено сохранение чанка логов в
list
перед его использованием в запускаемых классах в методе_get_runnable_objects
классаBaseCollectingDataRunner
.
[2.0.2] - 2024-03-07
Откатил изменения сделанные в версии 2.0.1. Данные доработки приводили к невозможности отправить данные.
Исправлено
- EDUSCHL-21503 PATCH Откатил изменения сделанные в версии 2.0.1
[2.0.1] - 2024-03-01
Изменена работа метода _calculate_last_finished_entity_export класса BaseExportLatestEntitiesData
Исправлено
- EDUSCHL-21503 PATCH ЭШ. Все модели РВД. Некорректное определение начала периода экспорта командой при сборе командой collect_latest_models_data
[2.0.0] - 2024-02-21
Параметр school_ids переименован в institute_ids.
Изменено
- EDUSCHL-20485 MAJOR Произвести переименование параметра school_ids на institute_ids
[1.0.2] - 2024-03-06
Добавлено разбиение на чанки запроса на обновление поля modified у невыгруженных записей,
при запуске команды export_latest_entities_data
.
Исправлено
- EDUSCHL-21572
PATCH Добавлено разбиение на чанки запроса на обновление в методе
_update_model_modified_field
классаBaseExportLatestEntitiesData
.
[1.0.1] - 2024-02-20
Исправлено ограничение сбора логов периодом RDM_TRANSFER_TASK_TIMEDELTA
в BaseCollectLatestModelsData
Исправлено
- EDUSCHL-21413
PATCH Исправлено ограничение сбора логов периодом
RDM_TRANSFER_TASK_TIMEDELTA
вBaseCollectLatestModelsData
[1.0.0] - 2024-01-31
Удален дублирующийся клаcc LogChange
из collect_data.non_calculated.base.caches
.
Удалено
- EDUSCHL-21308
MAJOR Удален дублирующийся клаcc
LogChange
изcollect_data.non_calculated.base.caches
.
[0.10.2] - 2024-02-05
Рефакторинг принудительного запуска функций без добавления их в очередь на исполнение.
В класс кеша BaseCollectingExportedDataFunctionCacheStorage расчетных и не расчетных функций добавлен метод _ignore_logs. Добавлена утилита build_related_model_graph для построения графа связей между моделями. Добавлен миксин BaseIgnoreLogMixin, для исключения из обработки логов на основании описанных зависимостей.
Добавлено
- EDUSCHL-20550 MINOR В класс кеша BaseCollectingExportedDataFunctionCacheStorage добавлен метод _ignore_logs. Добавлена утилита build_related_model_graph. Добавлен миксин BaseIgnoreLogMixin.
Изменено
- EDUSCHL-20274 MINOR Рефакторинг принудительного запуска функций без добавления их в очередь на исполнение.
[0.10.1] - 2024-02-02
Изменение в формировании LogChange. Не формируется LogChange с пустым fields.
Изменено
- EDUSCHL-21251 PATCH Изменение в формировании LogChange.
[0.10.0] - 2024-01-19
Добавлена поддержка Django 3.0. В класс кеша BaseCollectingExportedDataFunctionCacheStorage расчетных и не расчетных функций добавлен метод _ignore_logs. Добавлена утилита build_related_model_graph для построения графа связей между моделями. Добавлен миксин BaseIgnoreLogMixin, для исключения из обработки логов на основании описанных зависимостей.
Добавлено
- EDUSCHL-18051 MINOR Поднять версию Django до 3.0.14
- EDUSCHL-20550 MINOR В класс кеша BaseCollectingExportedDataFunctionCacheStorage добавлен метод _ignore_logs. Добавлена утилита build_related_model_graph. Добавлен миксин BaseIgnoreLogMixin.
[0.9.2] - 2024-01-17
Добавлена явная регистрация периодических асинхронных задач Celery. Поднятие версии зависимостей пакета celery.
Изменено
- EDUSCHL-14950 PATCH Добавлена явная регистрация периодических асинхронных задач Celery.
[0.9.1] - 2024-01-11
Добавлен реестр выбора сущностей для сбора и выгрузки данных. Удалена настройка RDM_TRANSFER_TASK_ENTITIES, вместо перечисления сущностей в конфиге используется реестр и модель TransferredEntity.
Добавлено
- EDUSCHL-21112 MINOR Добавлен реестр выбора сущностей для сбора и выгрузки данных.
Удалено
- EDUSCHL-21112 MINOR Удалена настройка RDM_TRANSFER_TASK_ENTITIES.
[0.9.0] - 2023-12-29
Из ЭШ перенесены периодические задачи по сбору статусов загрузки файлов в витрину, а также по поиску зависших этапов/подэтапов экспорта.
Также из ЭШ перенесены менедж-команды:
- check_upload_status - проверка состояния отправленных данных в витрину,
- collect_lastest_models_data - сбор на основе логов за период с последней сборки до указанной даты,
- export_latest_entities_data - экспорт данных за период с последней сборки до указанной даты.
Типы получаемых из log_change.fields полей соответствуют типам полей из логируемых моделей.
Добавлено
- EDUSCHL-21013 MINOR Перенесена часть асинхронных РВД задач из ЭШ, а также часть менедж-команд
Изменено
- EDUSCHL-20793 MINOR Типы получаемых из log_change.fields полей должны соответствовать типам полей из логируемых моделей
[0.8.6] - 2023-12-18
В метод _clean_data класса BaseCollectingFunctionTestCase добавлена возможность обрабатывать поля относящиеся к списковому типу (ArrayField).
Добавлено
- EDUSCHL-19606 PATCH В метод _clean_data класса BaseCollectingFunctionTestCase добавлена возможность обрабатывать поля относящиеся к списковому типу (ArrayField).
[0.8.5] - 2023-12-14
Формирование логов вынесено на уровень команды, а не менеджера. Добавлено формирование логов на этапе экспорта данных.
Добавлено
- EDUSCHL-20073 MINOR Логи при экспорте данных
Изменено
- EDUSCHL-20073 MINOR Формирование логов вынесено на уровень команды, а не менеджера.
[0.8.4] - 2023-12-13
Создание базовых хэлперов BaseCollectingDataFunctionHelper, BaseCollectingDataRunnerHelper. Создание нового метода get_filtered_operations в BaseCollectingDataFunctionHelper.
Добавлено
- EDUSCHL-21029 MINOR Создание базовых хэлперов.
[0.8.3] - 2023-12-13
Исправление ошибок и несоответствий в журнале логов
Изменено
- EDUCLLG-8103 MINOR Исправление ошибок и несоответствий в журнале логов .
[0.8.2] - 2023-12-11
Поднятие версии m3-db-utils,изменение UploaderClientLogManager
Изменено
- EDUCLLG-7736
MINOR Поднята версии m3-db-utils до 0.3.10, редактирован
UploaderClientLogManager
.
[0.8.1] - 2023-12-08
Исправлена ошибка внутри EntityEnumRegisterMixin
Изменено
- EDUCLLG-8098 PATCH Добавлена проверка на наличие атрибута main_model_enum.
[0.8.0] - 2023-12-08
Вынесен функционал просмотра логов РВД из ЭШ. Удалено перечисление UploadStatusEnum. Удалена модель UploadStatus статусов загрузки в витрину. Вместо неё добавлена модель-перечисление DataMartRequestStatus.
Изменено
- EDUCLLG-7736 MINOR Вынесен функционал просмотра логов РВД из ЭШ.
Удалено
- EDUSCHL-20965 MINOR - Удалено перечисление UploadStatusEnum. Удалена модель UploadStatus статусов загрузки в витрину.
Добавлено
- EDUSCHL-20965 MINOR - Вместо удаленной модели UploadStatus добавлена модель-перечисление DataMartRequestStatus.
[0.7.3] - 2023-12-07
Исправлена аннотация в шаблоне managers.py-tpl для функции экспорта.
Исправлено
- EDUSCHL-19604 PATCH Исправлена аннотация в шаблоне managers.py-tpl для функции экспорта.
[0.7.2] - 2023-12-05
В метод _clean_data класса BaseCollectingFunctionTestCase добавлена возможность обрабатывать поля относящиеся к временному типу. Добавление обработки plugins_info при генерации списка данных формирования команд.
Добавлено
- EDUSCHL-19507 PATCH В метод _clean_data класса BaseCollectingFunctionTestCase добавлена возможность обрабатывать поля относящиеся к временному типу.
- EDUSCHL-19507 PATCH Добавление обработки plugins_info при генерации списка данных формирования команд.
[0.7.1] - 2023-12-02
Доработано получение множества моделей на основе данных plugins_info при работе метода _get_loggable_models.
Изменено
- EDUSCHL-19576 PATCH Доработано получение множества моделей на основе данных plugins_info при работе метода _get_loggable_models.
[0.7.0] - 2023-12-02
Добавлено формирование логов для последующего скачивания. Доработаны шаблоны реализации Функций сбора и выгрузки данных. Написана документация для реализации функционала новой Сущности. Добавлено получение моделей на основе данных plugins_info при работе метода _get_loggable_models.
Добавлено
-
EDUSCHL-20072 MINOR - Реестр сбора и выгрузки. Логи
-
EDUSCHL-20954 PATCH Добавлена документация для реализации функционала новой Сущности.
Изменено
-
EDUSCHL-20954 PATCH Произведена доработка шаблонов Функций сбора и выгрузки данных.
-
EDUSCHL-19576 PATCH - Добавлено получение моделей на основе данных plugins_info при работе метода _get_loggable_models.
[0.6.10] - 2023-11-30
При добавлении префикса RDM_EXPORT_ENTITY_ID_PREFIX в классе BaseExportDataFunctionHelper учтены поля из get_ignore_prefix_key_fields.
Изменено
- EDUSCHL-20961 PATCH - При добавлении префикса RDM_EXPORT_ENTITY_ID_PREFIX в классе BaseExportDataFunctionHelper учтены поля - из get_ignore_prefix_key_fields.
[0.6.9] - 2023-11-30
Доработка обработки ответа при отправке файлов в РВД. Добавлены менедж-команды для загрузки данных и запроса статуса загрузки в РВД с использованием uploader-client. Добавлена инструкция по реализации тестов РВД. В BaseCollectingFunctionTestCase добавлен метод создания подэтапов сбора данных.
Добавлено
-
EDUSCHL-20946 PATCH - Доработка обработки ответа при отправке файлов в РВД.
-
EDUSCHL-20946 MINOR - Добавлены менедж-команды для загрузки данных и запроса статуса загрузки в РВД с использованием uploader-client.
-
EDUSCHL-20951 MINOR - Инструкция по реализации тестов РВД
-
EDUSCHL-20951 MINOR - Добавлен метод создания подэтапов сбора данных
[0.6.8] - 2023-11-24
Скорректировано описание сущности РВД TELECOM. Рефакторинг обновления полей modified у невыгруженных записей при работе экспорта сущностей. Временное решение обеспечения совместимости регистрации моделей и сущностей старого и нового подхода. Добавлена возможность отправки запросов в РВД через Proxy API uploader_client. Изменено формирование логов для последующей обработки.
Добавлено
- EDUSCHL-20854 MINOR - Добавлена возможность отправки запросов через Proxy API.
Изменено
- EDUSCHL-20808 MINOR - При сборе модели командой collect_latest_models_data сжигается память
Исправлено
-
EDUSCHL-20884 PATCH - Изменено название поля rank на rank_contact в сущности РВД TelecomEntity.
-
EDUSCHL-20711 PATCH - Доработан метод BaseExportLatestEntitiesData._update_model_modified_field.
-
EDUSCHL-20858 PATCH - Временное решение обеспечения совместимости регистрации моделей и сущностей старого и нового подхода.
[0.6.7] - 2023-11-01
Добавлен миксин EntityEnumRegisterMixin для регистрации сущностей в RegionalDataMartEntityEnum. Миксин ModelEnumRegisterMixin для регистрации моделей в RegionalDataMartModelEnum. Добавлены методы для запуска регистрации моделей и сущностей.
Добавлено
- EDUCLLG-7632 PATCH - Добавлен функционал регистрации моделей и сущностей в моделях-перечислениях.
[0.6.6] - 2023-10-16
Добавлен базовый класс для тестирования Функций сбора, добавлена явная зависимость Django.
Добавлено
- EDUSCHL-20684 PATCH - Базовый класс для тестирования Функций сбора;
- EDUSCHL-20684 PATCH - Добавлена зависимость Django.
[0.6.5] - 2023-10-11
Получение метода генерации логов вынесено в отдельный метод для избавления от необходимости хранить все методы в одном классе.
Исправлено
-
EDUCLLG-7634 PATCH - Получение метода генерации логов вынесено в отдельный метод для избавления от необходимости хранить все методы в одном классе;
-
EDUSCHL-20571 PATCH - При сборе актуальных данных моделей отслеживаются уже запущенные сборы и новый сбор по модели не запускается.
-
EDUSCHL-20571 PATCH - Указание назначения полей модели-перечисления сущностей RegionalDataMartEntityEnum;
-
EDUSCHL-20571 PATCH - Добавление возможности получения значений модели-перечисления RegionalDataMartEntityEnum моделей РВД для указанных сущностей.
[0.6.4] - 2023-10-09
Исправлена ошибка сборки, из-за которой файлы шаблонов *.py-tpl не попадали в пакет.
Добавлено
- EDUCLLG-7634 PATCH - Добавлено включение шаблонов *.py-tpl в пакет при сборке.
[0.6.3] - 2023-10-05
Доработка модели AbstractCollectDataCommandProgress и класса BaseFirstCollectModelsDataCommandsGenerator.
Добавлено
- EDUSCHL-20350 PATCH - Добавлено формирование id генерации для команд в классе BaseFirstCollectModelsDataCommandsGenerator. - Добавлены поля created, generation_id и institute_ids в модель AbstractCollectDataCommandProgress.
[0.6.2] - 2023-10-04
Изменено
- EDUCLLG-7942 PATCH Доработка сборки документации.
[0.6.1] - 2023-10-02
Дополнение поведения BaseExportDataFunctionHelper.
Изменено
- EDUSCHL-20535 PATCH - В логике BaseExportDataFunctionHelper добавлена очистка строковых полей от управляющих символов.
[0.6.0] - 2023-09-29
Добавлена функция set_failed_status_suspended_exporting_data_stages для определения и перевода зависших этапов/подэтапов экспорта в статус (FAILED). Добавлена функция set_failed_status_suspended_collecting_data_stages для определения и перевода зависших этапов/подэтапов сбора в статус (FAILED).
Добавлено
-
EDUSCHL-20487 MINOR Добавлена функция
set_failed_status_suspended_exporting_data_stages
. -
EDUSCHL-20487 MINOR Добавлена функция
set_failed_status_suspended_collecting_data_stages
.
[0.5.9] - 2023-09-25
Повышена версия wheel
Изменено
- EDUCLLG-7939 PATCH - Повышена версия wheel
[0.5.8] - 2023-09-13
Исправлена ошибка добавления в описание асинхронной задачи списка выгруженных сущностей BaseExportLatestEntitiesData._set_description_to_async_task.
Исправлено
- EDUSCHL-20334 PATCH - Баг с обновлением поля description в BaseExportLatestEntitiesData._set_description_to_async_task.
[0.5.7] - 2023-09-12
Баг фикс и дополнение поведения BaseExportLatestEntitiesData.
Изменено
- EDUSCHL-20435 PATCH - BaseExportLatestEntitiesData теперь поддерживает выгрузку ни разу невыгруженных сущностей.
Исправлено
- EDUSCHL-20435 PATCH - Баг с условием в фильтре в BaseExportLatestEntitiesData._update_model_modified_field.
[0.5.6] - 2023-09-06
Доработаны классы BaseExportLatestEntitiesData и BaseExportEntitiesData.
Исправлено
- EDUSCHL-20435 PATCH - Исправлено нахождение левой границы в классе ExportLatestEntitiesData; - Добавлена проверка на наличие запущенных или готовых к выгрузке сущностей; - Добавлен параметр update_modified, который обновляет поле modified у собранных моделей, чтобы выгрузить невыгруженные записи.
[0.5.5] - 2023-09-04
Добавление pip в зависимости сборки пакета.
Добавлено
- EDUSCHL-19919 PATCH Добавление pip в зависимости сборки пакета.
[0.5.4] - 2023-09-04
split_by_days_count переименовал в split_by_quantity.
Изменено
- EDUSCHL-20302 PATCH split_by_days_count переименовал в split_by_quantity.
[0.5.3] - 2023-09-03
Изменены параметры формирования подпериодов в generate_first_collect_models_data_script.
Изменено
- EDUSCHL-20302 PATCH Изменены параметры формирования подпериодов в generate_first_collect_models_data_script.
[0.5.2] - 2023-08-28
Замена базового класса функций.
Изменено
- EDUSCHL-20344 PATCH Замена базового класса функций на WebEduLazySavingPredefinedQueueFunction.
[0.5.1] - 2023-08-22
Для BaseFirstCollectModelsDataCommandsGenerator добавлено условие - если не заполнен creating_trigger_models, то словарь с данными для команды не передается.
Исправлено
-
EDUSCHL-20227 PATCH Если у сущности не заполнен creating_trigger_models, то в генераторе BaseFirstCollectModelsDataCommandsGenerator не формируется словарь с параметрами для команды.
-
EDUSCHL-20229 PATCH Если у сущности не заполнен creating_trigger_models, то в генераторе BaseFirstCollectModelsDataCommandsGenerator не формируется словарь с параметрами для команды.
[0.5.0] - 2023-08-19
Дополнительная функциональность WebEduEntityValueCache была перенесена в EntityCache в function_tools.
Удалено
-
EDUSCHL-20277 MINOR Удален WebEduEntityValueCache.
-
EDUSCHL-20277 MINOR Удален WebEduEntityCacheExtended.
[0.4.7] - 2023-08-17
Изменено формирование очередности сбора/экспорта моделей/сущностей. Вместо отдельных перечислений используется существующее поле order_number
модели-перечисления TitledModelEnum
. В случае, когда order_number
не указан, т.е. будет использоваться значение по умолчанию DEFAULT_ORDER_NUMBER
, модель/сущность будет исключена из сбора/экспорта.
Изменено
- EDUSCHL-19164 MINOR Изменено формирование очередности сбора/экспорта моделей/сущностей.
[0.4.6] - 2023-08-16
Удален лишний вызов метода _prepare_logs
Исправлено
- EDUSCHL-19991
PATCH удален лишний вызов метода
_prepare_logs
в методе__init__
классаBaseCollectingCalculatedExportedDataFunctionCacheStorage
[0.4.5] - 2023-08-09
Объединение обрабатываемых логов относящихся к одному объекту
Добавлено
- EDUSCHL-19991
PATCH Новый миксин
ReformatLogsMixin
, новое поле is_merge_logs и новый метод _merge_logs у классаBaseCollectingExportedDataFunctionCacheStorage
[0.4.4] - 2023-08-12
Исправлен баг с timedelta
Исправлено
- EDUSCHL-20200 PATCH Исправлен баг с timedelta.
[0.4.3] - 2023-08-12
Исправлен баг с timedelta
Исправлено
- EDUSCHL-20200 PATCH Исправлен баг с timedelta.
[0.4.2] - 2023-08-11
Исправление ошибки учета миллисекунд, при генерации скриптов сбора и выгрузки данных. В текущий момент chunk_size все равно работает некорректно. Это связано с тем, что при обнулении миллисекунд за одной записью выборки может скрываться большое количество, например, которые были созданы или обновлены скриптами. Проблему необходимо решить в будущем, но текущего решения хватает для эксплуатации. В выборках моделей и логов не должна входить правая граница периода выборки.
Исправлено
-
EDUSCHL-20235 PATCH Исправлена ошибка учета миллисекунд в выборках при генерации скриптов с командами для сбора и выгрузки данных.
-
EDUSCHL-20235 PATCH В выборках моделей и логов не должна входить правая граница периода выборки.
[0.4.1] - 2023-08-09
Доработки для реализации принудительного выполнения функций экспорта данных сущностей.
Добавлено
- EDUSCHL-20235 PATCH Доработки для реализации принудительного выполнения функций экспорта данных сущностей.
[0.4.0] - 2023-08-09
Реализованы общие классы для команд сбора/экспорта.
Добавлено
- EDUSCHL-20200 MINOR Добавлены общие модели, методы и классы.
Изменено
- EDUSCHL-20200 MINOR Реализованы общие классы для команд сбора/экспорта.
[0.3.3] - 2023-08-08
Добавлено принудительное выполнение функций в ранере для экономии памяти.
Исправлено
- EDUSCHL-20235 PATCH Добавлено принудительное выполнение функций в ранере для экономии памяти.
[0.3.2] - 2023-08-08
Откат к спискам необработанных логов. Исправлена ошибка бесконечного создания чанков логов.
Исправлено
- EDUSCHL-20235 PATCH Откат к спискам необработанных логов.
[0.3.1] - 2023-08-08
Организована передача необработанных логов в виде генератора.
Изменено
- EDUSCHL-20235 PATCH Организована передача необработанных логов в виде генератора.
[0.3.0] - 2023-08-06
Добавление функциональности для отложенного заполнения кешей. Заполнение производится перед началом работы запускаемого объекта.
Добавлено
-
EDUSCHL-20235 PATCH Добавлено отложенное заполнение кешей хелперов функций.
-
EDUSCHL-20235 MINOR Добавлено проставление подэтапа выгрузки данных у записей моделей.
[0.2.2] - 2023-08-06
Для API РВД добавлена поддержка параметра типа операции для загрузки данных.
Добавлено
- EDUSCHL-19920 PATCH Для API РВД добавлена поддержка параметра типа операции для загрузки данных.
[0.2.1] - 2023-08-05
Восстановление сборки пакета после ухода с poetry.
Исправлено
- EDUSCHL-19919 PATCH Восстановление сборки пакета после миграции с poetry.
[0.2.0] - 2023-08-04
Перенос стратегий формирования Функций используемых в генерации исходников.
Добавлено
- EDUSCHL-19919 MINOR Перенесены стратегии создания Функций из ЭШ.
[0.1.4] - 2023-08-03
Возвращение ранее удаленных зависимостей миграции
Изменено
-
EDUSCHL-20209 PATCH Возвращение зависимостей миграции.
-
EDUSCHL-20209 PATCH Доработки по формированию документации.
-
EDUSCHL-20200 Закреплены версии зависимостей, добавлена ссылка на uploader-client
[0.1.3] - 2023-07-24
Для раскатки миграций на ЭШ, пришлось закомментировать зависимости в initial-миграции.
Изменено
- EDUSCHL-19919 PATCH Вынести общую часть для работы с РВД из ЭШ для использования в ЭК.
[0.1.2] - 2023-07-23
Внесены изменения в кодовую базу после переноса механизма логирования из ЭШ в educommon.
Изменено
- EDUSCHL-19919 PATCH Вынести общую часть для работы с РВД из ЭШ для использования в ЭК.
[0.1.0] - 2023-07-18
Внесены изменения в кодовую базу после переноса механизма логирования из ЭШ в educommon.
Добавлено
- EDUSCHL-19919 MINOR Перенос базовых компонентов интеграции с РВД из ЭШ.
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 Distribution
Built Distribution
File details
Details for the file edu-rdm-integration-3.4.8.tar.gz
.
File metadata
- Download URL: edu-rdm-integration-3.4.8.tar.gz
- Upload date:
- Size: 141.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a975cea01a755b59f34eb3986e088cfcdad686d0254f25b5e8ed1858b3a000ec |
|
MD5 | 275835ca47620aae7c4ba9da72d90d22 |
|
BLAKE2b-256 | 20583e6c78a83ce8ad43cb293f8e6f64bb5d1607a6ae196d3aa664661184e6ef |
File details
Details for the file edu_rdm_integration-3.4.8-py3-none-any.whl
.
File metadata
- Download URL: edu_rdm_integration-3.4.8-py3-none-any.whl
- Upload date:
- Size: 185.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90c7085d8c6db362c4bc9976c7e3560387c0dd35307c4e42ef423fe641701a66 |
|
MD5 | c05739214e15ad78981f248ee5d4badb |
|
BLAKE2b-256 | 2caa67b5e29dbd6a1ee0f3e0106dbb783b898c06ae2aa4408809d32e06f37454 |