Skip to main content

Invisible engine driving octobot machines. Simple, yet powerful.

Reason this release was yanked:

https://github.com/sanitizers/octomachinery/issues/61

Project description

SWUbanner octomachinery @ PyPI octomachinery is available as part of the Tidelift Subscription GitHub Actions CI/CD workflows status Matrix Room — #octomachinery:matrix.org Matrix Space — #pyba:matrix.org 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.server.runner import run as run_app
from octomachinery.routing import process_event_actions
from octomachinery.routing.decorators import process_webhook_payload
from octomachinery.runtime.context import RUNTIME_CONTEXT


@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.

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

octomachinery-0.3.8.tar.gz (86.7 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.3.8-py3-none-any.whl (75.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: octomachinery-0.3.8.tar.gz
  • Upload date:
  • Size: 86.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for octomachinery-0.3.8.tar.gz
Algorithm Hash digest
SHA256 a675e0995fc35c465386e54ba045a8e569c6ebdbf290246725cdbe99c119bf01
MD5 719e4a10a28abd04f392a43eb8abec5b
BLAKE2b-256 2683005dab9635560c748e14070c42e4c4c910d66bffaabf92e42bf61d42cd82

See more details on using hashes here.

File details

Details for the file octomachinery-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: octomachinery-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 75.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for octomachinery-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 bd81112836ebce6e83c34f1071902a828a0965f559d86a734c7099d1f1e47f5e
MD5 101aa6a420b19364df703aae105f1296
BLAKE2b-256 99b2fc9dbc4f4d562db8769f0767e82ecb46dbac2ad9058d85e6827c0a873aef

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 Pingdom Monitoring Sentry Error logging StatusPage Status page