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)
An API wrapper around Discord API.

NeoCord This project is work in progress not for production use. An asynchronous API wrapper around Discord API written in Python. Features Modern API

Izhar Ahmad 14 Jan 3, 2022
An API wrapper around the pythonanywhere's API.

pyaww An API wrapper around the pythonanywhere's API. The name stands for pythonanywherewrapper. 100% API coverage Most of the codebase is documented

null 7 Dec 11, 2022
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

null 155 Dec 16, 2022
Wrapper around the Mega API

python-mega Overview Wrapper around the Mega API. Based on the work of Julien Marchand. Installation Install using pip, including any optional package

Juan Riaza 104 Nov 26, 2022
A Python wrapper around the OpenWeatherMap web API

PyOWM A Python wrapper around OpenWeatherMap web APIs What is it? PyOWM is a client Python wrapper library for OpenWeatherMap (OWM) web APIs. It allow

Claudio Sparpaglione 740 Dec 18, 2022
A Python wrapper around the Soundcloud API

soundcloud-python A friendly wrapper around the Soundcloud API. Installation To install soundcloud-python, simply: pip install soundcloud Or if you'r

SoundCloud 83 Dec 12, 2022
Wrapper around the latest Tuenti API

python-tuenti Overview Wrapper around the latest Tuenti API. Installation Install using pip, including any optional packages you want... $ pip install

Juan Riaza 10 Mar 7, 2022
A Python wrapper around the Twitter API.

Python Twitter A Python wrapper around the Twitter API. By the Python-Twitter Developers Introduction This library provides a pure Python interface fo

Mike Taylor 3.4k Jan 1, 2023
Wrapper around the UPS API for creating shipping labels and fetching a package's tracking status.

ClassicUPS: A Useful UPS Library ClassicUPS is an Apache2 Licensed wrapper around the UPS API for creating shipping labels and fetching a package's tr

Jay Goel 55 Dec 12, 2022
A Python wrapper around the Twitter API.

Python Twitter A Python wrapper around the Twitter API. By the Python-Twitter Developers Introduction This library provides a pure Python interface fo

Mike Taylor 3.4k Jan 1, 2023