nc-gcode-interpreter 0.1.7__tar.gz → 0.1.8__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.
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/.github/workflows/build-and-release.yml +2 -1
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/Cargo.lock +1 -1
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/Cargo.toml +1 -1
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/Development.md +1 -1
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/PKG-INFO +4 -2
- nc_gcode_interpreter-0.1.8/examples/function_calls.csv +3 -0
- nc_gcode_interpreter-0.1.8/examples/function_calls.mpf +2 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/ggroups/generate_pest.py +1 -1
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/pyproject.toml +12 -8
- nc_gcode_interpreter-0.1.8/python/nc_gcode_interpreter/__init__.py +127 -0
- nc_gcode_interpreter-0.1.8/python/nc_gcode_interpreter/_internal.pyi +41 -0
- nc_gcode_interpreter-0.1.8/python/nc_gcode_interpreter/py.typed +0 -0
- nc_gcode_interpreter-0.1.8/python/tests/test_g_groups.py +23 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/lib.rs +1 -1
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/uv.lock +107 -67
- nc_gcode_interpreter-0.1.7/Example.MPF +0 -14
- nc_gcode_interpreter-0.1.7/python/nc_gcode_interpreter/__init__.py +0 -33
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/.gitignore +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/CONTRIBUTING.md +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/LICENSE +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/README.md +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/TODO.md +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/arrays.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/arrays.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/basic_math.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/basic_math.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/custom_vars.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/custom_vars.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/defaults.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/defaults.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/for_loop.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/for_loop.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/if_statement.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/if_statement.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/increment.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/increment.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/loop.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/loop.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/multiple_m_codes.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/multiple_m_codes.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/simple.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/simple.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/tool.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/tool.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/trans.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/trans.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/variables.csv +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/examples/variables.mpf +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/ggroups/generate_modal_ggroups.py +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/ggroups/ggroups.pest +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/ggroups/modal_groups.rs +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/python/example/minimal.py +0 -0
- {nc_gcode_interpreter-0.1.7/ggroups → nc_gcode_interpreter-0.1.8/python/nc_gcode_interpreter}/ggroups.json +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/python/tests/test_expected_output.py +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/rustfmt.toml +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/errors.rs +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/grammar.pest +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/interpret_rules.rs +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/interpreter.rs +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/main.rs +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/modal_groups.rs +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/state.rs +0 -0
- {nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/src/types.rs +0 -0
{nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/.github/workflows/build-and-release.yml
RENAMED
|
@@ -89,7 +89,8 @@ jobs:
|
|
|
89
89
|
pip install "${WHL_FILE}[test]"
|
|
90
90
|
- name: Run tests with pytest
|
|
91
91
|
run: pytest
|
|
92
|
-
|
|
92
|
+
- name: Type checking with mypy
|
|
93
|
+
run: mypy python
|
|
93
94
|
linux:
|
|
94
95
|
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
|
|
95
96
|
needs: [lint, test]
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: nc-gcode-interpreter
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.8
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
6
7
|
Classifier: Programming Language :: Python :: 3.12
|
|
7
8
|
Classifier: License :: OSI Approved :: MIT License
|
|
8
9
|
Classifier: Operating System :: OS Independent
|
|
@@ -11,10 +12,11 @@ Requires-Dist: maturin >=1.7.4
|
|
|
11
12
|
Requires-Dist: polars >=1.9.0
|
|
12
13
|
Requires-Dist: jupyter >=1.1.1 ; extra == 'dev'
|
|
13
14
|
Requires-Dist: pytest >=8.3.3 ; extra == 'test'
|
|
15
|
+
Requires-Dist: mypy ; extra == 'test'
|
|
14
16
|
Provides-Extra: dev
|
|
15
17
|
Provides-Extra: test
|
|
16
18
|
License-File: LICENSE
|
|
17
|
-
Summary: A interpreter for NC (Numerical Control)
|
|
19
|
+
Summary: A interpreter for NC (Numerical Control) GCode
|
|
18
20
|
Author-email: CEAD Group <software@ceadgroup.com>
|
|
19
21
|
Requires-Python: >=3.11
|
|
20
22
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["maturin>=1.
|
|
2
|
+
requires = ["maturin>=1.7,<2.0"]
|
|
3
3
|
build-backend = "maturin"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "nc-gcode-interpreter"
|
|
7
7
|
dynamic = ["version"]
|
|
8
|
-
description = "A interpreter for NC (Numerical Control)
|
|
8
|
+
description = "A interpreter for NC (Numerical Control) GCode"
|
|
9
9
|
authors = [{ name = "CEAD Group", email = "software@ceadgroup.com" }]
|
|
10
10
|
requires-python = ">=3.11"
|
|
11
11
|
classifiers = [
|
|
12
12
|
"Programming Language :: Rust",
|
|
13
13
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
14
|
+
"Programming Language :: Python :: 3.11",
|
|
14
15
|
"Programming Language :: Python :: 3.12",
|
|
15
16
|
"License :: OSI Approved :: MIT License",
|
|
16
17
|
"Operating System :: OS Independent",
|
|
@@ -26,14 +27,17 @@ dev = [
|
|
|
26
27
|
"jupyter>=1.1.1"
|
|
27
28
|
]
|
|
28
29
|
test = [
|
|
29
|
-
"pytest>=8.3.3"
|
|
30
|
+
"pytest>=8.3.3",
|
|
31
|
+
"mypy"
|
|
30
32
|
]
|
|
31
33
|
|
|
32
|
-
[project.urls]
|
|
33
|
-
Homepage = "https://github.com/CEAD-group/nc-gcode-interpreter"
|
|
34
|
-
Repository = "https://github.com/CEAD-group/nc-gcode-interpreter.git"
|
|
35
|
-
Documentation = "https://github.com/CEAD-group/nc-gcode-interpreter/blob/main/README.md"
|
|
36
|
-
|
|
37
34
|
[tool.maturin]
|
|
38
35
|
features = ["pyo3/extension-module"]
|
|
36
|
+
module-name = "nc_gcode_interpreter._internal"
|
|
39
37
|
python-source = "python"
|
|
38
|
+
include = ["python/nc_gcode_interpreter/py.typed", "python/nc_gcode_interpreter/ggroups.json"]
|
|
39
|
+
|
|
40
|
+
[project.urls]
|
|
41
|
+
Homepage = "https://github.com/CEAD-group/nc-gcode-interpreter"
|
|
42
|
+
Repository = "https://github.com/CEAD-group/nc-gcode-interpreter.git"
|
|
43
|
+
Documentation = "https://github.com/CEAD-group/nc-gcode-interpreter/blob/main/README.md"
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
from typing import Protocol
|
|
2
|
+
import polars as pl
|
|
3
|
+
from ._internal import nc_to_dataframe as _nc_to_dataframe
|
|
4
|
+
from ._internal import __doc__ # noqa: F401
|
|
5
|
+
import json
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
from typing import TypedDict, TypeVar, Any, Type, Callable, Generic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Define TextFileLike Protocol
|
|
11
|
+
class TextFileLike(Protocol):
|
|
12
|
+
def read(self) -> str: ...
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
__all__ = ["nc_to_dataframe"]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def nc_to_dataframe(
|
|
19
|
+
input: "TextFileLike | str",
|
|
20
|
+
initial_state: "TextFileLike | str | None" = None,
|
|
21
|
+
axis_identifiers: "list[str] | None" = None,
|
|
22
|
+
extra_axes: "list[str] | None" = None,
|
|
23
|
+
iteration_limit: int = 10000,
|
|
24
|
+
disable_forward_fill: bool = False,
|
|
25
|
+
) -> tuple[pl.DataFrame, dict]:
|
|
26
|
+
"""
|
|
27
|
+
Convert G-code to a DataFrame representation along with the state information.
|
|
28
|
+
|
|
29
|
+
Parameters:
|
|
30
|
+
-----------
|
|
31
|
+
input: TextFileLike | str
|
|
32
|
+
The G-code input as a string or a file-like object.
|
|
33
|
+
initial_state: TextFileLike | str | None
|
|
34
|
+
An optional initial state string or a file-like object.
|
|
35
|
+
axis_identifiers: list[str] | None
|
|
36
|
+
A list of axis identifiers.
|
|
37
|
+
extra_axes: list[str] | None
|
|
38
|
+
A list of extra axes to be included.
|
|
39
|
+
iteration_limit: int
|
|
40
|
+
The maximum number of iterations to process.
|
|
41
|
+
disable_forward_fill: bool
|
|
42
|
+
Whether to disable forward-filling of values.
|
|
43
|
+
|
|
44
|
+
Returns:
|
|
45
|
+
--------
|
|
46
|
+
tuple[pl.DataFrame, dict]
|
|
47
|
+
A tuple containing the resulting DataFrame and a nested dictionary representing the state.
|
|
48
|
+
"""
|
|
49
|
+
if input is None:
|
|
50
|
+
raise ValueError("input cannot be None")
|
|
51
|
+
if not isinstance(input, str):
|
|
52
|
+
input = input.read()
|
|
53
|
+
if initial_state is not None and not isinstance(initial_state, str):
|
|
54
|
+
initial_state = initial_state.read()
|
|
55
|
+
|
|
56
|
+
df, state = _nc_to_dataframe(
|
|
57
|
+
input,
|
|
58
|
+
initial_state,
|
|
59
|
+
axis_identifiers,
|
|
60
|
+
extra_axes,
|
|
61
|
+
iteration_limit,
|
|
62
|
+
disable_forward_fill,
|
|
63
|
+
)
|
|
64
|
+
return df, state
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
_T = TypeVar("_T")
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class _classproperty(Generic[_T]):
|
|
71
|
+
def __init__(self, fget: Callable[[Any], _T]) -> None:
|
|
72
|
+
self.fget = fget
|
|
73
|
+
|
|
74
|
+
def __get__(self, instance: Any, owner: Type[Any]) -> _T:
|
|
75
|
+
return self.fget(owner)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class _GGroupEntry(TypedDict):
|
|
79
|
+
id: str
|
|
80
|
+
nr: int
|
|
81
|
+
description: str
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class _GGroup(TypedDict):
|
|
85
|
+
nr: int
|
|
86
|
+
title: str
|
|
87
|
+
effectiveness: str
|
|
88
|
+
short_name: str
|
|
89
|
+
entries: list[_GGroupEntry]
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class GGroups:
|
|
93
|
+
_g_groups: list[_GGroup] | None = None
|
|
94
|
+
_g_group_short_names: set[str] | None = None
|
|
95
|
+
_g_groups_by_short_name: dict[str, _GGroup] | None = None
|
|
96
|
+
|
|
97
|
+
@_classproperty
|
|
98
|
+
def g_groups(cls) -> list[_GGroup]:
|
|
99
|
+
if cls._g_groups is None:
|
|
100
|
+
cls._load_data()
|
|
101
|
+
assert cls._g_groups is not None
|
|
102
|
+
return cls._g_groups
|
|
103
|
+
|
|
104
|
+
@classmethod
|
|
105
|
+
def _load_data(cls) -> None:
|
|
106
|
+
json_file = Path(__file__).parent / "ggroups.json"
|
|
107
|
+
with open(json_file, "r") as file:
|
|
108
|
+
g_groups = json.load(file)
|
|
109
|
+
cls._g_groups = g_groups
|
|
110
|
+
cls._g_group_short_names = {group["short_name"] for group in g_groups}
|
|
111
|
+
cls._g_groups_by_short_name = {
|
|
112
|
+
group["short_name"]: group for group in g_groups
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@classmethod
|
|
116
|
+
def is_g_group(cls, name: str) -> bool:
|
|
117
|
+
if cls._g_group_short_names is None:
|
|
118
|
+
cls._load_data()
|
|
119
|
+
assert cls._g_group_short_names is not None
|
|
120
|
+
return name in cls._g_group_short_names
|
|
121
|
+
|
|
122
|
+
@classmethod
|
|
123
|
+
def is_modal_g_group(cls, name: str) -> bool:
|
|
124
|
+
if cls._g_groups_by_short_name is None:
|
|
125
|
+
cls._load_data()
|
|
126
|
+
assert cls._g_groups_by_short_name is not None
|
|
127
|
+
return cls._g_groups_by_short_name[name]["effectiveness"] == "modal"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from typing import Optional, List, Dict, Tuple
|
|
2
|
+
import polars as pl
|
|
3
|
+
|
|
4
|
+
# Define the type hint for the `nc_to_dataframe` function
|
|
5
|
+
def nc_to_dataframe(
|
|
6
|
+
input: str,
|
|
7
|
+
initial_state: Optional[str] = None,
|
|
8
|
+
axis_identifiers: Optional[List[str]] = None,
|
|
9
|
+
extra_axes: Optional[List[str]] = None,
|
|
10
|
+
iteration_limit: int = 10000,
|
|
11
|
+
disable_forward_fill: bool = False,
|
|
12
|
+
) -> Tuple[pl.DataFrame, Dict[str, Dict[str, float]]]:
|
|
13
|
+
"""
|
|
14
|
+
Convert G-code to a DataFrame representation along with the state information.
|
|
15
|
+
|
|
16
|
+
Parameters:
|
|
17
|
+
-----------
|
|
18
|
+
input: str
|
|
19
|
+
The G-code input as a string.
|
|
20
|
+
initial_state: Optional[str]
|
|
21
|
+
An optional initial state string.
|
|
22
|
+
axis_identifiers: Optional[List[str]]
|
|
23
|
+
A list of axis identifiers.
|
|
24
|
+
extra_axes: Optional[List[str]]
|
|
25
|
+
A list of extra axes to be included.
|
|
26
|
+
iteration_limit: int
|
|
27
|
+
The maximum number of iterations to process.
|
|
28
|
+
disable_forward_fill: bool
|
|
29
|
+
Whether to disable forward-filling of values.
|
|
30
|
+
|
|
31
|
+
Returns:
|
|
32
|
+
--------
|
|
33
|
+
Tuple[pl.DataFrame, Dict[str, Dict[str, float]]]
|
|
34
|
+
A tuple containing the resulting DataFrame and a nested dictionary representing the state.
|
|
35
|
+
"""
|
|
36
|
+
...
|
|
37
|
+
|
|
38
|
+
# Module definition for nc_gcode_interpreter
|
|
39
|
+
# Since this is an auto-generated module, the binding name corresponds to the compiled Rust module.
|
|
40
|
+
|
|
41
|
+
__all__ = ["nc_to_dataframe"]
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from nc_gcode_interpreter import GGroups
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def test_g_groups_class() -> None:
|
|
5
|
+
g = GGroups
|
|
6
|
+
assert g.is_g_group("gg01_motion")
|
|
7
|
+
assert not g.is_g_group("G1")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def test_g_groups_instance() -> None:
|
|
11
|
+
g = GGroups()
|
|
12
|
+
assert g.is_g_group("gg01_motion")
|
|
13
|
+
assert not g.is_g_group("G1")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def test_g_groups_access_class() -> None:
|
|
17
|
+
g: list = GGroups.g_groups
|
|
18
|
+
assert isinstance(g, list)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def test_g_groups_access_instance() -> None:
|
|
22
|
+
g: list = GGroups().g_groups
|
|
23
|
+
assert isinstance(g, list)
|
|
@@ -42,7 +42,7 @@ fn nc_to_dataframe(
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
/// Define the Python module
|
|
45
|
-
#[pymodule]
|
|
45
|
+
#[pymodule(name = "_internal")]
|
|
46
46
|
fn nc_gcode_interpreter(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
|
|
47
47
|
m.add_function(wrap_pyfunction!(nc_to_dataframe, m)?)?;
|
|
48
48
|
Ok(())
|
|
@@ -739,50 +739,50 @@ wheels = [
|
|
|
739
739
|
|
|
740
740
|
[[package]]
|
|
741
741
|
name = "markupsafe"
|
|
742
|
-
version = "3.0.
|
|
743
|
-
source = { registry = "https://pypi.org/simple" }
|
|
744
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
745
|
-
wheels = [
|
|
746
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
747
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
748
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
749
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
750
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
751
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
752
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
753
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
754
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
755
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
756
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
757
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
758
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
759
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
760
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
761
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
762
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
763
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
764
|
-
{ url = "https://files.pythonhosted.org/packages/51/
|
|
765
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
766
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
767
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
768
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
769
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
770
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
771
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
772
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
773
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
774
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
775
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
776
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
777
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
778
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
779
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
780
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
781
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
782
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
783
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
784
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
785
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
742
|
+
version = "3.0.2"
|
|
743
|
+
source = { registry = "https://pypi.org/simple" }
|
|
744
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 }
|
|
745
|
+
wheels = [
|
|
746
|
+
{ url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 },
|
|
747
|
+
{ url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 },
|
|
748
|
+
{ url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 },
|
|
749
|
+
{ url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 },
|
|
750
|
+
{ url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 },
|
|
751
|
+
{ url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 },
|
|
752
|
+
{ url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 },
|
|
753
|
+
{ url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 },
|
|
754
|
+
{ url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 },
|
|
755
|
+
{ url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 },
|
|
756
|
+
{ url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 },
|
|
757
|
+
{ url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 },
|
|
758
|
+
{ url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 },
|
|
759
|
+
{ url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 },
|
|
760
|
+
{ url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 },
|
|
761
|
+
{ url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 },
|
|
762
|
+
{ url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 },
|
|
763
|
+
{ url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 },
|
|
764
|
+
{ url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 },
|
|
765
|
+
{ url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 },
|
|
766
|
+
{ url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 },
|
|
767
|
+
{ url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 },
|
|
768
|
+
{ url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 },
|
|
769
|
+
{ url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 },
|
|
770
|
+
{ url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 },
|
|
771
|
+
{ url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 },
|
|
772
|
+
{ url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 },
|
|
773
|
+
{ url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 },
|
|
774
|
+
{ url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 },
|
|
775
|
+
{ url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 },
|
|
776
|
+
{ url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 },
|
|
777
|
+
{ url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 },
|
|
778
|
+
{ url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 },
|
|
779
|
+
{ url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 },
|
|
780
|
+
{ url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 },
|
|
781
|
+
{ url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 },
|
|
782
|
+
{ url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 },
|
|
783
|
+
{ url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 },
|
|
784
|
+
{ url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 },
|
|
785
|
+
{ url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
|
|
786
786
|
]
|
|
787
787
|
|
|
788
788
|
[[package]]
|
|
@@ -826,6 +826,43 @@ wheels = [
|
|
|
826
826
|
{ url = "https://files.pythonhosted.org/packages/f0/74/c95adcdf032956d9ef6c89a9b8a5152bf73915f8c633f3e3d88d06bd699c/mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205", size = 47958 },
|
|
827
827
|
]
|
|
828
828
|
|
|
829
|
+
[[package]]
|
|
830
|
+
name = "mypy"
|
|
831
|
+
version = "1.12.1"
|
|
832
|
+
source = { registry = "https://pypi.org/simple" }
|
|
833
|
+
dependencies = [
|
|
834
|
+
{ name = "mypy-extensions" },
|
|
835
|
+
{ name = "typing-extensions" },
|
|
836
|
+
]
|
|
837
|
+
sdist = { url = "https://files.pythonhosted.org/packages/17/03/744330105a74dc004578f47ec27e1bf66b1dd5664ea444d18423e41343bd/mypy-1.12.1.tar.gz", hash = "sha256:f5b3936f7a6d0e8280c9bdef94c7ce4847f5cdfc258fbb2c29a8c1711e8bb96d", size = 3150767 }
|
|
838
|
+
wheels = [
|
|
839
|
+
{ url = "https://files.pythonhosted.org/packages/18/0a/70de7c97a86cb85535077ab5cef1cbc4e2812fd2e9cc21d78eb561a6b80f/mypy-1.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1230048fec1380faf240be6385e709c8570604d2d27ec6ca7e573e3bc09c3735", size = 10940998 },
|
|
840
|
+
{ url = "https://files.pythonhosted.org/packages/c0/97/9ed6d4834d7549936ab88533b302184fb568a0940c4000d2aaee6dc07112/mypy-1.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:02dcfe270c6ea13338210908f8cadc8d31af0f04cee8ca996438fe6a97b4ec66", size = 10108523 },
|
|
841
|
+
{ url = "https://files.pythonhosted.org/packages/48/41/1686f37d09c915dfc5b683e20cc99dabac199900b5ca6d22747b99ddcb50/mypy-1.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a5a437c9102a6a252d9e3a63edc191a3aed5f2fcb786d614722ee3f4472e33f6", size = 12505553 },
|
|
842
|
+
{ url = "https://files.pythonhosted.org/packages/8d/2b/2dbcaa7e97b23f27ced77493256ee878f4a140ac750e198630ff1b9b60c6/mypy-1.12.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:186e0c8346efc027ee1f9acf5ca734425fc4f7dc2b60144f0fbe27cc19dc7931", size = 12988634 },
|
|
843
|
+
{ url = "https://files.pythonhosted.org/packages/54/55/710d082e91a2ccaea21214229b11f9215a9d22446f949491b5457655e82b/mypy-1.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:673ba1140a478b50e6d265c03391702fa11a5c5aff3f54d69a62a48da32cb811", size = 9630747 },
|
|
844
|
+
{ url = "https://files.pythonhosted.org/packages/8a/74/b9e0e4f06e951e277058f878302faa154d282ca11274c59fe08353f52949/mypy-1.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9fb83a7be97c498176fb7486cafbb81decccaef1ac339d837c377b0ce3743a7f", size = 11079902 },
|
|
845
|
+
{ url = "https://files.pythonhosted.org/packages/9f/62/fcad290769db3eb0de265094cef5c94d6075c70bc1e42b67eee4ca192dcc/mypy-1.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:389e307e333879c571029d5b93932cf838b811d3f5395ed1ad05086b52148fb0", size = 10072373 },
|
|
846
|
+
{ url = "https://files.pythonhosted.org/packages/cb/27/9ac78349c2952e4446288ec1174675ab9e0160ed18c2cb1154fa456c54e8/mypy-1.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:94b2048a95a21f7a9ebc9fbd075a4fcd310410d078aa0228dbbad7f71335e042", size = 12589779 },
|
|
847
|
+
{ url = "https://files.pythonhosted.org/packages/7c/4a/58cebd122cf1cba95680ac51303fbeb508392413ca64e3e711aa7d4877aa/mypy-1.12.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ee5932370ccf7ebf83f79d1c157a5929d7ea36313027b0d70a488493dc1b179", size = 13044459 },
|
|
848
|
+
{ url = "https://files.pythonhosted.org/packages/5b/c7/672935e2a3f9bcc07b1b870395a653f665657bef3cdaa504ad99f56eadf0/mypy-1.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:19bf51f87a295e7ab2894f1d8167622b063492d754e69c3c2fed6563268cb42a", size = 9731919 },
|
|
849
|
+
{ url = "https://files.pythonhosted.org/packages/bb/b0/092be5094840a401940c95224f63bb2a8f09bce9251ac1df180ec523830c/mypy-1.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d34167d43613ffb1d6c6cdc0cc043bb106cac0aa5d6a4171f77ab92a3c758bcc", size = 11068611 },
|
|
850
|
+
{ url = "https://files.pythonhosted.org/packages/9a/86/f20f53b8f062876c39602243d7a59b5cabd6b24315d8de511d607fa4de6a/mypy-1.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:427878aa54f2e2c5d8db31fa9010c599ed9f994b3b49e64ae9cd9990c40bd635", size = 10068036 },
|
|
851
|
+
{ url = "https://files.pythonhosted.org/packages/84/c7/1dbd6575785522da1d4c1ac2c419505fcf23bee74811880cac447a4a77ab/mypy-1.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5fcde63ea2c9f69d6be859a1e6dd35955e87fa81de95bc240143cf00de1f7f81", size = 12585671 },
|
|
852
|
+
{ url = "https://files.pythonhosted.org/packages/46/8a/f6ae18b446eb2bccce54c4bd94065bcfe417d6c67021dcc032bf1e720aff/mypy-1.12.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d54d840f6c052929f4a3d2aab2066af0f45a020b085fe0e40d4583db52aab4e4", size = 13036083 },
|
|
853
|
+
{ url = "https://files.pythonhosted.org/packages/59/e6/fc65fde3dc7156fce8d49ba21c7b1f5d866ad50467bf196ca94a7f6d2c9e/mypy-1.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:20db6eb1ca3d1de8ece00033b12f793f1ea9da767334b7e8c626a4872090cf02", size = 9735467 },
|
|
854
|
+
{ url = "https://files.pythonhosted.org/packages/84/6b/1db9de4e0764778251fb2d64cb7455cf6db75dc99c9f72c8b7e74b6a8a17/mypy-1.12.1-py3-none-any.whl", hash = "sha256:ce561a09e3bb9863ab77edf29ae3a50e65685ad74bba1431278185b7e5d5486e", size = 2646060 },
|
|
855
|
+
]
|
|
856
|
+
|
|
857
|
+
[[package]]
|
|
858
|
+
name = "mypy-extensions"
|
|
859
|
+
version = "1.0.0"
|
|
860
|
+
source = { registry = "https://pypi.org/simple" }
|
|
861
|
+
sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433 }
|
|
862
|
+
wheels = [
|
|
863
|
+
{ url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695 },
|
|
864
|
+
]
|
|
865
|
+
|
|
829
866
|
[[package]]
|
|
830
867
|
name = "nbclient"
|
|
831
868
|
version = "0.10.0"
|
|
@@ -884,7 +921,7 @@ wheels = [
|
|
|
884
921
|
|
|
885
922
|
[[package]]
|
|
886
923
|
name = "nc-gcode-interpreter"
|
|
887
|
-
version = "0.
|
|
924
|
+
version = "0.0.0.dev0"
|
|
888
925
|
source = { editable = "." }
|
|
889
926
|
dependencies = [
|
|
890
927
|
{ name = "maturin" },
|
|
@@ -896,6 +933,7 @@ dev = [
|
|
|
896
933
|
{ name = "jupyter" },
|
|
897
934
|
]
|
|
898
935
|
test = [
|
|
936
|
+
{ name = "mypy" },
|
|
899
937
|
{ name = "pytest" },
|
|
900
938
|
]
|
|
901
939
|
|
|
@@ -903,6 +941,7 @@ test = [
|
|
|
903
941
|
requires-dist = [
|
|
904
942
|
{ name = "jupyter", marker = "extra == 'dev'", specifier = ">=1.1.1" },
|
|
905
943
|
{ name = "maturin", specifier = ">=1.7.4" },
|
|
944
|
+
{ name = "mypy", marker = "extra == 'test'" },
|
|
906
945
|
{ name = "polars", specifier = ">=1.9.0" },
|
|
907
946
|
{ name = "pytest", marker = "extra == 'test'", specifier = ">=8.3.3" },
|
|
908
947
|
]
|
|
@@ -1012,15 +1051,15 @@ wheels = [
|
|
|
1012
1051
|
|
|
1013
1052
|
[[package]]
|
|
1014
1053
|
name = "polars"
|
|
1015
|
-
version = "1.
|
|
1054
|
+
version = "1.10.0"
|
|
1016
1055
|
source = { registry = "https://pypi.org/simple" }
|
|
1017
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1056
|
+
sdist = { url = "https://files.pythonhosted.org/packages/eb/dc/0bf6d62da6cf6fa5712e573334766484109c411a5e07bf779bdd3f2f07d2/polars-1.10.0.tar.gz", hash = "sha256:855b0fffbe4fbb1c89b4f9b4b6cc724b337f946a9ba50829eb22b8a36483b3c3", size = 4059116 }
|
|
1018
1057
|
wheels = [
|
|
1019
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1020
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1021
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1022
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1023
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1058
|
+
{ url = "https://files.pythonhosted.org/packages/c6/4c/f4f626732ae966795c34b30345d7fbee4097fc9d41fb09bb3ba2beaffbdf/polars-1.10.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:6334aee8897a56291ab3f31b436eff3a284abef39bd333258f6071c77e45b72f", size = 32024599 },
|
|
1059
|
+
{ url = "https://files.pythonhosted.org/packages/29/bc/5edaae9e0c6c826225dc428f1b714a01e127a8373e493aa7d85d2b182521/polars-1.10.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:1ce12aed5440a531e449d7deb9e9b80851e919502853d6d0a884124ea0a0377e", size = 28220138 },
|
|
1060
|
+
{ url = "https://files.pythonhosted.org/packages/28/da/79b54d20c59303864add504a01f927d23415579bdf0a054942bd00da69e3/polars-1.10.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:540051fe456f779b1510c173c3a614135193cf1b94812e11663f65c80dc4626d", size = 33205544 },
|
|
1061
|
+
{ url = "https://files.pythonhosted.org/packages/fb/bf/03358a080fbd51262f54381c011183a281947e0d4e3c1049baad8204dedc/polars-1.10.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:d00a5978137c8471c47ea162acfaf6769a21b72ab5515891f5f7aa038c3c5574", size = 29810880 },
|
|
1062
|
+
{ url = "https://files.pythonhosted.org/packages/ed/e2/134a4c381f63e8498314f15d5f8db32bdd9ee40806aba34c3e270915a629/polars-1.10.0-cp39-abi3-win_amd64.whl", hash = "sha256:182e03bd3486490c980a59cbae0be53c0688f6f6f6a2bccc28e07cc1b7f8a4b5", size = 32868791 },
|
|
1024
1063
|
]
|
|
1025
1064
|
|
|
1026
1065
|
[[package]]
|
|
@@ -1046,19 +1085,19 @@ wheels = [
|
|
|
1046
1085
|
|
|
1047
1086
|
[[package]]
|
|
1048
1087
|
name = "psutil"
|
|
1049
|
-
version = "6.
|
|
1088
|
+
version = "6.1.0"
|
|
1050
1089
|
source = { registry = "https://pypi.org/simple" }
|
|
1051
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1090
|
+
sdist = { url = "https://files.pythonhosted.org/packages/26/10/2a30b13c61e7cf937f4adf90710776b7918ed0a9c434e2c38224732af310/psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a", size = 508565 }
|
|
1052
1091
|
wheels = [
|
|
1053
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1054
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1055
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1056
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1057
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1058
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1059
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1060
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1061
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1092
|
+
{ url = "https://files.pythonhosted.org/packages/da/2b/f4dea5d993d9cd22ad958eea828a41d5d225556123d372f02547c29c4f97/psutil-6.1.0-cp27-none-win32.whl", hash = "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e", size = 246648 },
|
|
1093
|
+
{ url = "https://files.pythonhosted.org/packages/9f/14/4aa97a7f2e0ac33a050d990ab31686d651ae4ef8c86661fef067f00437b9/psutil-6.1.0-cp27-none-win_amd64.whl", hash = "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85", size = 249905 },
|
|
1094
|
+
{ url = "https://files.pythonhosted.org/packages/01/9e/8be43078a171381953cfee33c07c0d628594b5dbfc5157847b85022c2c1b/psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688", size = 247762 },
|
|
1095
|
+
{ url = "https://files.pythonhosted.org/packages/1d/cb/313e80644ea407f04f6602a9e23096540d9dc1878755f3952ea8d3d104be/psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e", size = 248777 },
|
|
1096
|
+
{ url = "https://files.pythonhosted.org/packages/65/8e/bcbe2025c587b5d703369b6a75b65d41d1367553da6e3f788aff91eaf5bd/psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38", size = 284259 },
|
|
1097
|
+
{ url = "https://files.pythonhosted.org/packages/58/4d/8245e6f76a93c98aab285a43ea71ff1b171bcd90c9d238bf81f7021fb233/psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b", size = 287255 },
|
|
1098
|
+
{ url = "https://files.pythonhosted.org/packages/27/c2/d034856ac47e3b3cdfa9720d0e113902e615f4190d5d1bdb8df4b2015fb2/psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a", size = 288804 },
|
|
1099
|
+
{ url = "https://files.pythonhosted.org/packages/ea/55/5389ed243c878725feffc0d6a3bc5ef6764312b6fc7c081faaa2cfa7ef37/psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e", size = 250386 },
|
|
1100
|
+
{ url = "https://files.pythonhosted.org/packages/11/91/87fa6f060e649b1e1a7b19a4f5869709fbf750b7c8c262ee776ec32f3028/psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be", size = 254228 },
|
|
1062
1101
|
]
|
|
1063
1102
|
|
|
1064
1103
|
[[package]]
|
|
@@ -1151,12 +1190,13 @@ wheels = [
|
|
|
1151
1190
|
|
|
1152
1191
|
[[package]]
|
|
1153
1192
|
name = "pywinpty"
|
|
1154
|
-
version = "2.0.
|
|
1193
|
+
version = "2.0.14"
|
|
1155
1194
|
source = { registry = "https://pypi.org/simple" }
|
|
1156
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1195
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f1/82/90f8750423cba4b9b6c842df227609fb60704482d7abf6dd47e2babc055a/pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e", size = 27769 }
|
|
1157
1196
|
wheels = [
|
|
1158
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1159
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1197
|
+
{ url = "https://files.pythonhosted.org/packages/be/e2/af1a99c0432e4e58c9ac8e334ee191790ec9793d33559189b9d2069bdc1d/pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7", size = 1397223 },
|
|
1198
|
+
{ url = "https://files.pythonhosted.org/packages/ad/79/759ae767a3b78d340446efd54dd1fe4f7dafa4fc7be96ed757e44bcdba54/pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737", size = 1397207 },
|
|
1199
|
+
{ url = "https://files.pythonhosted.org/packages/7d/34/b77b3c209bf2eaa6455390c8d5449241637f5957f41636a2204065d52bfa/pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819", size = 1396698 },
|
|
1160
1200
|
]
|
|
1161
1201
|
|
|
1162
1202
|
[[package]]
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
DEF INT n_layers = 2, layer=1
|
|
2
|
-
DEF REAL size = 100 ;size of the square
|
|
3
|
-
DEF REAL layer_height = 4 ;size of the square
|
|
4
|
-
TRANS Z = 0.5 ; move up all z coordinates by 0.5
|
|
5
|
-
G1 F=1000; Set feed rate in millimeters per minute
|
|
6
|
-
G1 X0 Y500 Z0 ; move to the starting point
|
|
7
|
-
WHILE (layer <= n_layers)
|
|
8
|
-
X=IC(size)
|
|
9
|
-
Y=IC(size)
|
|
10
|
-
X=IC(-size)
|
|
11
|
-
Y=IC(-size) Z=IC(layer_height)
|
|
12
|
-
layer = layer + 1
|
|
13
|
-
ENDWHILE
|
|
14
|
-
M31; end of program
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
from .nc_gcode_interpreter import nc_to_dataframe as _nc_to_dataframe
|
|
2
|
-
from .nc_gcode_interpreter import __doc__ # noqa: F401
|
|
3
|
-
|
|
4
|
-
__all__ = ["nc_to_dataframe"]
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
# nc_gcode_interpreter.pyi
|
|
8
|
-
import polars as pl
|
|
9
|
-
from typing import Protocol
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class TextFileLike(Protocol):
|
|
13
|
-
def read(self) -> str: ...
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def nc_to_dataframe(
|
|
17
|
-
input: TextFileLike | str,
|
|
18
|
-
initial_state: TextFileLike | str | None = None,
|
|
19
|
-
axis_identifiers: list[str] | None = None,
|
|
20
|
-
extra_axes: list[str] | None = None,
|
|
21
|
-
iteration_limit: int = 10000,
|
|
22
|
-
) -> tuple[pl.DataFrame, dict]:
|
|
23
|
-
if input is None:
|
|
24
|
-
raise ValueError("input cannot be None")
|
|
25
|
-
if not isinstance(input, str):
|
|
26
|
-
input = input.read()
|
|
27
|
-
if initial_state is not None and not isinstance(initial_state, str):
|
|
28
|
-
initial_state = initial_state.read()
|
|
29
|
-
|
|
30
|
-
df, state = _nc_to_dataframe(
|
|
31
|
-
input, initial_state, axis_identifiers, extra_axes, iteration_limit
|
|
32
|
-
)
|
|
33
|
-
return df, state
|
|
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
|
{nc_gcode_interpreter-0.1.7 → nc_gcode_interpreter-0.1.8}/python/tests/test_expected_output.py
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
|