Skip to main content

Chiron

Chiron is a chatbot that listens for messages containing ticket numbers, looks up the ticket in an appropriate bugtracker, and responds with the ticket title and URL. Over time, the definition of "bugtracker" has broadened -- it includes actual bugtrackers like Debathena's, but also MIT class numbers and Bible verses.

It supports running as both a zephyrbot (MIT's chat system) and a Zulip bot.

CircleCI GitLab CI

Features

  • Supports "tickets" in more than two dozen different "bugtracker" instances --- see bugtrackers.txt for a list
  • Generic support for projects using
    • Trac
    • Jira
    • Github Issues
    • Bugzilla
  • Responds to both personal and class/stream messages
    • For personal messages, will reply-all when there are multiple recipients

Running

For Zulip support, install using the zulip extra, and then run ./main.py --protocol=zulip, which will use your ~/.zuliprc. Subscriptions are managed through the usual Zulip mechanisms.

For zephyr support, Chiron requires Evan Broder's python-zephyr -- requirements.zephyr.txt may be useful -- and must be run with tickets so that it can sub to incoming zephyrs. You may find k5start helpful for keeping current tickets available.

If you just run it with ./main.py, it will subscribe to zephyr personals only with some default bugtrackers.

Primary production deployment

Alex Dehnert runs the primary Chiron instance for zephyr, and is generally happy to add additional matchers, fetchers, or classes. To request changes, please file an issue (or pull request) on Github, zephyr him, or send mail to chiron@mit.edu.

He also runs instances on some private Zulip realms.

Private deployments

If you want to run your own private production Chiron instance, you can also do that. By default, main.py will only sub to personals. You can pass the --class option one or more times to tell it to sub to specific classes. Additionally, when run with the --default-classes option it will sub to a variety of default classes. Feel free to crib from main.py in setting up your own Chiron instance, or run it subbed only to personals. However, please ensure that if you run a Chiron instance that subs to non-personals, it listens on different classes and/or uses different matchers than the primary instance, so that users don't receive multiple replies to their zephyrs. (Using the --class option and not --default-classes is an easy way to accomplish this.)

Deploying on scripts

The setup used for running the production zephyr instance on scripts.mit.edu is in the deploy directory. It may be a decent reference for deploying your own copy of Chiron or other similar zephyrbots.

Metadata

Release files for chiron-bot-adehnert 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chiron-bot-adehnert 0.9.1
File Size Uploaded Provenance Actions
chiron-bot-adehnert-0.9.1.tar.gz 19.7 kB Without provenance Details for chiron-bot-adehnert-0.9.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for chiron-bot-adehnert 0.9.1
File Interpreter ABI Platform Actions
chiron_bot_adehnert-0.9.1-py3-none-any.whl Python 3 none any Details for chiron_bot_adehnert-0.9.1-py3-none-any.whl

Total release size: 41.5 kB

Release files / chiron-bot-adehnert-0.9.1.tar.gz

Download URL chiron-bot-adehnert-0.9.1.tar.gz
Size 19.7 kB
Tags Source
SHA-256 checksum
How to use checksums
31485b982653cbde3a54a070f392b43cc990b9554d7f6b288a6d945befafd93f
BLAKE2b-256 checksum
How to use checksums
dc92ed782f22270e806b53e55b0d4fd330fa598783fb00f0442cfc6768f66f5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

Release files / chiron_bot_adehnert-0.9.1-py3-none-any.whl

Download URL chiron_bot_adehnert-0.9.1-py3-none-any.whl
Size 21.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a1ea616de8b523f3b774614ada4d2600978bee12f2da71fec02a13205558f0c
BLAKE2b-256 checksum
How to use checksums
ea4b1e7b6f52981f65940fd869ed7507b1facf1d704d7b68eccafb5db7b22138
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

Security for chiron-bot-adehnert 0.9.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.9.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page