afterpython 0.3.10__tar.gz → 0.3.11__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.
- {afterpython-0.3.10 → afterpython-0.3.11}/PKG-INFO +2 -2
- {afterpython-0.3.10 → afterpython-0.3.11}/pyproject.toml +2 -2
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/marimo_notebook.py +28 -4
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/tools/_afterpython.py +1 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/README.md +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/__init__.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/_io/toml.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/_io/yaml.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/_paths.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/_typing.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/__init__.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/build_pdoc.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/content_json.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/faq_json.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/index_md.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/jupyter_notebook.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/llms_txt.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/markdown.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/metadata.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/builders/url_md.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/__init__.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/add.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/build.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/bump.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/check.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/clean.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/commit.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/commitizen.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/dev.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/format.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/init.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/init_branch_rules.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/install.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/lock.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/pre_commit.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/preview.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/release.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/remove.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/serve.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/start.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/sync.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/commands/update.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/cli/main.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/const.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/main.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/pcu.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/py.typed +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/ci-workflow-template.yml +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/cz-template.toml +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/dependabot-template.yml +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/deploy-workflow-template.yml +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/pdoc/frame.html.jinja2 +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/pre-commit-config-template.yaml +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/release-workflow-template.yml +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/ruff-template.toml +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/tools/_git.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/tools/branch_rules.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/tools/commitizen.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/tools/github_actions.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/tools/myst.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/tools/pre_commit.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/tools/pyproject.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/utils.py +0 -0
- {afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: afterpython
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.11
|
|
4
4
|
Summary: CLI tool to streamline Python package maintenance and generate a dedicated project website
|
|
5
5
|
Keywords: package-maintenance,project-website,static-site-generator,developer-tools,documentation,cli-tool,ci/cd,mystmd,semantic-release,python-packaging
|
|
6
6
|
Author: Stephen Yau
|
|
@@ -23,7 +23,7 @@ Requires-Dist: gitpython>=3.1.50
|
|
|
23
23
|
Requires-Dist: python-dotenv>=1.2.2
|
|
24
24
|
Requires-Dist: pyproject-metadata>=0.11.0
|
|
25
25
|
Requires-Dist: jupytext>=1.19.2
|
|
26
|
-
Requires-Dist: mystmd>=1.9.
|
|
26
|
+
Requires-Dist: mystmd>=1.9.1
|
|
27
27
|
Requires-Dist: pdoc>=16.0.0
|
|
28
28
|
Requires-Dist: ruff>=0.15.12
|
|
29
29
|
Requires-Dist: pre-commit>=4.6.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "afterpython"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.11"
|
|
4
4
|
description = "CLI tool to streamline Python package maintenance and generate a dedicated project website"
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -43,7 +43,7 @@ dependencies = [
|
|
|
43
43
|
"pyproject-metadata>=0.11.0",
|
|
44
44
|
"jupytext>=1.19.2",
|
|
45
45
|
# "jinja2>=3.1.6",
|
|
46
|
-
"mystmd>=1.9.
|
|
46
|
+
"mystmd>=1.9.1",
|
|
47
47
|
"pdoc>=16.0.0",
|
|
48
48
|
"ruff>=0.15.12",
|
|
49
49
|
"pre-commit>=4.6.0",
|
|
@@ -41,15 +41,33 @@ def is_marimo_notebook(path: Path) -> bool:
|
|
|
41
41
|
return "__generated_with" in head and "marimo.App(" in head
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
def _export_marimo(
|
|
44
|
+
def _export_marimo(
|
|
45
|
+
source: Path,
|
|
46
|
+
output_html: Path,
|
|
47
|
+
mode: MarimoExportMode,
|
|
48
|
+
execute: bool = False,
|
|
49
|
+
):
|
|
45
50
|
"""Run `marimo export` to produce HTML at `output_html`."""
|
|
46
51
|
output_html.parent.mkdir(parents=True, exist_ok=True)
|
|
47
52
|
subcommand = "html-wasm" if mode == "wasm" else "html"
|
|
48
|
-
cmd = [
|
|
53
|
+
cmd = [
|
|
54
|
+
"marimo",
|
|
55
|
+
"export",
|
|
56
|
+
subcommand,
|
|
57
|
+
str(source),
|
|
58
|
+
"-o",
|
|
59
|
+
str(output_html),
|
|
60
|
+
"--sandbox",
|
|
61
|
+
"--force",
|
|
62
|
+
]
|
|
49
63
|
# WASM-only flag: --mode edit shows code cells (interactive). Without it,
|
|
50
64
|
# marimo's html-wasm subcommand defaults to "run" which hides them.
|
|
65
|
+
# --sandbox auto-answers marimo's interactive "Run in a sandboxed venv?"
|
|
66
|
+
# prompt; non-interactive builds (CI, `ap build`) would otherwise hang.
|
|
51
67
|
if mode == "wasm":
|
|
52
68
|
cmd += ["--mode", "edit"]
|
|
69
|
+
if execute:
|
|
70
|
+
cmd += ["--execute"]
|
|
53
71
|
result = subprocess.run(cmd, check=False)
|
|
54
72
|
if result.returncode != 0:
|
|
55
73
|
raise click.ClickException(f"marimo export failed for {source}")
|
|
@@ -85,6 +103,7 @@ def build_marimo_notebook(
|
|
|
85
103
|
output_html: Path,
|
|
86
104
|
content_path: Path,
|
|
87
105
|
mode: MarimoExportMode = "wasm",
|
|
106
|
+
execute: bool = False,
|
|
88
107
|
):
|
|
89
108
|
"""Build a single marimo notebook to HTML and inject the molab badge.
|
|
90
109
|
|
|
@@ -104,7 +123,7 @@ def build_marimo_notebook(
|
|
|
104
123
|
return
|
|
105
124
|
|
|
106
125
|
click.echo(f"Building marimo notebook {source.name} (mode={mode})...")
|
|
107
|
-
_export_marimo(source, output_html, mode)
|
|
126
|
+
_export_marimo(source, output_html, mode, execute=execute)
|
|
108
127
|
|
|
109
128
|
# WASM mode runs the notebook in-browser via Pyodide, so molab (a remote
|
|
110
129
|
# runtime) is redundant. Skip the badge.
|
|
@@ -136,9 +155,14 @@ def build_marimo_readme(mode: MarimoExportMode = "wasm"):
|
|
|
136
155
|
Skips silently if README.py is absent or isn't a marimo notebook so users
|
|
137
156
|
who keep only README.md aren't penalized.
|
|
138
157
|
"""
|
|
158
|
+
from afterpython._io.toml import _from_tomlkit
|
|
159
|
+
from afterpython.tools._afterpython import read_afterpython
|
|
160
|
+
|
|
139
161
|
readme_path = ap.paths.afterpython_path / "README.py"
|
|
140
162
|
if not readme_path.exists():
|
|
141
163
|
return
|
|
142
164
|
output_html = ap.paths.build_path / "readme_py" / "readme_py.html"
|
|
143
165
|
content_path = Path("README.py")
|
|
144
|
-
|
|
166
|
+
website = _from_tomlkit(read_afterpython().get("website", {}))
|
|
167
|
+
execute = bool(website.get("execute_readme_py", False))
|
|
168
|
+
build_marimo_notebook(readme_path, output_html, content_path, mode, execute=execute)
|
|
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
|
|
File without changes
|
|
File without changes
|
{afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/ci-workflow-template.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/deploy-workflow-template.yml
RENAMED
|
File without changes
|
|
File without changes
|
{afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/pre-commit-config-template.yaml
RENAMED
|
File without changes
|
{afterpython-0.3.10 → afterpython-0.3.11}/src/afterpython/templates/release-workflow-template.yml
RENAMED
|
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
|