diff --git a/.github/workflows/sdk-build.yml b/.github/workflows/sdk-build.yml index fb67f040..d085ddeb 100644 --- a/.github/workflows/sdk-build.yml +++ b/.github/workflows/sdk-build.yml @@ -12,8 +12,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22.04, macos-latest, windows-latest] - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] env: OS: ${{ matrix.os }} PYTHON: ${{ matrix.python-version }} @@ -24,6 +24,9 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install system packages + if: ${{ matrix.os == 'ubuntu-latest' }} + run: sudo apt-get install -y libglib2.0-dev libsecret-1-dev - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/sdk-release.yaml b/.github/workflows/sdk-release.yaml index ede6aec0..897c2072 100644 --- a/.github/workflows/sdk-release.yaml +++ b/.github/workflows/sdk-release.yaml @@ -14,7 +14,7 @@ on: jobs: release: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest permissions: contents: write issues: write @@ -33,6 +33,9 @@ jobs: with: python-version: "3.10" + - name: Install system packages + run: sudo apt-get install -y libglib2.0-dev libsecret-1-dev + - name: Install dependencies run: | python -m pip install --upgrade pip twine diff --git a/.github/workflows/secrets-sdk.yml b/.github/workflows/secrets-sdk.yml index 73697c2a..d3c5fc64 100644 --- a/.github/workflows/secrets-sdk.yml +++ b/.github/workflows/secrets-sdk.yml @@ -78,6 +78,7 @@ jobs: - name: Build wheels uses: PyO3/maturin-action@v1 with: + maturin-version: v1.9.4 # https://github.com/PyO3/maturin/issues/2767 target: ${{ matrix.target }} args: --release --out dist sccache: "true" diff --git a/.npmrc b/.npmrc deleted file mode 100644 index c8361cad..00000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -omit-lockfile-registry-resolved=true \ No newline at end of file diff --git a/README.md b/README.md index bff01a8a..f11e5b83 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,8 @@ For more information on the available sub-packages click [HERE](https://zowe-cli The Zowe core package has dependencies on the packages listed below: ``` -json5 deepmerge +json5 jsonschema pyyaml requests>=2.22 @@ -66,7 +66,7 @@ pip install -U --pre zowe.core-for-zowe-sdk[secrets] Ensure the following prerequisites are installed and on your PATH: -- Python >= 3.9 and `pip` +- Python >= 3.10 and `pip` - Cargo >= 1.72 (to build Rust bindings for Secrets SDK) - Visual Studio Build Tools >= 2015 (Windows only) diff --git a/docs/README.md b/docs/README.md index 682903d7..2ddd4c50 100644 --- a/docs/README.md +++ b/docs/README.md @@ -15,9 +15,7 @@ This document is intended to help you build the documentation that will eventual These steps should help you to build the documentation -0. Clone the repository, open a terminal, and `cd` into the repository directory -1. Install project dependencies: - - `npm install` +1. Clone the repository, open a terminal, and `cd` into the repository directory 2. Create a virtual environment: - `npm run env:create` 3. Activate the virtual environment: diff --git a/docs/source/usage/requirements.rst b/docs/source/usage/requirements.rst index f1b5927f..cf9dfcda 100644 --- a/docs/source/usage/requirements.rst +++ b/docs/source/usage/requirements.rst @@ -3,6 +3,6 @@ Requirements Zowe Client Python SDK requires the following: -- **Python** 3.9+ to run your script +- **Python** 3.10+ to run your script - (optional) **Sphinx** to build project documentation - (optional) **Enchant** to build project documentation diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 2edfb705..00000000 --- a/package-lock.json +++ /dev/null @@ -1,522 +0,0 @@ -{ - "name": "zowe-client-python-sdk", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "zowe-client-python-sdk", - "license": "EPL-2.0", - "devDependencies": { - "opener": "^1.5.2", - "rimraf": "^6.0.1", - "run-script-os": "^1.1.6" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob": { - "version": "11.0.0", - "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/jackspeak": { - "version": "4.0.2", - "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/lru-cache": { - "version": "11.0.2", - "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/minimatch": { - "version": "10.0.1", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/path-key": { - "version": "3.1.1", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "2.0.0", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf": { - "version": "6.0.1", - "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^11.0.0", - "package-json-from-dist": "^1.0.0" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-script-os": { - "version": "1.1.6", - "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==", - "dev": true, - "license": "MIT", - "bin": { - "run-os": "index.js", - "run-script-os": "index.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/which": { - "version": "2.0.2", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - } - } -} diff --git a/package.json b/package.json index 3f12dbcc..f80f31ed 100644 --- a/package.json +++ b/package.json @@ -21,12 +21,10 @@ "doc:dev": "npm run doc:clean && npm run doc:build && npm run doc:open", "doc:build": "cd docs && make html", "doc:clean": "cd docs && make clean", - "doc:open": "opener docs/build/html/index.html", + "doc:open": "python scripts/tasks.py doc-open", "env:create": "python -m venv env", - "env:active": "run-script-os", - "env:active:win32": "echo 'To activate, run the following command:\n\nenv\\Scripts\\activate\n\nTo deactivate, simply run:\n\ndeactivate\n'", - "env:active:default": "echo 'To activate, run the following command:\n\nsource env/bin/activate\n\nTo deactivate, simply run:\n\ndeactivate\n'", - "env:delete": "rimraf env" + "env:active": "python scripts/tasks.py env-active", + "env:delete": "python scripts/tasks.py env-delete" }, "repository": { "type": "git", @@ -42,10 +40,5 @@ "bugs": { "url": "https://github.com/zowe/zowe-client-python-sdk/issues" }, - "homepage": "https://github.com/zowe/zowe-client-python-sdk#readme", - "devDependencies": { - "opener": "^1.5.2", - "rimraf": "^6.0.1", - "run-script-os": "^1.1.6" - } + "homepage": "https://github.com/zowe/zowe-client-python-sdk#readme" } diff --git a/requirements.txt b/requirements.txt index 47526d1e..ca695e9b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ -json5==0.12.1 deepmerge==1.1.0 -jsonschema==4.17.3 +json5==0.12.1 +jsonschema==4.25.1 PyYAML==6.0.1 requests==2.32.4 diff --git a/scripts/tasks.py b/scripts/tasks.py new file mode 100644 index 00000000..db22fe37 --- /dev/null +++ b/scripts/tasks.py @@ -0,0 +1,51 @@ +import os +import shutil +import sys +import webbrowser + + +def doc_open(): + """Opens the generated docs in a web browser.""" + path = "docs/build/html/index.html" + print(f"Opening {path} in web browser...") + abs_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), path) + if not os.path.exists(abs_path): + print(f"Error: {path} does not exist. Please run 'npm run doc:build' first.") + sys.exit(1) + webbrowser.open("file://" + abs_path.replace("\\", "/")) + + +def env_active(): + """Prints the virtual environment activation instructions.""" + activate_cmd = "env\\Scripts\\activate" if sys.platform == "win32" else "source env/bin/activate" + print(f"To activate, run the following command:\n\n{activate_cmd}\n\nTo deactivate, simply run:\n\ndeactivate\n") + + +def env_delete(): + """Deletes the 'env' directory.""" + print("Deleting virtual environment 'env'...") + try: + shutil.rmtree("env") + print("'env' deleted.") + except FileNotFoundError: + print("Virtual environment 'env' does not exist.") + except Exception as e: + print(f"Failed to delete 'env': {e}") + + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Usage: python tasks.py [doc-open|env-active|env-delete]") + sys.exit(1) + + command = sys.argv[1] + + if command == "doc-open": + doc_open() + elif command == "env-active": + env_active() + elif command == "env-delete": + env_delete() + else: + print(f"Unknown command: {command}") + sys.exit(1) diff --git a/src/core/setup.py b/src/core/setup.py index c8820cdd..20019bb1 100644 --- a/src/core/setup.py +++ b/src/core/setup.py @@ -30,13 +30,13 @@ license="EPL-2.0", classifiers=[ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)", ], install_requires=[ - "json5~=0.12.1", "deepmerge~=1.1.0", - "jsonschema~=4.17.3", + "json5~=0.12.1", + "jsonschema~=4.25.1", "pyyaml~=6.0.1", "requests~=2.32.0", "urllib3~=2.5.0", diff --git a/src/setup.py b/src/setup.py index e4399eeb..1dd59481 100644 --- a/src/setup.py +++ b/src/setup.py @@ -44,7 +44,7 @@ def resolve_sdk_dep(sdk_name: str, version_spec: str) -> str: license="EPL-2.0", classifiers=[ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)", ], install_requires=[ diff --git a/src/workflows/setup.py b/src/workflows/setup.py index 94f2d88d..065e2b66 100644 --- a/src/workflows/setup.py +++ b/src/workflows/setup.py @@ -30,7 +30,7 @@ license="EPL-2.0", classifiers=[ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)", ], install_requires=[resolve_sdk_dep("core", "~=" + __version__)], diff --git a/src/zos_console/setup.py b/src/zos_console/setup.py index 468f62de..4067dfec 100644 --- a/src/zos_console/setup.py +++ b/src/zos_console/setup.py @@ -30,7 +30,7 @@ license="EPL-2.0", classifiers=[ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)", ], install_requires=[resolve_sdk_dep("core", "~=" + __version__)], diff --git a/src/zos_files/setup.py b/src/zos_files/setup.py index 3e81dbce..6ba8907a 100644 --- a/src/zos_files/setup.py +++ b/src/zos_files/setup.py @@ -30,7 +30,7 @@ license="EPL-2.0", classifiers=[ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)", ], install_requires=[resolve_sdk_dep("core", "~=" + __version__)], diff --git a/src/zos_jobs/setup.py b/src/zos_jobs/setup.py index 4e3fcc28..806d5dbb 100644 --- a/src/zos_jobs/setup.py +++ b/src/zos_jobs/setup.py @@ -30,7 +30,7 @@ license="EPL-2.0", classifiers=[ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)", ], install_requires=[resolve_sdk_dep("core", "~=" + __version__)], diff --git a/src/zos_tso/setup.py b/src/zos_tso/setup.py index fb6d7387..294c63a4 100644 --- a/src/zos_tso/setup.py +++ b/src/zos_tso/setup.py @@ -30,7 +30,7 @@ license="EPL-2.0", classifiers=[ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)", ], install_requires=[resolve_sdk_dep("core", "~=" + __version__)], diff --git a/src/zosmf/setup.py b/src/zosmf/setup.py index 990f8eea..f2254075 100644 --- a/src/zosmf/setup.py +++ b/src/zosmf/setup.py @@ -30,7 +30,7 @@ license="EPL-2.0", classifiers=[ "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)", ], install_requires=[resolve_sdk_dep("core", "~=" + __version__)],