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
이제 두 개의 파일로 구성된 dist
디렉터리가 생성되어야 합니다. 패키지가 로컬 서버에서 호스팅되는 경우 .whl
파일을 가져오고 pip
사용하여 패키지를 설치하면 됩니다.
배포 패키지를 TestPyPI에 업로드하려면 다음을 수행하십시오.
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
사용자 이름을 입력하라는 메시지가 나타나면 __token__
사용하세요. 비밀번호에는 pypi-
접두사를 포함한 토큰 값을 사용합니다.