Metadata-Version: 2.1
Name: album-of-the-year-api
Version: 0.2.5
Summary: A light weight Python library that acts as an API for the website albumoftheyear.org
Home-page: https://github.com/JahsiasWhite/AlbumOfTheYearWrapper
Author: Jahsias White
Author-email: jahsias.white@gmail.com
License: GNU
Platform: UNKNOWN
Description-Content-Type: text/markdown
Requires-Dist: pytest (==7.0.1)
Requires-Dist: SQLAlchemy (==1.3.22)
Requires-Dist: bs4 (==0.0.1)
Requires-Dist: urllib3 (==1.26.8)

# AlbumOfTheYearWrapper

A light weight python library that acts as an API for https://www.albumoftheyear.org/

## Description

Gets data from https://www.albumoftheyear.org/. The website doesn't currently provide API support so web parsing is required to obtain data. Because of this,
and according to https://www.albumoftheyear.org/robots.txt, searching and POST requests are not allowed. 

## Installation

```
pip install album-of-the-year-api
```
or upgrade
```
pip install album-of-the-year-api --upgrade
```

## Usage

**Examples**

Here's a quick example of getting a specific users follower count
```
from albumoftheyearapi import AOTY

client = AOTY()
print(client.user_follower_count('jahsias'))
```

If you don't need the full functionality, you can also import only the neccesary files
```
from albumoftheyearapi.artist import ArtistMethods

client = ArtistMethods()
print(client.artist_albums('183-kanye-west'))
```
Notice artists also need their unique id along with their name

## Methods

**Artist Methods**

```artist_albums(artist)```
<br>Returns a list of all albums by an artist
<br>    Parameters:  
* artist - artist id and name

```artist_mixtapes(artist)```
<br>Returns a list of all mixtapes by an artist
<br>Parameters:  
* artist - artist id and name

```artist_eps(artist)```
<br>Returns a list of all eps by an artist
<br>Parameters:  
* artist - artist id and name

```artist_singles(artist)```
<br>Returns a list of all singles by an artist
<br>Parameters:  
* artist - artist id and name

```artist_name(artist)```
<br>Returns the name of the artist
<br>Parameters:  
* artist - artist id and name

```artist_critic_score(artist)```
<br>Returns the critic score of the artist
<br>Parameters:  
* artist - artist id and name

```artist_user_score(artist)```
<br>Returns the user score of the artist
<br>Parameters:  
* artist - artist id and name

```artist_total_score(artist)```
<br>Returns the average of the critic and users score of the artist
<br>Parameters:  
* artist - artist id and name

```artist_follower_count(artist)```
<br>Returns the follower count of the artist
<br>Parameters:  
* artist - artist id and name

```artist_details(artist)```
<br>Returns the detials of the artist
<br>Parameters:  
* artist - artist id and name

```artist_top_songs(artist)```
<br>Returns a list of the top songs of the artist
<br>Parameters:  
* artist - artist id and name

```similar_artists(artist)```
<br>Returns a list of similar artists to the given artist
<br>Parameters:  
* artist - artist id and name

**User Methods**

```user_rating_count(user)```
<br>Returns the number of ratings by a user
<br>Parameters:  
* user - username

```user_review_count(user)```
<br>Returns the number of reviews by a user
<br>Parameters:  
* user - username

```user_list_count(user)```
<br>Returns the number of lists by a user
<br>Parameters:  
* user - username

```user_follower_count(user)```
<br>Returns the number of followers a user has
<br>Parameters:  
* user - username

```user_about(user)```
<br>Returns the about page of a user
<br>Parameters:  
* user - username

```user_rating_distribution(user)```
<br>Returns a list of a users rating distribution
<br>Parameters:  
* user - username

