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.
- cit_course_tools-0.1.0/CHANGELOG.md +9 -0
- cit_course_tools-0.1.0/MANIFEST.in +20 -0
- cit_course_tools-0.1.0/PKG-INFO +140 -0
- cit_course_tools-0.1.0/PUBLISHING.md +43 -0
- cit_course_tools-0.1.0/PYPI_README.md +118 -0
- cit_course_tools-0.1.0/cit_course_tools.egg-info/PKG-INFO +140 -0
- cit_course_tools-0.1.0/cit_course_tools.egg-info/SOURCES.txt +12 -0
- cit_course_tools-0.1.0/cit_course_tools.egg-info/dependency_links.txt +1 -0
- cit_course_tools-0.1.0/cit_course_tools.egg-info/entry_points.txt +2 -0
- cit_course_tools-0.1.0/cit_course_tools.egg-info/top_level.txt +1 -0
- cit_course_tools-0.1.0/cit_setup.py +854 -0
- cit_course_tools-0.1.0/pyproject.toml +38 -0
- cit_course_tools-0.1.0/setup.cfg +4 -0
- cit_course_tools-0.1.0/tests/test_cit_setup.py +122 -0
|
@@ -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 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cit_setup
|