All Projects → meraki-analytics → Cassiopeia

meraki-analytics / Cassiopeia

Licence: mit
An all-inclusive Python framework for the Riot Games League of Legends API. We focus on making the data easy and fun to work with, while providing all the tools necessary to create a website or do data analysis.

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Cassiopeia

Elasticsearch Java
Elasticsearch Java API 手册
Stars: ✭ 341 (-3.4%)
Mutual labels:  api
Nodejsstarterkit
Starter Kit for Node.js v14.x, minimum dependencies 🚀
Stars: ✭ 348 (-1.42%)
Mutual labels:  api
Loopback Next
LoopBack makes it easy to build modern API applications that require complex integrations.
Stars: ✭ 3,972 (+1025.21%)
Mutual labels:  api
Koa Vue Notes Api
🤓 This is a simple SPA built using Koa as the backend, Vue as the first frontend, and React as the second frontend. Features MySQL integration, user authentication, CRUD note actions, and async/await.
Stars: ✭ 342 (-3.12%)
Mutual labels:  api
Trpc
🧙‍♂️ TypeScript toolkit for building end-to-end typesafe APIs
Stars: ✭ 259 (-26.63%)
Mutual labels:  api
Yelp Fusion
Yelp Fusion API
Stars: ✭ 350 (-0.85%)
Mutual labels:  api
Api.rss
RSS as RESTful. This service allows you to transform RSS feed into an awesome API.
Stars: ✭ 340 (-3.68%)
Mutual labels:  api
Lanzoucloud Api
蓝奏云网盘第三方 API
Stars: ✭ 355 (+0.57%)
Mutual labels:  api
R2dbc Client
Reactive Relational Database Connectivity
Stars: ✭ 347 (-1.7%)
Mutual labels:  api
Absinthe
The GraphQL toolkit for Elixir
Stars: ✭ 3,805 (+977.9%)
Mutual labels:  api
Crypto Exchanges Gateway
Your gateway to the world of crypto !
Stars: ✭ 343 (-2.83%)
Mutual labels:  api
Graphql Core
A Python 3.6+ port of the GraphQL.js reference implementation of GraphQL.
Stars: ✭ 344 (-2.55%)
Mutual labels:  api
Askql
AskQL is a query language that can express any data request
Stars: ✭ 352 (-0.28%)
Mutual labels:  api
Notebooks
interactive notebooks from Planet Engineering
Stars: ✭ 339 (-3.97%)
Mutual labels:  api
Thehivedocs
Documentation of TheHive
Stars: ✭ 353 (+0%)
Mutual labels:  api
Pogo
Server framework for Deno
Stars: ✭ 341 (-3.4%)
Mutual labels:  api
Somepackage
Show how to structure a Python project.
Stars: ✭ 351 (-0.57%)
Mutual labels:  api
Google Translate
翻译工具 支持网页翻译和文本翻译
Stars: ✭ 356 (+0.85%)
Mutual labels:  api
Figma Graphql
The reimagined Figma API (super)powered by GraphQL
Stars: ✭ 354 (+0.28%)
Mutual labels:  api
Laravel Json Api Paginate
A paginator that plays nice with the JSON API spec
Stars: ✭ 351 (-0.57%)
Mutual labels:  api

MIT Licensed Documentation Status DOI

Cassiopeia

A Python adaptation of the Riot Games League of Legends API (https://developer.riotgames.com/).

Cassiopeia is the sister library to Orianna (Java). It's been designed with usability in mind - making sure all the bookkeeping is done right so you can focus on getting the data you need and building your application.

Documentation and Examples

Cassiopeia has detailed documentation and examples.

Installation

pip install cassiopeia or see here for more information.

Why use Cass?

  • An excellent user interface that makes working with data from the Riot API easy and fun.

  • "Perfect" rate limiting.

  • Guaranteed optimal usage of your API key.

  • Built in caching and (coming) the ability to easily hook into a database for offline storage of data.

  • Extendability to non-Riot data. Because Cass is a framework and not just an API wrapper, you can integrate your own data sources into your project. Cass already supports Data Dragon and the champion.gg API in addition to the Riot API.

  • Dynamic settings so you can configure Cass for your specific use case.

Example

Here's an example of a basic use of the API. The full documentation can be found at http://cassiopeia.readthedocs.org/en/latest/.

import random

import cassiopeia as cass

cass.set_riot_api_key("YOUR_KEY")  # This overrides the value set in your configuration/settings.
cass.set_default_region("NA")

summoner = cass.get_summoner(name="Kalturi")
print("{name} is a level {level} summoner on the {region} server.".format(name=summoner.name,
                                                                          level=summoner.level,
                                                                          region=summoner.region))

champions = cass.get_champions()
random_champion = random.choice(champions)
print("He enjoys playing champions such as {name}.".format(name=random_champion.name))

challenger_league = cass.get_challenger_league(queue=cass.Queue.ranked_solo_fives)
best_na = challenger_league[0].summoner
print("He's not as good as {name} at League, but probably a better python programmer!".format(name=best_na.name))

Django web Framework

There is an integration of cassiopeia to the popular python web framework Django made by Mori(Paaksing), this integration is aimed to fix most issues/conflicts related to co-ocurrence of cassiopeia and Django. In this integration will give you better tools for building your Django/DRF based app, you will have the ability to use any production tested cache backends that Django's cache framework supports.

New in v2.0: A new datastore called Omnistone is introduced in response to issue #1 of this repo, this is a refined version of Cache that automatically deletes expired objects when MAX_ENTRIES is hit, then culls the datastore according to the CULL_FRECUENCY given. The culling strategy used is the same as Django Cache Framework, which is LRU culling (Least Recently Used).

  • Link to django-cassiopeia repository (If you love using it, make sure to star!).
  • Link to django-cassiopeia documentations (Production Release v2.0).
  • If you have any issues or feature requests with django-cassiopeia, tag Mori in our discord server, or fire an issue in the repository.

Unfortunately, we currently don't have an integration to Flask and any contribution is welcome.

Questions/Contributions

Feel free to send pull requests or to contact us via github or discord. More information can be found in our documentation.

Bugs

If you find bugs please let us know via an issue or pull request. If you would like to help maintain Cassiopeia, let us know and we will invite you to our discord server.

Citing Cassiopeia

If you used Cassiopeia for your research, please cite the project.

Support Us

If you've loved using Cassiopeia, consider supporting us through PayPal or Patreon.

Disclaimer

Cassiopeia isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends. League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc. League of Legends © Riot Games, Inc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].