OSRSBytes is an all-in-one Python library for Old School Runescape (OSRS) that features Item Information Lookup, Hiscores, and Market information from RuneLite/Wiki.
pip install OSRSBytes
pip install OSRSBytes --upgrade
The OSRSBytes library contains caching on Hiscores to improve performance. Caching is disabled by default and must be enabled when initializing the hiscores object. Note that default TTL of cache is
3600
seconds or1
hour. Example without Cachingfrom OSRSBytes import Hiscores user = Hiscores('Zezima') # Lets display some information print("Current level:", user.skill('attack', 'level')) print("Current rank:", user.skill('attack', 'rank')) print("Current exp:", user.skill('attack', 'experience')) print("Exp remaining:", user.skill('attack','exp_to_next_level')) # Lets display some Boss information print("Wintertodt Kills:", user.boss("wintertodt", "score")) # Lets display some Clue Hiscores print("Medium clues done:", user.clue("medium", "score"))
from OSRSBytes import Items items = Items() # Lets get information on this item print('Is Members:', items.isMembers('rune dagger')) print("Item ID:", items.getItemID('rune dagger')) print('Sell Average:', items.getSellAverage('rune dagger')) print('Sell Quantity:', items.getSellQuantity('rune dagger')) print('Buy Average:', items.getBuyAverage('rune dagger')) print('Buy Quantity:', items.getBuyQuantity('rune dagger')) print('Buy Limit:', items.getBuyLimit('fire rune')) print('Shop Price:', items.getShopPrice('rune dagger')) print('High Alch Value:', items.getHighAlchValue('rune dagger')) print('Low Alch Value:', items.getLowAlchValue('rune dagger')) # In addition, all items can be called by Item ID as well print('Item Name:', items.getName('1213')) print('Sell Average:', items.getSellAverage('1213')) # Lets update all of the item information after some time has passed items.update() # Lets get some new, up-to-date information print('Sell Average:', items.getSellAverage('rune dagger')
Prior to contributing, please consider the following before committing code:
- Do not leave commented lines in code (i.e.
#print('test')
- Try to write your code as cleanly and readable as possible
- Whenever possible, do not use third party packages, try your hardest to utilize built-in python packages
- No commits should break previous code functionality. This means that method names should remain the same and return the same, expected values in the same format.
- NEW: All code should be indented with spaces rather than tabs.
- NEW: All code should be pushed to dev branch instead of master branch. All pull requests sent to master will be rejected.
Thank you for your considerations