Skip to main content

pycorex - AI API統合のための軽量Pythonコアパッケージ

統一されたAI APIアクセスとスケーラブルなアプリケーション構築を支援する軽量Pythonコアパッケージ。

概要

pycorex は、Google Gemini, Imagen, ComfyUI など多様なAI APIおよびライブラリへのアクセスを統合し、スケーラブルなPythonアプリケーションを迅速に構築するための軽量なコア・ユーティリティライブラリです。本パッケージは、プロンプト生成、画像生成、AIモデルとの連携など、複雑なAIワークフローを効率的に管理するための機能を提供します。 アプリケーションの初期化や設定管理については、親プロジェクトである libcore-hnghttps://github.com/kaioman/libcore-hng.git)を参照してください。

主な機能

  • 統一されたAIクライアント: Google Gemini, Imagen, ComfyUI など、主要なAIサービスへの統一されたインターフェースを提供します(随時追加予定)
  • 高度なプロンプト生成: 柔軟なテンプレートと設定に基づいたプロンプト生成機能により、AIモデルの性能を最大限に引き出します。
  • 画像生成ワークフローの管理: ComfyUIとの連携により、複雑な画像生成ワークフローをPythonコードから直接制御できます。
  • 拡張性とモジュール性: 新しいAIサービスや機能を追加しやすいモジュール構造を採用しています。

インストール

pycorexpip を使ってインストールできます。

pip install pycorex

使い方

基本的な使用例を以下に示します。

GeminiClient の使用例

import pycorex.configs.app_init as app
from pycorex.gemini_client import GeminiClient
from pycorex.exceptions.no_candidates_error import NoCandidatesError

# アプリ初期化
app.init_app(__file__, "app_config.json", "gcp_config.json", "pycorex.json.enc")

# GeminiClientを初期化
client = GeminiClient(
    api_key=app.core.config.gemini.api_key_vertexai,
    project_id=app.core.config.vertexai.project_id,
    location=app.core.config.vertexai.location
)

# プロンプトを設定
prompt = "リクルートスーツの女性が居酒屋で酒をあおっている"

# 画像生成を実行 
response = client.generate_image(
    prompt=prompt,
    model=GeminiClient.GeminiModel.GEMINI_3_0_PRO_IMAGE_PREVIEW,
    aspect_ratio=GeminiClient.AspectRatio.SQUARE,
    image_size=GeminiClient.ImageSize.TWO_K,
    harm_category = GeminiClient.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
    safety_filter_level = GeminiClient.SafetyFilterLevel.BLOCK_ONLY_HIGH
)

# 画像ファイルを出力する
for idx, image_bytes in enumerate(response["result"]):
    with open(f"image_{idx}.png", "wb") as f:
        f.write(image_bytes)
    print(f"Saved: image_{idx}.png")

プロンプト生成の例

import pycorex.configs.app_init as app
from pycorex.utils.pony_prompt_generator import PonyPromptGenerator

# アプリ初期化
app.init_app(__file__, "app_config.json", "gcp_config.json", "pycorex.json.enc")

# PonyPromptGeneratorのインスタンスを作成
pony_generator = PonyPromptGenerator(
    persona_path="tests/prompt/pony/persona/Aoi.json",
    camera_path="tests/prompt/pony/camera_angules.json",
    wardrobe_path="tests/prompt/pony/wardrobe.json",
    environment_path="tests/prompt/pony/environments.json"
)

# プロンプトを生成
positive_prompt, negative_prompt, image_width, image_height = self.prompt_generator.generate_prompt(
    level=prompt_level,
    target_scene_id=target_scene_id,
    test_outfit_id=test_outfit_id,
    test_scene_id_override=test_scene_id_override,
    test_camera_name=test_camera_name,
)

print(f"Generated Positive Prompt: {positive_prompt[:100]}...")
print(f"Generated Negative Prompt: {negative_prompt[:100]}...")
print(f"Generated Image Resolution: {image_width}x{image_height}")

開発

リポジトリをクローンし、開発環境をセットアップする方法です。

git clone https://github.com/kaioman/pycorex.git
cd pycorex

貢献

貢献を歓迎します!バグ報告や機能提案、プルリクエストをお待ちしております。

ライセンス

このプロジェクトは BSD-3-Clause ライセンスの下で公開されています。詳細については LICENSE ファイルをご覧ください。

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycorex-1.0.38.tar.gz (31.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycorex-1.0.38-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

Details for the file pycorex-1.0.38.tar.gz.

File metadata

  • Download URL: pycorex-1.0.38.tar.gz
  • Upload date:
  • Size: 31.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pycorex-1.0.38.tar.gz
Algorithm Hash digest
SHA256 0e95625b9c813edb23e8d81e7f47afb598c1a14783a01d638789f73e10d0d5d1
MD5 11eb3019a32624bbcd5872708c1c8770
BLAKE2b-256 cbd205b82fe75b12c62e2f62a056d2e01de7df5e8a09f4e4a110d7ff499f4a81

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycorex-1.0.38.tar.gz:

Publisher: release.yml on kaioman/pycorex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pycorex-1.0.38-py3-none-any.whl.

File metadata

  • Download URL: pycorex-1.0.38-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pycorex-1.0.38-py3-none-any.whl
Algorithm Hash digest
SHA256 35aa90e4b3489f142cba8eacbc2cce298bd4b21bfe09b8462673530cfa244dfc
MD5 0dfdb7c537f3ee4d7c21069ab0167f33
BLAKE2b-256 55756ef00cbdb855df5b492c4f633d3f9b5b6c16cc1c7c406818f29f214c2d0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycorex-1.0.38-py3-none-any.whl:

Publisher: release.yml on kaioman/pycorex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.38 This release

2 files

1.0.37

2 files

1.0.36

2 files

1.0.35

2 files

1.0.34

2 files

1.0.33

2 files

1.0.32

2 files

1.0.31

2 files

1.0.30

2 files

1.0.29

2 files

1.0.28

2 files

1.0.27

2 files

1.0.26

2 files

1.0.25

2 files

1.0.24

2 files

1.0.23

2 files

1.0.22

2 files

1.0.21

2 files

1.0.20

2 files

1.0.19

2 files

1.0.18

2 files

1.0.17

2 files

1.0.16

2 files

1.0.15

2 files

1.0.14

2 files

1.0.13

2 files

1.0.12

2 files

1.0.11

2 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page