Skip to main content

A Python CLI abstracting common Git interactions like Conventional Commit and Atlassian Smart Commit helpers

Project description

gyt-cli

A Python CLI abstracting common Git interactions like Conventional Commit and Atlassian Smart Commit helpers.

Installation

From PyPI

pip install gyt-cli

From Source

git clone https://github.com/your-username/gyt-cli.git
cd gyt-cli
uv sync
uv run pip install -e .

Usage

After installation, the gyt command will be available:

gyt --help

Development

Prerequisites

  • Python 3.10 or higher
  • UV package manager

Setup Development Environment

  1. Clone the repository:

    git clone https://github.com/your-username/gyt-cli.git
    cd gyt-cli
    
  2. Install dependencies using UV:

    uv sync
    

    This will create a virtual environment and install all production and development dependencies.

Development Workflow

Adding Dependencies

To add a new production dependency:

uv add <package-name>

To add a development dependency:

uv add --dev <package-name>

Running Tests

Run the test suite:

uv run pytest

Run tests with coverage:

uv run pytest --cov=gyt_cli

Code Quality

Format code with Black:

uv run black .

Run type checking with MyPy:

uv run mypy gyt_cli

Running the CLI During Development

Execute the CLI directly from source:

uv run gyt --help

Or run specific commands:

uv run gyt <command> <args>

Project Structure

gyt-cli/
├── gyt_cli/           # Main package
│   ├── __init__.py
│   ├── cli.py         # CLI entry point
│   ├── commands/      # Command modules
│   ├── config/        # Configuration handling
│   └── utils.py       # Utility functions
├── tests/             # Test suite
├── pyproject.toml     # Project configuration
├── uv.lock           # Dependency lock file
└── README.md         # This file

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes
  4. Run tests: uv run pytest
  5. Run code quality checks: uv run black . and uv run mypy gyt_cli
  6. Commit your changes using conventional commits
  7. Push to your fork and submit a pull request

License

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

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

gyt_cli-0.5.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

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

gyt_cli-0.5.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file gyt_cli-0.5.0.tar.gz.

File metadata

  • Download URL: gyt_cli-0.5.0.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gyt_cli-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f857cb441569ffd7d6ecfdfa6342a7fdea56a519e92d257d65bc5b376ee5b587
MD5 4b6936f6bd64ff6911e67ee380e67cd1
BLAKE2b-256 052e032194c0d3a7f9ad3a12eab5c34bde297b8502192a26588b45d1907628f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gyt_cli-0.5.0.tar.gz:

Publisher: publish-pypi.yml on scrthq/gyt-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gyt_cli-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: gyt_cli-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gyt_cli-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb6e879eb364f3dc87c86ca104e226329d7ef624a50f7ae276aa76f09a11d975
MD5 877dd47a3d8e61f6c14e48c64f3407d9
BLAKE2b-256 4f0e74d04f4b5b26ec64afc0160332db493ae95e062c77623eafabc61b1d5d57

See more details on using hashes here.

Provenance

The following attestation bundles were made for gyt_cli-0.5.0-py3-none-any.whl:

Publisher: publish-pypi.yml on scrthq/gyt-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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