Skip to main content
octomachinery @ PyPI 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.0.19.tar.gz (59.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octomachinery-0.0.19-py2.py3-none-any.whl (56.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: octomachinery-0.0.19.tar.gz
  • Upload date:
  • Size: 59.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.1

File hashes

Hashes for octomachinery-0.0.19.tar.gz
Algorithm Hash digest
SHA256 0df0ca1dfefdb908029b08dbf0b651f4a13f5c252108a50bfbedfb45061b5241
MD5 a380c7079e2398a11e5e52a894031f8f
BLAKE2b-256 71cb7d057f3edb3b2e3988795ee585646765a4bda1bcc95e16a3ee6a2e4e386d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for octomachinery-0.0.19-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9cae3d016ff1a3f239b669d7c9cc4f66fc7169b8eff5dd313dfb3322f2d843c1
MD5 98fd9de855d60f3c3ca06f8caeee7a5f
BLAKE2b-256 4bc8f4921c4d8a89d1b1b14beb4c6581749076dbf1233da61cd8432dfa602214

See more details on using hashes here.

Supported by

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