왜 파이썬은 전 세계 개발자들의 선택이 되었을까?
파이썬이 오늘날 가장 인기 있는 프로그래밍 언어 중 하나로 자리잡은 것은 단순히 "배우기 쉽다" 는 이유만으로는 설명할 수 없습니다.
물론 직관적인 문법과 낮은 러닝커브가 초보자들에게 매력적인 진입점을 제공한 것은 사실입이나
파이썬의 진정한 힘은 풍부하고 다양한 생태계에 있습니다.
생태계가 만들어낸 선순환 구조
파이썬의 성공 비결은 언어 자체의 단순함과 생태계의 복잡함 사이의 절묘한 균형에 있습니다.
- 빠른 프로토타이핑: 아이디어를 코드로 구현하는 속도가 빠름
- 풍부한 라이브러리: 바퀴를 재발명할 필요 없는 Ready-to-use 솔루션들
- 활발한 커뮤니티: 지속적인 개선과 새로운 도구들의 등장
- 범용성: 웹 개발부터 AI까지 거의 모든 분야를 아우름
이러한 요소들이 서로 맞물리면서 더 많은 개발자들이 파이썬을 선택하게 되고, 더 많은 라이브러리가 개발되며,
강력한 생태계를 형성하는 선순환 구조를 만들어냈습니다.

