Skip to content

Commit a63d416

Browse files
committed
🔧 Fix Python version compatibility: Drop Python 3.7 support
- Removed Python 3.7 from test matrix (not available on Ubuntu 24.04) - Updated minimum Python requirement to 3.8+ - Python 3.7 reached EOL on June 27, 2023 - Updated classifiers and setup.py accordingly - Bumped version to 1.0.3 This should fix the GitHub Actions test failures.
1 parent e033440 commit a63d416

File tree

5 files changed

+84
-8
lines changed

5 files changed

+84
-8
lines changed

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ubuntu-latest
1313
strategy:
1414
matrix:
15-
python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"]
15+
python-version: [3.8, 3.9, "3.10", "3.11", "3.12"]
1616

1717
steps:
1818
- uses: actions/checkout@v4

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ A modern, type-safe Python library for **Hetzner Cloud Server** management with
1616
- **Comprehensive Error Handling** - Detailed exception hierarchy
1717
- **Automatic Model Parsing** - JSON responses automatically converted to Python objects
1818
- **Rate Limiting Aware** - Built-in handling of API rate limits
19-
- **Modern Python** - Supports Python 3.7+
19+
- **Modern Python** - Supports Python 3.8+
2020

2121
## 📦 Installation
2222

pyproject.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "pyhetznerserver"
7-
version = "1.0.2"
7+
version = "1.0.3"
88
description = "A modern, type-safe Python library for Hetzner Cloud Server management"
99
readme = "README.md"
1010
license = {text = "MIT"}
@@ -31,8 +31,7 @@ classifiers = [
3131
"License :: OSI Approved :: MIT License",
3232
"Operating System :: OS Independent",
3333
"Programming Language :: Python :: 3",
34-
"Programming Language :: Python :: 3.7",
35-
"Programming Language :: Python :: 3.8",
34+
"Programming Language :: Python :: 3.8",
3635
"Programming Language :: Python :: 3.9",
3736
"Programming Language :: Python :: 3.10",
3837
"Programming Language :: Python :: 3.11",
@@ -43,7 +42,7 @@ classifiers = [
4342
"Topic :: Utilities",
4443
"Typing :: Typed"
4544
]
46-
requires-python = ">=3.7"
45+
requires-python = ">=3.8"
4746
dependencies = [
4847
"requests>=2.28.0",
4948
"typing-extensions>=4.0.0; python_version<'3.8'"

release_notes.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
🎉 PyHetznerServer v1.0.0 Release Notes
2+
3+
## 🚀 First Stable Release
4+
5+
This is the first stable release of PyHetznerServer, a modern, type-safe Python library for Hetzner Cloud Server management.
6+
7+
### ✨ Key Features
8+
9+
- **Complete Server Lifecycle Management** - Create, manage, and delete cloud servers
10+
- **All Server Actions** - Power management, backups, rescue mode, ISO handling, and more
11+
- **Type Safety** - Full type hints throughout the codebase
12+
- **Dry-Run Mode** - Test your code without making real API calls
13+
- **Comprehensive Error Handling** - Detailed exception hierarchy
14+
- **Automatic Model Parsing** - JSON responses automatically converted to Python objects
15+
- **Rate Limiting Aware** - Built-in handling of API rate limits
16+
- **Modern Python** - Supports Python 3.7+
17+
18+
### �� Installation
19+
20+
```bash
21+
pip install pyhetznerserver
22+
```
23+
24+
### 🛠️ Quick Start
25+
26+
```python
27+
from pyhetznerserver import HetznerClient
28+
29+
# Initialize client
30+
client = HetznerClient(token="your_api_token_here")
31+
32+
# Create a server
33+
server, action = client.servers.create(
34+
name="my-server",
35+
server_type="cx11",
36+
image="ubuntu-20.04",
37+
location="fsn1"
38+
)
39+
40+
# Manage server
41+
server.power_off()
42+
server.power_on()
43+
server.reboot()
44+
45+
client.close()
46+
```
47+
48+
### 📋 Supported Operations
49+
50+
- ✅ Server CRUD operations
51+
- ✅ Power management (on, off, reboot, reset, shutdown)
52+
- ✅ Image creation and server rebuilding
53+
- ✅ Backup enable/disable with scheduling
54+
- ✅ Rescue mode enable/disable
55+
- ✅ ISO mounting and unmounting
56+
- ✅ Server type changes with disk upgrades
57+
- ✅ Protection settings (delete, rebuild protection)
58+
- ✅ Network attachment/detachment
59+
- ✅ DNS PTR record management
60+
- ✅ Password reset functionality
61+
- ✅ Server action monitoring
62+
63+
### 🧪 Technical Details
64+
65+
- **Python Support**: 3.7+
66+
- **Type Hints**: Complete type coverage
67+
- **Testing**: 24 passing tests
68+
- **CI/CD**: GitHub Actions workflow
69+
- **Documentation**: Comprehensive README and examples
70+
- **License**: MIT
71+
72+
### 🙏 Acknowledgments
73+
74+
Built for the Python and Hetzner Cloud community with ❤️
75+
76+
---
77+
78+
**Happy Cloud Computingcheck-build* ☁️

setup.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,14 @@
5757
"responses>=0.22.0"
5858
]
5959
},
60-
python_requires=">=3.7",
60+
python_requires=">=3.8",
6161
classifiers=[
6262
"Development Status :: 4 - Beta",
6363
"Intended Audience :: Developers",
6464
"Intended Audience :: System Administrators",
6565
"License :: OSI Approved :: MIT License",
6666
"Operating System :: OS Independent",
6767
"Programming Language :: Python :: 3",
68-
"Programming Language :: Python :: 3.7",
6968
"Programming Language :: Python :: 3.8",
7069
"Programming Language :: Python :: 3.9",
7170
"Programming Language :: Python :: 3.10",

0 commit comments

Comments
 (0)