kicad-sch-api 0.3.1__tar.gz → 0.3.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.
Potentially problematic release.
This version of kicad-sch-api might be problematic. Click here for more details.
- {kicad_sch_api-0.3.1/kicad_sch_api.egg-info → kicad_sch_api-0.3.2}/PKG-INFO +1 -1
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/__init__.py +2 -2
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/formatter.py +2 -1
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/parser.py +716 -12
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2/kicad_sch_api.egg-info}/PKG-INFO +1 -1
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api.egg-info/SOURCES.txt +2 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/pyproject.toml +1 -1
- kicad_sch_api-0.3.2/tests/test_kicad_validation.py +421 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_parse_reference_rectangles.py +5 -4
- kicad_sch_api-0.3.2/tests/test_wire_operations.py +361 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/.claude/commands/dev/dead-code-analysis.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/.claude/commands/dev/publish-pypi.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/.claude/commands/dev/review-implementation.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/.claude/commands/dev/run-tests.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/.claude/commands/dev/update-and-commit.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/.claude/commands/dev/update-memory-bank.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/.claude/commands/test/run-reference-tests.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/CHANGELOG.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/LICENSE +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/MANIFEST.in +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/README.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/examples/advanced_usage.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/examples/basic_usage.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/examples/mcp_basic_example.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/examples/mcp_integration.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/examples/pin_to_pin_wiring_demo.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/examples/simple_circuit_with_pin_wiring.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/examples/simple_two_resistor_routing.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/cli.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/__init__.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/component_bounds.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/components.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/config.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/geometry.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/ic_manager.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/junctions.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/manhattan_routing.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/pin_utils.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/schematic.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/simple_manhattan.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/types.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/wire_routing.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/core/wires.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/discovery/__init__.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/discovery/search_index.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/library/__init__.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/library/cache.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/py.typed +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/utils/__init__.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api/utils/validation.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api.egg-info/dependency_links.txt +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api.egg-info/entry_points.txt +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api.egg-info/requires.txt +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/kicad_sch_api.egg-info/top_level.txt +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/setup.cfg +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/README.md +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/blank_schematic/blank_schematic.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/blank_schematic/blank_schematic.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/multi_unit_7400/multi_unit_7400.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/multi_unit_7400/multi_unit_7400.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/power_symbols/power_symbols.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/power_symbols/power_symbols.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/resistor_divider/resistor_divider.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/resistor_divider/resistor_divider.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/sch_title/sch_title.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/sch_title/sch_title.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_extended_component/single_extended_component.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_extended_component/single_extended_component.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_hierarchical_sheet/single_hierarchical_sheet.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_hierarchical_sheet/single_hierarchical_sheet.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_hierarchical_sheet/subcircuit1.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_label/single_label.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_label/single_label.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_label_hierarchical/single_label_hierarchical.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_label_hierarchical/single_label_hierarchical.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_resistor/single_resistor.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_resistor/single_resistor.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_text/single_text.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_text/single_text.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_text_box/single_text_box.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_text_box/single_text_box.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_wire/single_wire.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/single_wire/single_wire.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/two_resistors/two_resistors.kicad_pro +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/reference_tests/reference_kicad_projects/two_resistors/two_resistors.kicad_sch +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_bounding_box_rectangles.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_component_removal.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_element_removal.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_grid_snapping.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_manhattan_routing.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_pin_positioning.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_pin_to_pin_wiring.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_rectangle.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_rectangle_roundtrip.py +0 -0
- {kicad_sch_api-0.3.1 → kicad_sch_api-0.3.2}/tests/test_removal_against_references.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kicad-sch-api
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Professional KiCAD schematic manipulation library with exact format preservation
|
|
5
5
|
Author-email: Circuit-Synth <shane@circuit-synth.com>
|
|
6
6
|
Maintainer-email: Circuit-Synth <shane@circuit-synth.com>
|
|
@@ -42,7 +42,7 @@ Advanced Usage:
|
|
|
42
42
|
print(f"Found {len(issues)} validation issues")
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
|
-
__version__ = "0.3.
|
|
45
|
+
__version__ = "0.3.2"
|
|
46
46
|
__author__ = "Circuit-Synth"
|
|
47
47
|
__email__ = "info@circuit-synth.com"
|
|
48
48
|
|
|
@@ -55,7 +55,7 @@ from .library.cache import SymbolLibraryCache, get_symbol_cache
|
|
|
55
55
|
from .utils.validation import ValidationError, ValidationIssue
|
|
56
56
|
|
|
57
57
|
# Version info
|
|
58
|
-
VERSION_INFO = (0, 3,
|
|
58
|
+
VERSION_INFO = (0, 3, 2)
|
|
59
59
|
|
|
60
60
|
# Public API
|
|
61
61
|
__all__ = [
|
|
@@ -189,7 +189,8 @@ class ExactFormatter:
|
|
|
189
189
|
elif isinstance(element, str):
|
|
190
190
|
# Quote strings that need quoting
|
|
191
191
|
if self._needs_quoting(element):
|
|
192
|
-
|
|
192
|
+
escaped = self._escape_string(element)
|
|
193
|
+
return f'"{escaped}"'
|
|
193
194
|
return element
|
|
194
195
|
elif isinstance(element, float):
|
|
195
196
|
# Custom float formatting for KiCAD compatibility
|