pobapi 0.6.0

Creator: railscoder56

Last updated:

Add to Cart

Description:

pobapi 0.6.0

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

Python 3.7+
dataslots
lxml
requests
unstdlib



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

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.