PyPI Distribution Motivation
I needed a library that converts files directly into LLM-ready chunks.
Distribution Pipeline
flowchart TD
A[코드 작성] --> B[pyproject.toml 설정]
B --> C[버전 범프]
C --> D[GitHub Push]
D --> E{GitHub Actions}
E --> F[빌드]
F --> G[PyPI 업로드]
G --> H["pip install contextifier"]
E -.->|workflow_dispatch| I[수동 배포 트리거]
pyproject.toml Configuration
[project]
name = "contextifier"
version = "0.2.2"
description = "다양한 문서 형식을 AI가 이해할 수 있는 텍스트로 변환"
authors = [{name = "CocoRoF"}]
requires-python = ">=3.9"
GitHub Actions Workflow
The workflow is configured to support manual deployment triggers via workflow_dispatch, which comes in handy for emergency patches.
Naming Mistake
I initially published the package under the name "Contextify", but since a package with that name already existed on npm, I renamed it to "Contextifier" to avoid confusion. The rename happened in v0.1.1 and required updating the GitHub repository name, documentation, and all workflow files.
Version History
v0.1.0 → v0.1.1 (rename) → v0.1.5 (OCR 개선) → v0.1.6 (차트 추출) → v0.2.0 (테이블 인터페이스) → v0.2.1 (문서화) → v0.2.2 (청킹 개선)
Seven version bumps in three weeks. I iterated quickly and incorporated user feedback along the way.
Lessons Learned
- Choose your name carefully from the start — renaming later is costly
workflow_dispatchis invaluable — a manual trigger option in your CI/CD pipeline is a must- Follow semver properly — define clear criteria for what warrants a minor version bump