Skip to main content

API for Path Of Building's build sharing format.

Project description

Pre-release Software Warning

This library is currently in pre-release status and may change in the near future.
Meanwhile I am looking forward to community feedback to accommodate most use cases.
Pull requests are gladly accepted and much appreciated!

Introduction

Path Of Building API provides a comprehensive toolbox for processing Path of Building pastebins.
It is aimed at community developers:
  • looking to add Path of Building functionality to their apps.

  • upgrading from existing solutions.

Benefits from using this library:

  • Focus on your app’s core competences

  • Spend your free time on unique features

  • Backwards-compatibility as PoB’s export format changes

  • Tested and secure codebase

Features

  • Look up and process:
    • Character stats (DPS, life, etc.)

    • Skill trees

    • Skills, skill groups and links

    • Gear and item sets

    • Path of Building configuration settings

    • Build author’s notes

  • Exposes all of Path of Building’s relevant stats and attributes in a simple and pythonic way.

  • Automatically calculates mod values on theorycrafted items.

  • Low memory footprint through slots and dynamically generated attributes.

Requirements

Setup Instructions

pip install pobapi

Setup Instructions For Developers

Setup virtual environment:

pip install virtualenv
cd my_project_folder
virtualenv venv

To activate on Microsoft Windows:

\venv\Scripts\activate

To activate on GNU/Linux:

source venv/bin/activate

Setup repository:

git clone https://github.com/ppoelzl/PathOfBuildingAPI.git
pip install -r requirements.txt

Basic Usage

>>> import pobapi
>>> url = "https://pastebin.com/bQRjfedq"
>>> build = pobapi.from_url(url)
>>> print(build.ascendancy_name)
Elementalist
>>> print(build.bandit)
None
>>> print(build.stats.life)
6911
>>> if  build.active_skill.name in ["Blade Vortex", "Vaal Blade Vortex"]:
...     if "Storm Brand" in build.skill_names:
...         print(build.config.brand_attached)
...
True
>>> for item in build.items:
...    if item.name == "Inpulsa's Broken Heart":
...        print(item)
...        break
...
Rarity: Unique
Name: Inpulsa's Broken Heart
Base: Sadist Garb
Quality: 20
Sockets: (('G', 'G', 'G', 'B', 'B', 'B'),)
LevelReq: 68
ItemLvl: 71
+64 to maximum Life
26% increased Damage if you have Shocked an Enemy Recently
33% increased Effect of Shock
Shocked Enemies you Kill Explode, dealing 5% of
their Maximum Life as Lightning Damage which cannot Shock
Unaffected by Shock

Documentation

Available at Read the Docs.

Feedback

Please file a GitHub issue in this repository for any feedback you may have.

Contribution

Pull requests are gladly accepted. Check out the Developer Guide.

To-Do

  • Support corruptions

  • Support enchantments

License

MIT

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

pobapi-0.6.0.tar.gz (547.0 kB view details)

Uploaded Source

Built Distribution

pobapi-0.6.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file pobapi-0.6.0.tar.gz.

File metadata

  • Download URL: pobapi-0.6.0.tar.gz
  • Upload date:
  • Size: 547.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.1

File hashes

Hashes for pobapi-0.6.0.tar.gz
Algorithm Hash digest
SHA256 fea21f5bd0435b966def18a9d44a35f720a2225b6d12e6088c1cb36f171d9e2f
MD5 eb8b036ddc8d4bc8c10f985f66cf3d19
BLAKE2b-256 d22c8bb15f8daa6a2edadd7f49875792b6eeadb3ccab48b679f31db366917a9c

See more details on using hashes here.

File details

Details for the file pobapi-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pobapi-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.1

File hashes

Hashes for pobapi-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb86a70bda5599343cfdbe3775ebc425062ab8656d571b1a022f51522aa4095a
MD5 cf794955dc307b44ad08f26528861ddf
BLAKE2b-256 9f68f9ab4a1e0446f819eb85492854565264e9321eb656fad43aa01550a3550a

See more details on using hashes here.

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