LiteBuild 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.
Files changed (23) hide show
  1. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/build_engine.py +4 -4
  2. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/build_workers.py +2 -2
  3. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/lite_build_runner.py +2 -3
  4. {litebuild-0.3.1 → litebuild-0.3.2/LiteBuild.egg-info}/PKG-INFO +1 -1
  5. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/SOURCES.txt +0 -1
  6. {litebuild-0.3.1/LiteBuild.egg-info → litebuild-0.3.2}/PKG-INFO +1 -1
  7. {litebuild-0.3.1 → litebuild-0.3.2}/pyproject.toml +1 -1
  8. litebuild-0.3.1/LiteBuild/csv_table.py +0 -110
  9. {litebuild-0.3.1 → litebuild-0.3.2}/LICENSE +0 -0
  10. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/build_logger.py +0 -0
  11. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/command_generator.py +0 -0
  12. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/config_loader.py +0 -0
  13. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/dependency_graph.py +0 -0
  14. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/lite_build_controller.py +0 -0
  15. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/litebuild.py +0 -0
  16. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild/schema.py +0 -0
  17. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/dependency_links.txt +0 -0
  18. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/entry_points.txt +0 -0
  19. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/requires.txt +0 -0
  20. {litebuild-0.3.1 → litebuild-0.3.2}/LiteBuild.egg-info/top_level.txt +0 -0
  21. {litebuild-0.3.1 → litebuild-0.3.2}/docs/readme.md +0 -0
  22. {litebuild-0.3.1 → litebuild-0.3.2}/setup.cfg +0 -0
  23. {litebuild-0.3.1 → litebuild-0.3.2}/tests/test_build_engine.py +0 -0
@@ -11,10 +11,10 @@ from typing import List, Dict, Tuple, NamedTuple, Optional
11
11
  import networkx as nx
12
12
  from YMLEditor.yaml_reader import ConfigLoader
13
13
 
14
- from build_logger import BuildLogger, setup_logger, get_logger
15
- from command_generator import CommandGenerator
16
- from dependency_graph import DependencyGraph
17
- from schema import BUILD_SCHEMA, LiteBuildValidator
14
+ from LiteBuild.build_logger import BuildLogger, setup_logger, get_logger
15
+ from LiteBuild.command_generator import CommandGenerator
16
+ from LiteBuild.dependency_graph import DependencyGraph
17
+ from LiteBuild.schema import BUILD_SCHEMA, LiteBuildValidator
18
18
 
19
19
 
20
20
  class UpdateCode(IntEnum):
@@ -8,8 +8,8 @@ from typing import Optional, Dict
8
8
 
9
9
  from PySide6.QtCore import QObject, Signal
10
10
 
11
- from build_engine import BuildEngine
12
- from build_logger import BuildLogger, LogLevel
11
+ from LiteBuild.build_engine import BuildEngine
12
+ from LiteBuild.build_logger import BuildLogger, LogLevel
13
13
 
14
14
 
15
15
  class BuildWorker(QObject):
@@ -6,9 +6,8 @@ from PySide6.QtGui import QTextCursor, QCloseEvent
6
6
  from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QLabel, QLineEdit, QVBoxLayout,
7
7
  QPushButton, QMessageBox, QTextEdit, QFileDialog, QHBoxLayout)
8
8
 
9
- from build_workers import BuildWorker, BuildGroupWorker
10
- # Import the controller and worker classes
11
- from lite_build_controller import LiteBuildController
9
+ from LiteBuild.build_workers import BuildWorker, BuildGroupWorker
10
+ from LiteBuild.lite_build_controller import LiteBuildController
12
11
 
13
12
 
14
13
  class LiteBuildApp(QMainWindow):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: LiteBuild
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Lightweight build engine
5
5
  Author: corb
6
6
  License: Copyright 2025 corb555
@@ -5,7 +5,6 @@ LiteBuild/build_logger.py
5
5
  LiteBuild/build_workers.py
6
6
  LiteBuild/command_generator.py
7
7
  LiteBuild/config_loader.py
8
- LiteBuild/csv_table.py
9
8
  LiteBuild/dependency_graph.py
10
9
  LiteBuild/lite_build_controller.py
11
10
  LiteBuild/lite_build_runner.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: LiteBuild
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: Lightweight build engine
5
5
  Author: corb
6
6
  License: Copyright 2025 corb555
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "LiteBuild"
7
- version = "0.3.1"
7
+ version = "0.3.2"
8
8
  description = "Lightweight build engine"
