Quick Start¶
Wallhaven — basic search¶
from xanax import Wallhaven
from xanax.sources.wallhaven.params import SearchParams
client = Wallhaven(api_key="your-api-key")
results = client.search(SearchParams(query="anime"))
for wallpaper in results.data:
print(wallpaper.id, wallpaper.resolution, wallpaper.path)
Wallhaven — iterate through all pages¶
from xanax import Wallhaven
from xanax.sources.wallhaven.params import SearchParams
from xanax.sources.wallhaven.enums import Sort
client = Wallhaven(api_key="your-api-key")
for wallpaper in client.iter_media(SearchParams(query="space", sorting=Sort.TOPLIST)):
print(wallpaper.resolution, wallpaper.path)
Wallhaven — download a wallpaper¶
wallpaper = client.wallpaper("94x38z")
client.download(wallpaper, path="wallpaper.jpg")
Wallhaven — async version¶
import asyncio
from xanax import AsyncWallhaven
from xanax.sources.wallhaven.params import SearchParams
async def main():
async with AsyncWallhaven(api_key="your-api-key") as client:
results = await client.search(SearchParams(query="nature"))
async for wallpaper in client.aiter_media(SearchParams(query="space")):
print(wallpaper.path)
asyncio.run(main())
Unsplash — basic search¶
from xanax.sources import Unsplash
from xanax.sources.unsplash.params import UnsplashSearchParams
unsplash = Unsplash(access_key="your-access-key")
result = unsplash.search(UnsplashSearchParams(query="mountains"))
for photo in result.results:
print(photo.id, photo.resolution, photo.urls.regular)
Unsplash — iterate through all pages¶
for photo in unsplash.iter_media(UnsplashSearchParams(query="landscape")):
print(photo.id, photo.resolution)
Reddit — basic media fetch¶
from xanax.sources.reddit import Reddit
from xanax.sources.reddit.params import RedditParams
from xanax.enums import MediaType
client = Reddit(
client_id="your-client-id",
client_secret="your-client-secret",
user_agent="python:myapp/1.0 (by u/yourusername)",
)
for post in client.iter_media(RedditParams(
subreddit="EarthPorn",
media_type=MediaType.IMAGE,
)):
client.download(post, path=f"{post.id}.jpg")
Next steps¶
Authentication — full details on API keys
Searching — all
SearchParamsfieldsUnsplash — Unsplash search, random, download
Reddit — Reddit subreddit media feeds
Async Client — async clients and async iteration