Scooters Data Uploader
Простой инструмент для загрузки данных о скутерах в базу данных PostgreSQL на основе DuckDB в рамках симулятора Data Warehouse Analytics Engineer на базе dbt для инженеров и аналитиков данных от школы ИнженеркаТех.
Несмотря на то, что телеграм-бот dbt Data Bot позволяет проще загрузить данные в базу данных через интернет, данный проект работает с локальными и приватными базами.
Подготовка
Проще всего работать с приложением через пакетный менеджер uv. Его
нужно установить.
Один из вариантов установки:
pip install uv
После установки убедитесь, что uv доступен и работает с приложением:
uvx scooters-data-uploader
Использование uvx позволяет избежать клонирования репозитория и установки зависимостей, делая процесс простым и
чистым.
Подготовка адреса базы данных
Нужно подготовить адрес базы данных в формате Database URI:
postgresql://<user>:<password>@<host>:<port>/<database>
Пример (стандартный адрес для локального PostgreSQL):
postgresql://postgres:postgres@localhost:5432/postgres
Загрузка данных
Для загрузки данных из удаленного репозитория в базу данных выполните команду upload,
передав адрес базы данных в качестве аргумента:
uvx scooters-data-uploader upload <database_uri>
Пример:
uvx scooters-data-uploader upload postgresql://postgres:postgres@localhost:5432/postgres
Проверка свежести данных
Для проверки свежести данных в базе выполните команду version, передав адрес базы данных в качестве аргумента:
uvx scooters-data-uploader version <database_uri>
Пример:
uvx scooters-data-uploader version postgresql://postgres:postgres@localhost:5432/postgres
Другие команды
Открыть Telegram-бота для загрузки данных через интернет:
uvx scooters-data-uploader bot
Скачать SQL-файл со всеми данными для загрузки через psql:
uvx scooters-data-uploader sql
Помощь
Для получения справки по использованию утилиты выполните команды:
uvx scooters-data-uploader --help
uvx scooters-data-uploader upload --help
uvx scooters-data-uploader version --help
Альтернативные способы получения данных
Импорт из SQL-файла
Если приложение по какой-то причине не работает, можно воспользоваться штатными средствами PosgtreSQL (psql, pg_restore), чтобы создать схему со всеми таблицами из файла scooters_raw.sql.
Пример команды для загрузки данных из файла:
psql -U postgres -d postgres < scooters_raw.sql
Загрузка через бота
Телеграм-бот dbt Data Bot позволяет загрузить данные в базу данных, доступную через интернет.
Источник данных
Данные созданы в симуляторе поездок scooters_data_generator. Там же можно найти ссылки на опубликованные parquet-файлы с данными, которые использует данное приложение для загрузки в базу.
Другие ссылки
Metadata
Release files for scooters-data-uploader 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scooters_data_uploader-1.2.1.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scooters_data_uploader-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.8 kB
Release files / scooters_data_uploader-1.2.1.tar.gz
| Download URL | scooters_data_uploader-1.2.1.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8df72f2f6f968641a1b1f650779ec645255eebcabefdd690d7c5cdbba21d8a9
|
|
BLAKE2b-256 checksum How to use checksums |
e7ddc1e77e9c7a545b09d271c89c19fdfd6bea50c457c29fb19d5b31b0764430
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2025.
Transparency logRelease files / scooters_data_uploader-1.2.1-py3-none-any.whl
| Download URL | scooters_data_uploader-1.2.1-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aaff91ec4cd49116124215f0b7625318661448e387eaaefe334103d2ddd61dbe
|
|
BLAKE2b-256 checksum How to use checksums |
d24e3372d65b38e5cb971961978e727423280a6b2b72361604150e9a554c304f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2025.
Transparency log