Skip to content

janaSunrise/HypixelIO

Repository files navigation

                      __  __            _           __   ________
                     / / / /_  ______  (_)  _____  / /  /  _/ __ \
                    / /_/ / / / / __ \/ / |/_/ _ \/ /   / // / / /
                   / __  / /_/ / /_/ / />  </  __/ /  _/ // /_/ /
                  /_/ /_/\__, / .___/_/_/|_|\___/_/  /___/\____/
                        /____/_/

HypixelIO

A Modern, Efficient and Easy way of interacting with the Hypixel API!

Made with Python

PYPI - License PYPI Download per Month PYPI PYPI Python Version Maintenance

Code Size Discord

✨ Why choose HypixelIO?

  • Modern way of handling requests
  • Modern OOP based structure
  • Both Async and blocking support
  • Simple ratelimit handling and caching
  • Elegant design with complete optimization
  • Easy to use with a modern and simple design
  • Complete API coverage

🚀 Installing

Python 3.7 or above is required!

# Windows
py -3 -m pip install -U HypixelIO

# Linux or MacOS
python3 -m pip install -U HypixelIO

# Install the nightly build
python3 -m pip install -U git+https://github.com/janaSunrise/HypixelIO

You can also get extra features with this library. Here's how:

# Use [speedups] to speed up only for async API
python3 -m pip install -U "HypixelIO[speedups]"

Usage

from hypixelio import Client, Converters

client = Client(api_key="your-api-key")

boosters = client.get_boosters()  # Get the boosters object

friends = client.get_friends(uuid="user's-uuid")  # Returns the Friends object
# Or, if you don't know the UUID
friends = client.get_friends(name="user's-username")

print(boosters[0].id)
print(friends.friends[0].receiver_id)

Async API usage

import asyncio

from hypixelio import AsyncClient, AsyncConverters

client = AsyncClient(api_key="your-api-key")

# Async function to fetch info
async def fetch_from_hypixel():
    boosters = await client.get_boosters()  # Get the boosters object

    friends = await client.get_friends(uuid="user's-uuid")  # Returns the Friends object
    # Or, if you don't know the UUID
    friends = await client.get_friends(name="user's-username")

    # Safely close the connection
    await client.close()

    return boosters, friends

# Run the coroutine using `asyncio`
boosters, friends = asyncio.run(fetch_from_hypixel())

print(boosters[0].id)
print(friends.friends[0].receiver_id)

Find more examples here!

📢 Changelog

If you're interested in seeing the Changelog, Go here!

🤝 Contributing

Contributions, issues and feature requests are welcome. After cloning & setting up project locally, you can just submit a PR to this repo and it will be deployed once it's accepted.

⚠️ It’s good to have descriptive commit messages, or PR titles so that other contributors can understand about your commit or the PR Created. Read conventional commits before making the commit message. You can find our contributing guidelines here

We have a branch called dev containing development code. If you're contributing, Remember to contribute to dev branch, instead of main.

💬 Get in touch

If you have various suggestions, questions or want to discuss things with our community, Have a look at Github discussions or join our Discord server!

Discord

👋 Show your support

Be sure to drop a 🌟 if you like the project!

▶ Links

Made by Sunrit Jana with ❤