The Chicago Python Community Engagement Slack bot

busy-beaver-dev, updated 🕥 2022-12-08 05:15:55

Busy Beaver Logo

Busy Beaver

build status codecov License: MIT Code Style: Black

Chicago Python's Community Engagement Slack bot.

Introduction

With over six thousand members, the Chicago Python Users Group (ChiPy) is one of the largest Python communities in the world. Slack has become the primary method of communication amongst our members in-between events. We developed an open-source Slack bot, codename: Busy Beaver, to increase community engagement.

We released Busy Beaver on Jan 10th, 2019 at the Chicago Python __main__ Meeting. Slides and video recording from the release announcement are available online.

Features

Upcoming Events

Busy Beaver integrates with Meetup API to provide details about upcoming events. Events are downloaded to the Busy Beaver database periodically.

Users are able to query using the /busybeaver slash command.

  • /busybeaver next shows details of the upcoming event
  • /busybeaver events shows details of upcoming events

A periodic CRON job has been set to post the contents of /busybeaver events in a designed Slack channel.

GitHub Activity

Busy Beaver posts daily summaries of public GitHub activity for registered users in the #busy-beaver channel on the ChiPy Slack. The goal of this feature is to increase engagement by sparking conversations around GitHub activity.

Users sign up for an account by DMing the bot with the phrase: connect. The bot requires users to sign into GitHub to ensure only authorized activity is posted in the channel.

Call For Proposals

Busy Beaver posts open Call For Proposals (CFP) for your organization and upcoming Python conferences in a designated channel.

Note: This feature is in beta. Please create an issue if you would like support for other conference types.

Roadmap

We are currently working on additional features to improve ChiPy community engagement. Please join the conversation in #busy-beaver-meta on the ChiPy Slack.

Installing

Contributing

Busy Beaver is always looking for new contributors! Previous open source experience is not required! Please see CONTRIBUTING.md.

Issues

Bump certifi from 2019.3.9 to 2022.12.7

opened on 2022-12-08 05:15:55 by dependabot[bot]

Bumps certifi from 2019.3.9 to 2022.12.7.

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/busy-beaver-dev/busy-beaver/network/alerts).

Bump mako from 1.0.12 to 1.2.2

opened on 2022-09-16 18:06:32 by dependabot[bot]

Bumps mako from 1.0.12 to 1.2.2.

Release notes

Sourced from mako's releases.

1.2.2

Released: Mon Aug 29 2022

bug

  • [bug] [lexer] Fixed issue in lexer where the regexp used to match tags would not correctly interpret quoted sections individually. While this parsing issue still produced the same expected tag structure later on, the mis-handling of quoted sections was also subject to a regexp crash if a tag had a large number of quotes within its quoted sections.

    References: #366

1.2.1

Released: Thu Jun 30 2022

bug

  • [bug] [tests] Various fixes to the test suite in the area of exception message rendering to accommodate for variability in Python versions as well as Pygments.

    References: #360

misc

  • [performance] Optimized some codepaths within the lexer/Python code generation process, improving performance for generation of templates prior to their being cached. Pull request courtesy Takuto Ikuta.

    References: #361

1.2.0

Released: Thu Mar 10 2022

changed

  • [changed] [py3k] Corrected "universal wheel" directive in setup.cfg so that building a wheel does not target Python 2.

    References: #351

  • [changed] [py3k] The bytestring_passthrough template argument is removed, as this flag only applied to Python 2.

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/busy-beaver-dev/busy-beaver/network/alerts).

Bump ipython from 7.18.1 to 7.31.1

opened on 2022-01-21 19:29:52 by dependabot[bot]

Bumps ipython from 7.18.1 to 7.31.1.

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/busy-beaver-dev/busy-beaver/network/alerts).

Run post_github_summary_message coroutine via RQ

opened on 2021-08-28 23:30:55 by alysivji

What does this do

Why are we doing this

Don't have to manually queue up coroutines via asyncio. Results in a cleaner API

How should this be tested

Added pytest-asyncio to make it easier to test coroutines

Migrations

n/a

Dependencies

n/a

Callouts

n/a

Kubernetes 1.21 cleanup

opened on 2021-08-28 20:03:26 by alysivji

Questions

  • [ ] why am I not able to kubectl exec into a pod as a non-root user
  • [ ] figure out resource requirements
  • [ ] why does the readiness probe (using exec) fail for the worker pod?

This has to be related to the change in container runtime from the dockershim to CRI

Make CRON tasks more resilent

opened on 2021-05-18 10:57:43 by alysivji

As a developer, I want CRON jobs to be resilient.

Background

GitHub Summary CRON task is a CRON job that runs once per day... depending on how the Slack workspace has configured the application.

When this task fails with an error, a message is not posted for that workspace. Fortunately this does not happen unless there is an error from the Slack API.

Acceptance Criteria

  • improve logging
  • what status code did we fail with?
  • add failure message to error log
  • retry task until it succeeds
  • maybe post a message to the channel saying that we are experience problems with the Slack API
  • fortunately the task has been designed to take a datetime and calculate the summary using that reference point

Releases

2.9.5 2021-08-28 20:53:32

Changes

  • FIX: Remove readiness probe + remove resource limits (#357)
  • Fetch user activity from GitHub using httpx & asyncio (#355)

2.9.4 2021-08-28 18:27:24

Changes

  • Group GitHub API Navigation code (#354)
  • FIX: Add asyncio environment vars to image (#356)

2.9.3 2020-11-25 12:22:21

Changes

  • Upgrade testing dependencies (#341)
  • Update GitHub Action (matootie/dokube) version (#343)

2.9.2 2020-10-28 00:35:58

Changes

  • Bump cryptography from 2.7 to 3.2 (#340)

2.9.1 2020-10-27 16:14:10

Changes

  • Merge dictionaries using new operator in Python 3.9 (#336)
  • HOTFIX: Handle no open conference CFPs found edge case (#338)
  • Use Flask's built-in shell (#339)

2.9.0 2020-10-08 22:07:07

Changes

  • Update to Python 3.9 (#335)
Busy Beaver

Community Engagement Slack bot; originally developed for the Chicago Python Workspace.

GitHub Repository Homepage

community-engagement slack slack-bot hacktoberfest hacktoberfest2020