특화된 도메인별 솔루션들
파이썬 생태계의 가장 큰 특징 중 하나는 도메인별 특화된 라이브러리들이 풍부하다는 점입니다.
데이터 과학자는 NumPy와 Pandas를, 웹 개발자는 Django와 Flask를, AI 연구자는 TensorFlow와 PyTorch를 사용할 수 있습니다.
각 분야의 전문가들이 만든 고품질의 도구들이 파이썬이라는 하나의 언어로 통합되어 있는 것입니다.
이 글에서 다룰 내용
본 포스트에서는 파이썬 생태계를 구성하는 핵심 라이브러리들을 목적별로 분류하여 소개합니다.
각 라이브러리의 주요 기능과 사용 사례, 그리고 관련 리소스 링크를 함께 제공해보고자 합니다.
"파이썬의 성공은 언어 자체가 아니라, 그 언어 위에 구축된 생태계에 있다"
01 날짜 및 시간 처리
- datetime: 날짜와 시간을 다루는 파이썬 표준 라이브러리. 날짜, 시간 객체를 생성하고 계산하는 데 사용.
- Arrow: 날짜와 시간을 더 쉽고 직관적으로 다루는 라이브러리. datetime의 불편한 점을 개선해 사용자 친화적인 API 제공.
- pendulum: 날짜와 시간을 강력하게 다루는 라이브러리. 시간대 처리, 날짜/시간 연산 등 다양한 기능을 편리하게 제공.
- python-dateutil: datetime 라이브러리의 확장판. 일반적인 날짜 문자열 파싱, 상대적인 날짜/시간 계산 등 복잡한 날짜 처리 지원.
- zoneinfo: Python 3.9+에 내장된 IANA 시간대 데이터베이스 지원 라이브러리. 정확한 시간대 정보를 다루는 데 유용.
- pytz: IANA 시간대 데이터베이스를 지원하는 라이브러리. 전 세계 시간대 변환 및 현지화에 필수적.
02 파일 및 시스템 처리
- glob: 패턴 매칭 기반 파일 목록 찾기 라이브러리. 특정 패턴과 일치하는 파일이나 디렉터리를 쉽게 검색.
- os: 운영 체제와 상호 작용하는 표준 라이브러리. 파일 경로, 환경 변수, 프로세스 관리 등 운영체제 기능을 제어.
- pathlib: 객체 지향 파일 시스템 경로 라이브러리. 파일 및 디렉터리 경로를 객체로 다루어 코드 가독성 향상.
- shutil: 고수준 파일 연산 라이브러리. 파일 복사, 이동, 삭제, 압축 등 복잡한 파일 작업을 간편하게 수행.
- sys: 시스템 특정 파라미터와 함수를 제공하는 라이브러리. 파이썬 인터프리터 제어 및 시스템 환경 정보 접근.
- tempfile: 임시 파일과 임시 폴더 생성 라이브러리. 프로그램 실행 중 임시 데이터를 저장하고 자동으로 정리.
- time: 시간 액세스와 변환 라이브러리. 시간 지연, 시스템 시간 조회 등 기본적인 시간 관련 기능 제공.
03 데이터 과학 및 분석
- Algorithms: 알고리즘과 자료 구조 파이썬 구현체. 다양한 컴퓨터 과학 알고리즘을 파이썬으로 구현하여 학습 및 활용.
- Apache PyArrow: 대규모 데이터 처리 도구. 컬럼 기반의 인메모리 데이터 형식을 제공하여 빅데이터 분석 성능을 향상.
- Faker: 가짜 데이터 생성 도구. 개발 및 테스트 목적으로 이름, 주소, 이메일 등 다양한 종류의 더미 데이터 생성.
- Jupyter: 웹 기반 대화형 컴퓨팅 환경. 코드 작성, 실행, 결과 시각화를 한곳에서 처리하여 데이터 분석 및 연구에 최적화.
- Pyvis: 대화형 네트워크 그래프 시각화. 네트워크 데이터의 구조와 관계를 시각적으로 탐색하고 이해하는 데 도움.
- Kiwisolver: 효율적인 제약 조건 해결 알고리즘. 수치적인 제약 조건을 만족하는 최적의 해를 빠르고 정확하게 계산.
- NumPy: 고성능의 수치 계산을 위한 핵심 라이브러리. 다차원 배열 객체를 지원하며, 과학 및 공학 분야에서 광범위하게 사용.
- CuPy: CUDA 기반 Numpy 호환 API. GPU를 활용하여 NumPy 연산을 가속화, 딥러닝 및 대규모 데이터 처리 성능 향상.
- Dask: 병렬 컴퓨팅 라이브러리. 대규모 데이터셋을 분산 처리하여 메모리 제한을 극복하고 처리 속도 향상.
- JAX: NumPy API 기반 고성능 수치 계산 라이브러리. 자동 미분 기능과 GPU/TPU 지원을 통해 머신러닝 연구에 강력한 도구.
- Flax: Jax를 위한 강력한 신경망 라이브러리. JAX의 기능을 활용하여 효율적이고 유연한 딥러닝 모델 구축.
- NumPyro: JAX 기반 확률 프로그래밍 언어. 통계 모델링과 베이즈 추론을 위한 유연하고 확장 가능한 프레임워크.
- Joblib: NumPy memmap in joblib.Parallel. 파이썬 함수를 병렬로 실행하여 대규모 데이터 처리 속도 향상.
- Ray: 고성능 분산 컴퓨팅을 위한 라이브러리. 복잡한 분산 애플리케이션 및 AI 워크로드를 쉽게 구축하고 실행.
- xarray: 다차원 배열을 쉽게 다루기 위한 라이브러리. 레이블이 있는 다차원 배열을 지원하여 과학 데이터 분석을 간소화.
- Pandas: 데이터 조작 및 분석을 위한 핵심 도구. 테이블 형태의 데이터를 효율적으로 처리하고 분석하는 데 필수적.
- GeoPandas: 지리적 데이터 조작 및 시각화. Pandas의 기능을 확장하여 지리 공간 데이터(GIS)를 쉽게 다룰 수 있도록 지원.
- PandasAI: Pandas DataFrame의 AI 접근 라이브러리. LLM을 활용하여 자연어로 DataFrame을 조작하고 분석.
- cuDF: GPU 가속 DataFrames. Pandas와 유사한 API를 제공하며, GPU를 활용하여 데이터 처리 속도 대폭 향상.
- modin: Pandas 기반 분산 데이터 프레임. Pandas 코드를 거의 변경 없이 대규모 데이터를 분산 처리.
- polars: Rust 기반 고성능 데이터 프레임 라이브러리. Rust 언어의 성능을 활용하여 Pandas보다 빠른 데이터 처리 속도 제공.
- PySpark: Apache Spark의 Python API. 대규모 데이터셋을 분산 처리하고 분석하는 데 사용.
- Shapely: 공간 데이터 조작 및 분석. 2D 지리 공간 객체(점, 선, 다각형)를 생성하고 조작하는 데 특화.
- Taichi: 고성능 프로그래밍 언어 및 컴퓨터 프레임워크. 병렬 계산을 위한 DSL을 제공하여 물리 시뮬레이션 및 그래픽스 개발.
- The Algorithms: 알고리즘과 자료 구조 파이썬 구현체. 다양한 컴퓨터 과학 알고리즘을 파이썬으로 구현하여 학습 및 활용.
- autograd: 자동 미분 라이브러리. NumPy 함수에 대한 그래디언트를 자동으로 계산하여 최적화 및 딥러닝 연구에 활용.
- datatable: 대용량 테이블 데이터 처리. 메모리 효율적이고 빠른 데이터 처리 기능을 제공하여 큰 데이터셋 분석에 적합.
- python-patterns: 디자인 패턴 파이썬 구현체. 소프트웨어 디자인 패턴을 파이썬으로 구현하여 코드 설계 및 재사용성 향상.
- vaex: Lazy 연산 기반 큰 데이터셋 처리. 메모리에 데이터를 모두 로드하지 않고도 대규모 데이터를 빠르게 처리하고 시각화.
04 과학 및 공학
- Astropy: 천문학 데이터 분석 및 시각화 라이브러리. 천문학 연구에 필요한 단위, 좌표계, 테이블, 모델링 등 다양한 도구 제공.
- Biopython: 생물 정보학을 위한 파이썬 라이브러리. DNA 서열, 단백질 구조, 생물학 데이터베이스 접근 등 생물 정보학 작업 지원.
- KLayout: 집적 회로(IC) 설계를 위한 EDA 도구. 레이아웃 편집, 뷰어, 검증 등 IC 설계 과정을 자동화하고 분석.
- ObsPy: 지진학 데이터 분석 라이브러리. 지진 데이터를 읽고 쓰고 처리하며 시각화하는 데 필요한 도구 제공.
- PyKrige: 지리학적 데이터의 Kriging 기법을 위한 라이브러리. 공간 통계 기법인 Kriging을 사용하여 지리 데이터 보간 및 예측.
- PySpice: 전자 회로 시뮬레이션 라이브러리. SPICE 시뮬레이터를 파이썬에서 제어하여 전자 회로의 동작을 분석.
- RDKit: 화학 정보학 및 분자 모델링 도구. 화학 분자 구조를 표현하고 분석하며, 신약 개발 및 재료 과학 분야에 활용.
- SimPy: Discrete event 시뮬레이션 프레임워크. 시스템의 이벤트를 모델링하고 시뮬레이션하여 복잡한 시스템 분석.
- SimpleITK: 의료 이미지 처리와 분석 도구. CT, MRI 등 의료 영상 데이터를 읽고 처리하며 분석하는 데 사용.
- SymPy: 심볼릭 계산 라이브러리. 미적분, 선형대수 등 수학적 표현을 기호적으로 처리하여 정확한 계산 가능.
- Latexify: 파이썬 함수를 LaTeX 문법으로 변환. 파이썬 함수를 LaTeX 수식으로 변환하여 보고서나 문서 작성 시 편리.
- yt: 천체물리학 및 우주론 시뮬레이션. 복잡한 그리드 및 입자 데이터를 분석하고 시각화하는 데 특화.
05 시계열 데이터 처리
- AutoTS: 시계열 예측 자동화 라이브러리. 다양한 시계열 모델을 자동으로 탐색하고 최적의 모델을 선택하여 예측 수행.
- Darts: 시계열 예측 및 분석. 다양한 시계열 모델과 분석 도구를 제공하여 시계열 데이터 처리 간소화.
- Kats: Facebook의 시계열 데이터 분석. 시계열 데이터의 분석, 이상 감지, 예측 등 포괄적인 기능 제공.
- Prophet: Facebook의 시계열 데이터 예측. 계절성 및 휴일 효과를 고려하여 시계열 데이터를 쉽게 예측.
- Sktime: 시계열 데이터 분석 및 예측. Scikit-learn과 유사한 API를 제공하여 시계열 모델의 개발 및 평가를 용이하게 함.
- lifelines: 생존 분석 라이브러리. 생존 데이터 분석에 특화되어 이벤트 발생 시간과 관련 요인 연구.
- tsfresh: 시계열 예측 및 분류. 시계열 데이터에서 특징을 자동으로 추출하여 머신러닝 모델 학습에 활용.
06 텍스트 및 자연어 처리 (NLP)
- AllenNLP: 오픈소스 NLP 라이브러리. 텍스트 이해, 질의응답, 의미 분석 등 복잡한 NLP 모델을 구축하고 실험.
- Bark: Suno의 Transformer 기반 Text-to-Audio 모델. 텍스트에서 자연스러운 음성뿐 아니라 음악, 효과음 등 다양한 오디오 생성.
- DeepSpeed: 딥러닝 최적화 라이브러리. 대규모 딥러닝 모델의 학습 속도와 메모리 효율성을 향상.
- Fairseq: 시퀀스-투-시퀀스 학습 툴킷. 신경망 기계 번역 및 텍스트 요약 등 시퀀스 데이터 처리에 특화.
- Gensim: 자연어 처리 라이브러리. 토픽 모델링, 단어 임베딩 등 텍스트 데이터의 의미론적 분석을 수행.
- KiwiPiePy: 지능형 한국어 형태소 분석기. 한국어 텍스트를 형태소 단위로 분석하여 자연어 처리 전처리 과정에 활용.
- KoBERT: SKT Brain의 한국어 자연어 처리 모델. 한국어 텍스트 이해 및 생성에 특화된 사전 학습 모델 제공.
- KoNLPy: 파이썬 한국어 NLP 라이브러리. 한국어 텍스트 분석에 필요한 다양한 형태소 분석기 및 품사 태거 제공.
- Polyglot: 다국어 자연어 처리 라이브러리. 다양한 언어의 텍스트를 형태소 분석, 개체명 인식 등 여러 NLP 작업 수행.
- SpeechRecognition: 음성 인식 라이브러리. 다양한 음성 인식 엔진을 활용하여 오디오를 텍스트로 변환.
- T5/T5X: Google Research의 Text-to-text 변환 모델. 다양한 NLP 작업을 텍스트-투-텍스트 형식으로 통합하여 처리.
- TTS: 오픈소스 Text-to-Speech 라이브러리. 텍스트를 자연스러운 음성으로 변환하는 데 사용.
- TextBlob: 텍스트 처리 라이브러리. 텍스트 분류, 감성 분석, 번역 등 기본적인 NLP 작업을 쉽게 수행.
- gTTS: Google Text-to-Speech. Google 번역의 텍스트 음성 변환 기능을 활용하여 텍스트를 오디오 파일로 저장.
- re: 정규 표현식 표준 라이브러리. 문자열 패턴 매칭 및 조작을 위한 강력한 도구.
- sentencepiece: 텍스트 데이터 토큰화. 자연어 처리 모델 학습 전 텍스트 데이터를 서브워드 단위로 분할.
- spaCy: 영어 자연어 처리 라이브러리. 산업용 수준의 영어 텍스트 처리에 최적화되어 빠른 속도와 정확성 제공.
07 통계 및 수학 계산
- Manimgl & Manim: 수학 비디오 생성을 위한 애니메이션 엔진. 복잡한 수학 개념을 시각적으로 설명하는 데 유용.
- SciPy: 과학적 계산을 위한 핵심 라이브러리. 최적화, 선형대수, 신호 처리 등 다양한 과학 및 공학 계산 기능 제공.
- SciPy.signal: 신호 처리 모듈. 디지털 신호 필터링, 스펙트럼 분석 등 신호 처리 작업 수행.
- Statsmodels: 통계적 모델링 및 시각화 라이브러리. 선형 회귀, 시계열 분석 등 다양한 통계 모델을 구현하고 결과 분석.
- math: 표준 수학 라이브러리. 기본적인 수학 함수(삼각 함수, 로그, 지수 등)를 제공.
- mpmath: 고정밀도 산술 연산 라이브러리. 임의의 정밀도로 부동 소수점 연산을 수행하여 정밀한 계산 요구 사항 충족.
- pingouin: 통계 분석 경량화 라이브러리. ANOVA, 상관 분석 등 일반적인 통계 테스트를 간결한 코드로 수행.
- statistics: 수학적 통계 함수 표준 라이브러리. 평균, 중앙값, 분산 등 기본적인 통계량을 계산.
08 데이터 시각화
- Apache Superset: 데이터 탐색과 시각화를 위한 오픈 소스 BI 툴. 대규모 데이터셋을 직관적인 대시보드와 차트로 시각화.
- Bokeh: 대규모 데이터의 웹 시각화. 인터랙티브한 웹 기반 플롯을 생성하여 대규모 스트리밍 데이터를 시각화.
- Cartopy: 지리학적 데이터 시각화 라이브러리. 지도를 그리고 지리 데이터를 플로팅하는 데 특화되어 지도 시각화에 유용.
- Chartify: Spotify에서 개발한 데이터 시각화 라이브러리. 아름답고 일관된 차트를 쉽게 생성하여 데이터 인사이트 전달.
- Diagrams: 시스템 구성도 다이어그램 생성 라이브러리. 코드를 통해 클라우드 시스템 아키텍처 다이어그램을 쉽게 생성.
- Graphviz: 그래프 및 네트워크 다이어그램 생성. 노드와 엣지를 사용하여 다양한 종류의 그래프를 시각화.
- pydot: Graphviz의 DOT 언어 처리 라이브러리. Graphviz와 파이썬을 연동하여 그래프를 생성하고 조작.
- HiPlot: 다차원의 데이터 시각화. 고차원 데이터를 병렬 좌표 플롯으로 시각화하여 패턴 탐색.
- Jupyter 기반 데이터 시각화: Jupyter 환경에 통합되어 대화형 시각화 기능 제공.
- HoloViews: 복잡한 시각화를 빠르고 유연하게. 대규모 데이터셋을 위한 시각화 객체를 효율적으로 생성하고 관리.
- IPyWidgets: Jupyter 환경에서의 인터랙티브 위젯 모음. 슬라이더, 버튼 등 대화형 UI 요소를 Jupyter 노트북에 추가.
- LUX: EDA 자동화 데이터 분석 라이브러리. 데이터프레임을 자동으로 시각화하여 탐색적 데이터 분석(EDA)을 가속화.
- Mito: Jupyter 기반 스프레드시트 및 코드 생성. 스프레드시트와 유사한 인터페이스로 데이터 조작 및 시각화, 파이썬 코드 자동 생성.
- PivotTableJS: Jupyter 기반 DataFrame 시각화. DataFrame을 피벗 테이블 형태로 시각화하여 데이터 요약 및 탐색.
- PyGWalker: Jupyter 기반 시각화 라이브러리. Pandas DataFrame을 Tableau와 유사한 드래그 앤 드롭 방식으로 시각화.
- Visual Python: Low 코드 시각화. 적은 코드로 다양한 그래프를 생성하여 데이터 시각화 과정을 간소화.
- drawdata.: Jupyter에서 Dataset 그리기. 사용자가 직접 데이터를 그려서 데이터셋을 생성하고 시각화.
- nbgrader: Jupyter 노트북 기반 교육 도구. Jupyter 노트북 과제를 채점하고 관리하는 데 사용.
- ydata-Profiling: 데이터 프로파일링 라이브러리. 데이터셋의 통계적 요약, 결측치, 상관관계 등 상세한 보고서 생성.
- Matplotlib: 가장 일반적인 시각화 라이브러리. 다양한 2D 및 3D 플롯을 생성하며, 파이썬 데이터 시각화의 기본.
- adjustText: 텍스트 레이블이 겹치지 않도록 자동 조정. Matplotlib 플롯에서 텍스트 레이블의 가독성을 높이는 데 유용.
- mpld3: 웹 친화적인 인터랙티브 그래픽. Matplotlib 플롯을 D3.js 기반의 웹 인터랙티브 그래프로 변환.
- mplfinance: 주식 시장 데이터 시각화 라이브러리. 캔들스틱 차트, 볼륨 차트 등 금융 데이터를 시각화하는 데 특화.
- tikzplotlib: Matplotlib 그래프를 TikZ 코드로 변환. Matplotlib 플롯을 LaTeX 문서에 삽입 가능한 TikZ 코드로 변환.
- NetworkX: 네트워크 구조의 모델링 및 시각화. 그래프 이론 기반의 데이터를 생성, 조작, 분석하고 시각화.
- PandasGUI: DataFrame을 쉽게 시각화하고 조작. GUI 환경에서 Pandas DataFrame을 탐색하고 그래프 생성.
- Plotly: 웹 기반 인터렉티브 시각화. 대화형 웹 기반 그래프를 생성하며, 대시보드 및 웹 애플리케이션에 통합 가능.
- Dash: 과학자들의 웹 프레임워크. Plotly를 기반으로 하여 복잡한 웹 애플리케이션과 대시보드를 쉽게 구축.
- Pygal: 파이썬 SVG 그래프 시각화 라이브러리. SVG 형식의 확장 가능한 벡터 그래픽 차트를 생성.
- Seaborn: Matplotlib을 기반 통계적 데이터 시각화. Matplotlib보다 통계 그래프를 더 쉽게 아름답게 생성.
- Vega-Altair: 선언적(Declarative) 방식의 웹 시각화. 데이터 시각화를 위한 선언적 문법을 사용하여 깔끔하고 효율적인 그래프 생성.
- VisPy: 고성능 인터랙티브 데이터 시각화 라이브러리. OpenGL을 기반으로 대규모 과학 데이터를 실시간으로 시각화.
- Visvis: 객체 지향적인 3D 및 2D 시각화 라이브러리. 이미지, 볼륨, 표면 등 다양한 과학 데이터를 3D로 시각화.
- flowfunc: flume 기반 노드 에디터 Web app. 시각적 노드 기반의 데이터 흐름 편집기를 웹 환경에서 구현.
- folium: 지도 시각화 라이브러리. Leaflet.js 기반의 인터랙티브 지도를 생성하여 지리 데이터를 표시.
- h2o-wave: 실시간 웹 앱 및 대화형 대시보드. 데이터 과학자들이 실시간 데이터 시각화 및 대시보드를 쉽게 구축.
- nodezator: pygame 기반 노드 에디터. Pygame을 활용하여 노드 기반의 시각적 프로그래밍 인터페이스를 개발.
- turtle: 교육용 거북이 그래픽스 라이브러리. 간단한 그림을 그리며 프로그래밍 개념을 학습하는 데 적합.
09 머신 러닝 및 인공 지능
- Bob: 기계 학습과 신호 처리를 위한 라이브러리. 얼굴 인식, 화자 검증 등 생체 인식 분야에 특화된 알고리즘 제공.
- CNTK: 마이크로소프트에서 개발한 딥러닝 프레임워크. 심층 신경망을 구축하고 학습하는 데 사용.
- Caffe: 컴퓨터 비전 중심 딥러닝 프레임워크. 이미지 분류, 객체 감지 등 컴퓨터 비전 작업에 널리 활용.
- Datasets: 자연어 처리 및 기계 학습 프로젝트를 위한 데이터셋. Hugging Face에서 제공하는 다양한 공개 데이터셋에 쉽게 접근.
- ELI5: 머신러닝 모델 디버깅/해석 라이브러리. 머신러닝 모델의 예측 결과를 설명하여 모델의 투명성 제공.
- FastAI: 딥러닝 분야 신속한 프로토타이핑과 실험. PyTorch 기반의 고수준 API를 제공하여 딥러닝 모델 개발을 간소화.
- Gymnasium: 강화학습 알고리즘의 개발과 비교. 강화학습 환경을 표준화하여 알고리즘 개발 및 평가를 용이하게 함.
- Keras: Python을 위한 오픈 소스 신경망 라이브러리. TensorFlow, PyTorch 등 다양한 백엔드 위에서 고수준으로 딥러닝 모델을 구축.
- LangChain: LLM 기반 체인 프레임워크. 대규모 언어 모델(LLM)을 사용하여 복잡한 애플리케이션을 쉽게 개발.
- LightGBM: Gradient Boosting 프레임워크. 빠르고 효율적인 Gradient Boosting 알고리즘을 구현하여 대규모 데이터셋 학습.
- Netron: 기계 학습 모델 포멧 시각화. 다양한 머신러닝 모델의 구조를 시각적으로 보여주어 모델 분석 및 디버깅.
- NuPIC: 뇌의 신경망에서 영감을 받은 차세대 기계 학습. 시계열 데이터의 예측 및 이상 감지에 특화된 HTM(계층적 시간 메모리) 모델 구현.
- ONNX: 머신러닝 프레임워크 간의 모델 교환용 포멧. 다른 프레임워크에서 학습된 모델을 ONNX 형식으로 변환하여 상호 운용성 제공.
- PyCaret: 기계 학습 라이브러리. 머신러닝 워크플로우를 자동화하여 모델 선택, 전처리, 학습, 배포 과정을 간소화.
- PyMC: 통계 모델링 및 확률적 프로그래밍 라이브러리. 베이즈 통계 모델을 구축하고 MCMC(마르코프 연쇄 몬테카를로) 방법으로 추론.
- Aesara: Theano 후속 수치 계산 라이브러리. 다차원 배열 계산과 자동 미분을 지원하며, 심볼릭 수학 연산에 활용.
- Theano: 수치 계산 라이브러리. 다차원 배열을 효율적으로 계산하고 최적화하여 딥러닝 연구에 기여.
- PyTorch: 머신러닝/딥러닝 라이브러리. 유연한 딥러닝 프레임워크로, 동적 계산 그래프를 지원하여 연구 및 개발에 널리 사용.
- PyTorch Lightning: 현대적인 딥러닝 프레임워크. PyTorch 코드를 구조화하여 재현 가능한 딥러닝 모델 개발.
- torchvision: 컴퓨터 비전 작업을 위한 데이터셋, 모델, 변환 함수. PyTorch 기반 컴퓨터 비전 프로젝트에 필요한 도구 제공.
- Scikit-learn: 다양한 머신 러닝 알고리즘. 분류, 회귀, 클러스터링 등 다양한 머신러닝 알고리즘을 쉽고 효율적으로 사용.
- TensorFlow: Google이 개발한 오픈소스 머신 러닝 라이브러리. 대규모 딥러닝 모델 구축 및 학습에 최적화된 강력한 도구.
- Whisper: OpenAI에서 만든 자동 음성 인식. 다양한 언어의 음성을 텍스트로 변환하는 데 뛰어난 성능 발휘.
- XGBoost: 향상된 그라디언트 부스팅 알고리즘. 빠르고 정확한 예측 모델을 구축하는 데 널리 사용.
- diffusers: 딥러닝 기반의 생성 모델 도구. 확산 모델(Diffusion Models)을 사용하여 이미지, 오디오 등 다양한 데이터 생성.
- mxnet: Apache의 오픈소스 딥러닝 프레임워크. 유연한 프로그래밍 모델과 분산 학습 지원.
- timm: PyTorch 이미지 모델들. 다양한 최신 이미지 분류 모델을 PyTorch로 구현하여 전이 학습에 활용.
- transformers: Hugging Face팀의 ML 라이브러리. BERT, GPT 등 최신 트랜스포머 기반 모델을 쉽게 사용.
10 파이썬 웹 개발
네트워킹 및 웹 스크래핑
- BeautifulSoup: 웹 데이터 추출을 위한 도구. HTML 및 XML 파일을 파싱하여 원하는 데이터를 쉽게 추출.
- HTTPX: 최신 비동기 HTTP 클라이언트. HTTP/1.1 및 HTTP/2를 지원하며, 동기 및 비동기 요청을 모두 처리.
- MechanicalSoup: 자동화 + 웹 스크레이핑 라이브러리. 웹 사이트를 사람처럼 탐색하고 양식을 제출하는 데 유용.
- Playwright: 웹 애플리케이션의 크로스 브라우저 자동화를 지원. 웹 테스트, 스크래핑 등 다양한 자동화 작업에 활용.
- PyQuery: HTML 문서 파싱 및 조작 라이브러리. jQuery와 유사한 구문으로 HTML/XML 문서를 편리하게 조작.
- PyZMQ: ZeroMQ 라이브러리의 Python 바인딩. 분산 메시징 시스템을 구축하고 통신하는 데 사용.
- Requests: 간결한 HTTP 라이브러리. HTTP 요청을 보내고 응답을 처리하는 데 매우 편리하고 직관적인 API 제공.
- Scapy: 대화형 패킷 조작 프로그램. 네트워크 패킷을 생성, 조작, 분석하여 네트워크 보안 및 테스트에 활용.
- Scrapy: 강력한 웹 크롤링 및 스크래핑 프레임워크. 대규모 웹 사이트에서 데이터를 효율적으로 추출하고 처리.
- Selenium: 웹 자동화 및 테스팅을 위한 강력한 도구. 웹 브라우저를 자동 제어하여 웹 애플리케이션 테스트 또는 스크래핑.
- SeleniumBase: Selenium 기반 웹 테스팅 프레임워크. Selenium을 활용한 테스트 코드를 더 쉽고 빠르게 작성.
- WebSockets: 웹 소켓 서버와 클라이언트 개발. 실시간 양방향 통신을 위한 웹 소켓 프로토콜 구현.
- httpie: 커맨드라인 HTTP 클라이언트. HTTP 요청을 보내고 JSON, 컬러 등 친화적인 출력으로 편리하게 API 테스트.
- impacket: 네트워크 프로토콜을 위한 컬렉션. 다양한 네트워크 프로토콜을 파이썬으로 구현하여 네트워크 공격 및 방어 연구.
- paho-mqtt: MQTT 프로토콜의 Pub/Sub 클라이언트. 사물 인터넷(IoT) 장치 간의 경량 메시지 전송을 위한 MQTT 통신 지원.
- python-socketio: 파이썬 Socket.IO 서버 및 클라이언트. 웹 소켓 기반의 실시간 양방향 통신 애플리케이션 개발.
- socket: 저수준 네트워킹 인터페이스. 네트워크 통신을 위한 기본적인 소켓 프로그래밍 기능 제공.
- urllib: 제어 도구. URL 파싱, HTTP 요청 전송 등 URL 관련 다양한 기능 제공.
- urllib3: 강력한 HTTP 클라이언트 라이브러리. 스레드 안전, 연결 풀링, 파일 업로드 등 고급 HTTP 기능 지원.
- webbrowser: 기본 웹 브라우저 제어 도구. 파이썬 스크립트에서 웹 브라우저를 열고 특정 URL로 이동.
비동기 라이브러리 - asyncio 등
- Asyncer: 비동기 프로그래밍을 위한 유틸리티. asyncio 기반의 비동기 코드를 더 쉽게 작성하고 관리.
- Trio: 비동기 동시성 및 I/O를 위한 라이브러리. asyncio보다 더 강력하고 안전한 비동기 프로그래밍 패러다임 제공.
- Twisted: 이벤트 기반 네트워킹 엔진. 비동기 네트워크 프로그래밍을 위한 강력한 프레임워크로, 다양한 프로토콜 지원.
- aiohttp: 비동기 HTTP 클라이언트/서버 프레임워크. asyncio 기반으로 고성능 웹 서버 및 클라이언트를 구축.
- gevent: 비동기 프로그래밍을 위한 경량화된 코루틴 라이브러리. 동기 코드를 비동기적으로 실행하여 I/O 바운드 작업의 성능 향상.
웹 애플리케이션 서버
- Gunicorn: 파이썬 기반 WSGI 구현체. 파이썬 웹 애플리케이션을 배포하고 서비스하는 데 사용되는 WSGI 서버.
- uWSGI: 범용 웹 서버. WSGI, ASGI, FastCGI 등 다양한 프로토콜을 지원하며 고성능 웹 서비스 제공.
- uvicorn: Python 기반 ASGI 서버. asyncio와 ASGI를 기반으로 고성능 비동기 웹 애플리케이션을 실행.
웹 어플리케이션 프론트엔드
- FastUI: 더 빠르고 좋은 웹 애플리케이션 UI. FastAPI와 통합하여 데이터 중심의 웹 UI를 빠르게 개발.
- JustPy: 객체 지향 고수준 파이썬 웹 프레임워크. 웹 컴포넌트를 파이썬 클래스로 직접 다루어 쉽게 웹 애플리케이션 개발.
- NiceGUI: JustPy 기반 웹 프레임워크. 웹 인터페이스를 파이썬 코드로 쉽게 생성하여 웹 애플리케이션 개발.
웹 프레임워크
- Bottle: 간단한 마이크로 웹 프레임워크. 단일 파일로 웹 애플리케이션을 개발할 수 있는 경량 웹 프레임워크.
- CubicWeb: 세맨틱 웹 프레임워크. 시맨틱 웹 개념을 활용하여 데이터 중심의 웹 애플리케이션을 구축.
- Django: 강력한 기능의 웹 프레임워크. 대규모 웹 애플리케이션 개발에 적합한 풀 스택 웹 프레임워크.
- Falcon: 고성능 마이크로서비스 웹 프레임워크. API 및 마이크로서비스 개발에 최적화된 경량 웹 프레임워크.
- FastAPI: 빠르고 현대적인 API 개발. 비동기 지원, 자동 문서화 등 최신 기능을 갖춘 고성능 웹 프레임워크.
- Flask: 경량화된 유연한 마이크로 웹 프레임워크. 간단한 웹 애플리케이션부터 복잡한 서비스까지 유연하게 구축.
- PY4WEB: 데이터베이스 기반 웹 App. 개발 프레임워크. 웹 애플리케이션 개발을 위한 빠르고 효율적인 데이터베이스 통합 프레임워크.
- Pyramid: 경량, 유연한 웹 프레임워크. 소규모 프로젝트부터 대규모 애플리케이션까지 다양한 요구사항에 맞춰 확장 가능.
- Quart: 비동기 웹 프레임워크. Flask와 유사한 API를 제공하며, asyncio를 활용하여 비동기 웹 애플리케이션 구축.
- Reflex: 모던 웹 개발의 새로운 지평. 파이썬만으로 풀스택 웹 애플리케이션을 개발할 수 있도록 지원.
- Sanic: 고성능 비동기 웹 프레임워크. asyncio를 기반으로 구축되어 매우 빠른 속도로 웹 애플리케이션을 실행.
- Starlette: 파이썬 비동기 웹 프레임워크. FastAPI의 기반이 되는 경량 비동기 웹 프레임워크.
- Streamlit: 데이터 과학자의 쉬운 웹 제작 도구. 데이터 스크립트를 웹 애플리케이션으로 쉽게 변환하여 공유.
- Tornado: 네트워킹 라이브러리이자 웹 프레임워크. 비동기 웹 서버 및 웹 애플리케이션 개발에 사용.
- web2py: 오픈소스 웹 애플리케이션 프레임워크. 빠르고 안전한 웹 애플리케이션 개발을 위한 풀 스택 프레임워크.
유틸리티 및 기타
- IDNA: 국제화 도메인 이름 처리. 비 ASCII 문자를 포함하는 도메인 이름을 처리하는 표준 구현.
- Jinja2: 파이썬 웹 템플릿 엔진. HTML, XML 등 다양한 형식의 문서를 동적으로 생성.
- MarkupSafe: HTML 및 XML과 같은 마크업 언어를 안전하게 처리. 크로스 사이트 스크립팅(XSS) 공격 방지.
- OAuthLib: 인증 프로토콜 라이브러리. OAuth 1.0a 및 OAuth 2.0 클라이언트, 서버, 공급자 구현 지원.
- Authlib: 인증 프로토콜 라이브러리. OAuth, OpenID Connect 등 다양한 인증 및 권한 부여 프로토콜 구현.
- PyJWT: 인증 프로토콜 라이브러리. JSON Web Token(JWT)을 생성하고 검증하여 보안 통신에 사용.
- Pydantic: 웹 프레임워크의 데이터 유효성 검사 도구. 데이터 모델을 정의하고 유효성을 검사하여 견고한 애플리케이션 구축.
- Pyodide: 웹 브라우저 내 Python 실행 도구. 웹 브라우저에서 파이썬 코드를 직접 실행하여 웹 애플리케이션 기능 확장.
- Werkzeug: WSGI 유틸리티 라이브러리. WSGI 애플리케이션 개발에 필요한 도구 모음 제공.
정적 사이트 생성기
- Nikola: 정적 사이트 생성기. 블로그, 포트폴리오 등 다양한 정적 웹사이트를 생성.
- Pelican: 정적 사이트 생성기. reStructuredText 또는 Markdown으로 작성된 컨텐츠를 정적 웹사이트로 변환.
- mkdocs: 마크다운 문서화 사이트 라이브러리. Markdown 파일을 사용하여 프로젝트 문서를 쉽게 생성.
컨텐츠 관리 시스템 (CMS)
- Django CMS: Django 기반 오픈 소스 CMS. Django를 기반으로 유연하고 강력한 웹 컨텐츠 관리 시스템 구축.
- Mezzanine: Django 기반 오픈 소스 CMS. 블로그, 웹사이트 등을 쉽게 만들 수 있는 Django 기반 CMS.
- Wagtail: Django 기반 오픈 소스 CMS. 컨텐츠 편집에 중점을 둔 사용자 친화적인 Django 기반 CMS.
- python-wordpress-xmlrpc: WordPress REST API. 파이썬에서 WordPress XML-RPC API를 사용하여 블로그 게시물 관리.
- 그누보드6: 국내 오픈소스 CMS. 웹사이트 게시판, 회원 관리 등 다양한 기능을 제공.
11 데이터베이스 및 파일 처리
- ConnectorX: 데이터베이스에서 Pandas.DataFrame으로 빠르게 로드. 다양한 데이터베이스에서 Pandas DataFrame으로 데이터를 효율적으로 가져옴.
- DuckDB: 데이터 분석용 SQL 데이터베이스. 임베디드 인메모리 SQL 데이터베이스로, OLAP(온라인 분석 처리) 워크로드에 최적화.
- Elasticsearch: Elasticsearch의 파이썬 클라이언트. 파이썬에서 Elasticsearch 클러스터와 상호 작용하여 데이터 인덱싱 및 검색.
- ORM (Object-Relational Mapping): 객체 지향 프로그래밍 방식으로 데이터베이스를 다루는 도구.
- Peewee: 소규모, 익스프레시브 ORM 라이브러리. 파이썬 코드로 SQL 데이터베이스를 간결하게 조작.
- Pony: 파이썬 ORM 도구. 파이썬 객체를 SQL 쿼리로 자동 변환하여 데이터베이스 작업 간소화.
- SQLAlchemy: Python SQL 툴킷. 관계형 데이터베이스를 위한 강력하고 유연한 ORM 및 SQL 빌더 제공.
- SQLModel: SQL 데이터베이스 조작 도구. Pydantic과 SQLAlchemy를 결합하여 데이터 유효성 검사와 데이터베이스 조작을 통합.
- Pinecone: 벡터 데이터베이스 관리. 벡터 임베딩을 저장, 검색, 관리하여 AI 애플리케이션의 성능 향상.
- Protobuf: 구글이 개발한 직렬화 데이터 구조. 구조화된 데이터를 효율적으로 직렬화하고 역직렬화.
- SQLite3: Python 표준 데이터베이스 모듈. 경량 관계형 데이터베이스로, 별도의 서버 없이 파일로 데이터 저장.
- Datasette: SQLite 데이터베이스를 웹에서 탐색. SQLite 데이터베이스의 내용을 웹 인터페이스로 공개하고 검색.
- Streamz: 실시간 데이터 스트림 처리 라이브러리. 실시간 데이터를 처리하고 분석하는 데 유용한 도구.
- chardet: 바이트 문자열의 인코딩 감지 라이브러리. 텍스트 파일의 문자 인코딩을 자동으로 감지.
- charset-normalizer: chardet 의 대안. 휴리스틱 기반으로 텍스트 인코딩을 감지하고 정규화.
- cx_Oracle: Oracle Database 인터페이스. 파이썬에서 Oracle 데이터베이스에 연결하고 데이터 조작.
- dagster: 데이터 파이프라인을 관리하고 실행. 데이터 파이프라인의 정의, 실행, 모니터링을 위한 통합 프레임워크.
- dbt: 데이터 빌드 툴. SQL을 사용하여 데이터 웨어하우스의 데이터를 변환하고 모델링.
- dlt: 데이터 로딩 라이브러리. 다양한 소스에서 데이터를 추출하여 데이터 웨어하우스에 로드.
- h5py: HDF5 포멧의 파이썬 인터페이스. 대규모 수치 데이터를 저장하고 관리하는 HDF5 파일 형식 지원.
- json: JSON 인코더와 디코더. JSON 데이터를 파이썬 객체로 변환하고 그 반대로도 변환.
- JMESPath: JSON 데이터 조회 및 변환. JSON 문서에서 특정 요소를 쉽게 추출하고 변환.
- jsonschema: JSON 스키마를 이용한 데이터 검증. JSON 데이터가 특정 스키마에 부합하는지 유효성 검사.
- kafka-python: Apache Kafka, 분산 스트리밍 플랫폼을 위한 클라이언트 라이브러리. Kafka 클러스터와 상호 작용하여 메시지 생산 및 소비.
- pymssql: Microsoft SQL Server 접근 라이브러리. 파이썬에서 Microsoft SQL Server에 연결하고 데이터 조작.
- sqlmap: SQL 인젝션 테스트 자동화 툴. SQL 인젝션 취약점을 자동으로 탐지하고 악용.
데이터베이스 드라이버
- PyMongo: MongoDB의 파이썬 드라이버. 파이썬에서 MongoDB 데이터베이스에 연결하고 데이터 조작.
- PyMySQL: MySQL 클라이언트 라이브러리. 파이썬에서 MySQL 데이터베이스에 연결하고 데이터 조작.
- Redis-py: Redis 클라이언트 라이브러리. 파이썬에서 Redis 서버에 연결하여 데이터 저장 및 검색.
- psycopg2: PostgreSQL의 파이썬 어댑터. 파이썬에서 PostgreSQL 데이터베이스에 연결하고 데이터 조작.
12 문서 편집
Excel 데이터 처리
- xlsxwriter: 엑셀 작성 라이브러리. 새로운 Excel XLSX 파일을 생성하고 데이터, 차트, 서식 등을 추가.
- xlwings: MS Excel 연동 라이브러리. 파이썬에서 Microsoft Excel을 자동화하여 데이터 분석 및 보고서 생성.
Markdown 관련
- PDFMiner: PDF 문서의 텍스트, 이미지 추출 라이브러리. PDF 파일에서 텍스트, 이미지, 메타데이터 등을 추출하여 정보 활용.
- PyLaTeX: LaTeX 문서 생성 및 관리 도구. 파이썬 코드를 사용하여 LaTeX 문서를 동적으로 생성.
- PyMuPDF: PDF 문서의 데이터 추출, 분석, 변환 및 조작. PDF 파일의 내용을 빠르고 효율적으로 처리.
- PyPDF: PDF 편집 라이브러리. PDF 파일의 페이지를 분할, 병합, 회전하는 등 기본적인 편집 기능 제공.
- PyYAML: YAML 파서 및 생성기. YAML 데이터를 파이썬 객체로 로드하고, 파이썬 객체를 YAML로 덤프.
- ReportLab: PDF 문서를 생성 라이브러리. 복잡한 PDF 문서를 프로그래밍 방식으로 생성하여 보고서 및 인쇄물 제작.
- csv, csvkit: CSV 파일 제어 도구, csvkit. CSV 파일을 읽고 쓰고, 명령줄에서 CSV 데이터를 처리.
- html.parser: 간단한 HTML과 XHTML 구문 분석기. HTML/XHTML 문서를 파싱하여 구조화된 데이터를 추출.
- pikepdf: PDF 생성/편집/분석 라이브러리. PDF 파일을 수정, 최적화, 검증하는 등 고급 작업 수행.
- python-docx: MS Word 문서 편집 라이브러리. 파이썬에서 MS Word(.docx) 문서를 생성하고 편집.
- python-pptx: MS PowerPoint 파일 편집. 파이썬에서 MS PowerPoint(.pptx) 파일을 생성하고 편집.
- sphinx: 강력한 문서 생성 도구. reStructuredText 또는 Markdown으로 작성된 문서를 다양한 형식으로 변환.
- tomllib, toml: TOML 제어 도구, toml. TOML 형식의 설정 파일을 읽고 쓰는 데 사용.
- xml, lxml: XML 처리 모듈, lxml. XML 데이터를 파싱하고 조작하는 데 사용.
13 GUI 개발
- DearPyGui: GUI 라이브러리. GPU 가속을 활용하여 빠르고 경량화된 GUI 애플리케이션 개발.
- Eel: Chrome 기반 GUI 라이브러리. 파이썬 함수를 JavaScript에서 호출하고 웹 기술로 GUI를 구축.
- Flet: 웹, 모바일, 데스크탑 앱 개발 프레임워크. 파이썬으로 웹, 모바일, 데스크탑 앱을 동시에 개발.
- Gooey: 커맨드 라인 프로그램을 GUI 애플리케이션으로 변환. 기존 CLI 스크립트를 GUI로 쉽게 변환하여 사용자 친화적인 인터페이스 제공.
- Kivy: 크로스 플랫폼 GUI 라이브러리. 멀티터치 앱 개발에 특화되어 모바일 및 데스크톱 애플리케이션 구축.
- PyGObject: GNOME 기반 GUI 라이브러리. GTK+, GLib 등 GNOME 라이브러리를 사용하여 데스크톱 애플리케이션 개발.
- PyQt/PySide: 풍부한 기능의 크로스 플랫폼 GUI. Qt 프레임워크를 기반으로 강력한 데스크톱 애플리케이션 개발.
- PyQtGraph: PyQt를 위한 고성능 그래픽스 및 시각화. 과학 데이터 시각화, 실시간 플로팅 등 고성능 그래픽스 구현.
- napari: 고성능 n차원 인터렉티브 이미지 뷰어. 과학 이미지 데이터를 시각화하고 탐색하는 데 사용.
- PySimpleGUI: GUI 개발 라이브러리. Tkinter, Qt, WxPython 등을 백엔드로 사용하여 GUI를 쉽고 빠르게 개발.
- Tkinter: Tcl/Tk 파이썬 인터페이스. 파이썬 표준 GUI 라이브러리로, 간단한 데스크톱 애플리케이션 개발.
- VTK: 3D 시각화 라이브러리. 3D 컴퓨터 그래픽스, 이미지 처리, 시각화를 위한 오픈 소스 소프트웨어 시스템.
- PyVista: 3D 시각화와 분석을 위한 라이브러리. VTK를 기반으로 3D 과학 데이터를 쉽게 시각화하고 분석.
- wxPython: 크로스 플랫폼 GUI 툴킷. 네이티브 플랫폼 위젯을 사용하여 데스크톱 애플리케이션 개발.
14 게임 개발
- Arcade: 2D 비디오 게임을 개발 라이브러리. 초보자도 쉽게 2D 게임을 만들 수 있는 직관적인 API 제공.
- Blender Python API: 블렌더의 파이썬 API. 3D 모델링, 애니메이션, 렌더링 등 블렌더 기능을 파이썬으로 제어.
- Godot-Python: Godot의 Python 스크립팅 언어 지원 플러그인. Godot 게임 엔진에서 파이썬 스크립트를 사용하여 게임 로직 구현.
- ModernGL: OpenGL 기반 고성능 그래픽스. OpenGL을 사용하여 2D/3D 그래픽스를 효율적으로 렌더링.
- Panda3D: 3D 렌더링 및 게임 개발 엔진. 3D 게임, 시뮬레이션, 시각화를 위한 포괄적인 개발 환경 제공.
- PyBullet: 오픈소스 물리 시뮬레이션 라이브러리. 로봇 시뮬레이션, 게임 물리 엔진, 머신러닝 등을 위한 물리 엔진.
- PyOpenGL: 표준 OpenGL 바인딩 라이브러리. 파이썬에서 OpenGL API를 사용하여 2D/3D 그래픽스 구현.
- Pymunk: 2D 물리 엔진 라이브러리. Chipmunk2D 물리 엔진의 파이썬 래퍼로, 2D 게임에서 사실적인 물리 효과 구현.
- PythonRobotics: 로봇공학 알고리즘 코드 컬렉션. 자율 주행, 로봇 팔 제어 등 다양한 로봇 알고리즘 구현 및 시뮬레이션.
- Ren'Py: 스토리 기반 게임 개발 엔진. 비주얼 노벨, 연애 시뮬레이션 등 텍스트 중심의 게임 개발에 최적화.
- Ursina: 3D 게임 개발 엔진. 파이썬으로 3D 게임을 쉽게 만들 수 있는 직관적인 API 제공.
- pygame: 게임 개발을 위한 크로스 플랫폼 라이브러리. 2D 게임, 멀티미디어 애플리케이션 개발에 널리 사용.
- pyglet: 크로스 플랫폼 개발 프레임워크. 게임, 멀티미디어, 윈도잉을 위한 파이썬 라이브러리.
15 멀티미디어 처리
비디오 처리
- MoviePy: 비디오 편집 및 처리. 비디오 클립을 자르기, 합치기, 효과 추가 등 다양한 비디오 편집 작업 수행.
- ffmpeg-python: FFmpeg 파이썬 바인딩. FFmpeg 명령어를 파이썬에서 편리하게 호출하여 오디오/비디오 변환 및 처리.
오디오 처리
- PyAudio: PortAudio 기반 오디오 처리 라이브러리. 오디오 스트림을 기록하고 재생하는 데 사용.
- Pydub: 오디오 파일 제어. 오디오 파일을 자르기, 병합, 효과 추가 등 오디오 편집 작업을 간편하게 수행.
- audioread: 오디오 파일 처리. 다양한 오디오 파일 형식을 읽고 샘플링 속도, 채널 수 등 메타데이터 추출.
- librosa: 음악 및 오디오 분석 도구. 음악 신호를 분석하고 특징을 추출하여 음악 정보 검색 및 분류에 활용.
- music21: 음악 분석, 작곡 및 교육을 위한 라이브러리. 음악 이론 연구, 악보 생성, 음악 데이터 분석 등 다양한 음악 작업 지원.
- playsound: 오디오 파일 재생. 간단한 함수 호출로 오디오 파일을 재생.
- scipy.io.wavfile: .wav 읽기/쓰기 모듈. WAV 형식의 오디오 파일을 읽고 쓰는 데 사용.
- sounddevice: 오디오 입력 및 출력 제어. 실시간 오디오 스트림을 처리하고 오디오 장치 제어.
- wave: WAV 파일 읽고 쓰기. WAV 형식의 오디오 파일을 읽고 쓰는 표준 라이브러리.
이미지 처리
- EasyOCR: 광학 문자 인식 (OCR) 라이브러리. 다양한 언어의 텍스트를 이미지에서 자동으로 인식하여 텍스트 데이터 추출.
- Face Recognition: 얼굴 인식 라이브러리. 이미지에서 얼굴을 감지하고 인식하며, 유명 얼굴 인식 API 기반으로 구축.
- Mahotas: 컴퓨터 비전 라이브러리. 이미지 처리 및 컴퓨터 비전을 위한 다양한 알고리즘과 필터 제공.
- Pillow (PIL Fork): 이미징 라이브러리. 이미지 파일을 열고, 조작하고, 저장하는 데 사용되는 강력한 이미지 처리 도구.
- PyTesseract: 파이썬 Tesseract OCR 라이브러리. Google의 Tesseract OCR 엔진을 파이썬에서 사용하여 이미지의 텍스트 인식.
- SciPy.ndimage: 다차원 이미지 처리 모듈. 이미지 필터링, 형태학적 연산, 이미지 변환 등 고급 이미지 처리 기능 제공.
- SimpleCV: 컴퓨터 비전 처리 라이브러리. OpenCV를 기반으로 복잡한 컴퓨터 비전 작업을 쉽게 수행.
- colour-science: 컬러 과학에 관한 알고리즘 제공. 색상 변환, 색상 공간 관리 등 색상 과학 관련 계산 수행.
- imageio: 이미징 라이브러리. 다양한 이미지 및 비디오 파일을 읽고 쓰는 데 사용.
- opencv-python: 컴퓨터 비전 처리 라이브러리. 이미지 및 비디오 처리, 객체 감지, 얼굴 인식 등 다양한 컴퓨터 비전 작업 수행.
- scikit-image: 이미지 처리 및 분석 라이브러리. 이미지 필터링, 세분화, 특징 추출 등 다양한 이미지 처리 알고리즘 제공.
16 소프트웨어 개발
- python-dotenv: 환경 변수 관리 라이브러리. .env 파일에서 환경 변수를 로드하여 애플리케이션 설정 관리.
개발 도구
- abc: 추상 베이스 클래스 라이브러리. 추상 클래스를 정의하고 사용함으로써 코드의 재사용성과 유연성 향상.
- ctypes: 파이썬용 외부 함수 라이브러리. C 언어의 함수를 파이썬에서 직접 호출하여 외부 라이브러리 연동.
- logging: 파이썬 로깅 도구. 애플리케이션에서 발생하는 이벤트, 오류 등을 기록하여 디버깅 및 모니터링.
- multiprocessing: Python 내장 병렬 프로그래밍. 여러 프로세스를 생성하여 CPU 바운드 작업을 병렬 처리.
- traceback: 오류 메시지와 스택 Trace를 출력. 예외 발생 시 상세한 오류 정보를 제공하여 디버깅에 도움.
- typing: 형 힌트 지원 라이브러리. 변수, 함수 파라미터 등에 타입 힌트를 추가하여 코드 가독성 및 안정성 향상.
- typing-extensions: 타입 힌트 시스템의 확장. Python의 기본 typing 모듈에 없는 추가 타입 힌트 기능 제공.
- venv, virtualenv: 가상 환경 생성 도구, virtualenv. 프로젝트별 독립적인 파이썬 환경을 생성하여 의존성 충돌 방지.
데이터형
- collections: 컨테이너 데이터형. 리스트, 딕셔너리 등 내장 데이터형을 확장한 특수 컨테이너 제공.
- dataclasses: 데이터 클래스 라이브러리. 데이터 저장에 특화된 클래스를 쉽게 정의하여 코드 간결화.
- enum: 열거형 지원. 상수 집합을 정의하여 코드의 가독성과 유지보수성 향상.
- pickle: 파이썬 객체 직렬화 라이브러리. 파이썬 객체를 파일로 저장하고 다시 불러오는 데 사용.
- types: 동적 형 생성과 내장형 이름. 동적으로 새로운 타입 객체를 생성하거나 내장 타입에 대한 정보 제공.
- zipfile: ZIP 압축 및 해제 도구. ZIP 형식의 아카이브 파일을 생성하고 압축을 해제.
빌드 및 패키징
- Flit: Python 패키징 도구. 파이썬 패키지를 쉽고 빠르게 빌드하고 PyPI에 배포.
- Meson: 파이썬 프로젝트의 효율적인 빌드를 위한 현대적인 솔루션. 다양한 프로그래밍 언어를 지원하는 빌드 시스템.
- Nuitka: 실행 가능한 바이너리 파일 생성을 위한 Python 컴파일러. 파이썬 코드를 C/C++로 컴파일하여 독립 실행 파일 생성.
- Packaging: 패키지 버전 비교, 의존성 관리 도구. 파이썬 패키지의 버전 관리 및 의존성 분석.
- Pipenv: 패키지 관리자 및 가상 환경 관리 도구. Pip과 Virtualenv를 통합하여 파이썬 프로젝트의 의존성 관리 간소화.
- Poetry: Python 패키지 의존성 관리자. 프로젝트의 의존성을 선언적으로 관리하고 패키징 및 배포 자동화.
- PyInstaller: 독립 실행 가능한 실행 파일 변환기. 파이썬 스크립트를 독립적으로 실행 가능한 파일로 패키징.
- Pynsist: Windows용 인스톨러 생성 도구. 파이썬 애플리케이션을 Windows 설치 프로그램으로 변환.
- Rye: 파이썬 패키지 관리 통합 솔루션. Python 버전 관리, 패키지 의존성 관리, 프로젝트 스캐폴딩을 통합 제공.
- conda: 패키지 관리와 독립적인 환경을 관리. 파이썬뿐만 아니라 다른 언어의 패키지와 환경도 관리.
- cx_Freeze: 독립 실행 가능한 실행 파일 변환기. 파이썬 스크립트를 독립 실행 가능한 바이너리로 변환.
- devpi: 개인화 된 PyPI 서버. 로컬 또는 사내 PyPI 서버를 구축하여 파이썬 패키지 관리.
- pip: 파이썬의 기본 패키지 관리자. 파이썬 패키지를 설치, 업그레이드, 제거하는 데 사용.
- pipdeptree: 패키지 의존성 트리 시각화. 설치된 파이썬 패키지들의 의존성 관계를 트리 형태로 시각화.
- pipx: 격리된 환경의 파이썬 앱 설치 및 실행 환경. 파이썬 애플리케이션을 격리된 환경에 설치하고 실행.
- setuptools: 파이썬 패키지 빌드 및 배포 툴. 파이썬 프로젝트를 패키징하고 배포하는 데 필수적인 도구.
- uv: Rust 기반 Python 패키지 설치 프로그램. pip보다 훨씬 빠른 속도로 파이썬 패키지를 설치하고 관리.
- wheel: 파이썬의 표준 바이너리 배포 포멧. 파이썬 패키지를 설치하기 전에 미리 빌드된 바이너리 형식.
장치 관리
- PyCUDA: CUDA 바인딩 라이브러리. 파이썬에서 NVIDIA CUDA GPU를 활용하여 병렬 컴퓨팅 수행.
- PySerial: 시리얼 통신 라이브러리. 시리얼 포트를 통해 장치와 통신하는 데 사용.
- PyUSB: USB 통신 제어 라이브러리. USB 장치와 통신하고 데이터를 교환.
- gpiozero: Rasberry Pi의 GPIO 제어 도구. 라즈베리 파이의 GPIO 핀을 쉽게 제어하여 하드웨어 프로젝트 개발.
- keyboard: 키보드의 입력 감지 및 조작 라이브러리. 키보드 이벤트를 모니터링하고 키 입력을 시뮬레이션.
- psutil: 시스템 및 프로세스 관리 작업 도구. 시스템의 CPU, 메모리, 디스크, 네트워크 사용량 등 정보 제공.
- pynput: 키보드와 마우스 입력을 모니터링 및 제어. 사용자 입력(키보드, 마우스)을 감지하고 제어하여 자동화 스크립트 작성.
커맨드라인(CLI) 및 터미널 도구
- Python-Fire: Python의 기존 코드를 CLI로 전환. 파이썬 객체에서 자동으로 명령줄 인터페이스 생성.
- Rich: 고급 텍스트와 레이아웃 라이브러리. 터미널에 색상, 스타일, 테이블, 진행률 표시줄 등 풍부한 텍스트 출력.
- Terminal Text Effects: 터미널 텍스트 효과 라이브러리. 터미널에 다양한 텍스트 애니메이션 및 효과 구현.
- Textual: 모던 터미널 사용자 인터페이스 개발 도구. 터미널 기반의 복잡한 사용자 인터페이스(TUI)를 쉽게 구축.
- The Fuck: 터미널에서 발생한 오타 수정 도구. 이전 명령의 오타를 자동으로 감지하고 수정 제안.
- Typer: 파이썬 타입 힌트 기반 CLI 생성 도구. 파이썬 타입 힌트를 사용하여 강력하고 직관적인 명령줄 인터페이스 구축.
- alive-progress: 역동적인 진행 표시줄 도구. 터미널에 다양한 애니메이션 효과의 진행률 표시줄 제공.
- argparse: 명령행 옵션, 인자와 부속 명령을 위한 파서. 명령줄 인자를 파싱하여 스크립트 실행 제어.
- asciimatics: 터미널 텍스트 기반 UI. 터미널에서 애니메이션, 게임, 대화형 UI를 생성.
- blessed: 터미널 애플리케이션 개발 도구. 터미널에서 색상, 커서 위치 제어, 화면 지우기 등 고급 기능 사용.
- click: 커맨드라인 인터페이스(CLI) 생성 라이브러리. 파이썬 함수에 데코레이터를 추가하여 CLI를 쉽게 생성.
- colorama: 터미널 텍스트의 색상과 스타일 라이브러리. 터미널 출력을 색상으로 강조하여 가독성 향상.
- tabulate: 테이블 형식으로 예쁘게 출력. 데이터를 다양한 형식의 예쁜 테이블로 터미널에 출력.
- tqdm: 진행률 표시 도구. 반복문의 진행 상태를 시각적인 진행률 표시줄로 보여주어 작업 진행 상황 확인.
코드 품질 도구
- Bandit: 보안 취약점을 찾기 위한 도구. 파이썬 코드에서 일반적인 보안 문제점을 자동으로 스캔.
- Black: The uncompromising code formatter. 파이썬 코드를 일관된 스타일로 자동 포맷팅하여 코드 가독성 향상.
- Coverage: 테스트 커버리지 측정 도구. 테스트가 얼마나 많은 코드를 실행했는지 측정하여 테스트 품질 평가.
- Flake8: 파이썬 린팅(Linting) 도구. 파이썬 코드의 스타일 가이드(PEP 8) 준수 여부 및 잠재적 오류 검사.
- Hypothesis: 프로퍼티 기반 테스트 라이브러리. 코드의 속성을 정의하고 무작위 입력을 생성하여 테스트.
- PyTest: 테스팅 프레임워크. 파이썬 코드의 단위 테스트 및 통합 테스트를 쉽고 효율적으로 작성.
- Ruff: Rust 기반 파이썬 린터(Linter) 및 코드 포멧터. 매우 빠른 속도로 파이썬 코드를 린팅하고 포맷팅.
- YAPF: 구글에서 개발한 Python Code Formatter. 파이썬 코드를 자동으로 포맷팅하여 일관된 스타일 유지.
- isort: 파이썬 코드 내 import 문을 자동으로 정렬. import 문을 표준화하여 코드 가독성 향상.
- mypy: 선택적 정적 타입 검사 도구. 파이썬 코드의 타입 힌트를 기반으로 정적 타입 검사 수행.
- nox: 자동화된 테스트 및 태스크 실행 도구. 여러 파이썬 버전에서 테스트를 실행하고 코드 품질 검사.
- pylint: 정적 코드 분석 도구. 파이썬 코드의 오류, 스타일 문제, 잠재적 버그 등을 분석.
- tox: 자동화된 테스트 도구. 여러 파이썬 환경에서 프로젝트 테스트를 자동화.
- unittest: 단위 테스트 프레임워크. 파이썬 표준 라이브러리에 포함된 단위 테스트 프레임워크.
함수형 프로그래밍 모듈
- functools: 고차 함수 관련 라이브러리. 함수형 프로그래밍을 위한 유틸리티 함수(부분 함수, 캐싱 등) 제공.
- wrapt: decorator, wrapper 및 monkey patch를 위한 모듈. 데코레이터를 더 안전하고 유연하게 작성.
- itertools: 반복 가능한 데이터에 대한 반복 작업. 효율적인 반복자(iterator)를 생성하여 메모리 사용량 최적화.
- more-itertools: itertools 보완 라이브러리. itertools 모듈의 기능을 확장하여 더 많은 반복자 유틸리티 제공.
17 클라우드 및 DevOps
DevOps
- Docker: Docker 리모트 API. 파이썬에서 Docker 컨테이너를 생성, 실행, 관리.
- Kubernetes: Kubernetes API의 파이썬 클라이언트. 파이썬으로 Kubernetes 클러스터를 관리하고 애플리케이션 배포.
Third-party APIs
- GitPython: Git 저장소의 작업 조작 라이브러리. 파이썬에서 Git 저장소를 제어하고 Git 명령 실행.
- PRAW: Python Reddit API Wrapper. Reddit API를 사용하여 Reddit 게시물, 사용자, 댓글 등 데이터를 가져오고 상호 작용.
- Tweepy: 파이썬 Twitter API. Twitter API와 상호 작용하여 트윗 게시, 타임라인 조회 등 Twitter 기능 사용.
- facebook-sdk: 페이스북 그래프 API. Facebook Graph API를 사용하여 Facebook 데이터에 접근하고 관리.
- google-api-python-client: 구글 서비스 API 라이브러리. Google의 다양한 서비스(Gmail, Drive 등) API에 접근.
- python-slack-sdk: Slack 개발자 Kit. Slack API를 사용하여 Slack 앱 및 봇 개발.
- python-telegram-bot: Telegram Bot API 개발 도구. Telegram 봇을 만들고 메시지 전송, 명령 처리 등 기능 구현.
- twython: Twitter API 라이브러리. Twitter API에 접근하여 트윗, 사용자 정보 등을 조회.
클라우드 서비스 및 API
- AWS CLI: AWS의 서비스를 커맨드 라인에서 관리. AWS 서비스를 명령줄 인터페이스로 제어.
- Azure SDK for Python: Microsoft Azure 서비스의 클라이언트 라이브러리 모음. Azure 클라우드 서비스와 상호 작용하는 데 사용.
- Google Cloud Python: GCP의 다양한 클라이언트 라이브러리 모음. Google Cloud Platform 서비스에 접근하고 제어.
- apache-libcloud: 클라우드 서비스들 통합 인터페이스. 다양한 클라우드 제공업체(AWS, Azure, GCP 등)를 통합된 API로 제어.
- boto3: Amazon Web Service (AWS) API 라이브러리. 파이썬에서 AWS 서비스(S3, EC2 등)를 제어.
- splunk-sdk: Splunk Cloud의 Python API. Splunk Cloud 플랫폼과 상호 작용하여 로그 데이터 검색 및 분석.
18 자동화 도구
- Ansible: IT 자동화 도구. 서버 구성, 소프트웨어 배포, 워크플로우 오케스트레이션 등 IT 인프라 자동화.
- Apache-airflow: 복잡한 데이터 파이프라인의 자동화. 워크플로우를 DAG(Directed Acyclic Graph)로 정의하여 스케줄링 및 모니터링.
- Fabric: 명령줄 도구 및 라이브러리. SSH를 통해 원격 서버에서 명령을 실행하고 파일 업로드/다운로드.
- Paramiko: SSHv2 라이브러리. SSH 프로토콜을 사용하여 원격 서버에 안전하게 연결하고 명령 실행.
- Netmiko: Paramiko SSH 연결을 단순화. 네트워크 장치와의 SSH 연결을 자동화하여 네트워크 관리 작업 간소화.
- PyAutoGUI: GUI 자동 제어 라이브러리. 마우스 및 키보드 입력을 시뮬레이션하여 GUI 애플리케이션 자동화.
- PyWinAuto: Windows GUI 자동화 도구. Windows GUI 애플리케이션을 제어하고 자동화.
- Robot Framework: 자동화 테스트 프레임워크. 키워드 기반의 테스트 자동화 프레임워크로, 테스트 케이스를 쉽게 작성.
- Schedule: 작업 스케줄링 라이브러리. 파이썬 스크립트 내에서 작업을 주기적으로 실행하도록 스케줄링.
- celery: 분산 작업 큐 시스템. 비동기 작업을 처리하고 분산 환경에서 작업 큐를 관리.
- grpcio: 범용 RPC 프레임워크. 고성능 분산 시스템을 구축하기 위한 RPC(원격 프로시저 호출) 프레임워크.
- invoke: 작업 실행과 파일 조작 자동화. 파이썬 스크립트에서 명령줄 작업을 실행하고 파일 시스템을 조작.
- luigi: Spotify에서 개발한 워크플로우 자동화 도구. 복잡한 배치 작업을 정의하고 실행하는 워크플로우 관리 시스템.
- pyinfra: 서버 인프라 자동화 도구. Python 코드로 서버 구성 관리, 소프트웨어 배포 등 인프라 자동화.
19 유틸리티 및 도구
- APScheduler: 향상된 일정 관리 라이브러리. 유연한 스케줄링 기능을 제공하여 작업을 예약 실행.
- Certifi: 파이썬 SSL/TLS 인증서 관리. 웹 요청 시 SSL/TLS 통신을 위한 CA 인증서 번들을 제공.
- pyOpenSSL: 파이썬 SSL/TLS 인증서 관리. OpenSSL 라이브러리에 대한 파이썬 바인딩으로 SSL/TLS 통신 지원.
- Cookiecutter: 템플릿 기반 프로젝트 생성 도구. 미리 정의된 템플릿을 사용하여 새로운 프로젝트를 생성.
- FileLock: 파일 기반의 락(lock) 구현. 여러 프로세스나 스레드 간에 파일 접근을 동기화.
- FontTools: 글꼴 파일 조작 라이브러리. TrueType, OpenType 등 다양한 글꼴 파일을 읽고 쓰고 수정.
- IPython: Python 언어를 위한 대화형 쉘. 향상된 대화형 파이썬 쉘로, 코드 자동 완성, 문법 강조 등 기능 제공.
- IceCream: 이젠 print()로 디버깅하지 마세요. print() 대신 사용하여 변수 값, 함수 호출 등을 깔끔하게 출력하여 디버깅.
- Magika: AI 기반 파일 타입 감지 도구. 머신러닝을 기반으로 파일의 유형을 정확하게 식별.
- PrettyErrors: 표준 에러 메시지를 보다 읽기 쉽게. 파이썬 오류 메시지를 시각적으로 개선하여 디버깅 용이.
- Pyarmor: 소스 코드 난독화. 파이썬 스크립트를 난독화하여 지적 재산권 보호.
- Pygments: 구문 강조(Syntax Highlighting) 라이브러리. 다양한 프로그래밍 언어의 코드에 색상 구문 강조 적용.
- Pyperclip: 파이썬 클립보드 라이브러리. 파이썬 스크립트에서 클립보드에 텍스트를 복사하거나 붙여넣기.
- Reloadium: 코드 재로드 도구. 개발 중인 파이썬 코드를 수정하면 애플리케이션을 다시 시작하지 않고 변경 사항 적용.
- Spyder: 과학 계산과 데이터 과학을 위한 IDE. 통합 개발 환경(IDE)으로, 과학 컴퓨팅 및 데이터 분석에 특화.
- Tenacity: 재시도(retry) 매커니즘 구현. 실패한 함수 호출을 자동으로 재시도하여 견고한 애플리케이션 구축.
- attrs: 파이썬 클래스 정의 단순화 도구. 데이터 클래스를 더 쉽게 정의하고 불변 객체를 생성.
- behave: 행위 주도 개발(BDD) 방법론 구현. 자연어 기반의 테스트 시나리오를 사용하여 소프트웨어 행동 정의.
- boltons: 파이썬 내장 기능을 보완하고 확장. 누락된 유틸리티 함수와 데이터 구조를 제공하여 파이썬 개발 편의성 향상.
- configparser: INI 파일 형식의 설정 관리 라이브러리. .ini 파일에서 애플리케이션 설정을 읽고 쓴다.
- pycparser: ANSI C 코드 파싱 도구. C 언어 코드를 파싱하여 AST(추상 구문 트리)를 생성.
- pyscreenshot: 스크린샷 캡쳐 라이브러리. 다양한 백엔드를 사용하여 스크린샷을 캡처.
- pyspread: 파이썬 스프레드 시트. 파이썬으로 셀에 데이터를 입력하고 계산할 수 있는 스프레드시트 애플리케이션.
- pywin32 (a.k.a. win32com): Windows 네이티브 API 제어 라이브러리. 파이썬에서 Windows API 및 COM 객체를 제어.
20 특수 분야
금융
- CCXT: 암호화폐 거래소들의 통합 API. 전 세계 다양한 암호화폐 거래소의 데이터를 통합된 API로 접근.
- FinanceDataReader: 국내/미국 금융 데이터를 쉽게 가져오기 위한 라이브러리. 주식, 환율, 비트코인 등 금융 데이터를 편리하게 수집.
- OpenDartReader: 금융감독원 전자공시 시스템(Open Dart) 서비스 API 도구. Dart 공시 시스템의 기업 재무 정보를 파이썬에서 조회.
- Quandl: 경제, 금융, 사회학 등 시계열 데이터셋 제공 플랫폼. 방대한 양의 금융 및 경제 시계열 데이터에 접근.
- QuantLib: 양적(콴트) 금융 라이브러리. 금융 상품 가격 결정, 리스크 관리 등 양적 금융 분석 수행.
- TA-Lib: 금융 시장 데이터의 기술적 분석 도구. 주식 차트 분석에 사용되는 다양한 기술적 지표 계산.
- pandas-datareader: 금융 및 경제 데이터 수집 도구. Pandas DataFrame으로 금융 및 경제 데이터를 손쉽게 가져옴.
- yfinance: Yahoo Finance에서 제공하는 금융 데이터 접근 도구. Yahoo Finance에서 주식, 환율 등 금융 데이터 다운로드.
- zipline: 알고리즘 트레이딩 라이브러리. 알고리즘 트레이딩 전략을 개발하고 백테스팅.
블록 체인
- Brownie: 이더리움 기반의 프로젝트를 위한 프레임워크. 스마트 컨트랙트 개발, 테스트, 배포를 위한 개발 환경 제공.
- PyTeal: 알고랜드 스마트 컨트랙트(ASC1) 작성. AlgoRand 블록체인에서 스마트 컨트랙트를 파이썬으로 작성.
- Web3.py: 이더리움 블록체인과 상호작용하기 위한 라이브러리. 이더리움 블록체인 네트워크와 통신하고 트랜잭션 전송.
암호학 및 보안
- Cryptography: 암호화 기능 및 보안 통신. 강력한 암호화 알고리즘과 프로토콜을 사용하여 보안 애플리케이션 개발.
- PyCrypto: 한때 널리 쓰이던 암호화 라이브러리. 다양한 암호화 알고리즘(AES, RSA 등)을 제공.
- PyCryptodome: 독립형 암호화 라이브러리. PyCrypto의 개선된 버전으로, 더 안전하고 현대적인 암호화 기능 제공.
- PyNaCl: 네트워킹 및 암호화 라이브러리. 암호화, 서명, 해싱 등 암호학적 원시 함수 제공.
- hashlib: 보안 해시와 메시지 요약. SHA1, MD5 등 다양한 해시 함수를 사용하여 데이터 무결성 검증.
- itsdangerous: 데이터를 안전하게 서명하고 전달. 신뢰할 수 없는 환경에서 데이터를 안전하게 교환.
- pwntools: 보안 도구 모음. 익스플로잇 개발, 취약점 분석 등 보안 분야에 필요한 다양한 유틸리티 제공.
자율 주행 연구
- Bark simulator: 자율 주행 운전 행동의 개발, 시뮬레이션 및 벤치마킹. 자율 주행 알고리즘 개발 및 평가를 위한 시뮬레이션 환경 제공.
- CARLA: 자율 주행 연구를 위한 오픈 소스 시뮬레이터. 사실적인 시뮬레이션 환경에서 자율 주행 시스템 개발 및 테스트.
21 파이썬 구현체 및 최적화 도구
- CPython: Python의 구현체. 파이썬 공식 구현체로, 일반적으로 우리가 사용하는 파이썬.
- Cython: Python 코드를 C언어로 컴파일. 파이썬 코드의 성능을 C 수준으로 끌어올려 속도 향상.
- MicroPython: 마이크로컨트롤러용 파이썬 구현체. 제한된 리소스 환경의 마이크로컨트롤러에서 파이썬 실행.
- Mojo: 파이썬 대체 구현체. 파이썬과의 호환성을 유지하면서 고성능 컴퓨팅을 목표로 하는 새로운 언어.
- Numba: 함수 고속화를 위한 오픈 소스 JIT 컴파일러. 파이썬 코드를 JIT 컴파일하여 CPU 및 GPU에서 고성능 실행.
- PyPy: Python 언어의 대체 구현체. JIT 컴파일을 통해 CPython보다 빠른 실행 속도 제공.
- Scalene: 파이썬 CPU+GPU+메모리 프로파일러. 파이썬 코드의 성능 병목 현상을 정확하게 식별.
22 기타 라이브러리
- Art: ASCII 아트 라이브러리. 텍스트로 ASCII 아트를 생성하여 터미널 출력 또는 코드 주석에 활용.
- YouTube 다운로드를 위한 Python 라이브러리: YouTube 동영상을 다운로드하는 데 사용되는 도구.
- ascii_magic: 이미지 또는 비디오를 ASCII 아트로 변환. 이미지나 비디오를 ASCII 문자로 구성된 아트로 변환.
- pix2tex: LaTeX OCR 도구. 이미지에 있는 수학 수식을 LaTeX 코드로 변환.
- python-barcode: 바코드 생성 도구. 다양한 유형의 바코드(EAN, Code128 등)를 생성.
- six: 파이썬2와 3 사이의 호환성 문제 해결. 파이썬 2와 3에서 모두 작동하는 코드를 작성하는 데 도움.
- word_cloud: 단어 구름 생성 라이브러리. 텍스트 데이터에서 단어의 빈도에 따라 크기가 다른 단어 구름 생성.
23 파이썬 생태계 관련 중요 단체 및 사이트
- Awesome Python: 파이썬 라이브러리, 프레임워크, 소프트웨어 및 리소스 컬렉션. 다양한 분야의 유용한 파이썬 리소스들을 모아놓은 목록.
- Hugging Face: AI 분야에서 가장 혁신적인 회사. 트랜스포머 모델, 데이터셋, 모델 허브 등 AI 개발에 필수적인 자원 제공.
- NumFOCUS: 데이터 과학 분야의 오픈 소스 소프트웨어의 발전을 위해 설립된 비영리 단체. NumPy, Pandas 등 핵심 데이터 과학 라이브러리 지원.
'Dev > Python' 카테고리의 다른 글
| 다중 LLM 통합 관리 및 비용 최적화 전략(LiteLLM) (0) | 2026.01.07 |
|---|---|
| Pandas활용한 데이터 처리 최적화 팁 (0) | 2025.01.15 |