Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Python library and CLI for Anything World API.
To use this package you'll need to obtain a valid Anything World API key. Please, create an account in our website and then visit your profile page to get access to your API key.
Before sending your 3D models to be animated, please make sure to follow our guidelines on preparing your 3D model for success.
To understand better the underlying web requests called by this Python package, please check our API documentation.
For more information of what changed between versions, please check the CHANGELOG file.
pip install anything-world
First of all, create a new .env
file with your Anything World API key:
AW_API_KEY=<YOUR API KEY>
This library provides both synchronous and asynchronous implementations.
The sync implementation is based on requests
and tries to keep dependencies
at minimum (i.e. no need to install asyncio
nor aiohttp
). However,
if you use-case requires async calls, please follow the next section for its
implementation.
from anything_world.sync_api import AWClient
from dotenv import load_dotenv
load_dotenv()
# Create a client to be able to query Anything World's API
client = AWClient()
# Search for 3D models of `cats`:
response = client.find('cats')
# Upload files from ./examples/cat folder to be animated
response = client.animate(
files_dir='./examples/cat',
model_name='some_cat',
model_type='cat',
auto_rotate=True,
is_symmetric=True
)
# If the `model_type` is not given, the AI pipeline will try to find it automatically!
response = client.animate(
files_dir='./examples/cat',
model_name='some_cat',
auto_rotate=True,
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 10 seconds and after that,
# checking every 5 secs if the API is done animating the model
model_data = client.get_animated_model(
model_id=model_id,
waiting_time=5,
warmup_time=10,
verbose=True
)
# Check if our AI pipeline is done animating the model
is_finished = client.is_animation_done(model_id)
assert is_finished == True
# Gets all model data
model_data = client.get_model(model_id)
You can also generate 3D models by providing a text prompt:
response = client.generate_from_text(
prompt="cow using a helmet",
)
model_data = client.get_generated_model(
model_id = response["model_id"]
)
Or by providing an image:
response = client.generate_from_image(
file_path = "./examples/cowboy.jpg",
)
model_data = client.get_generated_model(
model_id = response["model_id"]
)
Anything World is the only place where you can not only generate, but animate 3D models giving only a single text prompt:
response = client.generate_animated_from_text(
prompt="cow using a helmet",
)
model_data = client.get_generated_model(
model_id = response["model_id"]
)
Or by providing a single image:
response = client.generate_animated_from_image(
file_path = "./examples/cowboy.jpg",
)
model_data = client.get_generated_model(
model_id = response["model_id"]
)
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 "cat"
anything animate ./examples/cat "some cat" --is_symmetric --auto_rotate
anything get_animated_model <MODEL_ID> --verbose
anything get_model <MODEL_ID>
anything generate_from_text "cow with a helmet"
anything generate_from_image ./examples/cowboy.jpg "a cowboy"
anything get_generated_model <MODEL_ID>
anything generate_animated_from_text "soldier"
anything generate_animated_from_image ./examples/cowboy.jpg "a cowboy"
To know more about the parameters of a specific command, just run the command with no arguments to get a help message:
anything find
For more information about a command, please run the command with the --help
suffix:
anything find --help
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 .
pytest -v -s
First bump the version in pyproject.toml
and then:
rm -rf dist/*
python3 -m build
python3 -m twine upload dist/* --username __token__ --password <password>
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).
FAQs
Anything World API wrapper library and CLI
We found that anything-world demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.