Async Python client for the geekbot (https://geekbot.com) api
Project description
geekbot-api-py
A Geekbot (https://geekbot.com/) API client in python supporting async
Implements the Geekbot API per https://geekbot.com/developers/
Main Dependencies
Getting Started
Installation
Install the package
pip install geekbot-api
Usage
Follow the directions on https://geekbot.com/developers/ to get an API Token
import asyncio
from geekbot_api.config import GeekbotAPIConfig
from geekbot_api.client import GeekbotAPIClient
config = GeekbotAPIConfig(api_key="api_YOURKEYGOESHERE")
client = GeekbotAPIClient(config=config)
async def print_standups():
standups = list()
async for standup in client.standups.list():
standups.append(standup)
print(standups)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(print_standups())
Development
The Makefile has useful targets to help setup your development encironment. We suggest using pyenv to have access to multiple python versions easily.
Environment Setup
-
Clone the repo and enter its root folder
git clone https://github.com/andrewthetechie/geekbot-api-py.git && cd geekbot-api-py
-
Create a python 3.9 virtual environment and activate it. We suggest using pyenv to easily setup multiple python environments on multiple versions.
# We use the extra python version (3.6, 3.7, 3.8) for tox testing pyenv install 3.9.6 3.6.9 3.7.11 3.8.11 pyenv virtualenv 3.9.6 geekbot-api pyenv local geekbot-api 3.6.9 3.7.11 3.8.11
-
Install the dependencies
make setup
How to Run Tests
-
Run the test command to run tests on only python 3.9
make test
or
pytest
-
Run the tox command to run all python version tests
make tox
or
tox
Test Requirements
Prs should always have tests to cover the change being made. Code coverage goals for this project are 100% coverage.
Code Linting
All code should pass Flake8 and be blackened. If you install and setup pre-commit (done automatically by environment setup), pre-commit will lint your code for you.
You can run the linting manually with make
make lint
CI
CI is run via Github Actions on all PRs and pushes to the main branch.
Releases are automatically released by Github Actions to Pypi.
License
Licensed under the MIT License
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
Built Distribution
Hashes for geekbot_api-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c37fff16960c435643c892876070c323477d29c3029ed38e0c2cb9d1191e2170 |
|
MD5 | a4f1f587d38474990078b0ceee4993ad |
|
BLAKE2b-256 | 2020656010b76b2769ba418b1a0796a9604aeee63269684201915a1f69728b7e |