cit-course-tools 0.1.0__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.
@@ -0,0 +1,9 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0
4
+
5
+ - Add interactive, scaffold-only, report-only, and combined CLI modes.
6
+ - Accept an explicit workspace target, defaulting to the current directory.
7
+ - Create idempotent workspace guidance without overwriting student content.
8
+ - Generate a cross-platform, privacy-conscious hardware report.
9
+ - Add the `cit-course` console command and `cit-course-tools` PyPI metadata.
@@ -0,0 +1,20 @@
1
+ include cit_setup.py
2
+ include PYPI_README.md
3
+ include PUBLISHING.md
4
+ include CHANGELOG.md
5
+ include pyproject.toml
6
+ recursive-include tests *.py
7
+
8
+ exclude README.md
9
+ exclude ai_hardware_check.py
10
+ exclude lab3_prompting_structured_output.py
11
+ exclude *.docx
12
+ exclude *.pdf
13
+ exclude *.xlsx
14
+ prune labs
15
+ prune llama.cpp
16
+ prune models
17
+ prune project
18
+ prune specs
19
+ global-exclude __pycache__
20
+ global-exclude *.py[cod]
@@ -0,0 +1,140 @@
1
+ Metadata-Version: 2.4
2
+ Name: cit-course-tools
3
+ Version: 0.1.0
4
+ Summary: Course workspace and hardware-report tools for CIT classes
5
+ Keywords: CIT,course tools,education,llama.cpp,local AI,workspace
6
+ Classifier: Development Status :: 3 - Alpha
7
+ Classifier: Environment :: Console
8
+ Classifier: Intended Audience :: Education
9
+ Classifier: Natural Language :: English
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3 :: Only
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Classifier: Topic :: Education
19
+ Classifier: Topic :: System :: Systems Administration
20
+ Requires-Python: >=3.10
21
+ Description-Content-Type: text/markdown
22
+
23
+ # CIT Course Tools
24
+
25
+ `cit-course-tools` is a small, cross-platform collection of command-line tools
26
+ for Computer Information Technology courses. The initial release creates the
27
+ recommended CIT 495 workspace and, when requested, generates a privacy-conscious
28
+ hardware report for local-AI and llama.cpp troubleshooting.
29
+
30
+ The utility does **not** download or install llama.cpp, AI models, or any other
31
+ external software. It has no third-party runtime dependencies.
32
+
33
+ ## Installation
34
+
35
+ For an isolated command-line installation, use [`pipx`](https://pipx.pypa.io/):
36
+
37
+ ```console
38
+ pipx install cit-course-tools
39
+ ```
40
+
41
+ It can also be installed into an existing Python environment:
42
+
43
+ ```console
44
+ python -m pip install cit-course-tools
45
+ ```
46
+
47
+ Python 3.10 or newer is required.
48
+
49
+ ## Usage
50
+
51
+ Navigate to the intended course workspace and use `.`:
52
+
53
+ ```console
54
+ cd /path/to/CIT495
55
+ cit-course .
56
+ ```
57
+
58
+ Or supply the workspace directory directly:
59
+
60
+ ```console
61
+ cit-course --all /path/to/CIT495
62
+ ```
63
+
64
+ On Windows, a path containing spaces should be quoted:
65
+
66
+ ```powershell
67
+ cit-course --all "C:\Users\Student\Courses\CIT495"
68
+ ```
69
+
70
+ Available operations are:
71
+
72
+ ```console
73
+ cit-course . --scaffold
74
+ cit-course . --specs
75
+ cit-course . --all
76
+ cit-course --help
77
+ ```
78
+
79
+ With no operation flag, the utility runs interactively. If the target is
80
+ omitted, it defaults to the current directory.
81
+
82
+ The utility stays in its installed Python environment. It is never copied or
83
+ moved into the course workspace.
84
+
85
+ ## Workspace structure
86
+
87
+ The initial scaffold is:
88
+
89
+ ```text
90
+ CIT495/
91
+ ├── README.md
92
+ ├── models/
93
+ │ └── README.md
94
+ ├── llama.cpp/
95
+ │ └── README.md
96
+ ├── labs/
97
+ │ ├── README.md
98
+ │ └── lab01/
99
+ │ ├── logs/
100
+ │ ├── prompts/
101
+ │ └── results/
102
+ ├── project/
103
+ │ └── README.md
104
+ └── specs/
105
+ └── README.md
106
+ ```
107
+
108
+ Later lab directories are added as the semester progresses. The persistent
109
+ semester system belongs in `project/`, while lab evidence belongs under
110
+ `labs/`.
111
+
112
+ Scaffolding is idempotent: missing components are restored, populated README
113
+ files are preserved, and student files are not deleted.
114
+
115
+ ## Hardware report and privacy
116
+
117
+ The optional report is written to:
118
+
119
+ ```text
120
+ <workspace>/specs/hardware_specs.txt
121
+ ```
122
+
123
+ It may include the operating system, architecture, CPU, CPU counts, memory,
124
+ storage, relevant instruction sets, Python version, and detected GPUs. Some
125
+ details may be unavailable on a particular system.
126
+
127
+ The report intentionally excludes usernames, serial numbers, device IDs, MAC
128
+ and IP addresses, license keys, credentials, precise location, and unrelated
129
+ software inventories. Students should still review the report before sharing
130
+ it.
131
+
132
+ ## Development
133
+
134
+ Run the standard-library test suite with:
135
+
136
+ ```console
137
+ python -m unittest discover -s tests -v
138
+ ```
139
+
140
+ See `PUBLISHING.md` for the release checklist.
@@ -0,0 +1,43 @@
1
+ # Publishing `cit-course-tools`
2
+
3
+ ## Before the first public release
4
+
5
+ 1. Choose and add the intended software license. Licensing is deliberately not
6
+ inferred by the package scaffold.
7
+ 2. Add author or maintainer metadata and project URLs to `pyproject.toml` if
8
+ desired.
9
+ 3. Confirm that `cit-course-tools` is still available on PyPI. Name availability is
10
+ final only when the first project release is created.
11
+ 4. Run the test suite on Windows, macOS, and Linux.
12
+
13
+ ## Build and inspect
14
+
15
+ Install release tooling in an isolated development environment:
16
+
17
+ ```console
18
+ python -m pip install --upgrade build twine
19
+ ```
20
+
21
+ Then test and build:
22
+
23
+ ```console
24
+ python -m unittest discover -s tests -v
25
+ python -m build
26
+ python -m twine check dist/*
27
+ ```
28
+
29
+ Inspect both archives before uploading. They must not contain course documents,
30
+ student files, generated workspaces, hardware reports, or credentials.
31
+
32
+ ## TestPyPI
33
+
34
+ Upload the first candidate to TestPyPI and install it in a clean environment
35
+ before making a public release:
36
+
37
+ ```console
38
+ python -m twine upload --repository testpypi dist/*
39
+ ```
40
+
41
+ TestPyPI and PyPI use separate accounts. For ongoing releases, configure PyPI
42
+ Trusted Publishing through the source repository's CI provider instead of
43
+ storing a long-lived API token.
@@ -0,0 +1,118 @@
1
+ # CIT Course Tools
2
+
3
+ `cit-course-tools` is a small, cross-platform collection of command-line tools
4
+ for Computer Information Technology courses. The initial release creates the
5
+ recommended CIT 495 workspace and, when requested, generates a privacy-conscious
6
+ hardware report for local-AI and llama.cpp troubleshooting.
7
+
8
+ The utility does **not** download or install llama.cpp, AI models, or any other
9
+ external software. It has no third-party runtime dependencies.
10
+
11
+ ## Installation
12
+
13
+ For an isolated command-line installation, use [`pipx`](https://pipx.pypa.io/):
14
+
15
+ ```console
16
+ pipx install cit-course-tools
17
+ ```
18
+
19
+ It can also be installed into an existing Python environment:
20
+
21
+ ```console
22
+ python -m pip install cit-course-tools
23
+ ```
24
+
25
+ Python 3.10 or newer is required.
26
+
27
+ ## Usage
28
+
29
+ Navigate to the intended course workspace and use `.`:
30
+
31
+ ```console
32
+ cd /path/to/CIT495
33
+ cit-course .
34
+ ```
35
+
36
+ Or supply the workspace directory directly:
37
+
38
+ ```console
39
+ cit-course --all /path/to/CIT495
40
+ ```
41
+
42
+ On Windows, a path containing spaces should be quoted:
43
+
44
+ ```powershell
45
+ cit-course --all "C:\Users\Student\Courses\CIT495"
46
+ ```
47
+
48
+ Available operations are:
49
+
50
+ ```console
51
+ cit-course . --scaffold
52
+ cit-course . --specs
53
+ cit-course . --all
54
+ cit-course --help
55
+ ```
56
+
57
+ With no operation flag, the utility runs interactively. If the target is
58
+ omitted, it defaults to the current directory.
59
+
60
+ The utility stays in its installed Python environment. It is never copied or
61
+ moved into the course workspace.
62
+
63
+ ## Workspace structure
64
+
65
+ The initial scaffold is:
66
+
67
+ ```text
68
+ CIT495/
69
+ ├── README.md
70
+ ├── models/
71
+ │ └── README.md
72
+ ├── llama.cpp/
73
+ │ └── README.md
74
+ ├── labs/
75
+ │ ├── README.md
76
+ │ └── lab01/
77
+ │ ├── logs/
78
+ │ ├── prompts/
79
+ │ └── results/
80
+ ├── project/
81
+ │ └── README.md
82
+ └── specs/
83
+ └── README.md
84
+ ```
85
+
86
+ Later lab directories are added as the semester progresses. The persistent
87
+ semester system belongs in `project/`, while lab evidence belongs under
88
+ `labs/`.
89
+
90
+ Scaffolding is idempotent: missing components are restored, populated README
91
+ files are preserved, and student files are not deleted.
92
+
93
+ ## Hardware report and privacy
94
+
95
+ The optional report is written to:
96
+
97
+ ```text
98
+ <workspace>/specs/hardware_specs.txt
99
+ ```
100
+
101
+ It may include the operating system, architecture, CPU, CPU counts, memory,
102
+ storage, relevant instruction sets, Python version, and detected GPUs. Some
103
+ details may be unavailable on a particular system.
104
+
105
+ The report intentionally excludes usernames, serial numbers, device IDs, MAC
106
+ and IP addresses, license keys, credentials, precise location, and unrelated
107
+ software inventories. Students should still review the report before sharing
108
+ it.
109
+
110
+ ## Development
111
+
112
+ Run the standard-library test suite with:
113
+
114
+ ```console
115
+ python -m unittest discover -s tests -v
116
+ ```
117
+
118
+ See `PUBLISHING.md` for the release checklist.
@@ -0,0 +1,140 @@
1
+ Metadata-Version: 2.4
2
+ Name: cit-course-tools
3
+ Version: 0.1.0
4
+ Summary: Course workspace and hardware-report tools for CIT classes
5
+ Keywords: CIT,course tools,education,llama.cpp,local AI,workspace
6
+ Classifier: Development Status :: 3 - Alpha
7
+ Classifier: Environment :: Console
8
+ Classifier: Intended Audience :: Education
9
+ Classifier: Natural Language :: English
10
+ Classifier: Operating System :: OS Independent
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3 :: Only
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Classifier: Topic :: Education
19
+ Classifier: Topic :: System :: Systems Administration
20
+ Requires-Python: >=3.10
21
+ Description-Content-Type: text/markdown
22
+
23
+ # CIT Course Tools
24
+
25
+ `cit-course-tools` is a small, cross-platform collection of command-line tools
26
+ for Computer Information Technology courses. The initial release creates the
27
+ recommended CIT 495 workspace and, when requested, generates a privacy-conscious
28
+ hardware report for local-AI and llama.cpp troubleshooting.
29
+
30
+ The utility does **not** download or install llama.cpp, AI models, or any other
31
+ external software. It has no third-party runtime dependencies.
32
+
33
+ ## Installation
34
+
35
+ For an isolated command-line installation, use [`pipx`](https://pipx.pypa.io/):
36
+
37
+ ```console
38
+ pipx install cit-course-tools
39
+ ```
40
+
41
+ It can also be installed into an existing Python environment:
42
+
43
+ ```console
44
+ python -m pip install cit-course-tools
45
+ ```
46
+
47
+ Python 3.10 or newer is required.
48
+
49
+ ## Usage
50
+
51
+ Navigate to the intended course workspace and use `.`:
52
+
53
+ ```console
54
+ cd /path/to/CIT495
55
+ cit-course .
56
+ ```
57
+
58
+ Or supply the workspace directory directly:
59
+
60
+ ```console
61
+ cit-course --all /path/to/CIT495
62
+ ```
63
+
64
+ On Windows, a path containing spaces should be quoted:
65
+
66
+ ```powershell
67
+ cit-course --all "C:\Users\Student\Courses\CIT495"
68
+ ```
69
+
70
+ Available operations are:
71
+
72
+ ```console
73
+ cit-course . --scaffold
74
+ cit-course . --specs
75
+ cit-course . --all
76
+ cit-course --help
77
+ ```
78
+
79
+ With no operation flag, the utility runs interactively. If the target is
80
+ omitted, it defaults to the current directory.
81
+
82
+ The utility stays in its installed Python environment. It is never copied or
83
+ moved into the course workspace.
84
+
85
+ ## Workspace structure
86
+
87
+ The initial scaffold is:
88
+
89
+ ```text
90
+ CIT495/
91
+ ├── README.md
92
+ ├── models/
93
+ │ └── README.md
94
+ ├── llama.cpp/
95
+ │ └── README.md
96
+ ├── labs/
97
+ │ ├── README.md
98
+ │ └── lab01/
99
+ │ ├── logs/
100
+ │ ├── prompts/
101
+ │ └── results/
102
+ ├── project/
103
+ │ └── README.md
104
+ └── specs/
105
+ └── README.md
106
+ ```
107
+
108
+ Later lab directories are added as the semester progresses. The persistent
109
+ semester system belongs in `project/`, while lab evidence belongs under
110
+ `labs/`.
111
+
112
+ Scaffolding is idempotent: missing components are restored, populated README
113
+ files are preserved, and student files are not deleted.
114
+
115
+ ## Hardware report and privacy
116
+
117
+ The optional report is written to:
118
+
119
+ ```text
120
+ <workspace>/specs/hardware_specs.txt
121
+ ```
122
+
123
+ It may include the operating system, architecture, CPU, CPU counts, memory,
124
+ storage, relevant instruction sets, Python version, and detected GPUs. Some
125
+ details may be unavailable on a particular system.
126
+
127
+ The report intentionally excludes usernames, serial numbers, device IDs, MAC
128
+ and IP addresses, license keys, credentials, precise location, and unrelated
129
+ software inventories. Students should still review the report before sharing
130
+ it.
131
+
132
+ ## Development
133
+
134
+ Run the standard-library test suite with:
135
+
136
+ ```console
137
+ python -m unittest discover -s tests -v
138
+ ```
139
+
140
+ See `PUBLISHING.md` for the release checklist.
@@ -0,0 +1,12 @@
1
+ CHANGELOG.md
2
+ MANIFEST.in
3
+ PUBLISHING.md
4
+ PYPI_README.md
5
+ cit_setup.py
6
+ pyproject.toml
7
+ cit_course_tools.egg-info/PKG-INFO
8
+ cit_course_tools.egg-info/SOURCES.txt
9
+ cit_course_tools.egg-info/dependency_links.txt
10
+ cit_course_tools.egg-info/entry_points.txt
11
+ cit_course_tools.egg-info/top_level.txt
12
+ tests/test_cit_setup.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ cit-course = cit_setup:cli