Skip to content

Commit 5167f8f

Browse files
committed
refactor: prepare for v1.9.1
- add Nuitka build script for Linux (build_optimized.sh) - update CHANGELOG.md for v1.9.1 - update README.md to match new version and features - improve clarity of CONTRIBUTING.md - sync Windows and Linux build scripts
1 parent 7575c97 commit 5167f8f

8 files changed

+114
-46
lines changed

CHANGELOG.md

+29
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
# Changelog
22

3+
## [v1.9.1] - 2024-10-13
4+
5+
### Added
6+
- Support for specifying log directory name using AUTOGGUF_LOG_DIR_NAME environment variable
7+
- Work in progress GGUF merge window
8+
- Support for repository types in HF Transfer utility
9+
- New `dequantize_gguf.py` script
10+
- Support for MiniCPM3, RWKVv6, OLMoE, IBM Granite, and Jamba in llama.cpp convert scripts (conversion only)
11+
- Add Nuitka build script for Linux
12+
13+
### Changed
14+
- Updated Finnish and Russian localizations using Claude 3 Opus
15+
- Improved layout of HF Upload window
16+
- Updated gguf library from upstream
17+
- Refactored code to use localizations for menubar
18+
- Renamed imports_and_globals.py to globals.py
19+
- Moved general functions verify_gguf and process_args to globals.py
20+
- Created Plugins class for extensibility
21+
- Updated dependencies:
22+
- huggingface-hub
23+
- fastapi (~=0.115.0)
24+
- setuptools (~=75.1.0)
25+
- pyside6 (~=6.7.3)
26+
- uvicorn (~=0.31.0)
27+
28+
### Fixed
29+
- Corrected localization strings and file select types for GGUF merging
30+
- Fix minor errors in build scripts
31+
332
## [v1.9.0] - 2024-09-15
433

534
### Added

CONTRIBUTING.md

+8-9
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
First off, thanks for taking the time to contribute! 🎉👍
44

5-
## How Can I Contribute?
6-
75
### Reporting Bugs
86

97
- Use the issue tracker to report bugs
@@ -15,17 +13,18 @@ First off, thanks for taking the time to contribute! 🎉👍
1513
- Use the issue tracker to suggest enhancements
1614
- Explain why this enhancement would be useful
1715

18-
### Your First Code Contribution
16+
### Code Contributions
1917

2018
You can find issues labeled with "good first issue" in the Issues tab as a starting point. Code refactors and optimizations are also appreciated, although if there's a vulnrability please report it privately in the Security tab. For feature PRs, please make a discussion first to make sure your feature can be added and continously maintained.
2119

2220
1. Fork the repo
23-
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
24-
3. Install pre-commit: (`pip install pre-commit`)
25-
4. Set up the git hook scripts: (`pre-commit install`)
26-
5. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
27-
6. Push to the branch (`git push origin feature/AmazingFeature`)
28-
7. Open a Pull Request
21+
2. Clone your fork (`git clone https://github.com/your-username/AutoGGUF.git && cd AutoGGUF`)
22+
3. Create your feature branch (`git checkout -b feature/AmazingFeature`)
23+
5. Install pre-commit: (`pip install pre-commit`)
24+
6. Set up the git hook scripts: (`pre-commit install`)
25+
7. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
26+
8. Push to the branch (`git push origin feature/AmazingFeature`)
27+
9. Open a Pull Request on GitHub
2928

3029
## Styleguides
3130

README.md

+10-8
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ AutoGGUF provides a graphical user interface for quantizing GGUF models using th
3737
- LoRA conversion and merging
3838
- Preset saving and loading
3939
- AutoFP8 quantization
40-
- GGUF splitting
40+
- GGUF splitting and merging
4141

4242
## Usage
4343

@@ -59,9 +59,10 @@ Standard builds:
5959
1. Download the latest release
6060
2. Extract all files to a folder
6161
3. Run `AutoGGUF-x64.exe`
62+
4. Any necessary folders will be automatically created
6263

