esa API v1 client library, written in python
Project description
🐣 piyo
esa API v1 client library, written in Python
Installation
Install this library using pip from PyPI
pip install piyo
Usage By purpose
Preparation
from piyo import Client
client = Client(access_token='<access_token>', current_team='<team_name>')
Search article
Set search keywords and options.
See official documents for details: https://docs.esa.io/posts/102#%E8%A8%98%E4%BA%8B
keywords = ["diary", "secret"]
search_options = {
"sort": "created"
}
posts = client.posts(keywords=keywords, search_options=search_options)
Usage
from piyo import Client
client = Client(access_token='<access_token>', current_team='<team_name>')
# Client will look up environment variables "ESA_ACCESS_TOKEN", so you can set access token
# to ESA_ACCESS_TOKEN instead of pass it to Client.
client.user()
#=> GET /v1/user
client.teams()
#=> GET /v1/teams
client.team()
#=> GET /v1/teams/<team_name>
client.stats()
#=> GET /v1/teams/<team_name>/stats
client.members()
#=> GET /v1/teams/<team_name>/members
client.delete_member()
#=> DELETE /v1/teams/<team_name>/members/1
client.posts(keywords=["diary secret"], search_options={"sort": "created"})
#=> GET /v1/teams/<team_name>/posts
client.post(1)
#=> GET /v1/teams/<team_name>/posts/1
client.create_post({post: {name: "hi!"}})
#=> POST /v1/teams/<team_name>/posts
client.update_post(1, {post: {name: "hi!"}})
#=> PATCH /v1/teams/<team_name>/posts/1
client.delete_post(1)
#=> DELETE /v1/teams/<team_name>/posts/1
client.comments()
#=> GET /v1/teams/<team_name>/comments
client.comments(1)
#=> GET /v1/teams/<team_name>/posts/1/comments
client.create_comment(1, {"comment":{"body_md":"LGTM!"}})
#=> POST /v1/teams/<team_name>/posts/1/comments
client.update_comment(234, {"comment":{"body_md":"LGTM!"}})
#=> PATCH /v1/teams/<team_name>/comments/234
client.delete_comment(234)
#=> DELETE /v1/teams/<team_name>/comments/234
client.comment(234)
#=> GET /v1/teams/<team_name>/comments/234
client.add_post_star(1)
#=> POST /v1/teams/<team_name>/posts/1/star
client.delete_post_star(1)
#=> DELETE /v1/teams/<team_name>/posts/1/star
client.stargazers(1)
#=> GET /v1/teams/<team_name>/posts/1/stargazers
client.add_comment_star(234)
#=> POST /v1/teams/<team_name>/comment/234/star
client.delete_comment_star(234)
#=> DELETE /v1/teams/<team_name>/comment/234/star
client.watchers(1)
#=> POST /v1/teams/<team_name>/posts/1/watchers
client.add_watch(1)
#=> POST /v1/teams/<team_name>/posts/1/watch
client.delete_watch(1)
#=> DELETE /v1/teams/<team_name>/posts/1/watch
client.batch_move({})
#=> POST /v1/teams/<team_name>/posts/1/watch
client.regenerate_invitation()
#=> POST /v1/teams/<team_name>/invitation_regenerator
client.send_invitation({"member": {"emails": ["foo@example.com"]})
#=> POST /v1/teams/<team_name>/invitations
client.delete_invitation("mee93383edf699b525e01842d34078e28")
#=> DELETE /v1/teams/<team_name>/invitations/mee93383edf699b525e01842d34078e28
client.invitations()
#=> GET /v1/teams/<team_name>/invitations
client.emojis()
#=> GET /v1/teams/<team_name>/emojis
client.create_emoji({"emoji": {"code": "funny", "image": base64}})
#=> POST /v1/teams/<team_name>/emojis
client.delete_emoji("test_emoji")
#=> DELETE /v1/teams/<team_name>/emojis/test_emoji
Development
issues and pull requests are always welcome!
run integration test
python3 tests/integration_test.py
run unit test
python3 tests/<test_file>.py -v
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
piyo-1.1.2.tar.gz
(5.2 kB
view details)
File details
Details for the file piyo-1.1.2.tar.gz
.
File metadata
- Download URL: piyo-1.1.2.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8a800662c982b5c21a9af8e5ed8055af930c6fa4e19a6fddb566d39e30c43c5 |
|
MD5 | fed459e1aacf2f1eb2c1727ea20b20cd |
|
BLAKE2b-256 | 8a03c6496cf6805a96e6028bd660549a665bc034905d155895cc8fae37f9af1d |