Skip to main content

A Python 3 module wrapper for RuneScape 3's API

Project description

PyPI PyPI - Python Version Build Status

A Python 3 module wrapper for RuneScape 3 API


Setup with pip:

$ python3 -m pip install rs3clans


> Players
  • Creating a Player object
    • Always check if a player actually exists before doing anything with it
>>> from rs3clans import players
>>> player = players.Player(name='nriver')
>>> if player.exists:
...     pass
  • Whether the player exists or not
>>> player.exists
  • Whether his Runemetrics Profile is Private or not
>>> player.private_profile
  • You can also pass the argument runemetrics as False if you don't want their runemetrics info to be set
    • This will make you unable to use some attributes from the Player class
>>> player = players.Player(name='nriver', runemetrics=False)
  • Getting a player's name
    • (if his Runemetrics Profile is private it will return the same name passed when creating object)
  • Getting a player's total Exp (requires Public Runemetrics Profile)
>>> player.exp
  • Getting a player's Total Level (requires Public Runemetrics Profile)
>>> player.total_level
  • Getting a player's Combat Level (requires Public Runemetrics Profile)
>>> player.combat_level
  • Quests information about a player (requires Public Runemetrics Profile)
>>> player.quests_not_started
>>> player.quests_started
>>> player.quests_complete
  • Getting information on a specific skill of the player (requires Public Runemetrics Profile)
>>> player.skill('agility').level
  • Skill name is case-insensitive
>>> player.skill('AtTaCk').rank
  • Can pass skill names as well as id
    • (8 = Woodcutting for example)
>>> player.skill(8).exp
  • Getting a player's title
>>> player.title
'The Liberator'
  • Verifying if a player's title is a suffix or not
>>> player.suffix
  • Getting a player's clan
>>> player.clan
> Clans
  • Creating a Clan object
    • Always check if a clan actually exists before doing anything with it
>>> from rs3clans import clans
>>> try:
...     clan = clans.Clan('Atlantis')
... except clans.ClanNotFoundError:
...     print('Clan not found.')
  • Getting a clan's total Exp
>>> clan.exp
  • Getting information about a specific member in that clan
    • Clan.member attribute (dict) (requires case-sensitive name)
    • Clan.get_member() (method) (does not require case-sensitive name)
    • Returns a ClanMember Object
>>> # Case-sensitive
>>> clan.member['NRiver']
ClanMember(NRiver, Overseer, 1043065027)
>>> clan.member['NRiver'].rank
>>> # Case-insensitive
>>> clan.get_member('nriver')
ClanMember(NRiver, Overseer, 1043065027)
>>> clan.get_member('nRiVeR').rank
  • Getting the number of players in a clan
>>> clan.count
  • Getting the average Clan Exp per player in clan
>>> clan.avg_exp
  • Iterate through a Clan
>>> for member in clan:
>>>     print(f"{member} - {}")
ClanMember(Pedim, Owner, 1249520826) - Pedim
ClanMember(Acriano, Overseer, 1903276564) - Acriano
ClanMember(Cogu, Overseer, 1829449412) - Cogu
ClanMember(Black bullet, Overseer, 1100767386) - Black Bullet
ClanMember(NRiver, Overseer, 1090093362) - NRiver
ClanMember(Kurenaii, Overseer, 395850997) - Kurenaii


  • Guidelines:

    • Follow Pep8 with the exception of E501 (line too long)
  • Fork the repository

  • Install Dev dependencies

    • With poetry
      $ python3 -m virtualenv .venv
      $ poetry shell
      $ poetry install
    • Without pipenv
      $ python3 -m virtualenv .venv
      $ source .venv/bin/activate
      $ pip install -r requirements-dev.txt
  • Run the tests to make sure everything is ok

    $ pytest
  • Make your changes to the code in the directory

  • Add necessary tests to the directory (pytest docs)

  • Run the tests again

    $ pytest
  • Also run flake8 just to check if the code style is also fine

    $ flake8 --ignore=E501 rs3clans/
  • If everything went fine then send a Pull Request

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

rs3clans-1.1.3.tar.gz (11.4 kB view hashes)

Uploaded Source

Built Distribution

rs3clans-1.1.3-py3-none-any.whl (10.6 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