Skip to content

chore(deps): lock file maintenance #176

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 63 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
7ecd76e
chore(main): release 1.1.2
pythoninthegrass Feb 19, 2025
26448fa
ci (.hadolint.yaml): dockerfile linting
pythoninthegrass Feb 19, 2025
525fa69
refactor: read json responses directly
pythoninthegrass Feb 19, 2025
81c2775
build: use uv image for build stage
pythoninthegrass Feb 19, 2025
8654ab1
ci: use native builders
pythoninthegrass Feb 19, 2025
e90ea7e
ci: remove invalid driver options
pythoninthegrass Feb 19, 2025
d1415ae
chore (docker-compose.yml): switch port
pythoninthegrass Feb 19, 2025
342b435
chore (dockerfile.web): remove readme
pythoninthegrass Feb 19, 2025
7d87f21
refactor: move to uv from poetry
pythoninthegrass Feb 19, 2025
9ec93eb
ci: dependabot -> renovate
pythoninthegrass Feb 19, 2025
47ede9c
chore(deps): update dependency cryptography to v44.0.1 [security]
renovate[bot] Feb 19, 2025
0964e91
chore: switch python version for linting
pythoninthegrass Feb 19, 2025
26bb1fd
Merge pull request #155 from pythoninthegrass/renovate/pypi-cryptogra…
pythoninthegrass Feb 19, 2025
afba556
chore: bump deps
pythoninthegrass Feb 19, 2025
739b2df
Merge pull request #138 from pythoninthegrass/release-please--branche…
pythoninthegrass Feb 19, 2025
2e0a242
refactor: startup, lazy load, and on_event
pythoninthegrass Feb 19, 2025
e9fedf0
ci: update pre-commit hooks
pythoninthegrass Feb 19, 2025
6bbf997
refactor: move const/env vars to config.py
pythoninthegrass Feb 19, 2025
eee61c9
ci (settings.json): configure ruff
pythoninthegrass Feb 19, 2025
c288b26
refactor: setup for tests
pythoninthegrass Feb 19, 2025
f6a9f9c
test: add integration test coverage
pythoninthegrass Feb 19, 2025
1ef4453
chore (pyproject.toml): use builtin optional deps
pythoninthegrass Feb 19, 2025
0123fce
chore (uv.lock): bump semver
pythoninthegrass Feb 19, 2025
7dfb02a
chore: add ruff linting exclusion
pythoninthegrass Feb 19, 2025
2bc4129
refactor (main.py): fix linting errors
pythoninthegrass Feb 19, 2025
76be173
feat: store auth in cookie
pythoninthegrass Feb 19, 2025
2a65b7e
refactor: soc
pythoninthegrass Feb 19, 2025
b94d81d
refactor: scheduling
pythoninthegrass Feb 19, 2025
d09b504
test: update tests
pythoninthegrass Feb 19, 2025
ef2b1a6
refactor (meetup_query.py): use ternary operator
pythoninthegrass Feb 19, 2025
155d5db
fix: module regression
pythoninthegrass Feb 20, 2025
c2b9dbc
chore(main): release 1.2.0
pythoninthegrass Feb 20, 2025
43704ea
refactor: soc
pythoninthegrass Feb 20, 2025
3aa8c65
refactor (auth.py): soc
pythoninthegrass Feb 20, 2025
9ac095e
chore: formatting
pythoninthegrass Feb 20, 2025
664f9a7
Merge pull request #158 from pythoninthegrass/release-please--branche…
pythoninthegrass Feb 20, 2025
d08907e
chore: cleanup deps
pythoninthegrass Mar 17, 2025
75bb0ed
chore: remove poetry, add deptry, uv extras
pythoninthegrass Mar 17, 2025
7328fc2
chore: export reqs
pythoninthegrass Mar 17, 2025
993cc14
chore (.markdownlint.jsonc): add markdown linting
pythoninthegrass Mar 19, 2025
cc60932
chore (schedule.py): change schedule to sun|tue|thu
pythoninthegrass Mar 19, 2025
7d5d307
ci (Dockerfile.web): change python runtime owner
pythoninthegrass Mar 19, 2025
17c49a4
refactor: slack post scheduling
pythoninthegrass Mar 19, 2025
18da0b9
chore (.tool-versions): bump deps
pythoninthegrass Mar 19, 2025
fbf133e
chore (CLAUDE.md): add claude code instructions
pythoninthegrass Mar 19, 2025
669c4b3
ci (docker.yml): tweak image build logic
pythoninthegrass Mar 19, 2025
a04dbe3
chore (slackbot.py): fix linting error
pythoninthegrass Mar 19, 2025
e0026ec
chore (pyproject.toml): exclude unused vars
pythoninthegrass Mar 19, 2025
38f8201
ci (docker.yml): use registry image cache
pythoninthegrass Mar 19, 2025
54648ea
build (Dockerfile.web): improve caching
pythoninthegrass Mar 19, 2025
7b7c8a3
ci: use docker bake
pythoninthegrass Mar 19, 2025
2657aa5
ci (docker.yml): bump bake version
pythoninthegrass Mar 19, 2025
0ab5386
ci: fix bake file and gha steps
pythoninthegrass Mar 19, 2025
7aa3ac1
ci (docker-bake.hcl): add tags field
pythoninthegrass Mar 19, 2025
85e7d09
ci: refactor env vars
pythoninthegrass Mar 19, 2025
cf12088
build (dockerfile.dev): refactor to use uv
pythoninthegrass Mar 19, 2025
9de7b8a
chore: update linter configs
pythoninthegrass Mar 19, 2025
3105fd9
docs: update readme
pythoninthegrass Mar 19, 2025
e52a5cf
chore(main): release 1.2.1
pythoninthegrass Mar 19, 2025
a799da9
Merge pull request #162 from pythoninthegrass/release-please--branche…
pythoninthegrass Mar 19, 2025
fbea999
chore: remove dev reqs
pythoninthegrass Mar 19, 2025
3fe7c82
fix (slackbot.py): missing import
pythoninthegrass Apr 2, 2025
ada12b6
chore(deps): lock file maintenance
renovate[bot] Apr 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ root = true
# Unix-style newlines and whitespace cleanup
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
insert_final_newline = true

