wrapper for ari-web comments API
Project description
awc
ari-web comments ( awc ) API wrapper
what
this libarary is a wrapper for https://server.ari-web.xyz/ API to help you manage, query and edit content using it
awc wraps pypika for sql queries and in sql.helpers you can access
some pre-made SQL queries, i suggest you use pypika for all ( or at least
most ) sql queries, reason being that manually writing them is
fairly insecure, especially with concat and f-strings
examples
see the examples folder
installation
python3 -m pip install --user awc
or ( in the cloned repo dir )
python3 -m pip install -e .
-e is for editable, you can also leave it out if you
wont be editing the library
intro
awc is a synchronous library wrapping https://server.ari-web.xyz/ API, that includes
wrappers for all known endpoints ( see https://server.ari-web.xyz/git ) and an interface
to use custom endpoints using Awc.{request, get, post} APIs
provided packages :
awc-- base interface for the API ( required forawc.Awcinterface so other helpers could use it )awc.api-- wrappers for general APIs ( signatures are(awc: awc.Awc, ...) -> typing.Any)awc.const-- includes required constants for the library and you to use- * note :
iprefers to a SHA256 hash of an IP, not an actual IP
- * note :
awc.exc-- custom exceptionsawc.sql-- SQL database definitions, wrappers around pypikaawc.sql.helpers-- SQL API helpers, pre-made SQL queries
awc.util-- utilitiesawc.wrn-- custom warnings
it all starts from creating an instance of awc.Awc object, which is basically
a wrapper around furl.furl ( a parsed instance url ) and requests.Session
( to make requests to API endpoints ), you instantiate it like this :
api: awc.Awc = awc.Awc("https://some-instance.org/", "optional api key", rate_limit_wait)
rate_limit_wait is how many seconds should the requester wait if its rate limited ( default value is 5 )
example :
# will sleep 2 seconds if it gets rate limited
api: awc.Awc = awc.Awc("https://google.com/", "HIHIUHIyhu9f839uf9hiuh(U()I*)989hIOUjhfew", 2)
after that you are free to use the interface, make requests using the provided requester functions,
get API urls ( api["some-api-endpoint"] => https://google.com/some-api-endpoint ) and use the
provided library functions, wrappers and abstractions
also, a note : not all library functions will work if you dont have an API key, awc.Awc.require_key
decorator is used on all functions that require an API key to work, on no api key it will raise
awc.exc.NoAPIKeyError with called function name being the error message
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file awc-3.2.0-py2.py3-none-any.whl.
File metadata
- Download URL: awc-3.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0645728fb32b6e6f2eb6fb596d79a2a270ce037cf4535f2c14a4bbb15b35a8b5
|
|
| MD5 |
b9215e89405fbfacc046e2534a2e4134
|
|
| BLAKE2b-256 |
e3c997446494a9c3a97357dc9f25527bfbd36b2e5b08e6d6bd70c8e5939a105a
|