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 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 0.9.1
File Size Uploaded Provenance Actions
chiron-bot-0.9.1.tar.gz 19.7 kB Without provenance Details for chiron-bot-0.9.1.tar.gz

Built distribution (wheel)

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

Total release size: 41.4 kB

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

Download URL chiron-bot-0.9.1.tar.gz
Size 19.7 kB
Tags Source
SHA-256 checksum
How to use checksums
82a30a384df4ee45a74df6b3ea6eb9cd0452ee3889e37fabdde025ad638bddd1
BLAKE2b-256 checksum
How to use checksums
0d8f0be0a6847f34e48d1bbbb896b7d6489c56785c7b27e5ddf61107a6fa8776
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-0.9.1-py3-none-any.whl

Download URL chiron_bot-0.9.1-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4867212dfdd0d3218a494fea3f58ae16b68feba74834476bf3c347906d049d0f
BLAKE2b-256 checksum
How to use checksums
87ff31580f012c6606ce7c84284506753ab0fbef1df52a9e60a2dc7215e9032f
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 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