DairyBrainUtils は、PostgreSQL データベースと対話するためのいくつかの基本機能を備えた PyPI パッケージです。
現時点では、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)
キー[dialect, user, password, host, port, db_name, log]
を含む辞書credentials
を取得し、これらの資格情報を 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)
指定されたシーケンス内の次の整数 ID を返します (存在すると仮定します)。
populate_table_from_csv(table_name, csv_location, db_engine)
csv ファイルのファイル パスであるcsv_location
を取得し、指定されたデータベース内のテーブルに指定されたtable_name
(テーブルが存在すると仮定) を設定します。
execute_statement(statement, db_engine)
指定されたデータベースで SQL ステートメントを実行します。
drop_table(table_name, db_engine)
指定されたデータベース内のtable_name
のテーブルを削除します。
has_table(table_name, db_engine)
指定されたデータベースに指定されたtable_name
のテーブルが存在する場合はTrue
を返し、それ以外の場合はFalse
を返します。
Python プロジェクトをパッケージ化し、PyPI (Python Package Index) にアップロードする方法については、このチュートリアルを参照してください。最適なフォーマットのサンプルプロジェクトです。
パッケージの新しいバージョンを公開するには、 ./DairyBrainUtils/__init__.py
を編集し、 setup.py
のバージョン番号を変更し、チュートリアルに従って配布アーカイブを公開します。
より具体的には、次のようにします。
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
ここで、2 つのファイルを含むdist
ディレクトリが作成されるはずです。パッケージをローカル サーバーでホストする場合は、 .whl
ファイルを取得し、 pip
を使用してパッケージをインストールします。
配布パッケージを TestPyPI にアップロードするには、次の手順を実行します。
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
ユーザー名の入力を求められたら、 __token__
を使用します。パスワードには、 pypi-
プレフィックスを含むトークン値を使用します。