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

made-with-python

License: MIT

Quick-start

# import the module
from pyaww.user import User

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

for console in client.consoles():
    print(console.name)

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

PyPi: https://pypi.org/project/pyaww

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 request. Make sure to follow PEP8 and document your code.

How to use this module in an async enviorment?

  • Look into this library.

Where are the documentations?

How to manually construct a class?

  • Import the class (such as pyaww.file) and pass following things File({...}, client). The dots inside the dictionary represent class variables.
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)
Weather telegram bot with aiogram, on Russian language

weather_bot Weather telegram bot with aiogram, on Russian language #RU Бот по определению погоды в Telegram, написана на библиотеке aiogram, весь инте

LinkxWan 0 Jan 06, 2022
REPO USERBOT YANG DIBUAT DARI BERBAGAI REPO USERBOT GITHUB.

Lord Userbot Userbot Yang Digunakan Untuk Bersenang-Senang Di Telegram Repo Lord Userbot Repo Yang Dibuat Alvin Dari Berbagai Repo Userbot Github CARA

Alvin 70 Jan 02, 2023
A Telegram Bot for searching any channel messages from Inline by @AbirHasan2005

Message-Search-Bot A Telegram Bot for searching any channel messages from Inline by @AbirHasan2005. I made this for @AHListBot. You can use this for s

Abir Hasan 44 Dec 27, 2022
Python gets the friend's articles from hexo's friend-links

你是否经常烦恼于友链过多但没有时间浏览?那么友链朋友圈将解决这一痛点。你可以随时获取友链网站的更新内容,并了解友链的活跃情况。

129 Dec 28, 2022
Check and write all account info + Check nitro on account

Discord-Token-Checker Check and write all account info + Check nitro on account Also check https://github.com/GuFFy12/Discord-Token-Parser (Parse disc

36 Jan 01, 2023
Alienworlds-bot - A Python script made to automate the tidious job of mining on AlienWorlds

AlienWorlds bot A Python script designed to automate the tedious work of mining

5 Dec 23, 2022
Insane Weather Bot is here! Give suggestions, fork, and do much more to help us enhance the abilities of Insane Weather Bot.

Insane_Weather_Bot Insane Weather Bot is here! Give suggestions, fork, and do much more to help us enhance the abilities of Insane Weather Bot. Weathe

1 Jan 02, 2022
An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild

Hyrule Compendium API An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild. B

Aarav Borthakur 116 Dec 01, 2022
Official implementation of DeepSportLab (a fork of OpenPifPaf)

DeepSportLab DeepSportLab: a Unified Framework for BallDetection, Player Instance Segmentationand Pose Estimation in Team Sports Scenes This paper pre

ISPGroupUCL 8 Sep 27, 2022
a Disqus alternative

Isso – a commenting server similar to Disqus Isso – Ich schrei sonst – is a lightweight commenting server written in Python and JavaScript. It aims to

Martin Zimmermann 4.7k Jan 02, 2023
471 Dec 24, 2022
Modern Desktop Jellyfin Client written in Python and Vue for the UI [WIP]

JellyPlayer Modern Jellyfin Client Installation Install Requirements: Install Python 3 Install dependencies Install node deps for frontend, go to Jell

Prayag Prajapati 57 Dec 12, 2022
A twitter bot that simply replies with a beautiful screenshot of the tweet, powered by beautify.dhravya.dev

Poet this! Replies with a beautiful screenshot of the tweet, powered by poet.so Installation git clone https://github.com/dhravya/poet-this.git cd po

Dhravya Shah 30 Dec 04, 2022
Make a command interpreter that manages AirBnb objects

AirBnB Clone Project Description This is part 1 of our AirBnb Clone project. The purpose of this project is to make a command interpreter that manages

Firdaus H. Salim 1 Nov 14, 2021
My beancount practice as a template

my-beancount-template 个人 Beancount 方案的模板仓库 相关博客 复式记账指北(一):What and Why? 复式记账指北(二):做账方法论 复式记账指北(三):如何打造不半途而废的记账方案 配置 详细配置请参考博客三。必须修改的配置有: Bot功能:data/be

KAAAsS 29 Nov 29, 2022
😈 Discord RAGE is a Python tool that allows you to automatically spam messages in Discord

😈 Discord RAGE Python tool that allows you to automatically spam messages in Discord 🏹 Setup Make sure you have Python installed and PIP is added to

Alphalius 4 Jun 12, 2022
Automate and Manage Telegram Channels

Channel Automation Bot @ChannelAutomateBot A star ⭐ from you means a lot to us! Telegram bot to automate and manage channels. Usage Deploy to Heroku T

Stark Bots 61 Dec 29, 2022
Python API for Photoshop.

Python API for Photoshop. The example above was created with Photoshop Python API.

Hal 372 Jan 02, 2023