cloudx-proxy 0.17.7__tar.gz → 0.18.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.
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/context/project-overview.md +2 -2
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.github/workflows/claude.yml +1 -1
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.github/workflows/codeql.yml +2 -2
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.github/workflows/test.yml +0 -1
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/CHANGELOG.md +7 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/PKG-INFO +6 -7
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/README.md +4 -4
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy/_version.py +2 -2
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy.egg-info/PKG-INFO +6 -7
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy.egg-info/SOURCES.txt +1 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy.egg-info/scm_file_list.json +1 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/pyproject.toml +3 -4
- cloudx_proxy-0.18.0/tests/conftest.py +17 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/uv.lock +2 -63
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/README.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/context/README.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/context/architecture.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/context/commit-conventions.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/context/development.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/context/ssh-config.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/roadmap/architecture-review.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/roadmap/documentation-findings.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.ai/roadmap/improvement-roadmap.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.clinerules +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.envrc +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.github/dependabot.yml +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.github/workflows/release.yml +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.gitignore +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/.releaserc +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/CLAUDE.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/CONTRIBUTING.md +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/LICENSE +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/NOTICE +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy/__init__.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy/_op.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy/cli.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy/colors.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy/core.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy/setup.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy.egg-info/dependency_links.txt +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy.egg-info/entry_points.txt +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy.egg-info/requires.txt +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/cloudx_proxy.egg-info/top_level.txt +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/setup.cfg +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/__init__.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_backward_compat.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_cli_options.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_config_safety.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_core.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_instance_tags.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_non_interactive.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_runtime_safety.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_setup.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_ssh_config.py +0 -0
- {cloudx_proxy-0.17.7 → cloudx_proxy-0.18.0}/tests/test_version.py +0 -0
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
## Prerequisites
|
|
15
15
|
|
|
16
|
-
1. **Python 3.
|
|
16
|
+
1. **Python 3.11+**: Required for cloudX-proxy and uv package manager.
|
|
17
17
|
2. **AWS CLI v2**: For configuring AWS profiles and credentials.
|
|
18
18
|
3. **AWS Session Manager Plugin**: Enables secure tunneling through AWS Systems Manager.
|
|
19
19
|
4. **OpenSSH Client**: Handles SSH key management and connections.
|
|
@@ -97,7 +97,7 @@ After setup, configure VSCode settings (`settings.json`):
|
|
|
97
97
|
## Troubleshooting
|
|
98
98
|
|
|
99
99
|
### Common Issues
|
|
100
|
-
- **Python/Installation**: Ensure Python 3.
|
|
100
|
+
- **Python/Installation**: Ensure Python 3.11+ and `uv` are installed.
|
|
101
101
|
- **Setup**: Verify AWS profile format (`cloudX-{env}-{user}`) and permissions.
|
|
102
102
|
- **Connection**: Check VSCode SSH config path, instance status, and timeouts.
|
|
103
103
|
- **SSH Keys**: Verify permissions (600 for private key) and 1Password agent status.
|
|
@@ -31,12 +31,12 @@ jobs:
|
|
|
31
31
|
uses: actions/checkout@v7
|
|
32
32
|
|
|
33
33
|
- name: Initialize CodeQL
|
|
34
|
-
uses: github/codeql-action/init@v4.
|
|
34
|
+
uses: github/codeql-action/init@v4.39.1
|
|
35
35
|
with:
|
|
36
36
|
languages: ${{ matrix.language }}
|
|
37
37
|
queries: security-and-quality
|
|
38
38
|
|
|
39
39
|
- name: Perform CodeQL Analysis
|
|
40
|
-
uses: github/codeql-action/analyze@v4.
|
|
40
|
+
uses: github/codeql-action/analyze@v4.39.1
|
|
41
41
|
with:
|
|
42
42
|
category: "/language:${{ matrix.language }}"
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [0.18.0](https://github.com/easytocloud/cloudX-proxy/compare/v0.17.7...v0.18.0) (2026-11-04)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* require Python 3.11+ (3.10 is end of life) ([9577577](https://github.com/easytocloud/cloudX-proxy/commit/9577577bc6c3996d6e7c4e8859fc12642f71f8ee))
|
|
7
|
+
|
|
1
8
|
## [0.17.7](https://github.com/easytocloud/cloudX-proxy/compare/v0.17.6...v0.17.7) (2026-10-28)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cloudx-proxy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.18.0
|
|
4
4
|
Summary: SSH proxy command to connect VSCode with cloudX instance using AWS Systems Manager
|
|
5
5
|
Author-email: easytocloud <info@easytocloud.com>
|
|
6
6
|
License: MIT License
|
|
@@ -36,13 +36,12 @@ Classifier: Intended Audience :: Developers
|
|
|
36
36
|
Classifier: License :: OSI Approved :: MIT License
|
|
37
37
|
Classifier: Operating System :: OS Independent
|
|
38
38
|
Classifier: Programming Language :: Python :: 3
|
|
39
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
40
39
|
Classifier: Programming Language :: Python :: 3.11
|
|
41
40
|
Classifier: Programming Language :: Python :: 3.12
|
|
42
41
|
Classifier: Programming Language :: Python :: 3.13
|
|
43
42
|
Classifier: Topic :: Software Development :: Build Tools
|
|
44
43
|
Classifier: Topic :: System :: Systems Administration
|
|
45
|
-
Requires-Python: >=3.
|
|
44
|
+
Requires-Python: >=3.11
|
|
46
45
|
Description-Content-Type: text/markdown
|
|
47
46
|
License-File: LICENSE
|
|
48
47
|
License-File: NOTICE
|
|
@@ -80,7 +79,7 @@ Using AWS Systems Manager Session Manager, it eliminates the need for direct SSH
|
|
|
80
79
|
|
|
81
80
|
1. **Install Prerequisites:**
|
|
82
81
|
```bash
|
|
83
|
-
# Install Python 3.
|
|
82
|
+
# Install Python 3.11+, AWS CLI v2, Session Manager plugin
|
|
84
83
|
pip install uv
|
|
85
84
|
```
|
|
86
85
|
|
|
@@ -120,10 +119,10 @@ All documentation and examples use this convention. If you see different casing
|
|
|
120
119
|
|
|
121
120
|
## Prerequisites
|
|
122
121
|
|
|
123
|
-
1. **Python 3.
|
|
122
|
+
1. **Python 3.11+** - Required for cloudX-proxy and uv package manager
|
|
124
123
|
- [Python Installation Guide](https://www.python.org/downloads/)
|
|
125
124
|
- Check your version: `python --version` or `python3 --version`
|
|
126
|
-
- Supports Python 3.
|
|
125
|
+
- Supports Python 3.11, 3.12, 3.13
|
|
127
126
|
|
|
128
127
|
2. **AWS CLI v2** - Used to configure AWS profiles and credentials
|
|
129
128
|
- [Installation Guide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
|
|
@@ -720,7 +719,7 @@ These permissions are required to bootstrap the instance, so that after creation
|
|
|
720
719
|
### Common Issues
|
|
721
720
|
|
|
722
721
|
1. **Python/Installation Issues**
|
|
723
|
-
- **Error: "python not found"** - Ensure Python 3.
|
|
722
|
+
- **Error: "python not found"** - Ensure Python 3.11+ is installed and in PATH
|
|
724
723
|
- **Error: "uvx command not found"** - Install uv: `pip install uv`
|
|
725
724
|
- **Error: "Package not found"** - Try updating uv: `pip install --upgrade uv`
|
|
726
725
|
- **ImportError/ModuleNotFoundError** - Check Python version compatibility (`python --version`)
|
|
@@ -28,7 +28,7 @@ Using AWS Systems Manager Session Manager, it eliminates the need for direct SSH
|
|
|
28
28
|
|
|
29
29
|
1. **Install Prerequisites:**
|
|
30
30
|
```bash
|
|
31
|
-
# Install Python 3.
|
|
31
|
+
# Install Python 3.11+, AWS CLI v2, Session Manager plugin
|
|
32
32
|
pip install uv
|
|
33
33
|
```
|
|
34
34
|
|
|
@@ -68,10 +68,10 @@ All documentation and examples use this convention. If you see different casing
|
|
|
68
68
|
|
|
69
69
|
## Prerequisites
|
|
70
70
|
|
|
71
|
-
1. **Python 3.
|
|
71
|
+
1. **Python 3.11+** - Required for cloudX-proxy and uv package manager
|
|
72
72
|
- [Python Installation Guide](https://www.python.org/downloads/)
|
|
73
73
|
- Check your version: `python --version` or `python3 --version`
|
|
74
|
-
- Supports Python 3.
|
|
74
|
+
- Supports Python 3.11, 3.12, 3.13
|
|
75
75
|
|
|
76
76
|
2. **AWS CLI v2** - Used to configure AWS profiles and credentials
|
|
77
77
|
- [Installation Guide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
|
|
@@ -668,7 +668,7 @@ These permissions are required to bootstrap the instance, so that after creation
|
|
|
668
668
|
### Common Issues
|
|
669
669
|
|
|
670
670
|
1. **Python/Installation Issues**
|
|
671
|
-
- **Error: "python not found"** - Ensure Python 3.
|
|
671
|
+
- **Error: "python not found"** - Ensure Python 3.11+ is installed and in PATH
|
|
672
672
|
- **Error: "uvx command not found"** - Install uv: `pip install uv`
|
|
673
673
|
- **Error: "Package not found"** - Try updating uv: `pip install --upgrade uv`
|
|
674
674
|
- **ImportError/ModuleNotFoundError** - Check Python version compatibility (`python --version`)
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0,
|
|
21
|
+
__version__ = version = '0.18.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 18, 0)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cloudx-proxy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.18.0
|
|
4
4
|
Summary: SSH proxy command to connect VSCode with cloudX instance using AWS Systems Manager
|
|
5
5
|
Author-email: easytocloud <info@easytocloud.com>
|
|
6
6
|
License: MIT License
|
|
@@ -36,13 +36,12 @@ Classifier: Intended Audience :: Developers
|
|
|
36
36
|
Classifier: License :: OSI Approved :: MIT License
|
|
37
37
|
Classifier: Operating System :: OS Independent
|
|
38
38
|
Classifier: Programming Language :: Python :: 3
|
|
39
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
40
39
|
Classifier: Programming Language :: Python :: 3.11
|
|
41
40
|
Classifier: Programming Language :: Python :: 3.12
|
|
42
41
|
Classifier: Programming Language :: Python :: 3.13
|
|
43
42
|
Classifier: Topic :: Software Development :: Build Tools
|
|
44
43
|
Classifier: Topic :: System :: Systems Administration
|
|
45
|
-
Requires-Python: >=3.
|
|
44
|
+
Requires-Python: >=3.11
|
|
46
45
|
Description-Content-Type: text/markdown
|
|
47
46
|
License-File: LICENSE
|
|
48
47
|
License-File: NOTICE
|
|
@@ -80,7 +79,7 @@ Using AWS Systems Manager Session Manager, it eliminates the need for direct SSH
|
|
|
80
79
|
|
|
81
80
|
1. **Install Prerequisites:**
|
|
82
81
|
```bash
|
|
83
|
-
# Install Python 3.
|
|
82
|
+
# Install Python 3.11+, AWS CLI v2, Session Manager plugin
|
|
84
83
|
pip install uv
|
|
85
84
|
```
|
|
86
85
|
|
|
@@ -120,10 +119,10 @@ All documentation and examples use this convention. If you see different casing
|
|
|
120
119
|
|
|
121
120
|
## Prerequisites
|
|
122
121
|
|
|
123
|
-
1. **Python 3.
|
|
122
|
+
1. **Python 3.11+** - Required for cloudX-proxy and uv package manager
|
|
124
123
|
- [Python Installation Guide](https://www.python.org/downloads/)
|
|
125
124
|
- Check your version: `python --version` or `python3 --version`
|
|
126
|
-
- Supports Python 3.
|
|
125
|
+
- Supports Python 3.11, 3.12, 3.13
|
|
127
126
|
|
|
128
127
|
2. **AWS CLI v2** - Used to configure AWS profiles and credentials
|
|
129
128
|
- [Installation Guide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
|
|
@@ -720,7 +719,7 @@ These permissions are required to bootstrap the instance, so that after creation
|
|
|
720
719
|
### Common Issues
|
|
721
720
|
|
|
722
721
|
1. **Python/Installation Issues**
|
|
723
|
-
- **Error: "python not found"** - Ensure Python 3.
|
|
722
|
+
- **Error: "python not found"** - Ensure Python 3.11+ is installed and in PATH
|
|
724
723
|
- **Error: "uvx command not found"** - Install uv: `pip install uv`
|
|
725
724
|
- **Error: "Package not found"** - Try updating uv: `pip install --upgrade uv`
|
|
726
725
|
- **ImportError/ModuleNotFoundError** - Check Python version compatibility (`python --version`)
|
|
@@ -9,7 +9,7 @@ dependencies = [
|
|
|
9
9
|
"boto3>=1.34.0",
|
|
10
10
|
"click>=8.1.0", # For better CLI argument handling than argparse
|
|
11
11
|
]
|
|
12
|
-
requires-python = ">=3.
|
|
12
|
+
requires-python = ">=3.11"
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
license = {file = "LICENSE"}
|
|
15
15
|
keywords = ["aws", "vscode", "cloud9", "cloudX", "ssm", "ssh", "proxy"]
|
|
@@ -20,7 +20,6 @@ classifiers = [
|
|
|
20
20
|
"License :: OSI Approved :: MIT License",
|
|
21
21
|
"Operating System :: OS Independent",
|
|
22
22
|
"Programming Language :: Python :: 3",
|
|
23
|
-
"Programming Language :: Python :: 3.10",
|
|
24
23
|
"Programming Language :: Python :: 3.11",
|
|
25
24
|
"Programming Language :: Python :: 3.12",
|
|
26
25
|
"Programming Language :: Python :: 3.13",
|
|
@@ -56,7 +55,7 @@ dev = [
|
|
|
56
55
|
]
|
|
57
56
|
|
|
58
57
|
[tool.ruff]
|
|
59
|
-
target-version = "
|
|
58
|
+
target-version = "py311"
|
|
60
59
|
line-length = 120
|
|
61
60
|
|
|
62
61
|
[tool.ruff.lint]
|
|
@@ -64,7 +63,7 @@ select = [
|
|
|
64
63
|
"E", # pycodestyle errors
|
|
65
64
|
"F", # pyflakes
|
|
66
65
|
"I", # import sorting
|
|
67
|
-
"UP", # pyupgrade (target is Python 3.
|
|
66
|
+
"UP", # pyupgrade (target is Python 3.11+)
|
|
68
67
|
"B", # bugbear
|
|
69
68
|
"SIM", # simplifications
|
|
70
69
|
"RUF", # ruff-specific
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""Shared pytest configuration."""
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@pytest.fixture(autouse=True)
|
|
7
|
+
def _isolated_home(tmp_path_factory, monkeypatch):
|
|
8
|
+
"""Point the home directory at a throwaway one for every test.
|
|
9
|
+
|
|
10
|
+
CloudXSetup resolves ~/.ssh/config through Path.home(). Without this a
|
|
11
|
+
test that registers a host appends an ``Include`` for its temp directory
|
|
12
|
+
to the developer's real ~/.ssh/config, and that temp config's
|
|
13
|
+
``ProxyCommand`` then shadows the real one on the next ssh connection.
|
|
14
|
+
"""
|
|
15
|
+
home = tmp_path_factory.mktemp("home")
|
|
16
|
+
monkeypatch.setenv("HOME", str(home))
|
|
17
|
+
monkeypatch.setenv("USERPROFILE", str(home))
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
version = 1
|
|
2
2
|
revision = 3
|
|
3
|
-
requires-python = ">=3.
|
|
4
|
-
resolution-markers = [
|
|
5
|
-
"python_full_version >= '3.11'",
|
|
6
|
-
"python_full_version < '3.11'",
|
|
7
|
-
]
|
|
3
|
+
requires-python = ">=3.11"
|
|
8
4
|
|
|
9
5
|
[[package]]
|
|
10
6
|
name = "boolean-py"
|
|
@@ -58,8 +54,7 @@ wheels = [
|
|
|
58
54
|
|
|
59
55
|
[package.optional-dependencies]
|
|
60
56
|
filecache = [
|
|
61
|
-
{ name = "filelock"
|
|
62
|
-
{ name = "filelock", version = "4.2.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
|
|
57
|
+
{ name = "filelock" },
|
|
63
58
|
]
|
|
64
59
|
|
|
65
60
|
[[package]]
|
|
@@ -77,22 +72,6 @@ version = "3.4.6"
|
|
|
77
72
|
source = { registry = "https://pypi.org/simple" }
|
|
78
73
|
sdist = { url = "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz", hash = "sha256:1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6", size = 143363, upload-time = "2026-03-15T18:53:25.478Z" }
|
|
79
74
|
wheels = [
|
|
80
|
-
{ url = "https://files.pythonhosted.org/packages/e6/8c/2c56124c6dc53a774d435f985b5973bc592f42d437be58c0c92d65ae7296/charset_normalizer-3.4.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2e1d8ca8611099001949d1cdfaefc510cf0f212484fe7c565f735b68c78c3c95", size = 298751, upload-time = "2026-03-15T18:50:00.003Z" },
|
|
81
|
-
{ url = "https://files.pythonhosted.org/packages/86/2a/2a7db6b314b966a3bcad8c731c0719c60b931b931de7ae9f34b2839289ee/charset_normalizer-3.4.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e25369dc110d58ddf29b949377a93e0716d72a24f62bad72b2b39f155949c1fd", size = 200027, upload-time = "2026-03-15T18:50:01.702Z" },
|
|
82
|
-
{ url = "https://files.pythonhosted.org/packages/68/f2/0fe775c74ae25e2a3b07b01538fc162737b3e3f795bada3bc26f4d4d495c/charset_normalizer-3.4.6-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:259695e2ccc253feb2a016303543d691825e920917e31f894ca1a687982b1de4", size = 220741, upload-time = "2026-03-15T18:50:03.194Z" },
|
|
83
|
-
{ url = "https://files.pythonhosted.org/packages/10/98/8085596e41f00b27dd6aa1e68413d1ddda7e605f34dd546833c61fddd709/charset_normalizer-3.4.6-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dda86aba335c902b6149a02a55b38e96287157e609200811837678214ba2b1db", size = 215802, upload-time = "2026-03-15T18:50:05.859Z" },
|
|
84
|
-
{ url = "https://files.pythonhosted.org/packages/fd/ce/865e4e09b041bad659d682bbd98b47fb490b8e124f9398c9448065f64fee/charset_normalizer-3.4.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51fb3c322c81d20567019778cb5a4a6f2dc1c200b886bc0d636238e364848c89", size = 207908, upload-time = "2026-03-15T18:50:07.676Z" },
|
|
85
|
-
{ url = "https://files.pythonhosted.org/packages/a8/54/8c757f1f7349262898c2f169e0d562b39dcb977503f18fdf0814e923db78/charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:4482481cb0572180b6fd976a4d5c72a30263e98564da68b86ec91f0fe35e8565", size = 194357, upload-time = "2026-03-15T18:50:09.327Z" },
|
|
86
|
-
{ url = "https://files.pythonhosted.org/packages/6f/29/e88f2fac9218907fc7a70722b393d1bbe8334c61fe9c46640dba349b6e66/charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39f5068d35621da2881271e5c3205125cc456f54e9030d3f723288c873a71bf9", size = 205610, upload-time = "2026-03-15T18:50:10.732Z" },
|
|
87
|
-
{ url = "https://files.pythonhosted.org/packages/4c/c5/21d7bb0cb415287178450171d130bed9d664211fdd59731ed2c34267b07d/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8bea55c4eef25b0b19a0337dc4e3f9a15b00d569c77211fa8cde38684f234fb7", size = 203512, upload-time = "2026-03-15T18:50:12.535Z" },
|
|
88
|
-
{ url = "https://files.pythonhosted.org/packages/a4/be/ce52f3c7fdb35cc987ad38a53ebcef52eec498f4fb6c66ecfe62cfe57ba2/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f0cdaecd4c953bfae0b6bb64910aaaca5a424ad9c72d85cb88417bb9814f7550", size = 195398, upload-time = "2026-03-15T18:50:14.236Z" },
|
|
89
|
-
{ url = "https://files.pythonhosted.org/packages/81/a0/3ab5dd39d4859a3555e5dadfc8a9fa7f8352f8c183d1a65c90264517da0e/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:150b8ce8e830eb7ccb029ec9ca36022f756986aaaa7956aad6d9ec90089338c0", size = 221772, upload-time = "2026-03-15T18:50:15.581Z" },
|
|
90
|
-
{ url = "https://files.pythonhosted.org/packages/04/6e/6a4e41a97ba6b2fa87f849c41e4d229449a586be85053c4d90135fe82d26/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e68c14b04827dd76dcbd1aeea9e604e3e4b78322d8faf2f8132c7138efa340a8", size = 205759, upload-time = "2026-03-15T18:50:17.047Z" },
|
|
91
|
-
{ url = "https://files.pythonhosted.org/packages/db/3b/34a712a5ee64a6957bf355b01dc17b12de457638d436fdb05d01e463cd1c/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3778fd7d7cd04ae8f54651f4a7a0bd6e39a0cf20f801720a4c21d80e9b7ad6b0", size = 216938, upload-time = "2026-03-15T18:50:18.44Z" },
|
|
92
|
-
{ url = "https://files.pythonhosted.org/packages/cb/05/5bd1e12da9ab18790af05c61aafd01a60f489778179b621ac2a305243c62/charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dad6e0f2e481fffdcf776d10ebee25e0ef89f16d691f1e5dee4b586375fdc64b", size = 210138, upload-time = "2026-03-15T18:50:19.852Z" },
|
|
93
|
-
{ url = "https://files.pythonhosted.org/packages/bd/8e/3cb9e2d998ff6b21c0a1860343cb7b83eba9cdb66b91410e18fc4969d6ab/charset_normalizer-3.4.6-cp310-cp310-win32.whl", hash = "sha256:74a2e659c7ecbc73562e2a15e05039f1e22c75b7c7618b4b574a3ea9118d1557", size = 144137, upload-time = "2026-03-15T18:50:21.505Z" },
|
|
94
|
-
{ url = "https://files.pythonhosted.org/packages/d8/8f/78f5489ffadb0db3eb7aff53d31c24531d33eb545f0c6f6567c25f49a5ff/charset_normalizer-3.4.6-cp310-cp310-win_amd64.whl", hash = "sha256:aa9cccf4a44b9b62d8ba8b4dd06c649ba683e4bf04eea606d2e94cfc2d6ff4d6", size = 154244, upload-time = "2026-03-15T18:50:22.81Z" },
|
|
95
|
-
{ url = "https://files.pythonhosted.org/packages/e4/74/e472659dffb0cadb2f411282d2d76c60da1fc94076d7fffed4ae8a93ec01/charset_normalizer-3.4.6-cp310-cp310-win_arm64.whl", hash = "sha256:e985a16ff513596f217cee86c21371b8cd011c0f6f056d0920aa2d926c544058", size = 143312, upload-time = "2026-03-15T18:50:24.074Z" },
|
|
96
75
|
{ url = "https://files.pythonhosted.org/packages/62/28/ff6f234e628a2de61c458be2779cb182bc03f6eec12200d4a525bbfc9741/charset_normalizer-3.4.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:82060f995ab5003a2d6e0f4ad29065b7672b6593c8c63559beefe5b443242c3e", size = 293582, upload-time = "2026-03-15T18:50:25.454Z" },
|
|
97
76
|
{ url = "https://files.pythonhosted.org/packages/1c/b7/b1a117e5385cbdb3205f6055403c2a2a220c5ea80b8716c324eaf75c5c95/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60c74963d8350241a79cb8feea80e54d518f72c26db618862a8f53e5023deaf9", size = 197240, upload-time = "2026-03-15T18:50:27.196Z" },
|
|
98
77
|
{ url = "https://files.pythonhosted.org/packages/a1/5f/2574f0f09f3c3bc1b2f992e20bce6546cb1f17e111c5be07308dc5427956/charset_normalizer-3.4.6-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6e4333fb15c83f7d1482a76d45a0818897b3d33f00efd215528ff7c51b8e35d", size = 217363, upload-time = "2026-03-15T18:50:28.601Z" },
|
|
@@ -252,37 +231,10 @@ wheels = [
|
|
|
252
231
|
{ url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" },
|
|
253
232
|
]
|
|
254
233
|
|
|
255
|
-
[[package]]
|
|
256
|
-
name = "exceptiongroup"
|
|
257
|
-
version = "1.3.1"
|
|
258
|
-
source = { registry = "https://pypi.org/simple" }
|
|
259
|
-
dependencies = [
|
|
260
|
-
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
|
261
|
-
]
|
|
262
|
-
sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
|
|
263
|
-
wheels = [
|
|
264
|
-
{ url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" },
|
|
265
|
-
]
|
|
266
|
-
|
|
267
|
-
[[package]]
|
|
268
|
-
name = "filelock"
|
|
269
|
-
version = "4.1.0"
|
|
270
|
-
source = { registry = "https://pypi.org/simple" }
|
|
271
|
-
resolution-markers = [
|
|
272
|
-
"python_full_version < '3.11'",
|
|
273
|
-
]
|
|
274
|
-
sdist = { url = "https://files.pythonhosted.org/packages/4c/58/6fd434bec86eff7c38a3168454cb132b762b2bea9b3ac094101a2f7bc32a/filelock-4.1.0.tar.gz", hash = "sha256:ad7f724afef953e731b1cc39bcd3a09166d72ed7fcdf29e6e88b1c3235c6715d", size = 561277, upload-time = "2026-10-09T19:57:20.34Z" }
|
|
275
|
-
wheels = [
|
|
276
|
-
{ url = "https://files.pythonhosted.org/packages/ee/86/032133892a5de43b5a98200b01aadcad68cc255e274a762f08b8a76d2912/filelock-4.1.0-py3-none-any.whl", hash = "sha256:2ce9818e3e2d8f284c1a964414447ef148d42a5fd5e2a477a7118e574b293ec1", size = 133003, upload-time = "2026-10-09T19:57:18.716Z" },
|
|
277
|
-
]
|
|
278
|
-
|
|
279
234
|
[[package]]
|
|
280
235
|
name = "filelock"
|
|
281
236
|
version = "4.2.4"
|
|
282
237
|
source = { registry = "https://pypi.org/simple" }
|
|
283
|
-
resolution-markers = [
|
|
284
|
-
"python_full_version >= '3.11'",
|
|
285
|
-
]
|
|
286
238
|
sdist = { url = "https://files.pythonhosted.org/packages/d8/28/3893324bcadf8f89b1616637468d766af3f625008c0735bf704fdfa86617/filelock-4.2.4.tar.gz", hash = "sha256:c6d8663535e1650ee430507b4ffbac7b464dd64b7647ea0112a9f406499d163d", size = 652444, upload-time = "2026-10-19T01:57:51.001Z" }
|
|
287
239
|
wheels = [
|
|
288
240
|
{ url = "https://files.pythonhosted.org/packages/e0/1b/5e74289a1878e666bb4b65fe5805a04cafcac2aa5f519ef1ead67ef91c56/filelock-4.2.4-py3-none-any.whl", hash = "sha256:301241438c57936ef93f4243a94f2559022268bfcf9b375a9a72eb0f8db8358e", size = 162475, upload-time = "2026-10-19T01:57:49.419Z" },
|
|
@@ -354,16 +306,6 @@ version = "1.2.4"
|
|
|
354
306
|
source = { registry = "https://pypi.org/simple" }
|
|
355
307
|
sdist = { url = "https://files.pythonhosted.org/packages/cc/52/1ec7ead2c7528bf3d1db73e886fa4df10f9e6f0eb7854a448b7090cfcef7/msgpack-1.2.4.tar.gz", hash = "sha256:475c44e12f2a5de766a8448783f149c9b33f3f49b88953c6cd739a77d93c732c", size = 197764, upload-time = "2026-10-26T17:55:48.593Z" }
|
|
356
308
|
wheels = [
|
|
357
|
-
{ url = "https://files.pythonhosted.org/packages/a3/d0/68889d2fcead0e81470cf28346a0fce80c451a3e7df9d74b0837f517027e/msgpack-1.2.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2a4e141a9c91d1502cf98f9ca9f87af222c7857e2bfa49c1d81343157c38a28e", size = 91412, upload-time = "2026-10-26T17:53:31.652Z" },
|
|
358
|
-
{ url = "https://files.pythonhosted.org/packages/cc/40/6d7a9b886df357e86f48c82470e281333477eea80aef23c33e87e8244ab5/msgpack-1.2.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0626ea840cce866237c4da08439e9faa9cf79e6e4c62358978ee055961e8cff2", size = 90295, upload-time = "2026-10-26T17:53:33.169Z" },
|
|
359
|
-
{ url = "https://files.pythonhosted.org/packages/86/16/bbb47e6732a2b812dca695dc8f6f5eed69219422ef946088295e1cb7f865/msgpack-1.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:25e1f2466c4ea0fb9b694a922f75eb92d7ce6262eda8cb8a5dada34fe990d486", size = 451054, upload-time = "2026-10-26T17:53:34.598Z" },
|
|
360
|
-
{ url = "https://files.pythonhosted.org/packages/a8/f3/d215252efd2befcac420b01889bb17a816194a2c59501a15f7b1136f6591/msgpack-1.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85b79ed643cfde70672152b3d1aee438ca647c5d2ffb7dba7226689ee9f6f44b", size = 461803, upload-time = "2026-10-26T17:53:36.231Z" },
|
|
361
|
-
{ url = "https://files.pythonhosted.org/packages/d0/2d/5063d98e52b2e5252b8fcfaaa99438c1994bedac6ce7761fb9ded8bea810/msgpack-1.2.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c1119e840d2c9164120f067740d99c9608d21d4ee9a172cf0f00dcafdf5624a4", size = 425474, upload-time = "2026-10-26T17:53:37.841Z" },
|
|
362
|
-
{ url = "https://files.pythonhosted.org/packages/40/39/4077628b0c593d09d838de00f80eb726f66c20e83dfc3639b6a70dbfa80c/msgpack-1.2.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ce22584c8b12aa7e424dab08c481afd95ad4bd3007829fd1767d28b4dbbc3167", size = 445334, upload-time = "2026-10-26T17:53:39.448Z" },
|
|
363
|
-
{ url = "https://files.pythonhosted.org/packages/80/19/77a05f14d57c2dfeb85a627d7eb31d54b0393fcb0a4df1a1686d81a95fe4/msgpack-1.2.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:8ab62a50cab6f786d49f3584914c1088b0ed8de76bfe675b26a60c7bec426380", size = 422467, upload-time = "2026-10-26T17:53:40.979Z" },
|
|
364
|
-
{ url = "https://files.pythonhosted.org/packages/89/07/7861755bd759030c051ae238f578806e975dba0c9830be0c7f8998fbf26d/msgpack-1.2.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:429329799c72335b0e37be65964ec5b89062e57fe7ad9ee779b886df5e34ddaf", size = 463319, upload-time = "2026-10-26T17:53:42.767Z" },
|
|
365
|
-
{ url = "https://files.pythonhosted.org/packages/c0/c9/873fbd651d977717a2eee58d5c9277a7999f615d997646c8fb1e68cdc3f0/msgpack-1.2.4-cp310-cp310-win32.whl", hash = "sha256:1cdb51af4f8f8d20af66ea9384883bf99b8ddb3cdf05f09eecda921646e15135", size = 68431, upload-time = "2026-10-26T17:53:44.134Z" },
|
|
366
|
-
{ url = "https://files.pythonhosted.org/packages/7e/28/42c874635d34b35b76011dff6067f986a9c87d225c52347308e97b3409d1/msgpack-1.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:d626fcacecaf3a5bfcd57e35709ce59a56a39cd4a3cd201d1b43c00d20bcbcda", size = 75871, upload-time = "2026-10-26T17:53:45.33Z" },
|
|
367
309
|
{ url = "https://files.pythonhosted.org/packages/64/cb/a3bd4d234c0f2f7e646b9be259b801c5d6a35c97f93dded4f722e6b80acd/msgpack-1.2.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1095b1ebcc8c9d3e70c51240b7160d8e9da66044e0a45c3ef8403d3a9ef0c5ad", size = 90935, upload-time = "2026-10-26T17:53:46.588Z" },
|
|
368
310
|
{ url = "https://files.pythonhosted.org/packages/56/3c/fc87d06bdfc99b302f4379f0eb34bb8695b6ecd90b965652d0a3195d1acd/msgpack-1.2.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a4b47ec7422bef149223786a87df80067ac65bfc7c0565e5cf1dfbdc40acee50", size = 90187, upload-time = "2026-10-26T17:53:48.151Z" },
|
|
369
311
|
{ url = "https://files.pythonhosted.org/packages/05/a3/abebe12c1b589b7eeab60cb87dd5eb398fcf549bdafca8c30d8d73e48493/msgpack-1.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c75cfda0d3ccb1f6abc20e0608ad6b226e11f317b5ac297721504d2509e2bd9", size = 466911, upload-time = "2026-10-26T17:53:49.536Z" },
|
|
@@ -512,7 +454,6 @@ version = "5.5.5"
|
|
|
512
454
|
source = { registry = "https://pypi.org/simple" }
|
|
513
455
|
dependencies = [
|
|
514
456
|
{ name = "prettytable" },
|
|
515
|
-
{ name = "tomli", marker = "python_full_version < '3.11'" },
|
|
516
457
|
]
|
|
517
458
|
sdist = { url = "https://files.pythonhosted.org/packages/7d/18/ddd93af610a04f56a51a27095ddfe55238e1ec236f6758730a0d2c0b49f2/pip_licenses-5.5.5.tar.gz", hash = "sha256:60750c006adf7a0910347b726e8ee9fee3bc8d2e7c8307a5c4ec0776c8e2a276", size = 54955, upload-time = "2026-03-28T22:12:56.48Z" }
|
|
518
459
|
wheels = [
|
|
@@ -598,12 +539,10 @@ version = "9.1.1"
|
|
|
598
539
|
source = { registry = "https://pypi.org/simple" }
|
|
599
540
|
dependencies = [
|
|
600
541
|
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
601
|
-
{ name = "exceptiongroup", marker = "python_full_version < '3.11'" },
|
|
602
542
|
{ name = "iniconfig" },
|
|
603
543
|
{ name = "packaging" },
|
|
604
544
|
{ name = "pluggy" },
|
|
605
545
|
{ name = "pygments" },
|
|
606
|
-
{ name = "tomli", marker = "python_full_version < '3.11'" },
|
|
607
546
|
]
|
|
608
547
|
sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313", size = 1636369, upload-time = "2026-06-19T10:58:32.857Z" }
|
|
609
548
|
wheels = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|