6364
Setup builds:
64-
1. Download setup varient of latest release
65+
1. Download setup variant of latest release
6566
2. Extract all files to a folder
6667
3. Run the setup program
6768
4. The .GGUF extension will be registered with the program automatically
@@ -74,8 +75,8 @@ After launching the program, you may access its local server at port 7001 (set `
7475
#### Linux/macOS:
7576
```bash
7677
gpg --import AutoGGUF-v1.5.0-prerel.asc
77-
gpg --verify AutoGGUF-v1.5.0-Windows-avx2-prerel.zip.sig AutoGGUF-v1.5.0-Windows-avx2-prerel.zip
78-
sha256sum -c AutoGGUF-v1.5.0-prerel.sha256
78+
gpg --verify AutoGGUF-v1.9.1-Windows-avx2.zip.sig AutoGGUF-v1.9.1-Windows-avx2.zip
79+
sha256sum -c AutoGGUF-v1.9.1.sha256
7980
```
8081

8182
#### Windows (PowerShell):
@@ -84,11 +85,11 @@ sha256sum -c AutoGGUF-v1.5.0-prerel.sha256
8485
gpg --import AutoGGUF-v1.5.0-prerel.asc
8586
8687
# Verify the signature
87-
gpg --verify AutoGGUF-v1.8.1-Windows-avx2.zip.sig AutoGGUF-v1.8.1-Windows-avx2.zip
88+
gpg --verify AutoGGUF-v1.9.1-Windows-avx2.zip.sig AutoGGUF-v1.9.1-Windows-avx2.zip
8889
8990
# Check SHA256
90-
$fileHash = (Get-FileHash -Algorithm SHA256 AutoGGUF-v1.8.1-Windows-avx2.zip).Hash.ToLower()
91-
$storedHash = (Get-Content AutoGGUF-v1.8.1.sha256 | Select-String AutoGGUF-v1.8.1-Windows-avx2.zip).Line.Split()[0]
91+
$fileHash = (Get-FileHash -Algorithm SHA256 AutoGGUF-v1.9.1-Windows-avx2.zip).Hash.ToLower()
92+
$storedHash = (Get-Content AutoGGUF-v1.9.1.sha256 | Select-String AutoGGUF-v1.9.1-Windows-avx2.zip).Line.Split()[0]
9293
if ($fileHash -eq $storedHash) { "SHA256 Match" } else { "SHA256 Mismatch" }
9394
```
9495

@@ -106,11 +107,12 @@ cd build/<type>/dist/
106107

107108
### Windows
108109
```bash
110+
pip install -U pyinstaller
109111
build RELEASE | DEV
110112
```
111113
Find the executable in `build/<type>/dist/AutoGGUF.exe`.
112114

113-
You can also use the slower build but faster executable method (Nuitka):
115+
You can also use Nuitka, which may result in a slower build but a faster output executable:
114116
```bash
115117
build_optimized RELEASE | DEV
116118
```

SECURITY.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
| Version | Supported |
66
|-----------------|--------------------|
7-
| stable (v1.9.0) | :white_check_mark: |
7+
| stable (v1.9.x) | :white_check_mark: |
88

9-
Beta versions are not supported, and may have unknown security issues.
9+
Beta versions are not officially supported and may contain unknown security vulnerabilities. Use them at your own risk.
1010

1111
## Reporting a Vulnerability
1212

build.sh

+11-24
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,20 @@
11
#!/bin/bash
22

33
if [ $# -eq 0 ]; then
4-
echo "Usage: $0 [RELEASE|DEV]"
4+
echo "Usage: build.sh [RELEASE|DEV]"
55
exit 1
66
fi
77

8-
BUILD_TYPE=$1
9-
ICON_PATH="../../assets/favicon_large.png"
10-
ASSETS_PATH="../../assets"
11-
SRC_PATH="src/main.py"
12-
13-
case $BUILD_TYPE in
14-
RELEASE)
15-
OUTPUT_DIR="build/release"
16-
EXTRA_ARGS="--windowed"
17-
;;
18-
DEV)
19-
OUTPUT_DIR="build/dev"
20-
EXTRA_ARGS=""
21-
;;
22-
*)
23-
echo "Invalid build type. Use RELEASE or DEV."
24-
exit 1
25-
;;
26-
esac
27-
28-
echo "Building $BUILD_TYPE version..."
29-
30-
pyinstaller $EXTRA_ARGS --onefile --name=AutoGGUF --icon=$ICON_PATH --add-data "$ASSETS_PATH:assets" --distpath=$OUTPUT_DIR/dist --workpath=$OUTPUT_DIR/build --specpath=$OUTPUT_DIR $SRC_PATH
8+
if [ "${1,,}" = "release" ]; then
9+
echo "Building RELEASE version..."
10+
pyinstaller --windowed --onefile --name=AutoGGUF --icon=../../assets/favicon_large.png --add-data "../../assets:assets" --distpath=build/release/dist --workpath=build/release/build --specpath=build/release src/main.py
11+
elif [ "${1,,}" = "dev" ]; then
12+
echo "Building DEV version..."
13+
pyinstaller --onefile --name=AutoGGUF --icon=../../assets/favicon_large.png --add-data "../../assets:assets" --distpath=build/dev/dist --workpath=build/dev/build --specpath=build/dev src/main.py
14+
else
15+
echo "Invalid argument. Use RELEASE or DEV."
16+
exit 1
17+
fi
3118

