Skip to main content

An all-in-one OSRS Library with Hiscores and Grand Exchange Market Information

Project description

OSRSBytes (v1.3.2)

version downloads
size platform & version support

Introduction

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.

Installation:

pip install OSRSBytes

Upgrade

pip install OSRSBytes --upgrade

Example Invocation (Hiscores)

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 or 1 hour. Example without Caching

from 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"))

Example Invocation (Items)

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')

Contributing

Prior to contributing, please consider the following before committing code:

  1. Do not leave commented lines in code (i.e. #print('test')
  2. Try to write your code as cleanly and readable as possible
  3. Whenever possible, do not use third party packages, try your hardest to utilize built-in python packages
  4. 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.
  5. NEW: All code should be indented with spaces rather than tabs.
  6. 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

OSRSBytes-1.3.21.tar.gz (11.6 kB view hashes)

Uploaded Source

Built Distribution

OSRSBytes-1.3.21-py3-none-any.whl (20.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page