An API to parse Tibia.com content into object oriented data.
No fetching is done by this module, you must provide the html content.
Features:
- Converts data into well-structured Python objects.
- Type consistent attributes.
- All objects can be converted to JSON strings.
- Can be used with any networking library.
- Support for characters, guilds, houses and worlds, tournaments, forums, etc.
Install and update using pip
pip install tibia.py
Installing the latest version form GitHub
pip install git+https://github.com/Galarzaa90/tibia.py.git -U
This library is composed of two parts, parsers and an asynchronous request client.
The asynchronous client (tibiapy.Client) contains methods to obtain information from Tibia.com.
The parsing methods allow you to get Python objects given the html content of a page.
import tibiapy
# Asynchronously
import aiohttp
async def get_character(name):
url = tibiapy.urls.get_character_url(name)
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
content = await resp.text()
character = tibiapy.Character.from_content(content)
return character
# Synchronously
import requests
def get_character_sync(name):
url = tibiapy.urls.get_character_url(name)
r = requests.get(url)
content = r.text
character = tibiapy.Character.from_content(content)
return characterA ready to use HTTP server is also available as a Docker image, allowing you to integrate tibia.py in projects using other languages other than Python.
The image can be pulled from Docker Hub:
docker pull galarzaa90/tibia.pyAlternatively, the image can be built from the root of the project's source.
docker build . -t tibia.py:localTo run the image:
docker run -p 8000:8000 --rm -ti tibia.py:localAPI documentation will be available at: http://localhost:8000/docs.