An API wrapper around the pythonanywhere's API.

Overview

pyaww

An API wrapper around the pythonanywhere's API. The name stands for pythonanywherewrapper.

  • 100% api coverage
  • most of the codebase is documented & typehinted
  • maintained

Open Source? Yes!

made-with-python

License: MIT

Quick-start

# import the module
from pyaww.user import User

# construct the user class
client = User(auth='...', username='...')

# sample code
for console in client.consoles():
    print(console.name)

Please look at the documentations: https://ammarsys.github.io/pyaww-docs/

Installation

# Linux/MacOS
python3 -m pip install pyaww

# Windows
py -m pip install pyaww

For the dev version, do:

git clone https://github.com/ammarsys/pyaww
cd pyaww

FAQ

How do I get my accounts API token?

I have an issue, where can I recieve help?

  • Please open an issue over here.

Are there any examples?

  • Yes! See this directory.

How do I contribute?

  • To make a code change, make a fork of this repository, edit it and make a pull requests.

How to use this module in an async enviorment?

  • Look into this library.
You might also like...
An asyncio Python wrapper around the Discord API, forked off of Rapptz's Discord.py.

Novus A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. A full fork of Rapptz's Discord.py library, with

An async-ready Python wrapper around FerrisChat's API.

FerrisWheel An async-ready Python wrapper around FerrisChat's API. Installation Instructions Linux: $ python3.9 -m pip install -U ferriswheel Python 3

A Python wrapper around the Pushbullet API to send different types of push notifications to your phone or/and computer.

pushbullet-python A Python wrapper around the Pushbullet API to send different types of push notifications to your phone or/and computer. Installation

RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.
RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.

RichWatch is TUI (Textual User Interface) for AWS Cloud Watch. It formats and pretty prints Cloud Watch's logs so they are much more readable. Because

🚀 An asynchronous python API wrapper meant to replace discord.py - Snappy discord api wrapper written with aiohttp & websockets

Pincer An asynchronous python API wrapper meant to replace discord.py ❗ The package is currently within the planning phase 📌 Links |Join the discord

Aws-lambda-requests-wrapper - Request/Response wrapper for AWS Lambda with API Gateway

AWS Lambda Requests Wrapper Request/Response wrapper for AWS Lambda with API Gat

Playing around with the slack api for learning purposes

SlackBotTest Playing around with the slack api for learning purposes and getting people to contribute Reason for this Project: Bots are very versatile

Messing around with GitHub API to look at omicron build times
Messing around with GitHub API to look at omicron build times

gh-workflow-runs This is a very simple tool to dump out basic information about workflow runs for a GitHub repo. The structure is based on gh-subscrip

A wrapper for slurm especially on Taiwania2 (HPC CLI)A wrapper for slurm especially on Taiwania2 (HPC CLI)

TWCC-slurm-wrapper A wrapper for slurm especially on Taiwania2 (HPC CLI). For Taiwania2 (HPC CLI) usage, please refer to here. (中文) How to Install? gi

Comments
  • Implement a rate limiting system

    Implement a rate limiting system

    Implement a rate-limiting system under the pyaww/utils/ directory, specifically pyaww/utils/ratelimit.py.

    The rate-limiting algorithm could be a token bucket; or even better a leaky bucket. It should be usable as a decorator and/or with the async for ... syntax. Function, where this would be used, would be the pyaww.User.request method, its first argument is always the URL.

    The rate limits are 40/min per every endpoint, the exception being consoles whereas it is 120/min. Timeouts last a minute to my knowledge.

    The concurrency in this module is utilizing asyncio. Make sure it's safe from race conditions by using asyncio.Lock() (note, it is already defined in the __init__ of the pyaww.User, to get an idea on how to access it, look at the pyaww/utils/cache.py.)

    For anyone looking to contribute, please open PRs for the dev branch which is the new version in work. It will be merged with the main branch after all planned features get implemented.

    Please see the contributing manual.

    enhancement help wanted good first issue 
    opened by ammarsys 2
Releases(v1.0.0)
  • v1.0.0(Jan 24, 2022)

    v1.0.0

    What's new in v1.0.0?

    • The entire module utilizes async/await (concurrency) syntax meaning it must be used in asynchronous environments.
    • New, more efficient caching system, submodules are cached as well.
    • Many security & bug fixes.
    • The entire module is typed.
    • Directory structure changes, everything that the user may need is imported in pyaww directories __init__.py.
    • Tests use .env files
    • Tests are runnable by contributors now (lol.)
    • Some methods were split (e.g User.consoles.)
    • Docstring typos and more examples.
    • Improve CONTRIBUTING.md and README.md
    • Decent documentation
    • Fewer dependencies
    • General code improvements
    • Speed improvements

    and a few more things that I've forgotten.

    v1.0.0 Contributors

    @ammarsys; @thesadru

    Full Changelog: https://github.com/ammarsys/pyaww/compare/0.0.3...v1.0.0

    Source code(tar.gz)
    Source code(zip)
    pyaww-1.0.0-py3-none-any.whl(17.77 KB)
    pyaww-1.0.0.tar.gz(14.57 KB)
