Source map

Path What lives there

lambda_handlers.py

api_handler (apig-wsgi) and worker_handler (async tasks, stream, schedule).

secrets_loader.py

Secrets Manager → os.environ, run on import.

config.py

Flask config; every setting and required-variable assertion.

run.py

app = create_app("config"), Sentry, root debug route.

run_locally.py

Local server on :5555 (gevent).

actionstools_app/init.py

Flask app, CORS, table names and definitions, flask-dynamo, create_app, /setup-install.

actionstools_app/api.py

flask-restx PybApi, ApiResource, ApiResourceWithAPiKeys, shared header parsers.

actionstools_app/notes/

Notes

actionstools_app/tasks/views.py, services.py

Tasks

actionstools_app/tasks/notifications.py

SlackNotifier, email and Slack templates, notify_on_slack.

actionstools_app/comments/

Comments; notify.py queues comment notifications.

actionstools_app/files/views.py

Files

actionstools_app/settings/

Settings & folders; configs.py holds the per-type validators.

actionstools_app/notifications/

Notifications

actionstools_app/activity/

Activity stream; services.py reads event logger and messaging.

actionstools_app/reports/

Reports

actionstools_app/ddb_counts/

Task counters: stream handler, rules, counter utilities.

actionstools_app/tools/async_task.py

@async_task — Worker Lambda & async tasks

actionstools_app/tools/async_action.py

with_error_handler, handle_async_errors.

actionstools_app/tools/utils.py

CRMCrudService, permission validators, get_user, setup_sentry, DynamoDB (de)serialisers.

actionstools_app/transport/http.py

Thin requests wrapper used by the activity services.

tests/

unittest suite; init.py holds the offline environment, utils.py the moto base class.

template.yaml

SAM template and the per-environment Env mapping — System architecture

samconfig.toml

Stack name, region and EnvName per environment — Deployment

pyproject.toml, uv.lock, .python-version

uv project — Local development

Makefile

Developer and CI commands (make help).

.github/workflows/test.yml, deploy.yml

CI/CD — operations/deployment.adoc#ci.

.env.example

Template for the local .env read by make run.

scripts/

One-off maintenance scripts (need X_SESSION_TOKEN).

examples/notes_api.py

API client walkthrough.

docs/

This component — Writing these docs