Expand All @@ -15,7 +14,7 @@ insert_final_newline = true
trim_trailing_whitespace = false

# general formatting
[*.{bash,go,sh,zsh,justfile,Makefile}]
[*.{bash,go,sh,zsh,justfile,Earthfile,Makefile}]
indent_style = tab
indent_size = 4

Expand All @@ -29,6 +28,6 @@ indent_style = space
indent_size = 4

# webdev et al
[*.{html,xml,js,css,json,gql,lua,tf,tfvars,yml,yaml}]
[*.{html,xml,js,ts,mjs,css,json,jsonc,gql,lua,tf,tfvars,yml,yaml}]
indent_style = space
indent_size = 2
18 changes: 0 additions & 18 deletions .github/dependabot.yml

This file was deleted.

19 changes: 19 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"description": "Renovate configuration that updates dependencies every Saturday at 10:00 AM Central Time",
"timezone": "America/Chicago",
"lockFileMaintenance": {
"enabled": true
},
"packageRules": [
{
"matchManagers": ["pip_requirements"],
"enabled": true
}
],
"schedule": [
"* 10 * * SAT"
],
"prConcurrentLimit": 5,
"rangeStrategy": "update-lockfile"
}
67 changes: 40 additions & 27 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,29 @@ on:
tags:
- '*.*.*'
paths:
- 'Dockerfile'
- 'pyproject.toml'
- 'poetry.lock'
# Application code
- 'app/**'
- 'bin/**'
- 'config/**'
- 'tests/**'
- 'static/**'
# Docker and environment configs
- 'Dockerfile*'
- 'docker-compose.yml'
- 'docker-bake.hcl'
- '.dockerignore'
- '.env.example'
# Dependencies and python configs
- 'requirements.txt'
- 'pyproject.toml'
- 'uv.lock'
# Workflow files
- '.github/workflows/**'
# Shell scripts
- '**/*.py'
- '**/*.sh'
- '**/*.js'
- '**/*.css'
- '.dockerignore'
- '.env.example'
- '.github/workflows/**'
- 'static/**'
# workflow_run:
# workflows: ["Run pytest"]
# types:
Expand All @@ -28,20 +39,15 @@ on:
env:
REGISTRY_URL: ghcr.io
REGISTRY_USER: ${{ github.repository_owner }}
IMAGE: ${{ vars.IMAGE }}
IMAGE_NAME: ${{ vars.IMAGE || 'meetup_bot' }}
DOCKERFILE: Dockerfile.web

