Skip to main content

Invisible engine driving octobot machines. Simple, yet powerful.

Project description

octomachinery @ PyPI octomachinery is available as part of the Tidelift Subscription Travis CI build status GitHub Actions CI/CD build status — Python package Documentation Status

octomachinery: Bots Without Boilerplate

Invisible engine driving octobot machines. Simple, yet powerful.

Web-site @ https://octomachinery.dev. Stay tuned!

How-to create a GitHub Bot tutorial is ready for preview @ tutorial.octomachinery.dev

Elevator pitch

Here’s how you 👍 a just-created comment:

from octomachinery.app.routing import process_event_actions
from octomachinery.app.routing.decorators import process_webhook_payload
from octomachinery.app.runtime.context import RUNTIME_CONTEXT
from octomachinery.app.server.runner import run as run_app


@process_event_actions('issue_comment', {'created'})
@process_webhook_payload
async def on_comment(
        *,
        action, issue, comment,
        repository=None, sender=None,
        installation=None,
        assignee=None, changes=None,
):
    github_api = RUNTIME_CONTEXT.app_installation_client
    comment_reactions_api_url = f'{comment["url"]}/reactions'
    await github_api.post(
        comment_reactions_api_url,
        preview_api_version='squirrel-girl',
        data={'content': '+1'},
    )


run_app(
    name='Thumbs-Up-Bot',
    version='1.0.0',
    url='https://github.com/apps/thuuuuuuuuuuuuuumbs-uuuuuuuuuuuup',
)

Prerequisites

Python 3.7+

Contribute octomachinery

Want to add something to upstream? Feel free to submit a PR or file an issue if unsure. Note that PR is more likely to be accepted if it includes tests and detailed description helping maintainers to understand it better 🎉

Oh, and be pythonic, please 🐍

Don’t know how? Check out How to Contribute to Open Source article by GitHub 🚀

License

The source code and the documentation in this project are released under the GPL v3 license.

For Enterprise

octomachinery is available as part of the Tidelift Subscription.

The octomachinery maintainers and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.

Learn more.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octomachinery-0.1.2.tar.gz (59.5 kB view details)

Uploaded Source

Built Distribution

octomachinery-0.1.2-py2.py3-none-any.whl (55.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file octomachinery-0.1.2.tar.gz.

File metadata

  • Download URL: octomachinery-0.1.2.tar.gz
  • Upload date:
  • Size: 59.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1

File hashes

Hashes for octomachinery-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8f6e56670bd6b5095b58db9622ac012257663c67bd0d723041125bd816eb4460
MD5 a2fa0d3051e29fe7fa8cbbcf7afbf5a0
BLAKE2b-256 96111d901b698a1d9b9a4cf60192ab0560f1f6cb3895104c9b31e1b32095ce25

See more details on using hashes here.

File details

Details for the file octomachinery-0.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: octomachinery-0.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 55.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.1

File hashes

Hashes for octomachinery-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a769454533d6385a40865ad9cbb9f636cec18ca1854eab8194d7cee4685c30ce
MD5 8a8211ca89ad4dcee12d289a6d9cd2d2
BLAKE2b-256 e9a794a698207da1d1f976b7a9933062a180946e4d4720111efb29f0f1b379fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page