9
9
  authors = [{ name = "corb" }]
10
10
  readme = { file = "docs/readme.md", content-type = "text/markdown" }
@@ -1,110 +0,0 @@
1
- from pathlib import Path
2
- import sys
3
- from typing import List, Optional
4
-
5
- import pandas as pd
6
- from PySide6.QtCore import Qt
7
- from PySide6.QtWidgets import (QApplication, QHBoxLayout, QLabel, QLineEdit, QMainWindow,
8
- QPushButton, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget, )
9
-
10
-
11
- class CsvTable(QWidget):
12
- """
13
- QWidget for viewing a CSV data in a table - supports find and sort
14
- """
15
- def __init__(self, parent: Optional[QWidget] = None) -> None:
16
- super().__init__(parent)
17
- main_layout = QVBoxLayout(self)
18
- self.table_widget = QTableWidget()
19
- self.table_widget.setSortingEnabled(True)
20
- self.table_widget.setEditTriggers(QTableWidget.EditTrigger.NoEditTriggers)
21
- main_layout.addWidget(self.table_widget)
22
-
23
- find_layout = QHBoxLayout()
24
- self.find_input = QLineEdit()
25
- self.find_input.textChanged.connect(self._reset_search)
26
-
27
- self.find_button = QPushButton("Find")
28
- self.find_button.clicked.connect(self._on_find_clicked)
29
-
30
- find_layout.addWidget(QLabel("Find:"))
31
- find_layout.addWidget(self.find_input)
32
- find_layout.addWidget(self.find_button)
33
- find_layout.addStretch()
34
- main_layout.addLayout(find_layout)
35
-
36
- self._search_results = []
37
- self._current_search_index = -1
38
-
39
- def load(self, path: Path, remove_columns: Optional[List[str]] = None):
40
- """Load and displays a CSV file. Remove columns if specified """
41
- try:
42
- print(f"Loading {path}")
43
- df = pd.read_csv(path)
44
- if remove_columns:
45
- df = df.drop(columns=remove_columns, errors='ignore')
46
-
47
- self.table_widget.clear()
48
- self.table_widget.setRowCount(df.shape[0])
49
- self.table_widget.setColumnCount(df.shape[1])
50
- self.table_widget.setHorizontalHeaderLabels(df.columns)
51
-
52
- for row_idx, row_data in enumerate(df.values):
53
- for col_idx, value in enumerate(row_data):
54
- if isinstance(value, (int, float)):
55
- if value > 2147483647: # Max C++ int
56
- item = QTableWidgetItem(str(value))
57
- else:
58
- item = QTableWidgetItem(value)
59
- item.setData(Qt.ItemDataRole.EditRole, value)
60
- else:
61
- txt = "" if pd.isna(value) else str(value)
62
- item = QTableWidgetItem(txt)
63
-
64
- self.table_widget.setItem(row_idx, col_idx, item)
65
-
66
- self.table_widget.resizeColumnsToContents()
67
- print(" Load complete")
68
-
69
- except Exception as e:
70
- print(f"err {e}")
71
- self.table_widget.setItem(0, 0, QTableWidgetItem(f"Error loading file"))
72
- raise(ValueError, "Error: File not found at '{path}'")
73
-
74
-
75
- def _reset_search(self):
76
- """
77
- Resets the search state. Called whenever the find text is changed.
78
- """
79
- self.table_widget.clearSelection()
80
- self._search_results = []
81
- self._current_search_index = -1
82
-
83
- def _on_find_clicked(self):
84
- """
85
- Handles a click on the "Find" button.
86
- - If it's a new search (or text has changed), it finds all occurrences.
87
- - If it's a subsequent search, it finds the next occurrence.
88
- """
89
- search_text = self.find_input.text()
90
-
91
- # If the index is -1, it means this is a new search.
92
- if self._current_search_index == -1:
93
- self._search_results = self.table_widget.findItems(
94
- search_text, Qt.MatchFlag.MatchContains
95
- )
96
- if not self._search_results:
97
- return
98
-
99
- # If we have results, move to the next one.
100
- if self._search_results:
101
- self._current_search_index = (self._current_search_index + 1) % len(self._search_results)
102
- self._highlight_current_search_result()
103
-
104
- def _highlight_current_search_result(self):
105
- """Scrolls to and selects the current search item."""
106
- if not self._search_results:
107
- return
108
- item = self._search_results[self._current_search_index]
109
- self.table_widget.setCurrentItem(item)
110
-
File without changes
File without changes
File without changes
File without changes