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)
Plugin for Sentry which allows sending notification via Telegram messenger.

Sentry Telegram Plugin for Sentry which allows sending notification via Telegram messenger. Presented plugin tested with Sentry from 8.9 to 9.1.1. DIS

Shmele 208 Dec 30, 2022
Configure your linux server and check for vulnerabilities with serverlla

serverlla Configure your linux server and check for vulnerabilities with serverlla. Serverlla has a menu with options and allows you to configure your

Dylan Meca 10 Feb 01, 2022
Repository to access information of stocks in Bombay Stock Exchange.

BSE Repository to access information of stocks in Bombay Stock Exchange. The code in this repository uses BSE API and conclusions made using the code

1 Nov 13, 2021
Cedric Owens 16 Sep 27, 2022
A Telegram bot that add a dynamic caption to musics

Music Channel Manager A Telegram bot that add a dynamic caption to musics Deploy to Heroku What is it ? It manage your music channel. With just adding

13 Oct 18, 2022
The implementation of Learning Instance and Task-Aware Dynamic Kernels for Few Shot Learning

INSTA: Learning Instance and Task-Aware Dynamic Kernels for Few Shot Learning This repository provides the implementation and demo of Learning Instanc

11 Jan 02, 2023
Automatically deploy freqtrade to a remote Docker host and auto update strategies.

Freqtrade Automatically deploy freqtrade to a remote Docker host and auto update strategies. I've been using it to automatically deploy to vultr, but

p-zombie 109 Jan 07, 2023
Translator based on Google API

Yakusu Toshiko Translator based on Google API. Instance of this bot is running as @yakusubot. Features Add a plus to a language's name to show an orig

Arisu W. 2 Sep 21, 2022
Customizable and open-sourced bot for a few private servers

MarlBot A private bot for controlling monkeys and turtles. Why does this bot exist? The bot exists as a general-purpose community bot for a select few

KR 1 Jan 18, 2022
Uses discords api to see if a token has a valid payment method.

Discord Payment Checker Uses discords api to see if a token has a valid payment method. Report Bug · Request Feature Features Checks tokens Checks all

dropout 10 Dec 01, 2022
Search all history of Chrome in terminal

Chrotry Search all history of Chrome in terminal. Demo Usages Move the Chrome history file to current directory by running move_history.sh Rename hist

Xiaoxu HU 2 Jun 13, 2022
Widevine MPD Content Downloader & Decryptor

Widevine-DL Encrypted MPD Manifest Content Downloader + Decryptor (not a Widevine Key Extractor!) Requirements ffmpeg, yt-dlp, aria2, widevine-l3-decr

Vank0n (SJJeon) 170 Dec 30, 2022
pyDuinoCoin is a simple python integration for the DuinoCoin REST API, that allows developers to communicate with DuinoCoin Master Server

PyDuinoCoin PyDuinoCoin is a simple python integration for the DuinoCoin REST API, that allows developers to communicate with DuinoCoin Main Server. I

BackrndSource 6 Jul 14, 2022
Price checker windows application

Price-Checker price checker windows application This application monitors the prices of selected products and displays a notification if the price has

Danila Tsareff 1 Nov 29, 2021
A light wrapper around FedEx's SOAP API.

Python FedEx SOAP API Module Author: Greg Taylor, Radek Wojcik Maintainer: Python FedEx Developers License: BSD Status: Stable What is it? A light wra

155 Dec 16, 2022
Script to post multiple status(posts) on twitter

Script to post multiple status on twitter (i.e. TWITTER STORM) This program can post upto maximum limit of twitter(around 300 tweets) within seconds.

Sandeep Kumar 4 Sep 09, 2021
A Telegram Music Bot with proper functions written in Python with Pyrogram and Py-Tgcalls.

⭐️ Yukki Music Bot ⭐️ A Telegram Music Bot written in Python using Pyrogram and Py-Tgcalls Ready to use method A Support Group and ready-to-use runnin

Shikhar Kumar 1000 Jan 03, 2023
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Feb 23, 2022
:electric_plug: Generating short urls with python has never been easier

pyshorteners A simple URL shortening API wrapper Python library. Installing pip install pyshorteners Documentation https://pyshorteners.readthedocs.i

Ellison 351 Jan 03, 2023
The Encoder Bot For Python

The_Encoder_Bot Configuration Add values in environment variables or add them in config.env.example and rename file to config.env. Basics API_ID - Get

8 Jan 01, 2022