Metadata-Version: 2.4
Name: texture-courier
Version: 0.0.12
Summary: rips texture cache from second life viewers
Author-email: Merilynn Bandy <hello@furudean.com>
Project-URL: Homepage, https://github.com/furudean/texture-courier
Project-URL: Issues, https://github.com/furudean/texture-courier/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: tqdm>=4
Requires-Dist: watchdog>=3
Dynamic: license-file

![Courier from Hello Girl](https://github.com/furudean/texture-courier/blob/main/courier.png?raw=true)

# texture-courier

simple CLI program and high-level python API to interact with the second life texture cache

## goals

- output the entire texture cache in a commonly readable format
- support all platforms that support python
- be as fast as it is practical to be
- use few dependencies

## non goals

- no gui, no bells and whistles
- no option to transform outputs into other formats, as i believe this is better covered by other programs

## use CLI

install texture-courier with pip, or if you're feeling fancy, [uv tool install](https://docs.astral.sh/uv/guides/tools/)

```
pip install texture-courier
```

then, run it on the command line like

```
texture-courier
```

texture-courier will attempt to find any texture caches on the system
automatically. if this does not work, find your texture cache and provide it
like so

```
texture-courier /Users/meri/Library/Caches/Firestorm_x64/texturecache
```

this dumps the contents of the cache to a directory (by default, to  
`./texturecache`).

see `texture-courier --help` for other options.

## hacking

i use `pip install --editable .` to install texture-courier as an editable
package, which allows the cli to be used like it was installed from pip.

[lltexturecache.h](https://github.com/secondlife/viewer/blob/develop/indra/newview/lltexturecache.h)
is the authoritative implementation of the texture cache, which much of this implementation was
engineered out of.

## prior art

- http://slcacheviewer.com
- https://github.com/jspataro791/PySLCacheDebugger
