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.0a10.tar.gz (411.4 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.0a10-py3-none-any.whl (580.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: glabflow-0.1.0a10.tar.gz
  • Upload date:
  • Size: 411.4 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.0a10.tar.gz
Algorithm Hash digest
SHA256 a6f5757bd0c5197c08f46dc4ee8874af18068557a9b727818f549ba0dcbebc1a
MD5 4c65918f5dc82546861a4457f176d0fa
BLAKE2b-256 8940755a80226a54548e91d5650027bb3484838196e48a370b4390b695e5e7ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: glabflow-0.1.0a10-py3-none-any.whl
  • Upload date:
  • Size: 580.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.0a10-py3-none-any.whl
Algorithm Hash digest
SHA256 d93e7f8e5236fc724d7072a2933950d5b2dfe26ce83ce2480e84adc3f1e25394
MD5 cf34bcf5dc245a77c962deb258661d72
BLAKE2b-256 b5dd2353cfa7c6ca094a1d5d7e2333992fea2f0605ef195d5722759faa0beeb2

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