DairyBrainUtils — это пакет PyPI с некоторыми базовыми функциями для взаимодействия с базой данных PostgreSQL.
На данный момент он размещен на TestPyPI. Если дистрибутив TestPyPI был очищен, свяжитесь с автором, чтобы повторно загрузить его.
Чтобы установить последнюю версию пакета, используйте команду в PyPI.
Если ссылка выше не работает, попробуйте:
pip install DairyBrainUtils
После установки мы рекомендуем вам импортировать пакет с помощью import DairyBrainUtils as dbu
.
(Обновление: проблема была решена после загрузки в официальный PyPI). Если вы видите такое сообщение об ошибке:
ERROR: Could not find a version that satisfies the requirement DairyBrainUtils-ruipeterpan==0.3.0 (from versions: 0.0.3, 0.0.4, 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1)
ERROR: No matching distribution found for DairyBrainUtils-ruipeterpan==0.3.0
попробуйте установить еще раз. TestPyPI странный.
Список функций, доступных для использования:
get_engine(credentials)
check_if_database_exists(db_engine)
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
create_table(db_engine, table_name, sql_statement)
create_schema(db_engine, schema_name)
create_sequence(db_engine, sequence_name)
get_next_from_sequence(db_engine, sequence_name)
populate_table_from_csv(table_name, csv_location, db_engine)
execute_statement(statement, db_engine)
drop_table(table_name, db_engine)
has_table(table_name, db_engine)
get_engine(credentials)
Принимает credentials
словаря с ключами: [dialect, user, password, host, port, db_name, log]
и передает эти учетные данные в sqlalchemy.create_engine() для создания нового экземпляра механизма.
dialect
: Строка. Диалект базы данных. На данный момент этот пакет поддерживает только postgresql
.user
: Строка. Имя пользователя в базе данных.password
: Строка. Пароль, связанный с пользователем.host
: Строка. Имя хоста.port
: целое число. Номер порта.db_name
: Строка. Имя базы данных.log
: логическое значение. Если принимает значение True, движок будет регистрировать все операторы, а также repr() их списков параметров в средстве ведения журнала движков, которое по умолчанию имеет значение sys.stdout.check_if_database_exists(db_engine)
Используйте существующие функции sqlalchemy, чтобы проверить, существует ли база данных. Возвращает «True», если база данных существует, в противном случае — «False».
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
Создает таблицу с table_name
в базе данных, если таблица с данным именем не существует.
sql_statement
— это оператор CREATE TABLE
, который определяет заголовки создаваемой таблицы.
create_table(db_engine, table_name, sql_statement)
Создает таблицу с именем table_name в базе данных.
sql_statement
— это оператор CREATE TABLE
, который определяет заголовки создаваемой таблицы.
create_schema(db_engine, schema_name)
Создает схему с заданным schema_name
в указанной базе данных.
create_sequence(db_engine, sequence_name)
Создает последовательность в базе данных.
get_next_from_sequence(db_engine, sequence_name)
Возвращает следующий целочисленный идентификатор в заданной последовательности (при условии, что он существует)
populate_table_from_csv(table_name, csv_location, db_engine)
Принимает csv_location
, путь к файлу csv, и заполняет таблицу заданным table_name
(при условии, что оно существует) в указанной базе данных.
execute_statement(statement, db_engine)
Выполняет инструкцию SQL в указанной базе данных.
drop_table(table_name, db_engine)
Удаляет таблицу с table_name
в указанной базе данных.
has_table(table_name, db_engine)
Возвращает True
, если в указанной базе данных существует таблица с заданным table_name
, в противном случае возвращает False
В этом руководстве приведены инструкции по упаковке проекта Python и загрузке его в PyPI (указатель пакетов Python). Это пример проекта с лучшим форматом.
Чтобы опубликовать новую версию пакета, отредактируйте ./DairyBrainUtils/__init__.py
, измените номер версии в setup.py
и опубликуйте архивы дистрибутива, следуя инструкциям.
Точнее, сделайте:
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
Теперь необходимо создать каталог dist
с двумя файлами. Если пакет должен быть размещен на локальном сервере, просто возьмите файл .whl
и используйте pip
для установки пакета.
Для загрузки дистрибутива в TestPyPI выполните:
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
Используйте __token__
, когда будет предложено ввести имя пользователя. В качестве пароля используйте значение токена, включая префикс pypi-
.