ansir 님의 블로그

Python 패키지 개발( +GitHub ) 본문

컴퓨터 언어/Python

Python 패키지 개발( +GitHub )

ansir 2025. 5. 16. 17:42

Python 패키지 개발 ~ GitHub + Colab 설치 흐름 (pyproject.toml 기반)


1. 패키지 폴더 구조 만들기

my_package/
├── my_package/               ← 실제 패키지 코드
│   ├── __init__.py
│   └── my_module.py
│
├── README.md                 ← 패키지 설명
├── pyproject.toml            ← 설치 설정의 핵심 파일
├── .gitignore                ← Git에 제외할 항목
└── LICENSE                   ← (선택) 라이선스 파일

2. 코드 예시

my_package/my_module.py

def hello():
    return "Hello from my_package!"

3. pyproject.toml 작성

pyproject.toml

[build-system]
requires = ["setuptools>=64", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "my_package"
version = "0.1.0"
description = "A sample Python package"
authors = [
    { name = "Your Name", email = "your@email.com" }
]
readme = "README.md"
requires-python = ">=3.7"
license = { text = "MIT" }

[project.urls]
"Homepage" = "<https://github.com/your_username/my_package>"

4. .gitignore 파일 작성

.gitignore

루트 디렉토리에 다음 내용으로 생성:

__pycache__/
*.pyc
*.pyo
*.pyd
*.egg-info/
dist/
build/
.env
.venv
.ipynb_checkpoints/
.DS_Store

5. 로컬에서 설치 테스트

cd my_package/
pip install -e .

테스트

from my_package.my_module import hello
print(hello())  # "Hello from my_package!"

6. GitHub에 업로드

  1. GitHub에서 새 저장소 생성 (예: my_package)
  2. 로컬에서 Git 초기화 및 업로드
git init
git remote add origin <https://github.com/your_username/my_package.git>
git add .
git commit -m "first commit"
git branch -M main
git push -u origin main

7. Colab에서 설치 테스트

!pip install git+https://github.com/your_username/my_package.git

이후 코드 사용

from my_package.my_module import hello
hello()

추가 팁

  • 패키지 이름 변경하고 싶으면 pyproject.toml의 name 필드만 수정하면 됨.
  • LICENSE 파일은 MIT, Apache, BSD 중 하나 선택해서 추가하는 걸 권장.
  • 패키지에 의존성이 있다면 dependencies = [...] 항목을 project 아래에 추가.
반응형