Cryptocurrency Trading Bot - A trading bot to automate cryptocurrency trading strategies using Python, equipped with a basic GUI

Cryptocurrency Trading Bot - A trading bot to automate cryptocurrency trading strategies using Python, equipped with a basic GUI. Used REST and WebSocket API to connect to two of the most popular cry

Francis 8 Sep 15, 2022
Python wrapper for Xeno-canto API 2.0. Enables downloading bird data with one command line

Python wrapper for Xeno-canto API 2.0. Enables downloading bird data with one command line. Supports multithreading

_zza 9 Dec 10, 2022
Use Seaborn to visualize interpret the byte layout of Solana account types

solana-account-vis Use Seaborn to visually interpret the byte layout of Solana account types Usage from account_visualization import generate_account_

Jarry Xiao 15 Aug 25, 2022
Prisma Cloud utility scripts, and a Python SDK for Prisma Cloud APIs.

pcs-toolbox Prisma Cloud utility scripts, and a Python SDK for Prisma Cloud APIs. Table of Contents Support Setup Configuration Script Usage CSPM Scri

Palo Alto Networks 34 Dec 15, 2022
A tool that helps keeping track of your AWS quota utilization

aws-quota-checker A tool that helps keeping track of your AWS quota utilization. It'll determine the limits of your AWS account and compare them to th

Max 63 Dec 14, 2022
Monetize your apps with KivAds using Google AdMob api.

KivAds(WIP) Monetize your apps with KivAds using Google AdMob api. KivAds uses the latest version of Google AdMob sdk(version 20.0.0). KivAds exposes

Guhan Sensam 16 Nov 05, 2022
A project in order to analyze user's favorite musics, artists and genre

Spotify-Wrapped This is a project about Spotify Wrapped (which is an extra option for premium accounts, but you don't need to be premium here) This pr

Hossein Mohseni 19 Jan 04, 2023
My personal template for a discord bot, including an asynchronous database and colored logging :)

My personal template for a discord bot, including an asynchronous database and colored logging :)

Timothy Pidashev 9 Dec 24, 2022
Clipboard-watcher - Keep an eye on the apps that are using your clipboard

clipboard-watcher This repository contains the code of an experiment, in order t

Gonçalo Valério 48 Oct 13, 2022
A Python script that wraps the gitleaks tool to enable scanning of multiple repositories in parallel

mpgitleaks A Python script that wraps the gitleaks tool to enable scanning of multiple repositories in parallel. The motivation behind writing this sc

Emilio Reyes 7 Dec 29, 2022
Live Weather Updates using Flask and OpenWeather

AuraX Live Weather Updates using Flask and OpenWeather Installation To setup this project on your local machine, first clone this repository and insta

Ayush Gupta 3 Nov 02, 2021
PyHoroscope - Observational Indian lunisolar calendar, horoscope and matching using the Swiss ephemeris

PyHoroscope Observational Indian lunisolar calendar, horoscope and matching usin

4 Jun 05, 2022
Fast IP address lookup

ipscoop Fast IP Scoop Table of Contents Installation CLI Getting Started Ref Installation To install ipscoop, simply: $ python3 -m pip install -U git+

6 Mar 16, 2022
SQS + Lambda를 활용한 문자 메시지 및 이메일, Voice call 호출을 간단하게 구현하는 serverless 템플릿

AWS SQS With Lambda notification 서버 구축을 위한 Poc TODO serverless를 통해 sqs 관련 리소스(람다, sqs) 배포 가능한 템플릿 작성 및 배포 poc차원에서 간단한 rest api 호출을 통한 sqs fifo 큐에 메시지

김세환 4 Aug 08, 2021
WatonAPI is an API used to connect to spigot servers with the WatonPlugin to communicate.

WatonAPI is an API used to connect to spigot servers with the WatonPlugin to communicate. You can send messages to the server and read messages, making it useful for cross-chat programs.

Waton 1 Nov 22, 2021
Телеграм бот решающий задания ЦДЗ, написанный на библиотеке libmesh.

MESHBot-Telegram Телеграм бот решающий задания ЦДЗ. Описание: Бот написан с использованием библиотеки libmesh. Для начала работы отправьте ему ссылку

2 Jun 19, 2022
A simple python discord bot with commands for moderation and utility.

Discord Bot A simple python discord bot with commands for moderation, utility and fun. Moderation $kick user reason - Kick a user from the server

3 Jan 07, 2022
The easiest way to deploy this Bot

How To Host The easiest way to deploy this Bot Update Channe

Isekai Reszz 1 Jan 23, 2022
Deezer client for python

Deezer Python Client A friendly Python wrapper around the Deezer API. Installation The package is published on PyPI and can be installed by running: p

Bruno Alla 103 Dec 19, 2022
API which uses discord+mojang api to scrape NameMC searches/droptime/dropping status of minecraft names, and texture links

API which uses discord+mojang api to scrape NameMC searches/droptime/dropping status of minecraft names, and texture links

2 Dec 22, 2021