Skip to main content

AsyncIO based high level Python framework for the Riot Games API that encourages rapid development and clean, pragmatic design.

Project description

Pyot

Pyot

MIT Licensed

Pyot is an asyncIO based high-level Python Riot Games API framework that encourages rapid development and clean, pragmatic design. Built by experienced Riot Games Third Party Developers, it takes care of much of the hassle of the Riot Games API, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.

Pyot 3

  • Code will run 3 ~ 5 times faster compared to Pyot 2.
  • Support for RoleML and Roleidentification.
  • Refactored objects to use non-destructive design.

Migration Guide: Version 2 → 3

Pyot 3.1

  • MongoDB is NOT compatible of v3.0, it now uses bson format for caching, after updating to v3.1, old items are automatically deleted progressively when accessed. To maintain old cached items, run the migration function detailed in the migration guide.
  • Reworked LoL Spectator objects, added support for Roleidentification.
  • Generic typing on most utils functions and classes.

Migration Guide: Version 3.0 → 3.1

Features

Features that Pyot has and can provide to your development.

  • AsyncIO Based: Go 60x faster with asyncIO and coroutines, highly configurable settings and wide range of tools to speed your I/O tasks.
  • Django Support: Full support for Django Caches Framework and its new 3.1 async Views, enable as installed app and point your setting modules on your settings.py file.
  • Community Projects Integrated: Includes support for CDragon, MerakiCDN, RoleML, RoleIdentification. DDragon is Forbidden due to incompatible APIs.
  • Caches Integrated: A wide range of Caches Stores is available right out of the box, we currently have Omnistone(Runtime), RedisCache(RAM), DiskCache(Disk) and MongoDB(NoSQL).
  • Multiple Models: Available models are League of Legends, Teamfight Tactics, Legends of Runeterra and VALORANT.
  • Code Autocompletion: Access data through attributes and properties, maximize your code efficiency now with autocompletion.
  • Perfect Rate Limiter: Pyot's Rate Limiter is production tested in all asynchronous, multithreaded and even multiprocessed environments. Pyot's rate limiters are made for perfectionists.
  • User Friendly Docs: Meet a human redable documentation that covers guides and all the available high-level and low-level APIs in Pyot.
  • Synchronous Compatible: An adapted version of Pyot that runs on synchronous environment, exposing part of its API synchronously on Syot.

About the Documentation

All documentation is in the "docs" directory and online at https://paaksing.github.io/Pyot/. If you're just getting started, here's how we recommend you read the docs:

The documentation is separated into different pages at the top navbar.

  • Core section documents the core modules, objects and settings of Pyot.
  • Pipeline section documents the Low level API of Pyot's Pipeline objects.
  • Models section documents the objects APIs for each available model.
  • Stores section documents the available Stores configurable to the pipeline.
  • Limiters section documents the available Rate Limiters for the RiotAPI Store.
  • Utils section documents the available helper functions and objects of Pyot.
  • Topics section documents common Q&As and hard touched topics of Pyot.
  • Developers section has contributing guidelines and wanted features.

Portal: https://paaksing.github.io/Pyot/

  1. First, read the Installation Guide for instructions on installing Pyot.
  2. Next, follow the quick start guide in Quick Start Guide for creating and running your first Pyot project.
  3. Then you should get to know the types of objects that Pyot works with in Objects.
  4. Now give yourself an idea of what models we have and what objects we work in Models
  5. You'll probably want to read through the topical context managers for achieving concurrency in Gatherer and Queue.
  6. From there you can jump back to manipulating the settings by reading Settings and get to know all the available pipeline stores in Pyot at Stores.
  7. Check out all the utils objects and methods available in pyot.utils that can be handy in your development, documented at Utils.

Docs are updated rigorously. If you find any problems in the docs, or think they should be clarified in any way, please take 30 seconds to open an issue in this repository.

To contribute to Pyot

If this framework is useful to you, a star to the repo is appreciated.

Contributions are welcome! If you have ideas or opinions on how things can be improved, don’t hesitate to let us know by posting an issue on GitHub or @ing me on the Riot API Discord channel. We always want to hear from our users, even (especially) if it’s just letting us know how you are using Pyot.

Check out Developers for contributing.

Finally thanks for Django docs, I literally copied their doc format and changed the names. Yikes

Project details


Download files

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

Files for pyot, version 3.1.1
Filename, size File type Python version Upload date Hashes
Filename, size pyot-3.1.1.tar.gz (78.9 kB) File type Source Python version None Upload date Hashes View
Filename, size pyot-3.1.1-py3-none-any.whl (124.4 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page