Trace.moe python wrapper
Project description
TraceMoePY
Install
- Install using pip:
pip install tracemoepy
Examples
- All the examples below are after this piece of code:
import tracemoepy
tracemoe = tracemoepy.tracemoe.TraceMoe()
- Search image using url:
resp = tracemoe.search('https://trace.moe/img/flipped-good.jpg', is_url = True)
print(resp.prettify())
print(f"Match: {resp.result[0].anilist.title.romaji}\nSimilarity: {resp.result[0].similarity*100}")
- Or just file path:
print(tracemoe.search('image.jpg', upload_file=True))
- Save Video Preview:
output = tracemoe.search('https://trace.moe/img/flipped-good.jpg', is_url = True)
output.result[0].save('preview.mp4', mute = False) # True for silent
- Save Video preview (2)
output = tracemoe.search('https://trace.moe/img/flipped-good.jpg', is_url = True)
video = tracemoe.natural_preview(output)
with open('preview.mp4', 'wb') as f:
f.write(video)
- Save Image Preview
output = tracemoe.search('https://trace.moe/img/flipped-good.jpg', is_url = True)
output.result[0].save(save_path = 'preview.png', preview_type="image")
- Image Preview (Method 2)
output = tracemoe.search('https://trace.moe/img/flipped-good.jpg', is_url = True)
tracemoe.image_preview(output) # Gives content
- You can do help(method_name) to get more info about the given method
help(tracemoe.search)
Asyncio
All the examples below assume you are running this inside a async function
- Basic search (AioHttp session is not closed, You can access it as .aio_session)
import tracemoepy
tracemoe = tracemoepy.AsyncTrace()
resp = await tracemoe.search('https://trace.moe/img/flipped-good.jpg', is_url = True)
print(f"Match: {resp.result[0].anilist.title.romaji}\nSimilarity: {resp.result[0].similarity*100}")
- Auto close session
import tracemoepy
async with tracemoepy.AsyncTrace() as tracemoe:
resp = await tracemoe.search('https://trace.moe/img/flipped-good.jpg', is_url = True)
print(f"Match: {resp.result[0].anilist.title.romaji}\nSimilarity: {resp.result[0].similarity*100}")
Errors
TooManyRequests
: Raised when API Limit is reached or Too many requests in short period of time.EntityTooLarge
: Raised when image size is greater than max size of 10MB.ServerError
: Raised when Something wrong with the trace.moe server or Image provided was malformed.InvalidToken
: Raised when Invalid token was provided.EmptyImage
: Raised when Image provided was empty.InvalidPath
: Invalid path was given, This is only raised by.save(...)
method- All these errors are located at tracemoepy.errors, Example of handling Exception:
from tracemoepy.errors import TooManyRequests
try:
# Do something
except TooManyRequests as t:
print(t)
# Do something if error
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tracemoepy-4.1.tar.gz
(9.5 kB
view details)
File details
Details for the file tracemoepy-4.1.tar.gz
.
File metadata
- Download URL: tracemoepy-4.1.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.10.0b1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2fc60cdd92e359bf740b58b00cf386d98e6b31b9065ef357a0041e692409e62 |
|
MD5 | f142ae598039d58ca3df62e0685dee54 |
|
BLAKE2b-256 | eda6eabd996f20707670093774aff612e76eac5ac98f519f7baccc0ca47eafb2 |