Git Product home page Git Product logo

pathofbuildingapi's Introduction

Path of Building API (pobapi)

Maintenance

Read the Docs - Build Status

PyPI - Python Version

PyPI - Library Version

PyPI - Project Status

PyPI - Distribution Format

PyPI - License

Code style - black

Standard Readme - Compliant

API for Path of Building's build sharing format for builds in Path of Exile.

Table of Contents

Background

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

Install

pip install pobapi

Dependencies

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

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.

Feedback

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

Roadmap

  • Support corruptions
  • Support enchantments

API

Documentation available at Read the Docs.

Contributing

Setup repository using Git (recommended):

git clone https://github.com/ppoelzl/PathOfBuildingAPI.git

Install dev dependencies using Poetry (recommended):

poetry install
If you have any questions about contributing, please open a GitHub issue.
Pull requests are gladly accepted.
Check out the Developer Guide for more info.

Licence

MIT © Peter Pölzl

pathofbuildingapi's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar ppoelzl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pathofbuildingapi's Issues

ImportError: cannot import name 'with_slots' from 'dataslots'

Was about to tinker with this library but minimal code example from docs

import pobapi

url = "https://pastebin.com/9rxrrdjE"

build = pobapi.from_url(url)

yields the following error:

Traceback (most recent call last):
  File "C:\Users\...\PycharmProjects\pobapi-test\main.py", line 1, in <module>
    import pobapi
  File "C:\Users\...\PycharmProjects\pobapi-test\venv\lib\site-packages\pobapi\__init__.py", line 5, in <module>
    from .api import *
  File "C:\Users\...\PycharmProjects\pobapi-test\venv\lib\site-packages\pobapi\api.py", line 5, in <module>
    from pobapi import config, constants, models, stats
  File "C:\Users\...\PycharmProjects\pobapi-test\venv\lib\site-packages\pobapi\config.py", line 9, in <module>
    from dataslots import with_slots
ImportError: cannot import name 'with_slots' from 'dataslots' (C:\Users\Moritz\PycharmProjects\pobapi-test\venv\lib\site-packages\dataslots\__init__.py)

Drop support for Python 3.6

Since Python 3.7 is very mature by now and dataclasses are a core addition to the language, drop support for Python 3.6 in favour of native dataclasses and guaranteed insertion-order preserving dicts.

API for changing items?

I'm wondering if there is an api for changing an item in a pob?
More specifically I would like to compare multiple wands and figure out which one gives the best dps for example
Thank you

Target Path of Building Community

Switch target to Path of Building Community instead of Path of Building. Support for the original Path of Building may be dropped, if necessary.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.