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

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.6.tar.gz (74.7 kB view details)

Uploaded Source

Built Distribution

octomachinery-0.3.6-py3-none-any.whl (74.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: octomachinery-0.3.6.tar.gz
  • Upload date:
  • Size: 74.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for octomachinery-0.3.6.tar.gz
Algorithm Hash digest
SHA256 f86bbeddacd1ab96a1d2fd4f4e7ee8cc69b37146eda2b5396aa4e924137a300c
MD5 8047dbc2b5fb0aa0803ac970d4ceedf2
BLAKE2b-256 00e4ebb2f18cee06a4aef047d7965bde0456ecb69b3c405ab84ddf9997b353df

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: octomachinery-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 74.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for octomachinery-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5d56354fbf408f408b64450fe534e3f2692d91fae4e5f77832e97f6c533646b6
MD5 b750fe1923150a656455e5e0518a5b7f
BLAKE2b-256 13dd51546472cf03a32fc53255a38f007fa57c8c839d1f6fa8b0d54dbebedbf4

See more details on using hashes here.

Provenance

Supported by

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