marimo-dev 0.3.0__tar.gz → 0.3.1__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.
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/PKG-INFO +4 -3
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/README.md +2 -0
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/pyproject.toml +2 -3
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/src/marimo_dev/__init__.py +1 -1
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/src/marimo_dev/publish.py +26 -14
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/src/marimo_dev/build.py +0 -0
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/src/marimo_dev/cli.py +0 -0
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/src/marimo_dev/core.py +0 -0
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/src/marimo_dev/docs.py +0 -0
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/src/marimo_dev/pkg.py +0 -0
- {marimo_dev-0.3.0 → marimo_dev-0.3.1}/src/marimo_dev/read.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: marimo-dev
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Build and publish python packages from marimo notebooks
|
|
5
5
|
Author: Deufel
|
|
6
6
|
Author-email: Deufel <MDeufel13@gmail.com>
|
|
@@ -13,13 +13,14 @@ Requires-Dist: mohtml>=0.1.11
|
|
|
13
13
|
Requires-Dist: pydantic-ai-slim>=1.50.0
|
|
14
14
|
Requires-Dist: pytest>=9.0.2
|
|
15
15
|
Requires-Dist: python-fasthtml>=0.12.37
|
|
16
|
-
Requires-
|
|
17
|
-
Requires-Python: >=3.13
|
|
16
|
+
Requires-Python: >=3.12
|
|
18
17
|
Project-URL: PyPI, https://pypi.org/project/marimo-dev/
|
|
19
18
|
Project-URL: Repository, https://github.com/deufel/m-dev
|
|
20
19
|
Description-Content-Type: text/markdown
|
|
21
20
|
|
|
22
21
|
# marimo-dev
|
|
22
|
+

|
|
23
|
+
|
|
23
24
|
|
|
24
25
|
> [!WARNING]
|
|
25
26
|
> This project is under active development and is not an official marimo tool - Mar 2026
|
|
@@ -4,10 +4,10 @@ build-backend = "uv_build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "marimo-dev"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.1"
|
|
8
8
|
description = "Build and publish python packages from marimo notebooks"
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.
|
|
10
|
+
requires-python = ">=3.12"
|
|
11
11
|
dependencies = [
|
|
12
12
|
"anthropic>=0.84.0",
|
|
13
13
|
"fastcore>=1.10.0",
|
|
@@ -17,7 +17,6 @@ dependencies = [
|
|
|
17
17
|
"pydantic-ai-slim>=1.50.0",
|
|
18
18
|
"pytest>=9.0.2",
|
|
19
19
|
"python-fasthtml>=0.12.37",
|
|
20
|
-
"youtube-transcript-api>=1.2.3",
|
|
21
20
|
]
|
|
22
21
|
|
|
23
22
|
[project.license]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""Build and publish python packages from marimo notebooks"""
|
|
2
|
-
__version__ = '0.3.
|
|
2
|
+
__version__ = '0.3.1'
|
|
3
3
|
__author__ = 'Deufel'
|
|
4
4
|
from .core import Config, read_config, Kind, Param, Node
|
|
5
5
|
from .read import inline_doc, parse_params, parse_hash_pipe, parse_class_params, parse_class_methods, parse_ret, src_with_decs, is_export, parse_import, parse_const, parse_export, parse_node, parse_file, read_meta, nb_name, scan
|
|
@@ -65,10 +65,16 @@ def check_pypi_auth(test=True):
|
|
|
65
65
|
return {'found': True, 'section': section, 'username': config[section].get('username', ''), 'preview': preview, 'source': str(pypirc)}
|
|
66
66
|
|
|
67
67
|
def publish(
|
|
68
|
-
test
|
|
68
|
+
test=True # When ready to upload to PyPi change this to false
|
|
69
69
|
):
|
|
70
|
-
"Build and publish package to PyPI.
|
|
71
|
-
|
|
70
|
+
"Build and publish package to PyPI."
|
|
71
|
+
platform = 'testpypi' if test else 'pypi'
|
|
72
|
+
auth = check_credentials(platform)
|
|
73
|
+
if not auth['found']:
|
|
74
|
+
print(f"❌ {auth['msg']}")
|
|
75
|
+
return
|
|
76
|
+
|
|
77
|
+
print(f"✅ Authenticated as {auth['username']} ({auth['preview']}) from {auth['source']}")
|
|
72
78
|
print("Rebuilding package from notebooks...")
|
|
73
79
|
build()
|
|
74
80
|
|
|
@@ -76,18 +82,24 @@ def publish(
|
|
|
76
82
|
print("Building distribution...")
|
|
77
83
|
subprocess.run(['uv', 'build'], check=True)
|
|
78
84
|
|
|
79
|
-
|
|
80
|
-
section = 'testpypi' if test else 'pypi'
|
|
81
|
-
|
|
85
|
+
cmd = ['uv', 'publish']
|
|
82
86
|
if test: cmd.extend(['--publish-url', 'https://test.pypi.org/legacy/'])
|
|
83
87
|
else: cmd.extend(['--publish-url', 'https://upload.pypi.org/legacy/'])
|
|
84
88
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
config = configparser.ConfigParser()
|
|
90
|
+
config.read(Path.home() / '.pypirc')
|
|
91
|
+
section = auth['section'] if 'section' in auth else platform
|
|
92
|
+
username = config[section].get('username', '__token__')
|
|
93
|
+
password = config[section].get('password', '')
|
|
94
|
+
cmd.extend(['--username', username, '--password', password])
|
|
91
95
|
|
|
92
|
-
|
|
93
|
-
|
|
96
|
+
target = 'Test PyPI' if test else 'PyPI'
|
|
97
|
+
print(f"Publishing to {target}...")
|
|
98
|
+
try:
|
|
99
|
+
subprocess.run(cmd, capture_output=True, text=True, check=True)
|
|
100
|
+
print(f"✅ Published to {target}!")
|
|
101
|
+
except subprocess.CalledProcessError as e:
|
|
102
|
+
if '403' in (e.stderr or ''):
|
|
103
|
+
print(f"❌ Auth failed. Token may be expired. Regenerate at {CREDENTIALS[platform]['url']}")
|
|
104
|
+
else:
|
|
105
|
+
print(f"❌ Publish failed: {e.stderr}")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|