jobs:
push_to_registry:
name: Push Docker image to container registry
# if: |
# (github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/'))) ||
# (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success')
build-and-push:
name: Build and push Docker image
runs-on: ubuntu-latest
strategy:
matrix:
dockerfile: [Dockerfile.web]
concurrency:
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch || github.ref }}
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
packages: write
Expand All @@ -62,7 +68,7 @@ jobs:
uses: docker/metadata-action@v5
with:
images: |
name=${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ env.IMAGE }}
${{ env.REGISTRY_URL }}/${{ env.REGISTRY_USER }}/${{ env.IMAGE_NAME }}
tags: |
type=raw,value=latest,enable=${{ endsWith(github.ref, 'main') }}
type=ref,event=branch,enable=${{ !endsWith(github.ref, 'main') }}
Expand All @@ -72,18 +78,25 @@ jobs:

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: linux/amd64,linux/arm64

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
platforms: linux/amd64,linux/arm64

- name: Build and push Docker image
uses: docker/build-push-action@v6
- name: Build and push with Docker Bake
uses: docker/bake-action@v6
env:
TAG: ${{ steps.meta.outputs.version }}
with:
context: .
file: ${{ matrix.dockerfile }}
files: ./docker-bake.hcl
targets: multi-platform
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64/v8
cache-from: type=gha
cache-to: type=gha,mode=max
set: |
*.tags=${{ steps.meta.outputs.tags }}
*.cache-from=type=gha,scope=${{ github.workflow }}
*.cache-to=type=gha,mode=max,scope=${{ github.workflow }}
*.platform=linux/amd64,linux/arm64
*.args.PYTHON_VERSION=3.11
13 changes: 13 additions & 0 deletions .hadolint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
failure-threshold: info # error|warning|info|style|ignore|none

ignored:
- DL3008 # pin versions in apt
- DL3013 # pin versions in pip
- DL3018 # pin versions in apk
- DL3042 # pip --no-cache-dir

trustedRegistries:
- docker.io
- ghcr.io
- "*.gcr.io"
- localhost:32000
22 changes: 22 additions & 0 deletions .markdownlint.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
// https://github.com/markdownlint/markdownlint/blob/main/docs/RULES.md
"default": true,
// Trailing spaces
"MD009": false,
// Line length (default: 80)
"MD013": false,
// Duplicate headings (e.g., nested headings)
"MD024": false,
// Ordered list item prefix
"MD029": {
"style": "ordered"
},
// Fenced code blocks should be surrounded by blank lines
"MD031": false,
// No inline html
"MD033": false,
// Empahsis as heading (e.g., table of contents)
"MD036": false,
// First line heading
"MD041": false
}
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ fail_fast: true
repos:
# checks for secrets via rules (gitleaks.toml)
- repo: https://github.com/zricethezav/gitleaks
rev: v8.18.4
rev: v8.23.3
hooks:
- id: gitleaks
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.1
rev: v0.9.6
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-added-large-files
args: ['--maxkb=1024']
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.1.1"
".": "1.2.1"
}
4 changes: 2 additions & 2 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
python 3.11.11
poetry 1.8.5
nodejs 21.4.0
nodejs 23.10.0
ruby 3.2.2
uv 0.6.8
13 changes: 5 additions & 8 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
"[python]": {
"editor.insertSpaces": true,
"editor.tabSize": 4,
"editor.defaultFormatter": "charliermarsh.ruff"
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit",
"source.fixAll": "explicit"
}
},
"python.defaultInterpreterPath": "${workspaceFolder}/app/.venv/bin/python",
"python.terminal.activateEnvInCurrentTerminal": true,
"python.testing.pytestArgs": [
"tests"
],
Expand All @@ -15,9 +16,5 @@
// https://github.com/astral-sh/ruff-vscode
"python.analysis.ignore": [
"*"
],
"debug.inlineValues": "off",
"ruff.lint.run": "onType",
"ruff.organizeImports": true,
"ruff.showNotifications": "onError"
]
}
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Changelog

