scitex-container 0.1.2__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.
- scitex_container-0.1.2/.github/workflows/ci.yml +70 -0
- scitex_container-0.1.2/.github/workflows/publish-pypi.yml +52 -0
- scitex_container-0.1.2/.gitignore +807 -0
- scitex_container-0.1.2/.readthedocs.yaml +31 -0
- scitex_container-0.1.2/LICENSE +661 -0
- scitex_container-0.1.2/PKG-INFO +222 -0
- scitex_container-0.1.2/README.md +198 -0
- scitex_container-0.1.2/docs/scitex-icon-navy-inverted.png +0 -0
- scitex_container-0.1.2/docs/scitex-logo-blue-cropped.png +0 -0
- scitex_container-0.1.2/docs/scitex-logo-transparent.png +0 -0
- scitex_container-0.1.2/docs/sphinx/api/scitex_container.rst +34 -0
- scitex_container-0.1.2/docs/sphinx/cli_reference.rst +194 -0
- scitex_container-0.1.2/docs/sphinx/conf.py +81 -0
- scitex_container-0.1.2/docs/sphinx/index.rst +31 -0
- scitex_container-0.1.2/docs/sphinx/installation.rst +46 -0
- scitex_container-0.1.2/docs/sphinx/mcp_reference.rst +54 -0
- scitex_container-0.1.2/docs/sphinx/quickstart.rst +84 -0
- scitex_container-0.1.2/docs/sphinx/requirements.txt +5 -0
- scitex_container-0.1.2/pyproject.toml +41 -0
- scitex_container-0.1.2/scripts/install-host-packages.sh +228 -0
- scitex_container-0.1.2/scripts/install_apptainer.sh +145 -0
- scitex_container-0.1.2/scripts/install_claude_code.sh +193 -0
- scitex_container-0.1.2/scripts/install_codex.sh +187 -0
- scitex_container-0.1.2/scripts/install_docker.sh +220 -0
- scitex_container-0.1.2/scripts/install_emacs.sh +240 -0
- scitex_container-0.1.2/scripts/install_formatter_linter.sh +168 -0
- scitex_container-0.1.2/scripts/install_gdu.sh +133 -0
- scitex_container-0.1.2/scripts/install_gemini.sh +187 -0
- scitex_container-0.1.2/scripts/install_gh.sh +146 -0
- scitex_container-0.1.2/scripts/install_google_chrome.sh +140 -0
- scitex_container-0.1.2/scripts/install_imagemagick.sh +157 -0
- scitex_container-0.1.2/scripts/install_mermaid.sh +166 -0
- scitex_container-0.1.2/scripts/install_nodejs.sh +139 -0
- scitex_container-0.1.2/scripts/install_nvidia_driver.sh +152 -0
- scitex_container-0.1.2/scripts/install_python.sh +233 -0
- scitex_container-0.1.2/scripts/install_ripgrep.sh +148 -0
- scitex_container-0.1.2/scripts/install_rust.sh +139 -0
- scitex_container-0.1.2/scripts/install_screen.sh +165 -0
- scitex_container-0.1.2/scripts/install_shell_formatter_linter.sh +213 -0
- scitex_container-0.1.2/scripts/install_texlive.sh +149 -0
- scitex_container-0.1.2/scripts/install_tldr.sh +124 -0
- scitex_container-0.1.2/scripts/install_tree.sh +167 -0
- scitex_container-0.1.2/scripts/install_uv.sh +129 -0
- scitex_container-0.1.2/scripts/install_yq.sh +122 -0
- scitex_container-0.1.2/src/scitex_container/__init__.py +10 -0
- scitex_container-0.1.2/src/scitex_container/__main__.py +6 -0
- scitex_container-0.1.2/src/scitex_container/_cli/__init__.py +141 -0
- scitex_container-0.1.2/src/scitex_container/_cli/_apptainer.py +352 -0
- scitex_container-0.1.2/src/scitex_container/_cli/_docker.py +48 -0
- scitex_container-0.1.2/src/scitex_container/_cli/_env_snapshot.py +149 -0
- scitex_container-0.1.2/src/scitex_container/_cli/_host.py +109 -0
- scitex_container-0.1.2/src/scitex_container/_cli/_mcp.py +256 -0
- scitex_container-0.1.2/src/scitex_container/_cli/_sandbox.py +231 -0
- scitex_container-0.1.2/src/scitex_container/_cli/_status.py +151 -0
- scitex_container-0.1.2/src/scitex_container/_mcp/__init__.py +38 -0
- scitex_container-0.1.2/src/scitex_container/_mcp/handlers.py +337 -0
- scitex_container-0.1.2/src/scitex_container/_snapshot.py +249 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/__init__.py +74 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_build.py +116 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_command_builder.py +301 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_freeze.py +90 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_sandbox.py +253 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_sandbox_versioning.py +298 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_status.py +86 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_utils.py +78 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_verify.py +249 -0
- scitex_container-0.1.2/src/scitex_container/apptainer/_versioning.py +328 -0
- scitex_container-0.1.2/src/scitex_container/docker/__init__.py +16 -0
- scitex_container-0.1.2/src/scitex_container/docker/_compose.py +247 -0
- scitex_container-0.1.2/src/scitex_container/docker/_mounts.py +67 -0
- scitex_container-0.1.2/src/scitex_container/host/__init__.py +18 -0
- scitex_container-0.1.2/src/scitex_container/host/_mounts.py +195 -0
- scitex_container-0.1.2/src/scitex_container/host/_packages.py +185 -0
- scitex_container-0.1.2/src/scitex_container/mcp_server.py +315 -0
- scitex_container-0.1.2/tests/__init__.py +0 -0
- scitex_container-0.1.2/tests/test_import.py +37 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
lint:
|
|
11
|
+
name: Lint
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- uses: actions/setup-python@v5
|
|
17
|
+
with:
|
|
18
|
+
python-version: "3.11"
|
|
19
|
+
cache: "pip"
|
|
20
|
+
|
|
21
|
+
- name: Install ruff
|
|
22
|
+
run: pip install ruff
|
|
23
|
+
|
|
24
|
+
- name: Run ruff
|
|
25
|
+
run: ruff check src/
|
|
26
|
+
|
|
27
|
+
test:
|
|
28
|
+
name: Test (Python ${{ matrix.python-version }})
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
strategy:
|
|
31
|
+
fail-fast: false
|
|
32
|
+
matrix:
|
|
33
|
+
python-version: ["3.10", "3.11", "3.12"]
|
|
34
|
+
|
|
35
|
+
steps:
|
|
36
|
+
- uses: actions/checkout@v4
|
|
37
|
+
|
|
38
|
+
- uses: actions/setup-python@v5
|
|
39
|
+
with:
|
|
40
|
+
python-version: ${{ matrix.python-version }}
|
|
41
|
+
cache: "pip"
|
|
42
|
+
|
|
43
|
+
- name: Install package with dev dependencies
|
|
44
|
+
run: pip install -e ".[dev]"
|
|
45
|
+
|
|
46
|
+
- name: Run tests
|
|
47
|
+
run: pytest tests/ -v --tb=short
|
|
48
|
+
|
|
49
|
+
build:
|
|
50
|
+
name: Build check
|
|
51
|
+
runs-on: ubuntu-latest
|
|
52
|
+
steps:
|
|
53
|
+
- uses: actions/checkout@v4
|
|
54
|
+
|
|
55
|
+
- uses: actions/setup-python@v5
|
|
56
|
+
with:
|
|
57
|
+
python-version: "3.11"
|
|
58
|
+
cache: "pip"
|
|
59
|
+
|
|
60
|
+
- name: Install package
|
|
61
|
+
run: pip install ".[all]"
|
|
62
|
+
|
|
63
|
+
- name: Check import
|
|
64
|
+
run: |
|
|
65
|
+
python -c "import scitex_container; print('Version:', scitex_container.__version__)"
|
|
66
|
+
python -c "from scitex_container import apptainer, docker, host"
|
|
67
|
+
echo "All imports successful"
|
|
68
|
+
|
|
69
|
+
- name: Check CLI entry point
|
|
70
|
+
run: scitex-container --version
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- name: Set up Python
|
|
17
|
+
uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: "3.11"
|
|
20
|
+
|
|
21
|
+
- name: Install build tools
|
|
22
|
+
run: |
|
|
23
|
+
python -m pip install --upgrade pip
|
|
24
|
+
pip install build twine
|
|
25
|
+
|
|
26
|
+
- name: Build package
|
|
27
|
+
run: python -m build
|
|
28
|
+
|
|
29
|
+
- name: Check package
|
|
30
|
+
run: twine check dist/*
|
|
31
|
+
|
|
32
|
+
- name: Upload build artifacts
|
|
33
|
+
uses: actions/upload-artifact@v4
|
|
34
|
+
with:
|
|
35
|
+
name: dist
|
|
36
|
+
path: dist/
|
|
37
|
+
|
|
38
|
+
publish:
|
|
39
|
+
needs: build
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
environment: pypi
|
|
42
|
+
permissions:
|
|
43
|
+
id-token: write
|
|
44
|
+
steps:
|
|
45
|
+
- name: Download build artifacts
|
|
46
|
+
uses: actions/download-artifact@v4
|
|
47
|
+
with:
|
|
48
|
+
name: dist
|
|
49
|
+
path: dist/
|
|
50
|
+
|
|
51
|
+
- name: Publish to PyPI
|
|
52
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|