Upload educational sample data to PostgreSQL database
Project description
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-файлы с данными, которые использует данное приложение для загрузки в базу.
Другие ссылки
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scooters_data_uploader-1.2.1.tar.gz.
File metadata
- Download URL: scooters_data_uploader-1.2.1.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8df72f2f6f968641a1b1f650779ec645255eebcabefdd690d7c5cdbba21d8a9
|
|
| MD5 |
8f32f9b7f5d62aead11d4126a08dff5d
|
|
| BLAKE2b-256 |
e7ddc1e77e9c7a545b09d271c89c19fdfd6bea50c457c29fb19d5b31b0764430
|
Provenance
The following attestation bundles were made for scooters_data_uploader-1.2.1.tar.gz:
Publisher:
build_and_release.yml on Inzhenerka/scooters_data_uploader
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scooters_data_uploader-1.2.1.tar.gz -
Subject digest:
c8df72f2f6f968641a1b1f650779ec645255eebcabefdd690d7c5cdbba21d8a9 - Sigstore transparency entry: 574792004
- Sigstore integration time:
-
Permalink:
Inzhenerka/scooters_data_uploader@867e7e50485ab80a7e1677c7f60df31d2ba99364 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Inzhenerka
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_release.yml@867e7e50485ab80a7e1677c7f60df31d2ba99364 -
Trigger Event:
push
-
Statement type:
File details
Details for the file scooters_data_uploader-1.2.1-py3-none-any.whl.
File metadata
- Download URL: scooters_data_uploader-1.2.1-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aaff91ec4cd49116124215f0b7625318661448e387eaaefe334103d2ddd61dbe
|
|
| MD5 |
fb7f158e3ced4cf3e41a078cd9b2082d
|
|
| BLAKE2b-256 |
d24e3372d65b38e5cb971961978e727423280a6b2b72361604150e9a554c304f
|
Provenance
The following attestation bundles were made for scooters_data_uploader-1.2.1-py3-none-any.whl:
Publisher:
build_and_release.yml on Inzhenerka/scooters_data_uploader
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scooters_data_uploader-1.2.1-py3-none-any.whl -
Subject digest:
aaff91ec4cd49116124215f0b7625318661448e387eaaefe334103d2ddd61dbe - Sigstore transparency entry: 574792009
- Sigstore integration time:
-
Permalink:
Inzhenerka/scooters_data_uploader@867e7e50485ab80a7e1677c7f60df31d2ba99364 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Inzhenerka
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_and_release.yml@867e7e50485ab80a7e1677c7f60df31d2ba99364 -
Trigger Event:
push
-
Statement type: