Skip to main content

python-gitea

Python CI pre-commit.ci status Documentation Status codecov PyPI Version Python Versions License: MIT Security: bandit DOI SPEC 0 — Minimum Supported Dependencies

A Python package for interacting with the Gitea API. It provides a simple, intuitive interface to access Gitea repositories, users, organizations, issues, and more, enabling seamless integration with Gitea instances for automation, data retrieval, and management tasks.

Features

  • Full API Coverage: Repositories, users, organizations, issues, pull requests, comments, labels, milestones, notifications, projects, and Actions workflows, runs, and job logs.
  • Easy Authentication: Token-based authentication, with multiple saved accounts and a default-account fallback.
  • Asynchronous Support: Built with async/await for non-blocking operations alongside the synchronous client.
  • Type Hints: Full type annotations for better IDE support and code reliability.
  • Command-Line Interface: Interact with the Gitea API directly from the terminal for quick, scriptable operations without writing code.
  • Comprehensive Documentation: Detailed guides and a generated API reference.

Quick Start

1. Install

uv venv --python 3.13
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install python-gitea

2. Configure an account

gitea-cli config add --name my_account --token YOUR_API_TOKEN --base-url https://gitea.example.com

3. Use the CLI

# List issues of a repository
gitea-cli issue list --owner my-org --repository my-repo

# Get a user
gitea-cli user get --username my-org

4. Use the Python API

from gitea.client.gitea import Gitea

with Gitea(token="YOUR_API_TOKEN", base_url="https://gitea.example.com") as client:
    issues, _ = client.issue.list_issues(owner="my-org", repository="my-repo")

For details, see the Quick Start, Configuration, and Python API guides in the documentation.

Installation

We recommend using uv to manage virtual environments for installing python-gitea.

If you don't have uv installed, you can install it with pip. See the project pages for more details:

  • Install via pip: pip install --upgrade pip && pip install uv
  • Project pages: uv on PyPI | uv on GitHub
  • Full documentation and usage guide: uv docs

Requirements

  • Python 3.12 or higher
  • Operating System: Linux, macOS, or Windows

Install from PyPI

The recommended way to install python-gitea is from PyPI:

# Create a virtual environment (recommended with uv)
uv venv --python 3.12
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install python-gitea

Optional Dependencies

For development or specific features:

# Development dependencies (testing, linting, etc.)
uv pip install python-gitea[dev]

# Documentation dependencies
uv pip install python-gitea[docs]

# All dependencies
uv pip install python-gitea[dev,docs]

Install from Source

For the latest development version:

git clone git@github.com:isaac-cf-wong/python-gitea.git
cd python-gitea
# Create a virtual environment (recommended with uv)
uv venv --python 3.12
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install .

Development Installation

To set up for development:

git clone git@github.com:isaac-cf-wong/python-gitea.git
cd python-gitea

# Create a virtual environment (recommended with uv)
uv venv --python 3.12
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv sync --group dev

# Install pre-commit hooks
uv run prek install

Verify Installation

Check that python-gitea is installed correctly:

gitea-cli --help
python -c "import gitea; print(gitea.__version__)"

Documentation

Full documentation is available at https://isaac-cf-wong.github.io/python-gitea.

Contributing

Contributions are welcome! Please read the Contributing Guide before opening a pull request.

Testing

Run the test suite:

uv run pytest

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For questions, issues, or contributions, please:

Changelog

See Release Notes for version history.

Metadata

Release files for python-gitea 0.12.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-gitea 0.12.1
File Size Uploaded
python_gitea-0.12.1.tar.gz 509.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-gitea 0.12.1
File Interpreter ABI Platform
python_gitea-0.12.1-py3-none-any.whl Python 3 none any Details

Total release size: 788.6 kB

Release files / python_gitea-0.12.1.tar.gz

Download URL python_gitea-0.12.1.tar.gz
Size 509.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2d4c118125579ced596253d91d6cd292860ffa8c28892e236e0d48c72a760efe
BLAKE2b-256 checksum
How to use checksums
208a78ae8802f3269e3dc36f537a0c7db47c33bc73892a05b0c747c98f7c93d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_gitea-0.12.1-py3-none-any.whl

Download URL python_gitea-0.12.1-py3-none-any.whl
Size 279.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e1bbae68dc6a26d750a378dfe4d160891fb174c8ed1eb19538e3b63926ad764
BLAKE2b-256 checksum
How to use checksums
662ceb94fda37fcdf4ea34bae3a00e305774ce04ae036207a7c63286e736a621
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.13.1

2 release files

This release

0.12.1 This release

2 release files

0.12.0

2 release files

0.11.7

2 release files

0.11.6

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page