fancygit 1.0.23__tar.gz → 1.0.24__tar.gz
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.
- {fancygit-1.0.23 → fancygit-1.0.24}/MANIFEST.in +4 -1
- fancygit-1.0.24/PKG-INFO +96 -0
- fancygit-1.0.24/PYPI_DESCRIPTION.md +67 -0
- fancygit-1.0.24/VERSION +1 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/command-list.txt +2 -0
- fancygit-1.0.24/fancygit.egg-info/PKG-INFO +96 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/fancygit.egg-info/SOURCES.txt +26 -3
- {fancygit-1.0.23 → fancygit-1.0.24}/fancygit.egg-info/top_level.txt +1 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/fancygit.py +250 -324
- fancygit-1.0.24/game_questions.json +332 -0
- fancygit-1.0.24/images/Logo.png +0 -0
- fancygit-1.0.24/images/Logo_with_name.png +0 -0
- fancygit-1.0.24/images/dark_background_logo.png +0 -0
- fancygit-1.0.24/images/light_background_logo.png +0 -0
- fancygit-1.0.24/images/overview.png +0 -0
- fancygit-1.0.24/quiz_server.py +41 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/setup.py +8 -5
- fancygit-1.0.24/src/ai_engine.py +116 -0
- fancygit-1.0.24/src/config_manager.py +68 -0
- fancygit-1.0.24/src/fancygit_config_dc.py +42 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/mermaid_export.py +85 -2
- fancygit-1.0.24/src/model_provider.py +25 -0
- fancygit-1.0.24/src/providers/__init__.py +1 -0
- fancygit-1.0.24/src/providers/anthropic_model.py +47 -0
- fancygit-1.0.24/src/providers/base_model.py +19 -0
- fancygit-1.0.24/src/providers/ollama_model.py +303 -0
- fancygit-1.0.24/src/providers/openai_model.py +66 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/quiz_html_generator.py +66 -17
- fancygit-1.0.24/src/repo_inspector.py +3 -0
- fancygit-1.0.24/tests/conftest.py +139 -0
- fancygit-1.0.24/tests/test_ai_engine.py +181 -0
- fancygit-1.0.24/tests/test_ai_integration.py +168 -0
- fancygit-1.0.24/tests/test_config_manager.py +232 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/test_conflict_parser_integration.py +6 -4
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/test_fancygit_advanced.py +16 -15
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/test_fancygit_commands.py +60 -63
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/test_fancygit_integration.py +20 -15
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/test_fancygit_workflows.py +45 -44
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/test_git_error.py +2 -2
- fancygit-1.0.24/tests/test_model_provider.py +204 -0
- fancygit-1.0.24/tests/test_ollama_model.py +458 -0
- fancygit-1.0.24/tests/test_providers.py +154 -0
- fancygit-1.0.24/tests/test_undo_redo.py +319 -0
- fancygit-1.0.23/.fancygit_config +0 -4
- fancygit-1.0.23/PKG-INFO +0 -293
- fancygit-1.0.23/VERSION +0 -1
- fancygit-1.0.23/fancygit.egg-info/PKG-INFO +0 -293
- fancygit-1.0.23/src/ollama_client.py +0 -343
- fancygit-1.0.23/tests/conftest.py +0 -61
- {fancygit-1.0.23 → fancygit-1.0.24}/CD_GUIDE.md +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/COLOR_SYSTEM_GUIDE.md +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/EMAIL_SETUP_GUIDE.md +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/LICENSE +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/README.md +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/TESTING_GUIDE.md +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/TESTING_SUMMARY.md +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/fancygit.egg-info/dependency_links.txt +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/fancygit.egg-info/entry_points.txt +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/fancygit.egg-info/requires.txt +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/setup.cfg +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/__init__.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/colors.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/git_error.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/git_error_parser.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/git_insights.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/git_runner.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/loading_animation.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/merge_conflict.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/output_colorizer.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/quiz_manager.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/repo_state.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/src/utils.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/__init__.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/test_git_error_parser.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/tests/test_git_runner.py +0 -0
- {fancygit-1.0.23 → fancygit-1.0.24}/welcome.py +0 -0
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
include VERSION
|
|
2
2
|
include README.md
|
|
3
|
+
include PYPI_DESCRIPTION.md
|
|
3
4
|
include *.md
|
|
4
5
|
include command-list.txt
|
|
5
|
-
include .
|
|
6
|
+
include game_questions.json
|
|
6
7
|
include welcome.py
|
|
7
8
|
include fancygit.py
|
|
9
|
+
include quiz_server.py
|
|
8
10
|
recursive-include src *.py
|
|
9
11
|
recursive-include tests *.py
|
|
12
|
+
recursive-include images *.png *.jpg *.jpeg *.gif
|
|
10
13
|
global-exclude *.pyc
|
|
11
14
|
global-exclude __pycache__
|
fancygit-1.0.24/PKG-INFO
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fancygit
|
|
3
|
+
Version: 1.0.24
|
|
4
|
+
Summary: A smart CLI tool that provides intelligent recommendations and helps solve merge conflicts
|
|
5
|
+
Author: Youssif Ashmawy
|
|
6
|
+
Author-email: ashmawyyoussif@gmail.com
|
|
7
|
+
License: Apache License 2.0
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
14
|
+
Requires-Python: >=3.6
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: requests>=2.25.0
|
|
18
|
+
Requires-Dist: prompt_toolkit>=3.0.0
|
|
19
|
+
Dynamic: author
|
|
20
|
+
Dynamic: author-email
|
|
21
|
+
Dynamic: classifier
|
|
22
|
+
Dynamic: description
|
|
23
|
+
Dynamic: description-content-type
|
|
24
|
+
Dynamic: license
|
|
25
|
+
Dynamic: license-file
|
|
26
|
+
Dynamic: requires-dist
|
|
27
|
+
Dynamic: requires-python
|
|
28
|
+
Dynamic: summary
|
|
29
|
+
|
|
30
|
+
# FancyGit
|
|
31
|
+
|
|
32
|
+
**An intelligent Git wrapper that makes version control approachable for beginners — without getting in the way of experienced developers.**
|
|
33
|
+
|
|
34
|
+
FancyGit sits on top of Git and adds smart features that guide you through everyday workflows, help you learn, and speed up your work.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Key Features
|
|
39
|
+
|
|
40
|
+
### Shortcut Commands
|
|
41
|
+
Common multi-step Git operations condensed into single commands. Less typing, fewer mistakes.
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
fancygit ship # pull + stage + commit + push in one step
|
|
45
|
+
fancygit sync # fetch all branches and prune deleted remote branches
|
|
46
|
+
fancygit undo # safely undo your last commit (soft, mixed, or hard)
|
|
47
|
+
fancygit redo # restore a commit that was undone
|
|
48
|
+
fancygit explain # explain what any Git command does
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### AI Integration
|
|
52
|
+
FancyGit connects to local AI models via Ollama to help you:
|
|
53
|
+
- **Auto-generate commit messages** from your staged diff
|
|
54
|
+
- **Analyse your repo** and surface useful insights
|
|
55
|
+
|
|
56
|
+
No API key needed — runs entirely on your machine. To unlock the full AI experience, install the following Ollama models:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
ollama pull codellama
|
|
60
|
+
ollama pull llama3.2
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Git Quizzes
|
|
64
|
+
Built-in interactive quizzes to help beginners learn Git concepts while they work.
|
|
65
|
+
- 320+ questions covering Git fundamentals to advanced topics
|
|
66
|
+
- Tracks which questions you've seen so you always get fresh ones
|
|
67
|
+
- Runs in your browser, no setup required
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
fancygit quiz
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Repo Visualizer
|
|
74
|
+
Generates an interactive visual diagram of your repository's branch history and file dependency graph, opened directly in your browser.
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
fancygit visualize
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Installation
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
pip install fancygit
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Requires Python 3.6+ and Git installed on your system.
|
|
89
|
+
|
|
90
|
+
## Quick Start
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
fancygit --help # see all available commands
|
|
94
|
+
fancygit quiz # start a Git quiz
|
|
95
|
+
fancygit ship # pull, stage everything, commit with AI message, and push
|
|
96
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# FancyGit
|
|
2
|
+
|
|
3
|
+
**An intelligent Git wrapper that makes version control approachable for beginners — without getting in the way of experienced developers.**
|
|
4
|
+
|
|
5
|
+
FancyGit sits on top of Git and adds smart features that guide you through everyday workflows, help you learn, and speed up your work.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Key Features
|
|
10
|
+
|
|
11
|
+
### Shortcut Commands
|
|
12
|
+
Common multi-step Git operations condensed into single commands. Less typing, fewer mistakes.
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
fancygit ship # pull + stage + commit + push in one step
|
|
16
|
+
fancygit sync # fetch all branches and prune deleted remote branches
|
|
17
|
+
fancygit undo # safely undo your last commit (soft, mixed, or hard)
|
|
18
|
+
fancygit redo # restore a commit that was undone
|
|
19
|
+
fancygit explain # explain what any Git command does
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### AI Integration
|
|
23
|
+
FancyGit connects to local AI models via Ollama to help you:
|
|
24
|
+
- **Auto-generate commit messages** from your staged diff
|
|
25
|
+
- **Analyse your repo** and surface useful insights
|
|
26
|
+
|
|
27
|
+
No API key needed — runs entirely on your machine. To unlock the full AI experience, install the following Ollama models:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
ollama pull codellama
|
|
31
|
+
ollama pull llama3.2
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Git Quizzes
|
|
35
|
+
Built-in interactive quizzes to help beginners learn Git concepts while they work.
|
|
36
|
+
- 320+ questions covering Git fundamentals to advanced topics
|
|
37
|
+
- Tracks which questions you've seen so you always get fresh ones
|
|
38
|
+
- Runs in your browser, no setup required
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
fancygit quiz
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Repo Visualizer
|
|
45
|
+
Generates an interactive visual diagram of your repository's branch history and file dependency graph, opened directly in your browser.
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
fancygit visualize
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Installation
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
pip install fancygit
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Requires Python 3.6+ and Git installed on your system.
|
|
60
|
+
|
|
61
|
+
## Quick Start
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
fancygit --help # see all available commands
|
|
65
|
+
fancygit quiz # start a Git quiz
|
|
66
|
+
fancygit ship # pull, stage everything, commit with AI message, and push
|
|
67
|
+
```
|
fancygit-1.0.24/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.0.24
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fancygit
|
|
3
|
+
Version: 1.0.24
|
|
4
|
+
Summary: A smart CLI tool that provides intelligent recommendations and helps solve merge conflicts
|
|
5
|
+
Author: Youssif Ashmawy
|
|
6
|
+
Author-email: ashmawyyoussif@gmail.com
|
|
7
|
+
License: Apache License 2.0
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
14
|
+
Requires-Python: >=3.6
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: requests>=2.25.0
|
|
18
|
+
Requires-Dist: prompt_toolkit>=3.0.0
|
|
19
|
+
Dynamic: author
|
|
20
|
+
Dynamic: author-email
|
|
21
|
+
Dynamic: classifier
|
|
22
|
+
Dynamic: description
|
|
23
|
+
Dynamic: description-content-type
|
|
24
|
+
Dynamic: license
|
|
25
|
+
Dynamic: license-file
|
|
26
|
+
Dynamic: requires-dist
|
|
27
|
+
Dynamic: requires-python
|
|
28
|
+
Dynamic: summary
|
|
29
|
+
|
|
30
|
+
# FancyGit
|
|
31
|
+
|
|
32
|
+
**An intelligent Git wrapper that makes version control approachable for beginners — without getting in the way of experienced developers.**
|
|
33
|
+
|
|
34
|
+
FancyGit sits on top of Git and adds smart features that guide you through everyday workflows, help you learn, and speed up your work.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Key Features
|
|
39
|
+
|
|
40
|
+
### Shortcut Commands
|
|
41
|
+
Common multi-step Git operations condensed into single commands. Less typing, fewer mistakes.
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
fancygit ship # pull + stage + commit + push in one step
|
|
45
|
+
fancygit sync # fetch all branches and prune deleted remote branches
|
|
46
|
+
fancygit undo # safely undo your last commit (soft, mixed, or hard)
|
|
47
|
+
fancygit redo # restore a commit that was undone
|
|
48
|
+
fancygit explain # explain what any Git command does
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### AI Integration
|
|
52
|
+
FancyGit connects to local AI models via Ollama to help you:
|
|
53
|
+
- **Auto-generate commit messages** from your staged diff
|
|
54
|
+
- **Analyse your repo** and surface useful insights
|
|
55
|
+
|
|
56
|
+
No API key needed — runs entirely on your machine. To unlock the full AI experience, install the following Ollama models:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
ollama pull codellama
|
|
60
|
+
ollama pull llama3.2
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Git Quizzes
|
|
64
|
+
Built-in interactive quizzes to help beginners learn Git concepts while they work.
|
|
65
|
+
- 320+ questions covering Git fundamentals to advanced topics
|
|
66
|
+
- Tracks which questions you've seen so you always get fresh ones
|
|
67
|
+
- Runs in your browser, no setup required
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
fancygit quiz
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Repo Visualizer
|
|
74
|
+
Generates an interactive visual diagram of your repository's branch history and file dependency graph, opened directly in your browser.
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
fancygit visualize
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Installation
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
pip install fancygit
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Requires Python 3.6+ and Git installed on your system.
|
|
89
|
+
|
|
90
|
+
## Quick Start
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
fancygit --help # see all available commands
|
|
94
|
+
fancygit quiz # start a Git quiz
|
|
95
|
+
fancygit ship # pull, stage everything, commit with AI message, and push
|
|
96
|
+
```
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
.fancygit_config
|
|
2
1
|
CD_GUIDE.md
|
|
3
2
|
COLOR_SYSTEM_GUIDE.md
|
|
4
3
|
EMAIL_SETUP_GUIDE.md
|
|
5
4
|
LICENSE
|
|
6
5
|
MANIFEST.in
|
|
6
|
+
PYPI_DESCRIPTION.md
|
|
7
7
|
README.md
|
|
8
8
|
TESTING_GUIDE.md
|
|
9
9
|
TESTING_SUMMARY.md
|
|
10
10
|
VERSION
|
|
11
11
|
command-list.txt
|
|
12
12
|
fancygit.py
|
|
13
|
+
game_questions.json
|
|
14
|
+
quiz_server.py
|
|
13
15
|
setup.py
|
|
14
16
|
welcome.py
|
|
15
17
|
fancygit.egg-info/PKG-INFO
|
|
@@ -18,8 +20,16 @@ fancygit.egg-info/dependency_links.txt
|
|
|
18
20
|
fancygit.egg-info/entry_points.txt
|
|
19
21
|
fancygit.egg-info/requires.txt
|
|
20
22
|
fancygit.egg-info/top_level.txt
|
|
23
|
+
images/Logo.png
|
|
24
|
+
images/Logo_with_name.png
|
|
25
|
+
images/dark_background_logo.png
|
|
26
|
+
images/light_background_logo.png
|
|
27
|
+
images/overview.png
|
|
21
28
|
src/__init__.py
|
|
29
|
+
src/ai_engine.py
|
|
22
30
|
src/colors.py
|
|
31
|
+
src/config_manager.py
|
|
32
|
+
src/fancygit_config_dc.py
|
|
23
33
|
src/git_error.py
|
|
24
34
|
src/git_error_parser.py
|
|
25
35
|
src/git_insights.py
|
|
@@ -27,14 +37,23 @@ src/git_runner.py
|
|
|
27
37
|
src/loading_animation.py
|
|
28
38
|
src/merge_conflict.py
|
|
29
39
|
src/mermaid_export.py
|
|
30
|
-
src/
|
|
40
|
+
src/model_provider.py
|
|
31
41
|
src/output_colorizer.py
|
|
32
42
|
src/quiz_html_generator.py
|
|
33
43
|
src/quiz_manager.py
|
|
44
|
+
src/repo_inspector.py
|
|
34
45
|
src/repo_state.py
|
|
35
46
|
src/utils.py
|
|
47
|
+
src/providers/__init__.py
|
|
48
|
+
src/providers/anthropic_model.py
|
|
49
|
+
src/providers/base_model.py
|
|
50
|
+
src/providers/ollama_model.py
|
|
51
|
+
src/providers/openai_model.py
|
|
36
52
|
tests/__init__.py
|
|
37
53
|
tests/conftest.py
|
|
54
|
+
tests/test_ai_engine.py
|
|
55
|
+
tests/test_ai_integration.py
|
|
56
|
+
tests/test_config_manager.py
|
|
38
57
|
tests/test_conflict_parser_integration.py
|
|
39
58
|
tests/test_fancygit_advanced.py
|
|
40
59
|
tests/test_fancygit_commands.py
|
|
@@ -42,4 +61,8 @@ tests/test_fancygit_integration.py
|
|
|
42
61
|
tests/test_fancygit_workflows.py
|
|
43
62
|
tests/test_git_error.py
|
|
44
63
|
tests/test_git_error_parser.py
|
|
45
|
-
tests/test_git_runner.py
|
|
64
|
+
tests/test_git_runner.py
|
|
65
|
+
tests/test_model_provider.py
|
|
66
|
+
tests/test_ollama_model.py
|
|
67
|
+
tests/test_providers.py
|
|
68
|
+
tests/test_undo_redo.py
|