Skip to content

Commit eb53e94

Browse files
whitewhite
authored andcommitted
Add Korean README translation
Added README.ko.md with full Korean translation and language switching links in both README files.
1 parent 7b62bf0 commit eb53e94

2 files changed

Lines changed: 77 additions & 0 deletions

File tree

README.ko.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
[English](README.md) | [한국어](README.ko.md)
2+
3+
# PythonEmbed
4+
5+
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6+
7+
Java에서 Python 코드를 실행하세요 — 완전한 CPython 호환성, 설정 불필요.
8+
9+
PythonEmbed는 서브프로세스 + [MessagePack](https://msgpack.org/) 바이너리 프로토콜을 통해 실제 CPython 인터프리터를 JVM 애플리케이션에 내장합니다. 순수 Java와 CPython만으로 동작하며, 모든 C 확장(numpy, scipy, torch)이 그대로 작동합니다.
10+
11+
> :books: **전체 문서**: [howtis.github.io/python-embed](https://howtis.github.io/python-embed)
12+
13+
## 빠른 시작
14+
15+
`build.gradle`에 Gradle 플러그인을 추가하세요:
16+
17+
```groovy
18+
plugins {
19+
id 'io.github.howtis.python-embed' version '1.0.2'
20+
}
21+
22+
pythonEmbed {
23+
packages = ['numpy']
24+
}
25+
26+
dependencies {
27+
implementation 'io.github.howtis:python-embed-runtime:1.0.2'
28+
}
29+
```
30+
31+
이제 Java 코드에서 사용하면 됩니다:
32+
33+
```java
34+
try (PythonEmbed py = PythonEmbed.create()) {
35+
py.exec("import numpy as np");
36+
int sum = py.eval("sum([1, 2, 3])").asInt();
37+
System.out.println(sum); // 6
38+
}
39+
```
40+
41+
Gradle 플러그인이 Python 설치, venv 생성, 패키지 설치를 빌드 시점에 자동으로 처리합니다.
42+
43+
## 주요 기능
44+
45+
| 분류 | 특징 |
46+
|------|-------------------------------------------------------------------|
47+
| **호환성** | 완전한 CPython — numpy, scipy, torch, matplotlib, 모든 C 확장 지원 |
48+
| **설정** | 수동 작업 불필요 — Gradle 플러그인이 필요 시 Python 자동 다운로드 |
49+
| **안전성** | 서브프로세스 격리 — Python 크래시가 JVM에 영향을 주지 않음 |
50+
| **성능** | MessagePack 바이너리 프로토콜 |
51+
| **동시성** | 자동 확장 풀, 비동기 `CompletableFuture` API 지원 |
52+
| **통합** | Spring Boot 자동 구성, Actuator `HealthIndicator` |
53+
| **상호운용** | 객체 핸들, Java 프록시, 콜백, 스트리밍, 배치 작업 |
54+
| **관측성** | 헬스 체크, SLF4J 로그 포워딩, 종료 훅 |
55+
56+
[:books: 전체 문서 & API 레퍼런스 →](https://howtis.github.io/python-embed)
57+
58+
## 모듈
59+
60+
- **[python-embed-gradle-plugin](python-embed-gradle-plugin/)** — venv 생성, 패키지 설치, Python 자동 다운로드
61+
- **[python-embed-runtime](python-embed-runtime/)** — 프로세스 통신, 풀 관리, 타입 변환
62+
- **[python-embed-spring-boot-starter](python-embed-spring-boot-starter/)** — Spring Boot 3.x 자동 구성 (SINGLE/POOL 모드)
63+
- **[python-embed-examples](python-embed-examples/)** — 13가지 실제 예제
64+
65+
## 빌드
66+
67+
```bash
68+
./gradlew build
69+
```
70+
71+
요구 사항: JDK 17+, Python 3.8+ (없으면 자동 다운로드).
72+
73+
## 라이선스
74+
75+
MIT — 자세한 내용은 [LICENSE](LICENSE)를 참고하세요.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
[English](README.md) | [한국어](README.ko.md)
2+
13
# PythonEmbed
24

35
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

0 commit comments

Comments
 (0)