CUBRID용 Python 드라이버를 Pure Python으로 만들어봤습니다.

기존 CUBRID Python 드라이버는 C extension 기반이라, Python 버전이나 OS, CI/CD 환경에 따라 설치와 배포가 조금 번거로울 수 있습니다.

pycubrid는 이 부분을 줄여보려고 만든 드라이버입니다. 목표는 단순합니다.

pip install pycubrid  

이렇게 설치하고, Python DB-API 2.0 방식으로 CUBRID에 연결해서 쓰는 것입니다.

간단한 사용 예시는 이런 형태입니다.

import pycubrid  
  
conn = pycubrid.connect(  
    host="localhost",  
    port=33000,  
    database="demodb",  
    user="dba",  
    password="",  
)  
  
with conn.cursor() as cur:  
    cur.execute("SELECT 1")  
    print(cur.fetchone())  
  
conn.close()  

현재 기본적인 연결, 쿼리 실행, cursor, transaction 같은 DB-API 사용성은 어느 정도 맞춰두었습니다. 타입 힌트, asyncio API, SQLAlchemy 연동도 같이 지원하고 있습니다.

다만 실제 사용 환경은 다양할 수 있어서, CUBRID를 Python에서 써보신 분들의 피드백을 받고 싶습니다. 기존 드라이버를 쓰면서 불편했던 점이나 DB-API/SQLAlchemy 관점에서 필요한 기능이 있다면 의견 부탁드립니다.

CUBRID가 대중적인 DB는 아니지만, 국내 공공/기업 시스템에서 만나는 경우가 있어 Python 쪽 사용성이 조금 더 좋아지면 의미가 있지 않을까 생각하고 있습니다.