Python+FastAPI+Skiaを使用した絵文字生成API。
このプロジェクトは、PythonのFastAPIとSkiaライブラリを使用して、テキストからカスタム絵文字画像を生成するAPIを提供します。様々なフォント、色、サイズ、配置オプションをサポートし、動的な画像生成を可能にします。
- テキストから画像生成: 指定されたテキストから絵文字画像を生成します。
- カスタマイズ可能なオプション: 幅、高さ、文字色、背景色、テキスト配置、フォントサイズ固定、画像引き伸ばし無効化などのパラメータをサポートします。
- 多様なフォントサポート: 複数の日本語フォントを含む、利用可能なフォントを選択できます。
- FastAPIによる高速API: 高性能なFastAPIフレームワークを使用しています。
- Docker対応: Dockerizedされており、簡単に環境をセットアップ・デプロイできます。
-
リポジリのクローン:
git clone https://github.com/your-username/emoji_API.git cd emoji_API -
Python環境のセットアップ: Python 3.9以上が必要です。
venvなどを使用して仮想環境を構築することを推奨します。python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
-
依存関係のインストール:
pip install -r requirements.txt pip install -r requirements_dev.txt pip install ./common_lib/emojilib-1.0.1-cp39-cp39-linux_x86_64.whl
-
アプリケーションの起動:
uvicorn src.app:app --host 0.0.0.0 --port 8000 --reload
アプリケーションは
http://localhost:8000で利用可能になります。
DockerとDocker Composeがインストールされていることを確認してください。
-
Dockerイメージのビルドと起動:
docker-compose up --build
アプリケーションは
http://localhost:8000で利用可能になります。
プロジェクトにはpytestを使用した単体テストが含まれています。
-
依存関係のインストール: ローカル環境でのセットアップ手順に従い、
requirements_dev.txtを含むすべての依存関係をインストールしてください。 -
テストの実行:
pytest
このプロジェクトはGitHub Actionsを使用してCI/CDパイプラインを自動化しています。
.github/workflows/ci.yml: プルリクエストごとにテストを実行します。
このプロジェクトはMITライセンスの下で公開されています。詳細についてはLICENCEファイルを参照してください。
使用されているフォント・ライブラリには個別のライセンスがあります。詳細はLICENCEs/ディレクトリ内の各ライセンスファイルを参照してください。
貢献を歓迎します!バグ報告、機能リクエスト、プルリクエストなど、お気軽にお寄せください。