python-gitea
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/awaitfor 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:
- Check the documentation
- Open an issue on GitHub
- Join our discussions
Changelog
See Release Notes for version history.
Metadata
Release files for python-gitea 0.13.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| python_gitea-0.13.3.tar.gz | 541.7 kB | Without provenance | Details for python_gitea-0.13.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| python_gitea-0.13.3-py3-none-any.whl | Python 3 | none | any | Details for python_gitea-0.13.3-py3-none-any.whl |
Total release size: 828.8 kB
Release files / python_gitea-0.13.3.tar.gz
| Download URL | python_gitea-0.13.3.tar.gz |
|---|---|
| Size | 541.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75c80f490b5f980716d3cd0db43480ab42d67d887ad410a9a2d5062a5538d300
|
|
BLAKE2b-256 checksum How to use checksums |
97e202b72b14b8805a1927b95922a8aa5676fac5a1fa9583694186ddc7a7163f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","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.13.3-py3-none-any.whl
| Download URL | python_gitea-0.13.3-py3-none-any.whl |
|---|---|
| Size | 287.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f2792510b27dd7386af7c4002df65d1200c1162318ddeb0e1a9b86c39a5d351
|
|
BLAKE2b-256 checksum How to use checksums |
aa893b900cf5ed4a7d774b68bbc0b79b007742537aacfff802dddd2636a318ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for python-gitea 0.13.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.