Skip to main content

azurpaint

PyPI supported Python versions MIT

Azur Lane painting reconstructor/extractor.

Install

Python 3.9.0 or higher is required

pip install azurpaint

Usage

Simple example to extract painting

  • create new folder
  • get and extract /Android/obb/com.YoStarEN.AzurLane/*.obb to new folder
  • copy AssetBundles from /Android/data/com.YoStarEN.AzurLane/files/AssetBundles
from pathlib import Path
from azurpaint import Azurpaint
from azurpaint.exception import PrefabNotFound

# extract painting with default expression/face
def extract(asset_bundle_path, prefab_path):
  try:
    azurpaint = Azurpaint(asset_bundle_path, prefab_path)

    # search dependencies automatically within AssetBundles (root)
    # this is still in experimental mode so far on testing the result is good
    # load_dependencies only searching in local file and it doesn't know
    # if there any missing dependency it doesn't know what file it is
    # so you should provide complete asset include extracted OBB before running this
    azurpaint.load_dependencies()

    # PIL.Image.Image
    return azurpaint.create()
  except PrefabNotFound:
    print(f"{prefab_path} is not an prefab.")


# extract painting with all face/expression into output_dir
def extract_all_face(asset_bundle_path, prefab_path, output_dir):
  try:
    azurpaint = Azurpaint(asset_bundle_path, prefab_path)
    azurpaint.load_dependencies()

    Path(output_dir).mkdir(parents=True, exist_ok=True)
    azurpaint.create().save(Path(output_dir, f"{azurpaint.prefab.name}-default.png"))

    for face in azurpaint.face_list:
      azurpaint.change_face(face)
      azurpaint.create().save(Path(output_dir, f"{azurpaint.prefab.name}-{face}.png"))

  except PrefabNotFound:
    print(f"{prefab_path} is not an prefab.")


if __name__ == '__main__':
  # azurpaint require asset that have .prefab
  # will raise PrefabNotFound if file is not an prefab
  extract('path_to/AssetBundles', 'painting/tashigan')

Metadata

Release files for azurpaint 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for azurpaint 1.0.6
File Size Uploaded
azurpaint-1.0.6.tar.gz 14.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for azurpaint 1.0.6
File Interpreter ABI Platform
azurpaint-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 29.8 kB

Release files / azurpaint-1.0.6.tar.gz

Download URL azurpaint-1.0.6.tar.gz
Size 14.7 kB
Tags Source
SHA-256 checksum
How to use checksums
88d68b7cdf307cb378bea49a0b0e52019b335e2437e7e9f9aab15a72cda3b06e
BLAKE2b-256 checksum
How to use checksums
f1c6e785a39067999124385468f540296d664202f581edf9ef642a5f1a7f6cad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / azurpaint-1.0.6-py3-none-any.whl

Download URL azurpaint-1.0.6-py3-none-any.whl
Size 15.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
269e3bc8b0aac2cb7e037c255c4de48b887d8ff588c483419d8b4d5e5b0030f2
BLAKE2b-256 checksum
How to use checksums
34293b39e89e641a4854ab33b04f9791a0a8b444835d11426cb73143c51f6603
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page