youtrack-cli 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ """YouTrack CLI - Command line interface for JetBrains YouTrack."""
2
+
3
+ __version__ = "0.1.0"
youtrack_cli/main.py ADDED
@@ -0,0 +1,91 @@
1
+ """Main entry point for the YouTrack CLI."""
2
+
3
+ from typing import Optional
4
+
5
+ import click
6
+
7
+
8
+ @click.group()
9
+ @click.version_option()
10
+ @click.option(
11
+ "--config",
12
+ "-c",
13
+ type=click.Path(exists=True),
14
+ help="Path to configuration file",
15
+ )
16
+ @click.option(
17
+ "--verbose",
18
+ "-v",
19
+ is_flag=True,
20
+ help="Enable verbose output",
21
+ )
22
+ @click.pass_context
23
+ def main(ctx: click.Context, config: Optional[str], verbose: bool) -> None:
24
+ """YouTrack CLI - Command line interface for JetBrains YouTrack."""
25
+ ctx.ensure_object(dict)
26
+ ctx.obj["config"] = config
27
+ ctx.obj["verbose"] = verbose
28
+
29
+
30
+ @main.group()
31
+ def issues() -> None:
32
+ """Manage issues."""
33
+ pass
34
+
35
+
36
+ @main.group()
37
+ def articles() -> None:
38
+ """Manage knowledge base articles."""
39
+ pass
40
+
41
+
42
+ @main.group()
43
+ def projects() -> None:
44
+ """Manage projects."""
45
+ pass
46
+
47
+
48
+ @main.group()
49
+ def users() -> None:
50
+ """User management."""
51
+ pass
52
+
53
+
54
+ @main.group()
55
+ def time() -> None:
56
+ """Time tracking operations."""
57
+ pass
58
+
59
+
60
+ @main.group()
61
+ def boards() -> None:
62
+ """Agile board operations."""
63
+ pass
64
+
65
+
66
+ @main.group()
67
+ def reports() -> None:
68
+ """Generate cross-entity reports."""
69
+ pass
70
+
71
+
72
+ @main.group()
73
+ def auth() -> None:
74
+ """Authentication management."""
75
+ pass
76
+
77
+
78
+ @main.group()
79
+ def config() -> None:
80
+ """CLI configuration."""
81
+ pass
82
+
83
+
84
+ @main.group()
85
+ def admin() -> None:
86
+ """Administrative operations."""
87
+ pass
88
+
89
+
90
+ if __name__ == "__main__":
91
+ main()
@@ -0,0 +1,117 @@
1
+ Metadata-Version: 2.4
2
+ Name: youtrack-cli
3
+ Version: 0.1.0
4
+ Summary: YouTrack CLI - Command line interface for JetBrains YouTrack issue tracking system
5
+ Requires-Python: <3.14,>=3.9
6
+ Requires-Dist: click>=8.0.0
7
+ Requires-Dist: httpx>=0.24.0
8
+ Requires-Dist: pydantic-settings>=2.0.0
9
+ Requires-Dist: pydantic>=2.0.0
10
+ Requires-Dist: python-dotenv>=1.0.0
11
+ Requires-Dist: rich>=13.0.0
12
+ Requires-Dist: textual>=0.40.0
13
+ Provides-Extra: dev
14
+ Requires-Dist: mypy>=1.0.0; extra == 'dev'
15
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
16
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
17
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
18
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
19
+ Requires-Dist: tox>=4.0.0; extra == 'dev'
20
+ Requires-Dist: types-click>=7.0.0; extra == 'dev'
21
+ Requires-Dist: zizmor>=0.1.0; extra == 'dev'
22
+ Description-Content-Type: text/markdown
23
+
24
+ # YouTrack CLI
25
+
26
+ A command line interface for JetBrains YouTrack issue tracking system.
27
+
28
+ ## Installation
29
+
30
+ ### From PyPI (when available)
31
+
32
+ ```bash
33
+ pip install yt-cli
34
+ ```
35
+
36
+ ### From source
37
+
38
+ ```bash
39
+ git clone https://github.com/YOUR_USERNAME/yt-cli.git
40
+ cd yt-cli
41
+ uv sync --dev
42
+ uv pip install -e .
43
+ ```
44
+
45
+ ## Usage
46
+
47
+ ```bash
48
+ yt --help
49
+ ```
50
+
51
+ ### Available Commands
52
+
53
+ - `yt issues` - Manage issues
54
+ - `yt articles` - Manage knowledge base articles
55
+ - `yt projects` - Manage projects
56
+ - `yt users` - User management
57
+ - `yt time` - Time tracking operations
58
+ - `yt boards` - Agile board operations
59
+ - `yt reports` - Generate cross-entity reports
60
+ - `yt auth` - Authentication management
61
+ - `yt config` - CLI configuration
62
+ - `yt admin` - Administrative operations
63
+
64
+ ## Development
65
+
66
+ This project uses `uv` for dependency management.
67
+
68
+ ### Setup
69
+
70
+ ```bash
71
+ # Clone the repository
72
+ git clone https://github.com/YOUR_USERNAME/yt-cli.git
73
+ cd yt-cli
74
+
75
+ # Install dependencies
76
+ uv sync --dev
77
+
78
+ # Install the package in editable mode
79
+ uv pip install -e .
80
+ ```
81
+
82
+ ### Testing
83
+
84
+ ```bash
85
+ # Run tests
86
+ uv run pytest
87
+
88
+ # Run tests with coverage
89
+ uv run pytest --cov=yt_cli
90
+
91
+ # Run tests on multiple Python versions
92
+ uv run tox
93
+ ```
94
+
95
+ ### Linting and Formatting
96
+
97
+ ```bash
98
+ # Check code style
99
+ uv run ruff check
100
+
101
+ # Format code
102
+ uv run ruff format
103
+
104
+ # Type checking
105
+ uv run mypy yt_cli
106
+ ```
107
+
108
+ ### Security
109
+
110
+ ```bash
111
+ # Check GitHub Actions workflows
112
+ uv run zizmor .github/workflows/
113
+ ```
114
+
115
+ ## License
116
+
117
+ MIT License - see LICENSE file for details.
@@ -0,0 +1,6 @@
1
+ youtrack_cli/__init__.py,sha256=ZsKWiIiDecQSPcyGrKqQWX46M8_kh-kXWVeAhPU16OM,91
2
+ youtrack_cli/main.py,sha256=wij-IVh6Bycz4cVFEKmpMpQLqpg-gtoEjuA2uSbGesY,1445
3
+ youtrack_cli-0.1.0.dist-info/METADATA,sha256=NoD388zxLGGFDu-pscbOEOHK1v1z8hJXQtMb00LoBpQ,2303
4
+ youtrack_cli-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
5
+ youtrack_cli-0.1.0.dist-info/entry_points.txt,sha256=PX9C8Sxa75BesPNwrCq4MDcBmGJFbxB9jDJRVhwRBIc,46
6
+ youtrack_cli-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.27.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ yt = youtrack_cli.main:main