Skip to main content

Async-native Python library for bulk operations on self-hosted GitLab

Project description

glabflow

The fastest GitLab client for AI agents and high-volume automation, written in Python.

PyPI Python Downloads License

Performance: 1207 users/sec (100x python-gitlab)

  • 10-100x faster than python-gitlab — async-first, connection pooling, keyset pagination
  • 🤖 AI agent tools — Native tool definitions for agent frameworks
  • 📊 100% REST coverage — 1,124 operations (vs ~300 in python-gitlab)
  • 🌍 102 GraphQL operations (27 queries + 75 mutations) — DataLoader batching, query caching, schema introspection codegen
  • 📦 Single tool — replaces python-gitlab, gitlab-cli, and custom scripts

Install: uv add glabflow or pip install glabflow — Python 3.14+


Highlights

  • AI agents — Native tool definitions for agent frameworks
  • CLI includedgl covers auth, listing, git ops, audits, analytics, and more (see CLI below)
  • Compliance — SOC2 Type II + ISO 27001 evidence collection, 9 controls mapped
  • Config — Per-profile timeout, SSL verification, system-level (/etc/glabflow/config.json)
  • Auth — OAuth2, JOB-TOKEN, HTTP Basic, anonymous access
  • Error handlingon_http_error decorator for custom exception handling per-call

CLI (Command Line Interface)

glabflow ships a gl CLI for bulk GitLab operations — install with uv add glabflow[cli] or pip install glabflow[cli].

Command Purpose
gl auth Login, profiles, credential resolution
gl list List repositories, users, or groups
gl git clone|pull|fetch Bulk git operations across projects
gl users Privilege checks, GraphQL-based activity/contribution log
gl mr List merge requests, list commits in a merge request
gl pipelines List, logs, stats, live-watch, CI failure-rate analysis
gl audit Compliance dashboards, public/stale repo audits
gl analytics DORA metrics, velocity, code churn, timelogs
gl spamcheck / gl anomaly Spam user detection, access anomaly detection
gl upgrade Pre-upgrade checklist, version diff
gl migrate Migrate python-gitlab code to glabflow automatically
gl runner Register and start a local GitLab Runner

Run gl --help or any subcommand with --help for full usage; see the CLI Reference for details.


Performance

Mode Users/sec vs python-gitlab
glabflow (GIL off) 1207 100-200x
glabflow (GIL on) 713 50-100x
python-gitlab 60-80 baseline

glabflow vs python-gitlab

Feature glabflow python-gitlab
AI agent tools ✅ First-party
Speed 10-100x faster Sequential
REST coverage 100% (1,124 ops) ~300 ops
GraphQL 102 ops + DataLoader + schema codegen Experimental
Async Native Via python-gitlab[async]

Requirements

  • Python 3.14+ (free-threaded recommended)
  • aiohttp>=3.10, msgspec>=0.18, stamina>=24.2

Extras: uv add glabflow[cli,extended] or pip install glabflow[cli,extended]


Who's Using glabflow?

Production users include: AI automation platforms, Platform Engineering teams, DevOps teams, compliance tooling, and high-volume GitLab deployments.

Add your project via PR — we'd love to feature you.


Community

Built by developers who needed speed. Used by teams processing millions of GitLab API calls daily.

  • AI automation platforms building agent-based workflows
  • DevOps teams managing hundreds of GitLab instances
  • Security teams running compliance audits at scale
  • Platforms integrating GitLab into developer workflows

Join us on GitHub Discussions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glabflow-0.1.0a9.tar.gz (393.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glabflow-0.1.0a9-py3-none-any.whl (559.2 kB view details)

Uploaded Python 3

File details

Details for the file glabflow-0.1.0a9.tar.gz.

File metadata

  • Download URL: glabflow-0.1.0a9.tar.gz
  • Upload date:
  • Size: 393.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for glabflow-0.1.0a9.tar.gz
Algorithm Hash digest
SHA256 f50b66387e7571cd1c7fc8c59f8016d2a350ac5f92dfe9725614ce102aac7e3a
MD5 a0575af8661a226a803973fa9a5d9ffb
BLAKE2b-256 7de29146f7516408acc2b2ba9449bbc54c592a3434b55248b3a8feb590b289c8

See more details on using hashes here.

File details

Details for the file glabflow-0.1.0a9-py3-none-any.whl.

File metadata

  • Download URL: glabflow-0.1.0a9-py3-none-any.whl
  • Upload date:
  • Size: 559.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for glabflow-0.1.0a9-py3-none-any.whl
Algorithm Hash digest
SHA256 c413e16c0257c94dea293b13866b161a98dee58f7b3061c3a71b67dd2587f721
MD5 cd9d4e77eb79882fbf5261de427667d0
BLAKE2b-256 ca91e0e3c32d946c8c20b637d6e9df696d557c476e11796588a8ffcea7463ba2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page