Anything World API wrapper library and CLI
Project description
Anything World Python Client
Python library and CLI for Anything World API.
Installing
pip install anything-world
Using
First of all, create a new .env
file with the right API key and URLs:
AW_API_KEY=<YOUR API KEY>
AW_API_URL=https://api.anything.world
AW_POLLING_URL=https://api.anything.world/user-processed-model
From Python
import asyncio
from anything_world import AWClient
# Create a client to be able to query Anything World's API
client = AWClient()
# Search for 3D models of `cats`:
response = asyncio.run(
client.find('cats'))
# Upload files from ./examples/cat folder to be animated
response = asyncio.run(
client.animate('./examples/cat', 'some_cat', 'cat', is_symmetric=True))
# Response has the model_id of the 3D model that our AI pipeline is currently animating
model_id = response["model_id"]
# Runs a long-polling loop, starting it only after 2 minutes and after that,
# checking every 5 secs if the API is done animating the model
animated_response = asyncio.run(
await client.get_animated_model(model_id, waiting_time=5, warmup_time=120))
# Check if our AI pipeline is done animating the model
is_finished = asyncio.run(
client.is_animation_done(model_id))
assert is_finished == True
From CLI
All AWClient
methods are exposed as commands of the anything
CLI tool.
Just call the anything
tool and it will display a manual page of the
available commands:
anything
You can do exactly the same we did in Python before through the CLI:
anything find <QUERY STRING>
anything animate ./examples/cat "some cat" "cat" --is_symmetric
anything get_animated_model <MODEL_ID>
...
Developing
Installing from source
git clone git@github.com:anythingworld/anything-world-python.git
cd anything-world-python
python3 -m venv venv
source venv/bin/activate
pip install -e .
Testing
pytest -v -s
Releasing a new pip package
Bump the version in pyproject.toml
and then:
rm -rf dist/*
python3 -m build
python3 -m twine upload dist/*
License
This Python module has a MIT-style license, as found in the LICENSE file.
The cat model in examples/cat
folder is from Google Poly (CC-BY 4.0) license.
The ASCII logo was generated by https://patorjk.com/software/taag/ using the original font fuzzy.flf by Juan Car (jc@juguete.quim.ucm.es).
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
Built Distribution
Hashes for anything_world-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab4c086b2a0c1f916fc9ee610fdff641a84212602a77dcabe6ff967cdbfc1e78 |
|
MD5 | a321303a12b426e1c5ee2b2d4e3c36c9 |
|
BLAKE2b-256 | 17a8106e63e87ab3d1372e9ff768d6653a496f47ab41f3416f2b6beaedaaa9aa |