3219
if [ $? -ne 0 ]; then
3320
echo "Build failed."

build_optimized.bat

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@echo off
22

33
if "%1"=="" (
4-
echo Usage: build_fast.bat [RELEASE^|DEV]
4+
echo Usage: build_optimized.bat [RELEASE^|DEV]
55
exit /b 1
66
)
77

build_optimized.sh

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
3+
if [ -z "$1" ]; then
4+
echo "Usage: build_fast.sh [RELEASE|DEV]"
5+
exit 1
6+
fi
7+
8+
COMMON_FLAGS="--standalone --enable-plugin=pyside6 --include-data-dir=assets=assets"
9+
10+
if [ "$1" == "RELEASE" ]; then
11+
echo "Building RELEASE version..."
12+
python -m nuitka $COMMON_FLAGS --windows-console-mode=disable --output-dir=build/release src/main.py --lto=yes
13+
elif [ "$1" == "DEV" ]; then
14+
echo "Building DEV version..."
15+
python -m nuitka $COMMON_FLAGS --output-dir=build/dev src/main.py
16+
else
17+
echo "Invalid argument. Use RELEASE or DEV."
18+
exit 1
19+
fi
20+
21+
if [ $? -ne 0 ]; then
22+
echo "Build failed."
23+
exit 1
24+
else
25+
echo "Build completed successfully."
26+
fi

run.sh

+27-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,31 @@
11
#!/bin/sh
22

3+
# Check if Python is installed
4+
if ! command -v python3 >/dev/null 2>&1; then
5+
echo "Error: Python 3 is not installed or not in the PATH."
6+
echo "Please install Python 3 and try again."
7+
exit 1
8+
fi
9+
10+
# Set environment variables
311
export PYTHONIOENCODING=utf-8
412
export AUTOGGUF_LANGUAGE=en-US
5-
export AUTOGGUF_CHECK_BACKEND=disabled
6-
python3 src/main.py
13+
14+
# Try to run main.py in the current directory
15+
if [ -f "main.py" ]; then
16+
echo "Running main.py in the current directory..."
17+
python3 main.py
18+
exit 0
19+
fi
20+
21+
# If main.py doesn't exist in the current directory, try src/main.py
22+
if [ -f "src/main.py" ]; then
23+
echo "Running src/main.py..."
24+
python3 src/main.py
25+
exit 0
26+
fi
27+
28+
# If neither file is found, display an error message
29+
echo "Error: Neither main.py nor src/main.py found."
30+
echo "Please make sure the script is in the correct directory."
31+
exit 1

0 commit comments

Comments
 (0)