## [1.2.1](https://github.com/pythoninthegrass/meetup_bot/compare/v1.2.0...v1.2.1) (2025-03-19)


### Documentation

* update readme ([3105fd9](https://github.com/pythoninthegrass/meetup_bot/commit/3105fd9ce3ffb9a4a65240af2648d9f6bde31788))

## [1.2.0](https://github.com/pythoninthegrass/meetup_bot/compare/v1.1.2...v1.2.0) (2025-02-20)


### Features

* store auth in cookie ([76be173](https://github.com/pythoninthegrass/meetup_bot/commit/76be17370d5af3771af67589c59432facca07c59))


### Bug Fixes

* module regression ([155d5db](https://github.com/pythoninthegrass/meetup_bot/commit/155d5dbcee72f8099a82a5d386ea9f42fde447ea))

## [1.1.2](https://github.com/pythoninthegrass/meetup_bot/compare/v1.1.1...v1.1.2) (2025-02-19)


### Documentation

* add [@alex-code4okc](https://github.com/alex-code4okc) as a contributor ([7feccfa](https://github.com/pythoninthegrass/meetup_bot/commit/7feccfa439115616c7fdb760c15043ff3e6d858e))
* contributing ([fd2c294](https://github.com/pythoninthegrass/meetup_bot/commit/fd2c294a018e6943b4b6b66af74b8eaa14db0c0c))
* update readme ([437d81a](https://github.com/pythoninthegrass/meetup_bot/commit/437d81a528e7e63b98d8f9ab7e1086d2a11023b7))

## [1.1.1](https://github.com/pythoninthegrass/meetup_bot/compare/v1.1.0...v1.1.1) (2024-08-26)


Expand Down
31 changes: 31 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# meetup_bot Project Reference

## General Instructions

- Minimize inline comments
- Retain tabs, spaces, and encoding
- Fix linting errors before saving files.
- Respect `.markdownlint.jsonc` rules for all markdown files
- If under 50 lines of code (LOC), print the full function or class
- If the token limit is close or it's over 50 LOC, print the line numbers and avoid comments altogether
- Explain as much as possible in the chat unless asked to annotate (i.e., docstrings, newline comments, etc.)

## Build, Lint, and Test Commands

- Full test suite: `uv run pytest` or `task test`
- Single test: `uv run pytest tests/test_filename.py::test_function_name`
- Linting: `uv run ruff check --fix --respect-gitignore` or `task lint`
- Formatting: `uv run ruff format --respect-gitignore` or `task format`
- Check dependencies: `uv run deptry .` or `task deptry`
- Pre-commit hooks: `pre-commit run --all-files` or `task pre-commit`

## Code Style Guidelines

- **Formatting**: 4 spaces, 130-char line limit, LF line endings
- **Imports**: Ordered by type, combined imports when possible
- **Naming**: snake_case functions/vars, PascalCase classes, UPPERCASE constants
- **Type Hints**: Use Optional for nullable params, pipe syntax for Union
- **Error Handling**: Specific exception types, descriptive error messages
- **File Structure**: Core logic in app/core/, utilities in app/utils/
- **Docstrings**: Use double quotes for docstrings
- **Tests**: Files in tests/, follow test_* naming convention
Loading