Name | UnityPy JSON |
Version |
1.20.18
JSON |
| download |
home_page | None |
Summary | A Unity extraction and patching package |
upload_time | 2025-01-18 23:11:39 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | MIT License Copyright (c) 2019-2021 K0lb3 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
python
unity
unity-asset
python3
data-minig
unitypack
assetstudio
unity-asset-extractor
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# UnityPy
[![Discord server invite](https://discordapp.com/api/guilds/603359898507673630/embed.png)](https://discord.gg/C6txv7M)
[![PyPI supported Python versions](https://img.shields.io/pypi/pyversions/UnityPy.svg)](https://pypi.python.org/pypi/UnityPy)
[![Win/Mac/Linux](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-informational)]()
[![MIT](https://img.shields.io/github/license/K0lb3/UnityPy)](https://github.com/K0lb3/UnityPy/blob/master/LICENSE)
![Test](https://github.com/K0lb3/UnityPy/workflows/Test/badge.svg)
A Unity asset extractor for Python based on [AssetStudio](https://github.com/Perfare/AssetStudio).
Next to extraction, it also supports editing Unity assets.
So far following obj types can be edited:
- Texture2D
- Sprite(indirectly via linked Texture2D)
- TextAsset
- MonoBehaviour (and all other types that you have the typetree of)
If you need advice or if you want to talk about (game) data-mining,
feel free to join the [UnityPy Discord](https://discord.gg/C6txv7M).
If you're using UnityPy a commercial project,
a donation to a charitable cause or a sponsorship of this project is expected.
**As UnityPy is still in active development breaking changes can happen.**
Those changes are usually limited to minor versions (x.y) and not to patch versions (x.y.z).
So in case that you don't want to actively maintain your project,
make sure to make a note of the used UnityPy version in your README or add a check in your code.
e.g.
```python
if UnityPy.__version__ != '1.9.6':
raise ImportError("Invalid UnityPy version detected. Please use version 1.9.6")
```
1. [Installation](#installation)
2. [Example](#example)
3. [Important Classes](#important-classes)
4. [Important Object Types](#important-object-types)
5. [Custom Fileystem](#custom-filesystem)
6. [Credits](#credits)
## Installation
**Python 3.7.0 or higher is required**
via pypi
```cmd
pip install UnityPy
```
from source
```cmd
git clone https://github.com/K0lb3/UnityPy.git
cd UnityPy
python -m pip install .
```
### Notes
#### Windows
Visual C++ Redistributable is required for the brotli dependency.
In case a new(ish) Python version is used, it can happen that the C-dependencies of UnityPy might not be precompiled for this version.
In such cases the user either has to report this as issue or follow the steps of [this issue](https://github.com/K0lb3/UnityPy/issues/223) to compile it oneself.
Another option for the user is downgrading Python to the latest version supported by UnityPy. For this see the python version badge at the top of the README.
### Crash without warning/error
The C-implementation of the typetree reader can directly crash python.
In case this happens, the usage of the C-typetree reader can be disabled by adding these two lines to your main file.
```python
from UnityPy.helpers import TypeTreeHelper
TypeTreeHelper.read_typetree_boost = False
```
## Example
The following is a simple example.
```python
import os
import UnityPy
def unpack_all_assets(source_folder : str, destination_folder : str):
# iterate over all files in source folder
for root, dirs, files in os.walk(source_folder):
for file_name in files:
# generate file_path
file_path = os.path.join(root, file_name)
# load that file via UnityPy.load
env = UnityPy.load(file_path)
# iterate over internal objects
for obj in env.objects:
# process specific object types
if obj.type.name in ["Texture2D", "Sprite"]:
# parse the object data
data = obj.read()
# create destination path
dest = os.path.join(destination_folder, data.name)
# make sure that the extension is correct
# you probably only want to do so with images/textures
dest, ext = os.path.splitext(dest)
dest = dest + ".png"
img = data.image
img.save(dest)
# alternative way which keeps the original path
for path,obj in env.container.items():
if obj.type.name in ["Texture2D", "Sprite"]:
data = obj.read()
# create dest based on original path
dest = os.path.join(destination_folder, *path.split("/"))
# make sure that the dir of that path exists
os.makedirs(os.path.dirname(dest), exist_ok = True)
# correct extension
dest, ext = os.path.splitext(dest)
dest = dest + ".png"
data.image.save(dest)
```
You probably have to read [Important Classes](#important-classes)
and [Important Object Types](#important-object-types) to understand how it works.
People with slightly advanced python skills should look at [UnityPy/tools/extractor.py](UnityPy/tools/extractor.py) for a more advanced example.
It can also be used as a general template or as an importable tool.
### Setting the decryption key for Unity CN's AssetBundle encryption
The chinese version of Unity has its own inbuild option to encrypt AssetBundles/BundleFiles. As it's a feature of Unity itself, and not a game specific protection, it is included in UnityPy as well.
To enable encryption simply use `UnityPy.set_assetbundle_decrypt_key(key)`, with key being the value that the game that loads the budles passes to `AssetBundle.SetAssetBundleDecryptKey`.
## Important Classes
### [Environment](UnityPy/environment.py)
Environment loads and parses the given files.
It can be initialized via:
- a file path - apk files can be loaded as well
- a folder path - loads all files in that folder (bad idea for folders with a lot of files)
- a stream - e.g., io.BytesIO, file stream,...
- a bytes object - will be loaded into a stream
UnityPy can detect if the file is a WebFile, BundleFile, Asset, or APK.
The unpacked assets will be loaded into `.files`, a dict consisting of `asset-name : asset`.
All objects of the loaded assets can be easily accessed via `.objects`,
which itself is a simple recursive iterator.
```python
import io
import UnityPy
# all of the following would work
src = "file_path"
src = b"bytes"
src = io.BytesIO(b"Streamable")
env = UnityPy.load(src)
for obj in env.objects:
...
# saving an edited file
# apply modifications to the objects
# don't forget to use data.save()
...
with open(dst, "wb") as f:
f.write(env.file.save())
```
### [Asset](UnityPy/files/SerializedFile.py)
Assets are a container that contains multiple objects.
One of these objects can be an AssetBundle, which contains a file path for some of the objects in the same asset.
All objects can be found in the `.objects` dict - `{ID : object}`.
The objects with a file path can be found in the `.container` dict - `{path : object}`.
### [Object](UnityPy/files/ObjectReader.py)
Objects contain the _actual_ files, e.g., textures, text files, meshes, settings, ...
To acquire the actual data of an object it has to be read first. This happens via the `.read()` function. This isn't done automatically to save time because only a small part of the objects are of interest. Serialized objects can be set with raw data using `.set_raw_data(data)` or modified with `.save()` function, if supported.
## Important Object Types
All object types can be found in [UnityPy/classes](UnityPy/classes/).
### [Texture2D](UnityPy/classes/Texture2D.py)
- `.m_Name`
- `.image` converts the texture into a `PIL.Image`
- `.m_Width` - texture width (int)
- `.m_Height` - texture height (int)
**Export**
```python
from PIL import Image
for obj in env.objects:
if obj.type.name == "Texture2D":
# export texture
data = obj.read()
path = os.path.join(export_dir, f"{data.m_Name}.png")
data.image.save(path)
# edit texture
fp = os.path.join(replace_dir, f"{data.m_Name}.png")
pil_img = Image.open(fp)
data.image = pil_img
data.save()
```
### [Sprite](UnityPy/classes/Sprite.py)
Sprites are part of a texture and can have a separate alpha-image as well.
Unlike most other extractors (including AssetStudio), UnityPy merges those two images by itself.
- `.m_Name`
- `.image` - converts the merged texture part into a `PIL.Image`
- `.m_Width` - sprite width (int)
- `.m_Height` - sprite height (int)
**Export**
```python
for obj in env.objects:
if obj.type.name == "Sprite":
data = obj.read()
path = os.path.join(export_dir, f"{data.m_Name}.png")
data.image.save(path)
```
### [TextAsset](UnityPy/classes/TextAsset.py)
TextAssets are usually normal text files.
- `.m_Name`
- `.m_Script` - str
Some games save binary data as TextFile, so to convert the ``str`` back to bytes correctly ``m_Script.encode("utf-8", "surrogateescape")`` has to be used.
**Export**
```python
for obj in env.objects:
if obj.type.name == "TextAsset":
# export asset
data = obj.read()
path = os.path.join(export_dir, f"{data.m_Name}.txt")
with open(path, "wb") as f:
f.write(data.m_Script.encode("utf-8", "surrogateescape"))
# edit asset
fp = os.path.join(replace_dir, f"{data.m_Name}.txt")
with open(fp, "rb") as f:
data.m_Script = f.read().decode("utf-8", "surrogateescape"))
data.save()
```
### [MonoBehaviour](UnityPy/classes/MonoBehaviour.py)
MonoBehaviour assets are usually used to save the class instances with their values.
If a type tree exists, it can be used to read the whole data,
but if it doesn't exist, then it is usually necessary to investigate the class that loads the specific MonoBehaviour to extract the data.
([example](examples/CustomMonoBehaviour/get_scriptable_texture.py))
- `.m_Name`
- `.m_Script`
**Export**
```python
import json
for obj in env.objects:
if obj.type.name == "MonoBehaviour":
# export
if obj.serialized_type.node:
# save decoded data
tree = obj.read_typetree()
fp = os.path.join(extract_dir, f"{tree['m_Name']}.json")
with open(fp, "wt", encoding = "utf8") as f:
json.dump(tree, f, ensure_ascii = False, indent = 4)
# edit
if obj.serialized_type.node:
tree = obj.read_typetree()
# apply modifications to the data within the tree
obj.save_typetree(tree)
else:
data = obj.read(check_read=False)
with open(os.path.join(replace_dir, data.m_Name)) as f:
data.save(raw_data = f.read())
```
### [AudioClip](UnityPy/classes/AudioClip.py)
- `.samples` - `{sample-name : sample-data}`
The samples are converted into the .wav format.
The sample data is a .wav file in bytes.
```python
clip : AudioClip
for name, data in clip.samples.items():
with open(name, "wb") as f:
f.write(data)
```
### [Font](UnityPy/classes/Font.py)
```python
if obj.type.name == "Font":
font : Font = obj.read()
if font.m_FontData:
extension = ".ttf"
if font.m_FontData[0:4] == b"OTTO":
extension = ".otf"
with open(os.path.join(path, font.m_Name+extension), "wb") as f:
f.write(font.m_FontData)
```
### [Mesh](UnityPy/classes/Mesh.py)
- `.export()` - mesh exported as .obj (str)
The mesh will be converted to the Wavefront .obj file format.
```python
mesh : Mesh
with open(f"{mesh.m_Name}.obj", "wt", newline = "") as f:
# newline = "" is important
f.write(mesh.export())
```
### Renderer, MeshRenderer, SkinnedMeshRenderer
ALPHA-VERSION
- `.export(export_dir)` - exports the associated mesh, materials, and textures into the given directory
The mesh and materials will be in the Wavefront formats.
```python
mesh_renderer : Renderer
export_dir: str
if mesh_renderer.m_GameObject:
# get the name of the model
game_object = mesh_renderer.m_GameObject.read()
export_dir = os.path.join(export_dir, game_object.m_Name)
mesh_renderer.export(export_dir)
```
### [Texture2DArray](UnityPy/classes/Texture2DArray.py)
WARNING - not well tested
- `.m_Name`
- `.image` converts the texture2darray into a `PIL.Image`
- `.m_Width` - texture width (int)
- `.m_Height` - texture height (int)
**Export**
```python
import os
from PIL import Image
for obj in env.objects:
if obj.type.name == "Texture2DArray":
# export texture
data = obj.read()
for i, image in enumerate(data.images):
image.save(os.path.join(path, f"{data.m_Name}_{i}.png"))
# editing isn't supported yet!
```
## Custom-Filesystem
UnityPy uses [fsspec](https://github.com/fsspec/filesystem_spec) under the hood to manage all filesystem interactions.
This allows using various different types of filesystems without having to change UnityPy's code.
It also means that you can use your own custom filesystem to e.g. handle indirection via catalog files, load assets on demand from a server, or decrypt files.
Following methods of the filesystem have to be implemented for using it in UnityPy.
- sep (not a function, just the seperator as character)
- isfile(self, path: str) -> bool
- isdir(self, path: str) -> bool
- exists(self, path: str, \*\*kwargs) -> bool
- walk(self, path: str, \*\*kwargs) -> Iterable[List[str], List[str], List[str]]
- open(self, path: str, mode: str = "rb", \*\*kwargs) -> file ("rb" mode required, "wt" required for ModelExporter)
- makedirs(self, path: str, exist_ok: bool = False) -> bool
## Credits
First of all,
thanks a lot to all contributors of UnityPy and all of its users.
Also,
many thanks to:
- [Perfare](https://github.com/Perfare) for creating and maintaining and every contributor of [AssetStudio](https://github.com/Perfare/AssetStudio)
- [ds5678](https://github.com/ds5678) for the [TypeTreeDumps](https://github.com/AssetRipper/TypeTreeDumps) and the [custom minimal Tpk format](https://github.com/AssetRipper/Tpk)
- [Razmoth](https://github.com/Razmoth) for figuring out and sharing Unity CN's AssetBundle decryption ([src](https://github.com/Razmoth/PGRStudio)).
- [nesrak1](https://github.com/nesrak1) for figuring out the [Switch texture swizzling](https://github.com/nesrak1/UABEA/blob/master/TexturePlugin/Texture2DSwitchDeswizzler.cs)
- xiop_13690 (discord) for figuring out unsolved issues of the ManagedReferencesRegistry
Raw data
{
"_id": null,
"home_page": null,
"name": "UnityPy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "python, unity, unity-asset, python3, data-minig, unitypack, assetstudio, unity-asset-extractor",
"author": null,
"author_email": "Rudolf Kolbe <rkolbe96@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/ff/6c/96fe8147534a619eb3b2e572941b3f7c2e2c3c365025cef1fc05bb2a6629/unitypy-1.20.18.tar.gz",
"platform": null,
"description": "# UnityPy\n\n[![Discord server invite](https://discordapp.com/api/guilds/603359898507673630/embed.png)](https://discord.gg/C6txv7M)\n[![PyPI supported Python versions](https://img.shields.io/pypi/pyversions/UnityPy.svg)](https://pypi.python.org/pypi/UnityPy)\n[![Win/Mac/Linux](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-informational)]()\n[![MIT](https://img.shields.io/github/license/K0lb3/UnityPy)](https://github.com/K0lb3/UnityPy/blob/master/LICENSE)\n![Test](https://github.com/K0lb3/UnityPy/workflows/Test/badge.svg)\n\nA Unity asset extractor for Python based on [AssetStudio](https://github.com/Perfare/AssetStudio).\n\nNext to extraction, it also supports editing Unity assets.\nSo far following obj types can be edited:\n\n- Texture2D\n- Sprite(indirectly via linked Texture2D)\n- TextAsset\n- MonoBehaviour (and all other types that you have the typetree of)\n\nIf you need advice or if you want to talk about (game) data-mining,\nfeel free to join the [UnityPy Discord](https://discord.gg/C6txv7M).\n\nIf you're using UnityPy a commercial project,\na donation to a charitable cause or a sponsorship of this project is expected.\n\n**As UnityPy is still in active development breaking changes can happen.**\nThose changes are usually limited to minor versions (x.y) and not to patch versions (x.y.z).\nSo in case that you don't want to actively maintain your project,\nmake sure to make a note of the used UnityPy version in your README or add a check in your code.\ne.g.\n\n```python\nif UnityPy.__version__ != '1.9.6':\n raise ImportError(\"Invalid UnityPy version detected. Please use version 1.9.6\")\n```\n\n1. [Installation](#installation)\n2. [Example](#example)\n3. [Important Classes](#important-classes)\n4. [Important Object Types](#important-object-types)\n5. [Custom Fileystem](#custom-filesystem)\n6. [Credits](#credits)\n\n## Installation\n\n**Python 3.7.0 or higher is required**\n\nvia pypi\n\n```cmd\npip install UnityPy\n```\n\nfrom source\n\n```cmd\ngit clone https://github.com/K0lb3/UnityPy.git\ncd UnityPy\npython -m pip install .\n```\n\n### Notes\n\n#### Windows\n\nVisual C++ Redistributable is required for the brotli dependency.\nIn case a new(ish) Python version is used, it can happen that the C-dependencies of UnityPy might not be precompiled for this version.\nIn such cases the user either has to report this as issue or follow the steps of [this issue](https://github.com/K0lb3/UnityPy/issues/223) to compile it oneself.\nAnother option for the user is downgrading Python to the latest version supported by UnityPy. For this see the python version badge at the top of the README.\n\n### Crash without warning/error\n\nThe C-implementation of the typetree reader can directly crash python.\nIn case this happens, the usage of the C-typetree reader can be disabled by adding these two lines to your main file.\n\n```python\nfrom UnityPy.helpers import TypeTreeHelper\nTypeTreeHelper.read_typetree_boost = False\n```\n\n## Example\n\nThe following is a simple example.\n\n```python\nimport os\nimport UnityPy\n\ndef unpack_all_assets(source_folder : str, destination_folder : str):\n # iterate over all files in source folder\n for root, dirs, files in os.walk(source_folder):\n for file_name in files:\n # generate file_path\n file_path = os.path.join(root, file_name)\n # load that file via UnityPy.load\n env = UnityPy.load(file_path)\n\n # iterate over internal objects\n for obj in env.objects:\n # process specific object types\n if obj.type.name in [\"Texture2D\", \"Sprite\"]:\n # parse the object data\n data = obj.read()\n\n # create destination path\n dest = os.path.join(destination_folder, data.name)\n\n # make sure that the extension is correct\n # you probably only want to do so with images/textures\n dest, ext = os.path.splitext(dest)\n dest = dest + \".png\"\n\n img = data.image\n img.save(dest)\n\n # alternative way which keeps the original path\n for path,obj in env.container.items():\n if obj.type.name in [\"Texture2D\", \"Sprite\"]:\n data = obj.read()\n # create dest based on original path\n dest = os.path.join(destination_folder, *path.split(\"/\"))\n # make sure that the dir of that path exists\n os.makedirs(os.path.dirname(dest), exist_ok = True)\n # correct extension\n dest, ext = os.path.splitext(dest)\n dest = dest + \".png\"\n data.image.save(dest)\n```\n\nYou probably have to read [Important Classes](#important-classes)\nand [Important Object Types](#important-object-types) to understand how it works.\n\nPeople with slightly advanced python skills should look at [UnityPy/tools/extractor.py](UnityPy/tools/extractor.py) for a more advanced example.\nIt can also be used as a general template or as an importable tool.\n\n### Setting the decryption key for Unity CN's AssetBundle encryption\n\nThe chinese version of Unity has its own inbuild option to encrypt AssetBundles/BundleFiles. As it's a feature of Unity itself, and not a game specific protection, it is included in UnityPy as well.\nTo enable encryption simply use `UnityPy.set_assetbundle_decrypt_key(key)`, with key being the value that the game that loads the budles passes to `AssetBundle.SetAssetBundleDecryptKey`.\n\n## Important Classes\n\n### [Environment](UnityPy/environment.py)\n\nEnvironment loads and parses the given files.\nIt can be initialized via:\n\n- a file path - apk files can be loaded as well\n- a folder path - loads all files in that folder (bad idea for folders with a lot of files)\n- a stream - e.g., io.BytesIO, file stream,...\n- a bytes object - will be loaded into a stream\n\nUnityPy can detect if the file is a WebFile, BundleFile, Asset, or APK.\n\nThe unpacked assets will be loaded into `.files`, a dict consisting of `asset-name : asset`.\n\nAll objects of the loaded assets can be easily accessed via `.objects`,\nwhich itself is a simple recursive iterator.\n\n```python\nimport io\nimport UnityPy\n\n# all of the following would work\nsrc = \"file_path\"\nsrc = b\"bytes\"\nsrc = io.BytesIO(b\"Streamable\")\n\nenv = UnityPy.load(src)\n\nfor obj in env.objects:\n ...\n\n# saving an edited file\n # apply modifications to the objects\n # don't forget to use data.save()\n ...\nwith open(dst, \"wb\") as f:\n f.write(env.file.save())\n```\n\n### [Asset](UnityPy/files/SerializedFile.py)\n\nAssets are a container that contains multiple objects.\nOne of these objects can be an AssetBundle, which contains a file path for some of the objects in the same asset.\n\nAll objects can be found in the `.objects` dict - `{ID : object}`.\n\nThe objects with a file path can be found in the `.container` dict - `{path : object}`.\n\n### [Object](UnityPy/files/ObjectReader.py)\n\nObjects contain the _actual_ files, e.g., textures, text files, meshes, settings, ...\n\nTo acquire the actual data of an object it has to be read first. This happens via the `.read()` function. This isn't done automatically to save time because only a small part of the objects are of interest. Serialized objects can be set with raw data using `.set_raw_data(data)` or modified with `.save()` function, if supported.\n\n## Important Object Types\n\nAll object types can be found in [UnityPy/classes](UnityPy/classes/).\n\n### [Texture2D](UnityPy/classes/Texture2D.py)\n\n- `.m_Name`\n- `.image` converts the texture into a `PIL.Image`\n- `.m_Width` - texture width (int)\n- `.m_Height` - texture height (int)\n\n**Export**\n\n```python\nfrom PIL import Image\nfor obj in env.objects:\n if obj.type.name == \"Texture2D\":\n # export texture\n data = obj.read()\n path = os.path.join(export_dir, f\"{data.m_Name}.png\")\n data.image.save(path)\n # edit texture\n fp = os.path.join(replace_dir, f\"{data.m_Name}.png\")\n pil_img = Image.open(fp)\n data.image = pil_img\n data.save()\n```\n\n### [Sprite](UnityPy/classes/Sprite.py)\n\nSprites are part of a texture and can have a separate alpha-image as well.\nUnlike most other extractors (including AssetStudio), UnityPy merges those two images by itself.\n\n- `.m_Name`\n- `.image` - converts the merged texture part into a `PIL.Image`\n- `.m_Width` - sprite width (int)\n- `.m_Height` - sprite height (int)\n\n**Export**\n\n```python\nfor obj in env.objects:\n if obj.type.name == \"Sprite\":\n data = obj.read()\n path = os.path.join(export_dir, f\"{data.m_Name}.png\")\n data.image.save(path)\n```\n\n### [TextAsset](UnityPy/classes/TextAsset.py)\n\nTextAssets are usually normal text files.\n\n- `.m_Name`\n- `.m_Script` - str\n\nSome games save binary data as TextFile, so to convert the ``str`` back to bytes correctly ``m_Script.encode(\"utf-8\", \"surrogateescape\")`` has to be used.\n\n**Export**\n\n```python\nfor obj in env.objects:\n if obj.type.name == \"TextAsset\":\n # export asset\n data = obj.read()\n path = os.path.join(export_dir, f\"{data.m_Name}.txt\")\n with open(path, \"wb\") as f:\n f.write(data.m_Script.encode(\"utf-8\", \"surrogateescape\"))\n # edit asset\n fp = os.path.join(replace_dir, f\"{data.m_Name}.txt\")\n with open(fp, \"rb\") as f:\n data.m_Script = f.read().decode(\"utf-8\", \"surrogateescape\"))\n data.save()\n```\n\n### [MonoBehaviour](UnityPy/classes/MonoBehaviour.py)\n\nMonoBehaviour assets are usually used to save the class instances with their values.\nIf a type tree exists, it can be used to read the whole data,\nbut if it doesn't exist, then it is usually necessary to investigate the class that loads the specific MonoBehaviour to extract the data.\n([example](examples/CustomMonoBehaviour/get_scriptable_texture.py))\n\n- `.m_Name`\n- `.m_Script`\n\n**Export**\n\n```python\nimport json\n\nfor obj in env.objects:\n if obj.type.name == \"MonoBehaviour\":\n # export\n if obj.serialized_type.node:\n # save decoded data\n tree = obj.read_typetree()\n fp = os.path.join(extract_dir, f\"{tree['m_Name']}.json\")\n with open(fp, \"wt\", encoding = \"utf8\") as f:\n json.dump(tree, f, ensure_ascii = False, indent = 4)\n\n # edit\n if obj.serialized_type.node:\n tree = obj.read_typetree()\n # apply modifications to the data within the tree\n obj.save_typetree(tree)\n else:\n data = obj.read(check_read=False)\n with open(os.path.join(replace_dir, data.m_Name)) as f:\n data.save(raw_data = f.read())\n```\n\n### [AudioClip](UnityPy/classes/AudioClip.py)\n\n- `.samples` - `{sample-name : sample-data}`\n\nThe samples are converted into the .wav format.\nThe sample data is a .wav file in bytes.\n\n```python\nclip : AudioClip\nfor name, data in clip.samples.items():\n with open(name, \"wb\") as f:\n f.write(data)\n```\n\n### [Font](UnityPy/classes/Font.py)\n\n```python\nif obj.type.name == \"Font\":\n font : Font = obj.read()\n if font.m_FontData:\n extension = \".ttf\"\n if font.m_FontData[0:4] == b\"OTTO\":\n extension = \".otf\"\n\n with open(os.path.join(path, font.m_Name+extension), \"wb\") as f:\n f.write(font.m_FontData)\n```\n\n### [Mesh](UnityPy/classes/Mesh.py)\n\n- `.export()` - mesh exported as .obj (str)\n\nThe mesh will be converted to the Wavefront .obj file format.\n\n```python\nmesh : Mesh\nwith open(f\"{mesh.m_Name}.obj\", \"wt\", newline = \"\") as f:\n # newline = \"\" is important\n f.write(mesh.export())\n```\n\n### Renderer, MeshRenderer, SkinnedMeshRenderer\n\nALPHA-VERSION\n\n- `.export(export_dir)` - exports the associated mesh, materials, and textures into the given directory\n\nThe mesh and materials will be in the Wavefront formats.\n\n```python\nmesh_renderer : Renderer\nexport_dir: str\n\nif mesh_renderer.m_GameObject:\n # get the name of the model\n game_object = mesh_renderer.m_GameObject.read()\n export_dir = os.path.join(export_dir, game_object.m_Name)\nmesh_renderer.export(export_dir)\n```\n\n### [Texture2DArray](UnityPy/classes/Texture2DArray.py)\n\nWARNING - not well tested\n\n- `.m_Name`\n- `.image` converts the texture2darray into a `PIL.Image`\n- `.m_Width` - texture width (int)\n- `.m_Height` - texture height (int)\n\n**Export**\n\n```python\nimport os\nfrom PIL import Image\nfor obj in env.objects:\n if obj.type.name == \"Texture2DArray\":\n # export texture\n data = obj.read()\n for i, image in enumerate(data.images):\n image.save(os.path.join(path, f\"{data.m_Name}_{i}.png\"))\n # editing isn't supported yet!\n```\n\n## Custom-Filesystem\n\nUnityPy uses [fsspec](https://github.com/fsspec/filesystem_spec) under the hood to manage all filesystem interactions.\nThis allows using various different types of filesystems without having to change UnityPy's code.\nIt also means that you can use your own custom filesystem to e.g. handle indirection via catalog files, load assets on demand from a server, or decrypt files.\n\nFollowing methods of the filesystem have to be implemented for using it in UnityPy.\n\n- sep (not a function, just the seperator as character)\n- isfile(self, path: str) -> bool\n- isdir(self, path: str) -> bool\n- exists(self, path: str, \\*\\*kwargs) -> bool\n- walk(self, path: str, \\*\\*kwargs) -> Iterable[List[str], List[str], List[str]]\n- open(self, path: str, mode: str = \"rb\", \\*\\*kwargs) -> file (\"rb\" mode required, \"wt\" required for ModelExporter)\n- makedirs(self, path: str, exist_ok: bool = False) -> bool\n\n## Credits\n\nFirst of all,\nthanks a lot to all contributors of UnityPy and all of its users.\n\nAlso,\nmany thanks to:\n\n- [Perfare](https://github.com/Perfare) for creating and maintaining and every contributor of [AssetStudio](https://github.com/Perfare/AssetStudio)\n- [ds5678](https://github.com/ds5678) for the [TypeTreeDumps](https://github.com/AssetRipper/TypeTreeDumps) and the [custom minimal Tpk format](https://github.com/AssetRipper/Tpk)\n- [Razmoth](https://github.com/Razmoth) for figuring out and sharing Unity CN's AssetBundle decryption ([src](https://github.com/Razmoth/PGRStudio)).\n- [nesrak1](https://github.com/nesrak1) for figuring out the [Switch texture swizzling](https://github.com/nesrak1/UABEA/blob/master/TexturePlugin/Texture2DSwitchDeswizzler.cs)\n- xiop_13690 (discord) for figuring out unsolved issues of the ManagedReferencesRegistry\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2019-2021 K0lb3 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
"summary": "A Unity extraction and patching package",
"version": "1.20.18",
"project_urls": {
"Bug Tracker": "https://github.com/K0lb3/UnityPy/issues",
"Homepage": "https://github.com/K0lb3/UnityPy"
},
"split_keywords": [
"python",
" unity",
" unity-asset",
" python3",
" data-minig",
" unitypack",
" assetstudio",
" unity-asset-extractor"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ef2aea3f9b80e7428d181cd3b8baf2a4d2d9a4a80568a6e3b5b3149804810298",
"md5": "3ec3f1d520d98c2fb3d54edd3ced0f2e",
"sha256": "820f386cd3d91e0326fead3fc1ef9002653063132943e2f3f837216f73f15e03"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "3ec3f1d520d98c2fb3d54edd3ced0f2e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 1647640,
"upload_time": "2025-01-18T23:09:25",
"upload_time_iso_8601": "2025-01-18T23:09:25.249510Z",
"url": "https://files.pythonhosted.org/packages/ef/2a/ea3f9b80e7428d181cd3b8baf2a4d2d9a4a80568a6e3b5b3149804810298/UnityPy-1.20.18-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e0624b0c3558b76709b8fa0b960d6789728afa4d54ea68b22891608fcc9bf05",
"md5": "c72437cbe7b36562c1d08e235c7cadc2",
"sha256": "34447940d926666782bb2d0b8edb3679c48e1f6b4f82dd01e1448e963dfbaac3"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c72437cbe7b36562c1d08e235c7cadc2",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 1645659,
"upload_time": "2025-01-18T23:09:28",
"upload_time_iso_8601": "2025-01-18T23:09:28.865132Z",
"url": "https://files.pythonhosted.org/packages/0e/06/24b0c3558b76709b8fa0b960d6789728afa4d54ea68b22891608fcc9bf05/UnityPy-1.20.18-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a35735f87812e3e04c55a1ef7c6bb2900182c5690208b1f0ee2ffbe541dab044",
"md5": "8d4431f060aeb5fd4963c9339649e24a",
"sha256": "be40986e0967fa58201b8a7aa20932cb9881ac22ec630f5781823f805c5163dc"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "8d4431f060aeb5fd4963c9339649e24a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 2039458,
"upload_time": "2025-01-18T23:09:31",
"upload_time_iso_8601": "2025-01-18T23:09:31.462110Z",
"url": "https://files.pythonhosted.org/packages/a3/57/35f87812e3e04c55a1ef7c6bb2900182c5690208b1f0ee2ffbe541dab044/UnityPy-1.20.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3fcf827e985a31da283be9a6e5c3031121f8bd00975bdd2fa37c5fe560845a45",
"md5": "04be9e4815bb6a6d0ef6af297761de3c",
"sha256": "7f6844c8f0ca533fa4bde5890e6c4da8fb38be949217cd94750f222033bc58cb"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "04be9e4815bb6a6d0ef6af297761de3c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 2048886,
"upload_time": "2025-01-18T23:09:34",
"upload_time_iso_8601": "2025-01-18T23:09:34.562100Z",
"url": "https://files.pythonhosted.org/packages/3f/cf/827e985a31da283be9a6e5c3031121f8bd00975bdd2fa37c5fe560845a45/UnityPy-1.20.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bfce3be351ddc2fb8031fd73369747ac8da3c4e428163388e431e06f3521d375",
"md5": "2618c16c86a03d0de0b81328e3d4efff",
"sha256": "3a53e608b384acd337e02ba3a79154b7f862748c0722877215cf325aa18de54d"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "2618c16c86a03d0de0b81328e3d4efff",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 3056973,
"upload_time": "2025-01-18T23:09:36",
"upload_time_iso_8601": "2025-01-18T23:09:36.369566Z",
"url": "https://files.pythonhosted.org/packages/bf/ce/3be351ddc2fb8031fd73369747ac8da3c4e428163388e431e06f3521d375/UnityPy-1.20.18-cp310-cp310-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5c9b57f58f57a5df1b8099fe9cb79ca136ac8f67e92bd4f434aa1b0845056253",
"md5": "154218ff3a315cedf1e8dc09908c673a",
"sha256": "b34cf927ec9fe585e3da499bfc29cded5f1106f41a3a27a7ec99510e9f377760"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "154218ff3a315cedf1e8dc09908c673a",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 2962888,
"upload_time": "2025-01-18T23:09:38",
"upload_time_iso_8601": "2025-01-18T23:09:38.981805Z",
"url": "https://files.pythonhosted.org/packages/5c/9b/57f58f57a5df1b8099fe9cb79ca136ac8f67e92bd4f434aa1b0845056253/UnityPy-1.20.18-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a119edfc23782de84d4c295ed7517c179a62531419bad3ff7acb8aa74148c810",
"md5": "7aa1c1795c3e702b17ac258c74df91a8",
"sha256": "e7b8a990b7cc73ff46c3ebd7dbe60d3b5502146ecb00fbf0614fcd8fe7059eaf"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "7aa1c1795c3e702b17ac258c74df91a8",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 1971981,
"upload_time": "2025-01-18T23:09:41",
"upload_time_iso_8601": "2025-01-18T23:09:41.000488Z",
"url": "https://files.pythonhosted.org/packages/a1/19/edfc23782de84d4c295ed7517c179a62531419bad3ff7acb8aa74148c810/UnityPy-1.20.18-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0b52c178f0c59434fdb4d5009122124f02fd2f66ac7a742ede870eca19fae46b",
"md5": "787b6a6e478e252b1224eb4cc4a06889",
"sha256": "3512b2834c80d4373064adc30acefd909641659661a8db14ef30c7f83e6b01b6"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "787b6a6e478e252b1224eb4cc4a06889",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 1977746,
"upload_time": "2025-01-18T23:09:43",
"upload_time_iso_8601": "2025-01-18T23:09:43.747181Z",
"url": "https://files.pythonhosted.org/packages/0b/52/c178f0c59434fdb4d5009122124f02fd2f66ac7a742ede870eca19fae46b/UnityPy-1.20.18-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aad768deae52a5ebc1ed4a2cafbd6207f7729a6a5b1354cb7b9eaa4725cc4d2e",
"md5": "dcbeafcd63b272191e736b9526c14975",
"sha256": "d3b6bd92843f1afda89dc59eb57f00dc59cd3d7d5c79eca98d8bd608fb3b5754"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp310-cp310-win_arm64.whl",
"has_sig": false,
"md5_digest": "dcbeafcd63b272191e736b9526c14975",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 2537207,
"upload_time": "2025-01-18T23:09:45",
"upload_time_iso_8601": "2025-01-18T23:09:45.462195Z",
"url": "https://files.pythonhosted.org/packages/aa/d7/68deae52a5ebc1ed4a2cafbd6207f7729a6a5b1354cb7b9eaa4725cc4d2e/UnityPy-1.20.18-cp310-cp310-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f6f4068415e432c14d8c75437b8c36d6176d160e35501f73ab2e609564ccc996",
"md5": "5cd5f1c0a6daffe3c9aef5b4678a47ce",
"sha256": "1a5fa1db2db0840b809b5022dafae8064b0c9ed2ee42e9a89587a3f339582422"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "5cd5f1c0a6daffe3c9aef5b4678a47ce",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 1647590,
"upload_time": "2025-01-18T23:09:48",
"upload_time_iso_8601": "2025-01-18T23:09:48.408333Z",
"url": "https://files.pythonhosted.org/packages/f6/f4/068415e432c14d8c75437b8c36d6176d160e35501f73ab2e609564ccc996/UnityPy-1.20.18-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "032d80946eb2ad787d499e3bf0550796f12dfa776084d925142a2d39a2cb65f8",
"md5": "d65a44885344b88d4ed4fb5614f49986",
"sha256": "c45fe4311d9aadb00872ae62cdec9d977ecf97ec8983cffb55a3a128f6413f18"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "d65a44885344b88d4ed4fb5614f49986",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 1645780,
"upload_time": "2025-01-18T23:09:50",
"upload_time_iso_8601": "2025-01-18T23:09:50.927380Z",
"url": "https://files.pythonhosted.org/packages/03/2d/80946eb2ad787d499e3bf0550796f12dfa776084d925142a2d39a2cb65f8/UnityPy-1.20.18-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "653b0b7ede4b2a579f4067001936fe48454971d1890f9fd26b1c4d2364aecce8",
"md5": "6d26d0bdd1b4dd39423ed84502d8745c",
"sha256": "bac12f01decff2fe2e19370a448a46de832bd9cc548072e27b166d4bb0aa530f"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "6d26d0bdd1b4dd39423ed84502d8745c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 2042461,
"upload_time": "2025-01-18T23:09:52",
"upload_time_iso_8601": "2025-01-18T23:09:52.552983Z",
"url": "https://files.pythonhosted.org/packages/65/3b/0b7ede4b2a579f4067001936fe48454971d1890f9fd26b1c4d2364aecce8/UnityPy-1.20.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "10b9dd76abe9cd0d699367d25aed67ae4166255f342e02e712ee89180ab01176",
"md5": "838fcd543ecf02fa36d254b1bb341559",
"sha256": "83ccd7a5d655d83da80a9637d45bcaa653a5794f72f91f1d7d48cf3ed0e9f3aa"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "838fcd543ecf02fa36d254b1bb341559",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 2053150,
"upload_time": "2025-01-18T23:09:54",
"upload_time_iso_8601": "2025-01-18T23:09:54.578141Z",
"url": "https://files.pythonhosted.org/packages/10/b9/dd76abe9cd0d699367d25aed67ae4166255f342e02e712ee89180ab01176/UnityPy-1.20.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "53b72ae5394a718890ec34240ee3d7035a9721769627dee5b5533f81f3670a68",
"md5": "6752a85baa37abfb2d6d3e4995dd4f7c",
"sha256": "7ea02c349c203604248bd6fe7ffa36953cc706cf245263f4d12327b653b12774"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "6752a85baa37abfb2d6d3e4995dd4f7c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 3059688,
"upload_time": "2025-01-18T23:09:56",
"upload_time_iso_8601": "2025-01-18T23:09:56.407175Z",
"url": "https://files.pythonhosted.org/packages/53/b7/2ae5394a718890ec34240ee3d7035a9721769627dee5b5533f81f3670a68/UnityPy-1.20.18-cp311-cp311-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e10df7bc10226003d95794cc42b998bca01d00b91ef06748b1c23cf12fb8eef7",
"md5": "5b9f5e377df1bbbd998e3eed9799f32b",
"sha256": "aeeb2e8931a50197d1cdf87a039184756e5c0853c0fab77bae83738547d18dea"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "5b9f5e377df1bbbd998e3eed9799f32b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 2965112,
"upload_time": "2025-01-18T23:09:58",
"upload_time_iso_8601": "2025-01-18T23:09:58.212366Z",
"url": "https://files.pythonhosted.org/packages/e1/0d/f7bc10226003d95794cc42b998bca01d00b91ef06748b1c23cf12fb8eef7/UnityPy-1.20.18-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ce76009abbf42fba59595a19063178cfaecd6d8ab6ffbd943496055fdee204d5",
"md5": "2221a973c2305ee87630b4a210db2488",
"sha256": "974a314ffa734c7d0ce07b7f46296affeb828824a8a7757d277fdeb3e3418302"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "2221a973c2305ee87630b4a210db2488",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 1971975,
"upload_time": "2025-01-18T23:10:00",
"upload_time_iso_8601": "2025-01-18T23:10:00.682983Z",
"url": "https://files.pythonhosted.org/packages/ce/76/009abbf42fba59595a19063178cfaecd6d8ab6ffbd943496055fdee204d5/UnityPy-1.20.18-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1da5d6073c5d632c132c1e5686405deaab474a6928fdc0437fc5129feb921577",
"md5": "2585cf55cb7295447ebb21a539a9c201",
"sha256": "f09e7a35c618c5e34fa40c44451ef1779a2e307b9a42b2f1fef03284d0190a51"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "2585cf55cb7295447ebb21a539a9c201",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 1977750,
"upload_time": "2025-01-18T23:10:05",
"upload_time_iso_8601": "2025-01-18T23:10:05.747056Z",
"url": "https://files.pythonhosted.org/packages/1d/a5/d6073c5d632c132c1e5686405deaab474a6928fdc0437fc5129feb921577/UnityPy-1.20.18-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e96b94994ecb47f32a5fbeb29feb4026f919e50d73d879447f2d8b40e1278771",
"md5": "83b088b6449fbb5f87a9803a573b71c2",
"sha256": "8928d2bac9a7466c569e1d2fa592c5bf5a412b14eaaff1edd018cd9f2341aefa"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp311-cp311-win_arm64.whl",
"has_sig": false,
"md5_digest": "83b088b6449fbb5f87a9803a573b71c2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 2537207,
"upload_time": "2025-01-18T23:10:08",
"upload_time_iso_8601": "2025-01-18T23:10:08.175802Z",
"url": "https://files.pythonhosted.org/packages/e9/6b/94994ecb47f32a5fbeb29feb4026f919e50d73d879447f2d8b40e1278771/UnityPy-1.20.18-cp311-cp311-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dc56c077f9d6db71c6591f83f06aa47a624f65147936a4af10aff50f6160e27d",
"md5": "32c2cb335e09cb87e458c1ff91da22df",
"sha256": "ba2aec7b381dda31a508b1139f15e3aaf15fedca78d2e69a52a8072af3dd4a9b"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "32c2cb335e09cb87e458c1ff91da22df",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 1647742,
"upload_time": "2025-01-18T23:10:09",
"upload_time_iso_8601": "2025-01-18T23:10:09.990128Z",
"url": "https://files.pythonhosted.org/packages/dc/56/c077f9d6db71c6591f83f06aa47a624f65147936a4af10aff50f6160e27d/UnityPy-1.20.18-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4a1b4d22f2753fd659d04ddf0cae8b165d131e5d2200bd71b1315b1b2a657843",
"md5": "498bbf85368bbf79a70c4b44f6c81844",
"sha256": "cc8dd4800e4f97d5f18965d68c4980e2d8cd9f20a8f0c8ce5eae4bf6b77f8d1e"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "498bbf85368bbf79a70c4b44f6c81844",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 1645884,
"upload_time": "2025-01-18T23:10:11",
"upload_time_iso_8601": "2025-01-18T23:10:11.792119Z",
"url": "https://files.pythonhosted.org/packages/4a/1b/4d22f2753fd659d04ddf0cae8b165d131e5d2200bd71b1315b1b2a657843/UnityPy-1.20.18-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec867b00f0e48c9324fbc2016313905262b7f506a9a40840384e5bd850d6e2cf",
"md5": "bb4221e6cbf24c2c59be8ec998ecf54d",
"sha256": "99e2468b20c2da5073814f62ae2330d35ac5e563ba1b024b66f769852d308435"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "bb4221e6cbf24c2c59be8ec998ecf54d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 2040088,
"upload_time": "2025-01-18T23:10:13",
"upload_time_iso_8601": "2025-01-18T23:10:13.569650Z",
"url": "https://files.pythonhosted.org/packages/ec/86/7b00f0e48c9324fbc2016313905262b7f506a9a40840384e5bd850d6e2cf/UnityPy-1.20.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2efef6f2945fa96f4806f111e742ee0c91da3f63e08d8b85a6bb657a9b581245",
"md5": "ff185422574f5a93aff348ba1560c6ed",
"sha256": "b8cf1870092d98cde1536a4dd88957f4266d396ae51679b960123202402b8f19"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ff185422574f5a93aff348ba1560c6ed",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 2051356,
"upload_time": "2025-01-18T23:10:15",
"upload_time_iso_8601": "2025-01-18T23:10:15.398604Z",
"url": "https://files.pythonhosted.org/packages/2e/fe/f6f2945fa96f4806f111e742ee0c91da3f63e08d8b85a6bb657a9b581245/UnityPy-1.20.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "437260c0cd33a35339f3221c77f870f6daa4a557bb55cbf110b3c9d3ede12403",
"md5": "0827afdb15e995da3e86881560785564",
"sha256": "48f928cec2c68dabdc28ef326f5e7c152a1c7f02a7c4fe4089dd46cef67195b4"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "0827afdb15e995da3e86881560785564",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 3050696,
"upload_time": "2025-01-18T23:10:17",
"upload_time_iso_8601": "2025-01-18T23:10:17.811145Z",
"url": "https://files.pythonhosted.org/packages/43/72/60c0cd33a35339f3221c77f870f6daa4a557bb55cbf110b3c9d3ede12403/UnityPy-1.20.18-cp312-cp312-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8db5e3a6d3952e94f362708cb592f2f34d2e7b5a3dad0f006550aa4ddcfa6037",
"md5": "3df237b85fa3f77375d88ad4000b177b",
"sha256": "bf0f141be717ba98e4a1ed8a4b5358c9cb2651ac7b81119a5d3ae69573de945c"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "3df237b85fa3f77375d88ad4000b177b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 2964618,
"upload_time": "2025-01-18T23:10:20",
"upload_time_iso_8601": "2025-01-18T23:10:20.366102Z",
"url": "https://files.pythonhosted.org/packages/8d/b5/e3a6d3952e94f362708cb592f2f34d2e7b5a3dad0f006550aa4ddcfa6037/UnityPy-1.20.18-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "adf469c42e0cdcfbf9d860935595a5b47cea434b016ef9b7a12521b6f0471d8f",
"md5": "a224f52c0e077efce35fd61feee4c8f9",
"sha256": "07e0054ccd8d1a3c5cb1f81c6740011367827527e26c77677b6cbba1e640276e"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "a224f52c0e077efce35fd61feee4c8f9",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 1972444,
"upload_time": "2025-01-18T23:10:22",
"upload_time_iso_8601": "2025-01-18T23:10:22.106078Z",
"url": "https://files.pythonhosted.org/packages/ad/f4/69c42e0cdcfbf9d860935595a5b47cea434b016ef9b7a12521b6f0471d8f/UnityPy-1.20.18-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "50ccf8b86b364ee04928dae502b6e3571f2d97c29431a2e86fa43b3d03927b59",
"md5": "72b142e33c04c7efdacd93e64cb95706",
"sha256": "fa86022104bb48b9bf519b2fcce95a5ebc56d890f7cf3756078c9dc2b6ae7fdc"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "72b142e33c04c7efdacd93e64cb95706",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 1977999,
"upload_time": "2025-01-18T23:10:24",
"upload_time_iso_8601": "2025-01-18T23:10:24.695915Z",
"url": "https://files.pythonhosted.org/packages/50/cc/f8b86b364ee04928dae502b6e3571f2d97c29431a2e86fa43b3d03927b59/UnityPy-1.20.18-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "797aaa76a2fcee43898d749777e169593b76e8b0d8b1fb3df91e5636b3ee7b02",
"md5": "03df58c5a2c0b66381763e4a0fb33a98",
"sha256": "1f44ea24d1a0a48dd5972b919b5393ac4205029fbf8568f47aa196ba8ef65500"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp312-cp312-win_arm64.whl",
"has_sig": false,
"md5_digest": "03df58c5a2c0b66381763e4a0fb33a98",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 2537257,
"upload_time": "2025-01-18T23:10:27",
"upload_time_iso_8601": "2025-01-18T23:10:27.062494Z",
"url": "https://files.pythonhosted.org/packages/79/7a/aa76a2fcee43898d749777e169593b76e8b0d8b1fb3df91e5636b3ee7b02/UnityPy-1.20.18-cp312-cp312-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "813c1449de432abc84f3a6b801db6775f5b2767c89ea47b8bfde3d27e28fb457",
"md5": "1cb4f7679b76e927da9142efcb20ec71",
"sha256": "24130057f23c41ed67a82562bd7981741f6ba110cefa01461aab857ac2c7d45b"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "1cb4f7679b76e927da9142efcb20ec71",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 1647735,
"upload_time": "2025-01-18T23:10:29",
"upload_time_iso_8601": "2025-01-18T23:10:29.171588Z",
"url": "https://files.pythonhosted.org/packages/81/3c/1449de432abc84f3a6b801db6775f5b2767c89ea47b8bfde3d27e28fb457/UnityPy-1.20.18-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6214e18c1fac367c8dc4f8e3fec4145eecb663300e5d0c8036dedc6ad84f7dd4",
"md5": "35f3bd4ace4f0b4c736de15cfc05dc6a",
"sha256": "1faa071988a7372d959f2b9414c08492598563c56572f3a61b656d5b8f3b5b8d"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "35f3bd4ace4f0b4c736de15cfc05dc6a",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 1645888,
"upload_time": "2025-01-18T23:10:30",
"upload_time_iso_8601": "2025-01-18T23:10:30.845219Z",
"url": "https://files.pythonhosted.org/packages/62/14/e18c1fac367c8dc4f8e3fec4145eecb663300e5d0c8036dedc6ad84f7dd4/UnityPy-1.20.18-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9d800648d0a792d2d38257220d0918011cd954f926c89185c6f1048b3e423eba",
"md5": "64c249cdfa29563313095dce5c4cf7a2",
"sha256": "78b00203b8af7c54b3e906564624cf615b0e42152e905753e13e388d1e8e5df1"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "64c249cdfa29563313095dce5c4cf7a2",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 2040280,
"upload_time": "2025-01-18T23:10:33",
"upload_time_iso_8601": "2025-01-18T23:10:33.379761Z",
"url": "https://files.pythonhosted.org/packages/9d/80/0648d0a792d2d38257220d0918011cd954f926c89185c6f1048b3e423eba/UnityPy-1.20.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3e1fe0527ed6506597f4c2ae9cc1ddef9c760411da5dcc9e06bb1ab497f8c7c6",
"md5": "87b30787c8e4f27f91458428407c94cc",
"sha256": "0c659d0fdd70c0ed1f339f212565c6f8ade822d21f6135bdda7356738da12380"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "87b30787c8e4f27f91458428407c94cc",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 2051470,
"upload_time": "2025-01-18T23:10:35",
"upload_time_iso_8601": "2025-01-18T23:10:35.274829Z",
"url": "https://files.pythonhosted.org/packages/3e/1f/e0527ed6506597f4c2ae9cc1ddef9c760411da5dcc9e06bb1ab497f8c7c6/UnityPy-1.20.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "967c7f6b61f7002fcbfce139062ab578b7922576927f6476171c6502a7653d82",
"md5": "81c99136b24fa4849f728f2c5231789f",
"sha256": "4d6fdc75fd13eecc8475cad1bc25e1b1417fed5f30f216dbbf6007c41f57c01d"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "81c99136b24fa4849f728f2c5231789f",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 3050558,
"upload_time": "2025-01-18T23:10:37",
"upload_time_iso_8601": "2025-01-18T23:10:37.136407Z",
"url": "https://files.pythonhosted.org/packages/96/7c/7f6b61f7002fcbfce139062ab578b7922576927f6476171c6502a7653d82/UnityPy-1.20.18-cp313-cp313-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "94756abaf31219a5f52fc5833109f8400898e0cc7c6b928f71f174a1e32c62e0",
"md5": "70ac03c55e36112d4b8e0240f0ae0386",
"sha256": "b21354d4dab74f5c5217ac001b2e2c466e364b85526777be08117f78ffb431df"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "70ac03c55e36112d4b8e0240f0ae0386",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 2966058,
"upload_time": "2025-01-18T23:10:39",
"upload_time_iso_8601": "2025-01-18T23:10:39.849149Z",
"url": "https://files.pythonhosted.org/packages/94/75/6abaf31219a5f52fc5833109f8400898e0cc7c6b928f71f174a1e32c62e0/UnityPy-1.20.18-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6954dfb2205cc6de9479f1915f7bf9e5e30c94f6dfc8af368ee4877fafb40929",
"md5": "0583e0fc11825c653a47271e3b18e7e3",
"sha256": "199a71e1192aa95f0cf9f6ed3dce5288e9570446a928c18cb464ca892bf6c056"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "0583e0fc11825c653a47271e3b18e7e3",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 1972435,
"upload_time": "2025-01-18T23:10:43",
"upload_time_iso_8601": "2025-01-18T23:10:43.418732Z",
"url": "https://files.pythonhosted.org/packages/69/54/dfb2205cc6de9479f1915f7bf9e5e30c94f6dfc8af368ee4877fafb40929/UnityPy-1.20.18-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b9bdf82a648ef65358c4db928aae79d4e59586fcced0b626e18c7401245e1be",
"md5": "4ea75bcfc60954c282acde44b78dbb71",
"sha256": "a188eee46ab00fe6b7cdcbbaaf9321d58aa3207fba3dca1aa4891c4e59a9158e"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "4ea75bcfc60954c282acde44b78dbb71",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 1978015,
"upload_time": "2025-01-18T23:10:46",
"upload_time_iso_8601": "2025-01-18T23:10:46.040948Z",
"url": "https://files.pythonhosted.org/packages/6b/9b/df82a648ef65358c4db928aae79d4e59586fcced0b626e18c7401245e1be/UnityPy-1.20.18-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "008b8efdecaa51387ed0c0725e19b8cfd78ba2da532c9c4f7cd8008970586639",
"md5": "801cf00a297ae0c4536a795c5bddfce9",
"sha256": "66a0f38d9b22287adbca2d5b2238349104b6cb9f00e2450c717700aa13de854c"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp313-cp313-win_arm64.whl",
"has_sig": false,
"md5_digest": "801cf00a297ae0c4536a795c5bddfce9",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 2537256,
"upload_time": "2025-01-18T23:10:47",
"upload_time_iso_8601": "2025-01-18T23:10:47.833709Z",
"url": "https://files.pythonhosted.org/packages/00/8b/8efdecaa51387ed0c0725e19b8cfd78ba2da532c9c4f7cd8008970586639/UnityPy-1.20.18-cp313-cp313-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ae71a4a6d16b2c5095b49c23f6c824279f6ce98a7ffb07b904c5ed30c12614ca",
"md5": "cca9ab6ff3af200d7fd4bcddd5341f27",
"sha256": "9c27e16f0131bbbb4cada57493ef0997e7cad08eb96115215838833c51dae837"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp37-cp37m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "cca9ab6ff3af200d7fd4bcddd5341f27",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 1641902,
"upload_time": "2025-01-18T23:10:49",
"upload_time_iso_8601": "2025-01-18T23:10:49.935760Z",
"url": "https://files.pythonhosted.org/packages/ae/71/a4a6d16b2c5095b49c23f6c824279f6ce98a7ffb07b904c5ed30c12614ca/UnityPy-1.20.18-cp37-cp37m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "851b7c637335619e5e334ba4188e4ecf4f2d1768923e7638084ae81572e9d137",
"md5": "17b1be07dac39e53bb6d81f93e71e8d9",
"sha256": "f69ec20bf136c5e4c8b691dc341517d867124907c6b9f8d5bdfda409485602fa"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "17b1be07dac39e53bb6d81f93e71e8d9",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 2036290,
"upload_time": "2025-01-18T23:10:51",
"upload_time_iso_8601": "2025-01-18T23:10:51.777926Z",
"url": "https://files.pythonhosted.org/packages/85/1b/7c637335619e5e334ba4188e4ecf4f2d1768923e7638084ae81572e9d137/UnityPy-1.20.18-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e6dfbb27b30887af2cb59042d844084346012c0cbe3134aa93f2d5938bd9cf97",
"md5": "d64997f306bdd5308c5f3367728dc518",
"sha256": "0ef81bac8a6e989e02bee845cf65cb402220ebfadfec96bf95954f81ff2102c7"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d64997f306bdd5308c5f3367728dc518",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 2044531,
"upload_time": "2025-01-18T23:10:53",
"upload_time_iso_8601": "2025-01-18T23:10:53.562822Z",
"url": "https://files.pythonhosted.org/packages/e6/df/bb27b30887af2cb59042d844084346012c0cbe3134aa93f2d5938bd9cf97/UnityPy-1.20.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "190b32387b26bc9782b0faa2ba15c04a0a56a7bbf8936a38aa84dd74401877f9",
"md5": "cb0bdba6df3caa7f659db3139f4e00fa",
"sha256": "ee4a50ff5bfa81462faa28ca2d0ecfa5889b598071e86bfa3f5022a8ce32488d"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp37-cp37m-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "cb0bdba6df3caa7f659db3139f4e00fa",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 3043881,
"upload_time": "2025-01-18T23:10:55",
"upload_time_iso_8601": "2025-01-18T23:10:55.480134Z",
"url": "https://files.pythonhosted.org/packages/19/0b/32387b26bc9782b0faa2ba15c04a0a56a7bbf8936a38aa84dd74401877f9/UnityPy-1.20.18-cp37-cp37m-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e8d761b62e5b4860fe1a73986998efaa09709a48e1c12a92c1b8566c5114dc6f",
"md5": "40d29aa2cf3654155a7bc61687cdf460",
"sha256": "d4bb099b3a0c29a4ab4c8346e5569fd40b662082204b59a15058317e11871cb4"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp37-cp37m-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "40d29aa2cf3654155a7bc61687cdf460",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 2957403,
"upload_time": "2025-01-18T23:10:57",
"upload_time_iso_8601": "2025-01-18T23:10:57.571116Z",
"url": "https://files.pythonhosted.org/packages/e8/d7/61b62e5b4860fe1a73986998efaa09709a48e1c12a92c1b8566c5114dc6f/UnityPy-1.20.18-cp37-cp37m-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8511a420d77b1f1cac2ea8486068ac7bc7e585061c1b242c4c8953be84ac6d78",
"md5": "7133c8ddb38909fd5eea5603dd67af6c",
"sha256": "76a7a788e8bde1f0f455530dba7c4ba0fa5c10f1133d0959e4b0665fed955e85"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "7133c8ddb38909fd5eea5603dd67af6c",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 1177578,
"upload_time": "2025-01-18T23:10:59",
"upload_time_iso_8601": "2025-01-18T23:10:59.452954Z",
"url": "https://files.pythonhosted.org/packages/85/11/a420d77b1f1cac2ea8486068ac7bc7e585061c1b242c4c8953be84ac6d78/UnityPy-1.20.18-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a3bb9358c6e4f94a51897432d2043284a66be93bf1e83c8e58634fa4ddc35dc0",
"md5": "15a22bad260a34c0eb7d4a2d28ec6917",
"sha256": "017729a1f6fb7634f40217b21fce72a2a7442c09059b812da2cc5fb9b563cf9b"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "15a22bad260a34c0eb7d4a2d28ec6917",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 1972008,
"upload_time": "2025-01-18T23:11:01",
"upload_time_iso_8601": "2025-01-18T23:11:01.183554Z",
"url": "https://files.pythonhosted.org/packages/a3/bb/9358c6e4f94a51897432d2043284a66be93bf1e83c8e58634fa4ddc35dc0/UnityPy-1.20.18-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9baa849e5cee927aa0580a80129ee8a1de7c038a06dc118b0ae938204a748037",
"md5": "5bc60d3de812404a8ee2c7b1eae3608a",
"sha256": "b07df40173fe1e7652871fe168d458ecac6031c206c381b4882d47777e70cae5"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "5bc60d3de812404a8ee2c7b1eae3608a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 1647635,
"upload_time": "2025-01-18T23:11:03",
"upload_time_iso_8601": "2025-01-18T23:11:03.009123Z",
"url": "https://files.pythonhosted.org/packages/9b/aa/849e5cee927aa0580a80129ee8a1de7c038a06dc118b0ae938204a748037/UnityPy-1.20.18-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5e43dd236a90fe89d7cd6880e47c499bd61462aaa2e13e14fa6115c44e345aa3",
"md5": "0171f06574e0d27c9767673fcc345549",
"sha256": "f171c75434c1bb12784bbe54ec1adacf8c7f5b143e62f6250a0968468417d6bd"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "0171f06574e0d27c9767673fcc345549",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 1645665,
"upload_time": "2025-01-18T23:11:04",
"upload_time_iso_8601": "2025-01-18T23:11:04.846878Z",
"url": "https://files.pythonhosted.org/packages/5e/43/dd236a90fe89d7cd6880e47c499bd61462aaa2e13e14fa6115c44e345aa3/UnityPy-1.20.18-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "38fd3d25b08396b0e79bfb7757a24d295c0490229c017f1e00ec1e5001fec2b1",
"md5": "8c67afcd6f081ecb01e32ee46ba05319",
"sha256": "9ee40ae1e3e405ccb94c578250c91a33307ecd08d8a0b3dbd962fa13832f2451"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "8c67afcd6f081ecb01e32ee46ba05319",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 2042590,
"upload_time": "2025-01-18T23:11:06",
"upload_time_iso_8601": "2025-01-18T23:11:06.660035Z",
"url": "https://files.pythonhosted.org/packages/38/fd/3d25b08396b0e79bfb7757a24d295c0490229c017f1e00ec1e5001fec2b1/UnityPy-1.20.18-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d563ee5366f1503947d45ba6ef787d0bd5423939ee186428df20a930edcfa408",
"md5": "a481f1b45a7980d8f23052b62badc8ed",
"sha256": "bdd6fa0fb2bd311d29e88412a32b13e870a3884cf64a1f7259aab917c7658ed5"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "a481f1b45a7980d8f23052b62badc8ed",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 2052059,
"upload_time": "2025-01-18T23:11:08",
"upload_time_iso_8601": "2025-01-18T23:11:08.512680Z",
"url": "https://files.pythonhosted.org/packages/d5/63/ee5366f1503947d45ba6ef787d0bd5423939ee186428df20a930edcfa408/UnityPy-1.20.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "11406644613f41ba16f5bc87a2328f5cc78ea356d6daef40c3571a7c523e3010",
"md5": "8d87bdaa1958fcc9069787827bf88317",
"sha256": "f7e588c050d882521a500536c4d8f951920f096705a1eb24dfde99665f926d96"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp38-cp38-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "8d87bdaa1958fcc9069787827bf88317",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 3058885,
"upload_time": "2025-01-18T23:11:11",
"upload_time_iso_8601": "2025-01-18T23:11:11.224392Z",
"url": "https://files.pythonhosted.org/packages/11/40/6644613f41ba16f5bc87a2328f5cc78ea356d6daef40c3571a7c523e3010/UnityPy-1.20.18-cp38-cp38-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7a3b7c3875777f1f37162c67c8fc01fae2b738f0936584090ca6b4a2f922fbf9",
"md5": "bc6dcb065993ce20158af534ad8506b2",
"sha256": "b619631e2317fc0d6639aae4d0e3ad0048ab95d510dbbec8d9c8f798e90049c5"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp38-cp38-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "bc6dcb065993ce20158af534ad8506b2",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 2965015,
"upload_time": "2025-01-18T23:11:13",
"upload_time_iso_8601": "2025-01-18T23:11:13.245930Z",
"url": "https://files.pythonhosted.org/packages/7a/3b/7c3875777f1f37162c67c8fc01fae2b738f0936584090ca6b4a2f922fbf9/UnityPy-1.20.18-cp38-cp38-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3914de372fe23bf429e2b71d2ef7158cb633bfca393785fd6a98d2eaa2abee5f",
"md5": "955df2ada7409faa1769f4b964f38ade",
"sha256": "7a94b6c06344c8c142d2ecb29d1af1f34ec130869c1c91625e4ca9bee9a690c8"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "955df2ada7409faa1769f4b964f38ade",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 1971982,
"upload_time": "2025-01-18T23:11:15",
"upload_time_iso_8601": "2025-01-18T23:11:15.146845Z",
"url": "https://files.pythonhosted.org/packages/39/14/de372fe23bf429e2b71d2ef7158cb633bfca393785fd6a98d2eaa2abee5f/UnityPy-1.20.18-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "015b21395aa0b285628a6818033aa1684cd5ba30a1f61574b3547794d5ac662f",
"md5": "326f02e3e56b1603e152be3d62c9aa35",
"sha256": "38282d5ce8a22345896041b142b72be8601c0f86bde6b2d57e2a24463dab9f12"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "326f02e3e56b1603e152be3d62c9aa35",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 1977752,
"upload_time": "2025-01-18T23:11:17",
"upload_time_iso_8601": "2025-01-18T23:11:17.739656Z",
"url": "https://files.pythonhosted.org/packages/01/5b/21395aa0b285628a6818033aa1684cd5ba30a1f61574b3547794d5ac662f/UnityPy-1.20.18-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "99f260498e089914e195449c9cc1c083f693daee7887d56f255cbbb88f30ed1f",
"md5": "70eb8e73f7dfc7760c239d3fe9f3de6d",
"sha256": "6caa6bf5090f26b7677d39033617cef488846c6f37b58619e3dccdedd2064a6f"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "70eb8e73f7dfc7760c239d3fe9f3de6d",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 1647629,
"upload_time": "2025-01-18T23:11:20",
"upload_time_iso_8601": "2025-01-18T23:11:20.694325Z",
"url": "https://files.pythonhosted.org/packages/99/f2/60498e089914e195449c9cc1c083f693daee7887d56f255cbbb88f30ed1f/UnityPy-1.20.18-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "32bd1a2bb5b47dfbaf5486e4befdb1c9c03f8f8695d730c855d938e287504cd1",
"md5": "b41b70519ef994e5abd5ec17f4bbf693",
"sha256": "5caad33e61195c6c92e84610ec2725c2589afd9bff543d6580f59ac6c374bec1"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "b41b70519ef994e5abd5ec17f4bbf693",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 1645662,
"upload_time": "2025-01-18T23:11:22",
"upload_time_iso_8601": "2025-01-18T23:11:22.562863Z",
"url": "https://files.pythonhosted.org/packages/32/bd/1a2bb5b47dfbaf5486e4befdb1c9c03f8f8695d730c855d938e287504cd1/UnityPy-1.20.18-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f1618a0c91236766bd9e3cdb4db1393d9b2daecf9397a4d2bcd962a9aa77c88f",
"md5": "d7666a5e8fb317acfa851972fc2b04c5",
"sha256": "79ff5bc5e7f359fb12d3ab3de37e3bbd6afe13bcac2514a49561c1dbe33634e2"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "d7666a5e8fb317acfa851972fc2b04c5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 2038920,
"upload_time": "2025-01-18T23:11:24",
"upload_time_iso_8601": "2025-01-18T23:11:24.428113Z",
"url": "https://files.pythonhosted.org/packages/f1/61/8a0c91236766bd9e3cdb4db1393d9b2daecf9397a4d2bcd962a9aa77c88f/UnityPy-1.20.18-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c5ff9e1d820545c0f2b0aa9506de9ac3a4c4a14ce595b8b4c449be495e7d35f",
"md5": "45a22906716fb1f7ffdc27051af4bd01",
"sha256": "b8107772fc5b8d6dbfe559083a03c5e2b630d10c294cf07cf7bcd3e7cc7b4e1d"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "45a22906716fb1f7ffdc27051af4bd01",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 2048431,
"upload_time": "2025-01-18T23:11:26",
"upload_time_iso_8601": "2025-01-18T23:11:26.438832Z",
"url": "https://files.pythonhosted.org/packages/7c/5f/f9e1d820545c0f2b0aa9506de9ac3a4c4a14ce595b8b4c449be495e7d35f/UnityPy-1.20.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "53a50f56a372678637acca2dfc82ffe135a3c222d45f997b29693c19aa002ba4",
"md5": "9df25a8c12bab69b0b8f676a53713f5d",
"sha256": "55c9ac888c4d19fa6512badab2c5c0bb4c39f9d277dbde468a7ff08e8031ba53"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "9df25a8c12bab69b0b8f676a53713f5d",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 3056443,
"upload_time": "2025-01-18T23:11:29",
"upload_time_iso_8601": "2025-01-18T23:11:29.053766Z",
"url": "https://files.pythonhosted.org/packages/53/a5/0f56a372678637acca2dfc82ffe135a3c222d45f997b29693c19aa002ba4/UnityPy-1.20.18-cp39-cp39-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e2eb1ee986e59ba18aa7b9bcfbde1e93ccdf4b9d9b15c97ca9cac02888539ead",
"md5": "77684217527bd1e9522c7f5f2e8e4def",
"sha256": "cccc39da2796b2d73fb0d8a2d1e3c27e4eb49a2c6a995bf4ae10e1456663376e"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "77684217527bd1e9522c7f5f2e8e4def",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 2962463,
"upload_time": "2025-01-18T23:11:31",
"upload_time_iso_8601": "2025-01-18T23:11:31.082409Z",
"url": "https://files.pythonhosted.org/packages/e2/eb/1ee986e59ba18aa7b9bcfbde1e93ccdf4b9d9b15c97ca9cac02888539ead/UnityPy-1.20.18-cp39-cp39-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48d644904143ecb2e13528453ebccfb33d7ccaff002b2acdde35b1c000241364",
"md5": "c36ed86463a72cb392e484ea58bce0a0",
"sha256": "423d1f89e9a8c29555acc050822781f846106f7d4144e828c26a8e98745cc55d"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "c36ed86463a72cb392e484ea58bce0a0",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 1971974,
"upload_time": "2025-01-18T23:11:33",
"upload_time_iso_8601": "2025-01-18T23:11:33.205182Z",
"url": "https://files.pythonhosted.org/packages/48/d6/44904143ecb2e13528453ebccfb33d7ccaff002b2acdde35b1c000241364/UnityPy-1.20.18-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "954b2c33c514ee35a18203302a22e3f81a601e2f32159171709991c269d3b059",
"md5": "54b80b20d7362438a03cc9e830a132bc",
"sha256": "60c122b0d7300343d09009798a1de866a03eedb2ec3531ba67fa9903d844f98c"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "54b80b20d7362438a03cc9e830a132bc",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 1977750,
"upload_time": "2025-01-18T23:11:35",
"upload_time_iso_8601": "2025-01-18T23:11:35.789722Z",
"url": "https://files.pythonhosted.org/packages/95/4b/2c33c514ee35a18203302a22e3f81a601e2f32159171709991c269d3b059/UnityPy-1.20.18-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "68398cfb865525d4dc8c5b3d20978ca5b4e2f788a836cd1235a38af2380908c1",
"md5": "65ac368baa0b9f5bdfe88271527711e6",
"sha256": "617c0f24de4386c011e61dad494ef0eba25e0beba895922f9004a8947f710447"
},
"downloads": -1,
"filename": "UnityPy-1.20.18-cp39-cp39-win_arm64.whl",
"has_sig": false,
"md5_digest": "65ac368baa0b9f5bdfe88271527711e6",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 2537218,
"upload_time": "2025-01-18T23:11:37",
"upload_time_iso_8601": "2025-01-18T23:11:37.788744Z",
"url": "https://files.pythonhosted.org/packages/68/39/8cfb865525d4dc8c5b3d20978ca5b4e2f788a836cd1235a38af2380908c1/UnityPy-1.20.18-cp39-cp39-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ff6c96fe8147534a619eb3b2e572941b3f7c2e2c3c365025cef1fc05bb2a6629",
"md5": "e70f57df843ea346d2385a5ca7fdfe47",
"sha256": "278c3cc4326985a2b8bdf59dc945b61cd49078cd2e6dd8e3908a2fc6f33367a4"
},
"downloads": -1,
"filename": "unitypy-1.20.18.tar.gz",
"has_sig": false,
"md5_digest": "e70f57df843ea346d2385a5ca7fdfe47",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 6227803,
"upload_time": "2025-01-18T23:11:39",
"upload_time_iso_8601": "2025-01-18T23:11:39.893708Z",
"url": "https://files.pythonhosted.org/packages/ff/6c/96fe8147534a619eb3b2e572941b3f7c2e2c3c365025cef1fc05bb2a6629/unitypy-1.20.18.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-18 23:11:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "K0lb3",
"github_project": "UnityPy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "unitypy"
}