Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- #1117: Add `sync` command for incremental loading of changed files in dev-mode modules. Detects modified files since last sync using SHA-1 hash and recompiles only what is stale. Supports `-delete` for processing removed files and `-test` for running changed test-phase unit tests.
- #106: A module can now specify `<SystemRequirements SYSNamespace="true"/>` to prevent installation in non-%SYS namespaces.

### Changed
- Minimum supported Python version is now 3.9

### Fixed
- Performance: Studio project creation on package load in dev mode is now 80% faster.
- #994: Prevent crash in `zn` command when target namespace lacks IPM mappings
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ zpm: USER>

| IRIS Version | Supported Python Versions |
|--------------|---------------------------|
| <2025.1 | 3.10 - 3.12 |
| 2025.x | 3.10 - 3.13 |
| 2026.1+ | 3.10 - 3.14 |
| <2025.1 | 3.9 - 3.12 |
| 2025.x | 3.9 - 3.13 |
| 2026.1+ | 3.9 - 3.14 |

## Compatibility Notes

Expand Down
4 changes: 2 additions & 2 deletions module.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@
ExtraPipFlags="--no-deps" />
<PythonWheel Name="oras-0.1.30-py3-none-any.whl" ExtraPipFlags="--no-deps" />
<PythonWheel Name="referencing-0.36.2-py3-none-any.whl" ExtraPipFlags="--no-deps" />
<PythonWheel Name="requests-2.33.0-py3-none-any.whl" ExtraPipFlags="--no-deps" />
<PythonWheel Name="requests-2.32.3-py3-none-any.whl" ExtraPipFlags="--no-deps" />
<PythonWheel Name="typing_extensions-4.12.2-py3-none-any.whl" ExtraPipFlags="--no-deps" />
<PythonWheel Name="urllib3-2.7.0-py3-none-any.whl" ExtraPipFlags="--no-deps" />
<PythonWheel Name="urllib3-2.6.3-py3-none-any.whl" ExtraPipFlags="--no-deps" />

<!-- Pure python implementation of rpds-py for offline installation or behind a
firewall.
Expand Down
8 changes: 5 additions & 3 deletions modules/python/rpds.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
r"""Note:
r"""Note:
This is a pure python implementation of the rpds-py library implemented using Rust here https://github.com/crate-py/rpds
This should be placed somewhere under <iris-root>/lib/python, so that when users decide to install the real rpds-py library, it will override this one.
"""

from collections.abc import Mapping, Iterable, Iterator, Set
from typing import Any, Generic, TypeVar
from __future__ import annotations

from collections.abc import Iterator, Set
from typing import Any, Generic, Iterable, Mapping, TypeVar

_T = TypeVar("_T")
_KT_co = TypeVar("_KT_co", covariant=True)
Expand Down
8 changes: 5 additions & 3 deletions preload/cls/IPM/Installer.cls
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ ClassMethod InstallORASIfMissing()
}
}
} else {
write !!,"WARNING: Flexible Python Runtime is not configured on this instance with a valid Python version (>=3.10). Not all IPM features will be available. If you wish to use ORAS registries, configure Flexible Python Runtime and then reinstall IPM.",!
write !!,"WARNING: Flexible Python Runtime is not configured on this instance with a valid Python version (>=3.9). Not all IPM features will be available. If you wish to use ORAS registries, configure Flexible Python Runtime and then reinstall IPM.",!
}
quit $$$OK
}
Expand All @@ -170,8 +170,10 @@ ClassMethod ValidatePythonRuntime() As %Boolean
{
try {
set version = ..PythonMajorMinorVersion()
if (+version < 3.10) {
write !!,"WARNING: Python version "_version_" is not supported. IPM requires Python 3.10 or higher.",!
set major = +$piece(version, ".", 1)
set minor = +$piece(version, ".", 2)
if (major < 3) || ((major = 3) && (minor < 9)) {
write !!,"WARNING: Python version "_version_" is not supported. IPM requires Python 3.9 or higher.",!
return 0
}
} catch e {
Expand Down
2 changes: 1 addition & 1 deletion src/inc/IPM/Common.inc
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ ROUTINE %IPM.Common [Type=INC]

#; Separator for package version and platform version in OCI tag , e.g. "1.0.0__2024.1"
#Define OrasTagPlatformSeparator "__"
#Define OrasRequiresFlexiblePython "Flexible Python Runtime is not configured. You must configure it with Python 3.10+ and reinstall IPM to use ORAS registries."
#Define OrasRequiresFlexiblePython "Flexible Python Runtime is not configured. You must configure it with Python 3.9+ and reinstall IPM to use ORAS registries."

#; Place where Deployed.xml is stored
#Define DeployedXMLDir "studio-project"
Expand Down
Binary file added wheels/requests-2.32.3-py3-none-any.whl
Binary file not shown.
Binary file removed wheels/requests-2.33.0-py3-none-any.whl
Binary file not shown.
4 changes: 2 additions & 2 deletions wheels/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ jsonschema_specifications==2024.10.1
jsonschema==4.23.0
oras==0.1.30
referencing==0.36.2
requests==2.33.0
requests==2.32.3
typing_extensions==4.12.2
urllib3==2.7.0
urllib3==2.6.3
# When https://github.com/pypa/pip/pull/10837 is merged, we should specify per-requirement `--no-deps` in requirements.txt directly,
# so that dependabot etc. don't pick up vulnerabilities in `rpds-py`, which we implement ourselves.
Binary file added wheels/urllib3-2.6.3-py3-none-any.whl
Binary file not shown.
Binary file removed wheels/urllib3-2.7.0-py3-none-any.whl
Binary file not shown.
Loading