Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1110 commits
Select commit Hold shift + click to select a range
53cf61b
feat: enhance AdapterService to support Braiins Pool and Ocean mining…
markoceri Apr 17, 2026
3d261c5
feat: add MINING_PERFORMANCE_TRACKER to ConfigurationUpdatedEventType…
markoceri Apr 17, 2026
a1ee482
feat: add mining performance tracker management methods to Configurat…
markoceri Apr 17, 2026
be2c242
feat: implement dummy mining performance tracker with simulated metri…
markoceri Apr 17, 2026
fc4558c
feat: add Braiins Pool mining performance tracker adapter implementation
markoceri Apr 17, 2026
12f2075
feat: implement Ocean mining performance tracker adapter with API int…
markoceri Apr 17, 2026
6dee395
feat: add unit tests for Ocean mining performance tracker adapter
markoceri Apr 17, 2026
1168941
feat: add unit tests for Mining Performance Tracker CRUD operations
markoceri Apr 17, 2026
d07dfab
feat: create unit test module for performance domain adapters
markoceri Apr 17, 2026
595555b
feat: add CLI commands for managing mining performance trackers
markoceri Apr 17, 2026
781a453
feat: add FastAPI routers and schemas for mining performance tracker …
markoceri Apr 17, 2026
a6123c6
feat: add unit tests for mining performance tracker CLI and API router
markoceri Apr 17, 2026
8d6bfbb
feat: add performance tracker management functionality
markoceri Apr 17, 2026
ccc6c3e
feat: add MiningPerformanceSnapshot value object for consolidated min…
markoceri Apr 18, 2026
f149a8a
feat: update DecisionalContext to include MiningPerformanceSnapshot a…
markoceri Apr 18, 2026
9e7f3c3
feat: integrate MiningPerformanceSnapshot into OptimizationService fo…
markoceri Apr 18, 2026
b1372cb
feat: update DecisionalContext to replace tracker_current_hashrate wi…
markoceri Apr 18, 2026
203f277
feat: update schemas to integrate MiningPerformanceSnapshot and repla…
markoceri Apr 18, 2026
fbd7273
feat: add mining performance example rules for starting and stopping …
markoceri Apr 18, 2026
995fa66
feat: add MiningPoolRateLimitedError for handling API throttling resp…
markoceri Apr 20, 2026
eb5950e
feat: implement CachedRateLimitedTrackerBase for enhanced mining perf…
markoceri Apr 20, 2026
ad35da3
feat: enhance BraiinsPoolMiningPerformanceTracker with caching and ra…
markoceri Apr 20, 2026
48c12a4
feat: enhance OceanMiningPerformanceTracker with caching and rate-lim…
markoceri Apr 20, 2026
30f7c15
feat: add unit tests for CachedRateLimitedTrackerBase with rate-limit…
markoceri Apr 20, 2026
8dc3eda
feat: handle MiningPoolRateLimitedError in performance tracking comma…
markoceri Apr 20, 2026
71f3b19
feat: implement mining performance dashboard with detailed stats and …
markoceri Apr 20, 2026
7c1ae16
feat: update BraiinsPoolMiningPerformanceTracker for changes in API r…
markoceri Apr 20, 2026
dc4a405
feat: update payout schedule tests for Braiins Pool to reflect daily …
markoceri Apr 20, 2026
6ad89f2
doc: update changelog
markoceri Apr 20, 2026
ccdb838
feat: refactor miner runtime state display and remove unused MinerTil…
markoceri Apr 20, 2026
55f52f6
fix: update version to 0.1.0-rev3 and update submodule commits for co…
markoceri Apr 21, 2026
f19a771
feat: add API router for home load domain and integrate with main app…
markoceri Apr 21, 2026
64a5494
Merge remote-tracking branch 'origin/dev' into home-load-api
markoceri Apr 21, 2026
fe231ad
refactor: rename home forecast exceptions to energy load forecast exc…
markoceri Apr 21, 2026
4cf544a
refactor: rename HomeForecastProviderConfig to EnergyLoadForecastProv…
markoceri Apr 21, 2026
b6b38b9
Refactor home load schemas and entities to support energy load foreca…
markoceri Apr 21, 2026
821104f
refactor: remove assign_home_forecast_provider method from EnergyOpti…
markoceri Apr 22, 2026
82e85e9
refactor: remove home_forecast_provider_id from SqliteOptimizationUni…
markoceri Apr 22, 2026
3b57bf8
refactor: rename home_forecast_providers to energy_load_forecast_prov…
markoceri Apr 22, 2026
6c82080
refactor: rename home_forecast_provider to energy_load_forecast_provi…
markoceri Apr 22, 2026
a44bfa8
refactor: update home load forecast provider references to energy loa…
markoceri Apr 22, 2026
76d10f7
refactor: rename home forecast provider references to energy load for…
markoceri Apr 22, 2026
c5501ff
refactor: rename DummyHomeForecastProvider to DummyEnergyLoadForecast…
markoceri Apr 22, 2026
691dd08
refactor: remove home_forecast_provider_id column from optimization_u…
markoceri Apr 22, 2026
5ec12c9
refactor: remove home_forecast_provider_id from EnergyOptimizationUni…
markoceri Apr 22, 2026
ccd0831
refactor: rename home forecast provider references to energy load for…
markoceri Apr 22, 2026
e652f85
refactor: remove home_forecast_provider_id from optimization unit add…
markoceri Apr 22, 2026
b66e5c4
refactor: remove home_forecast_provider_id from optimization unit com…
markoceri Apr 22, 2026
adbf332
refactor: rename home forecast provider to energy load forecast provi…
markoceri Apr 22, 2026
464ab6a
refactor: rename home forecast provider references to energy load for…
markoceri Apr 22, 2026
1b9b9f4
refactor: update method docstrings and parameter names in EnergyLoadF…
markoceri Apr 22, 2026
84e5388
refactor: enhance HomeLoadsProfileRepository with additional methods …
markoceri Apr 22, 2026
a30d6d2
refactor: update LoadDevice serialization to handle lists and enhance…
markoceri Apr 22, 2026
6d83a84
refactor: enhance ConfigurationService with HomeLoadsProfile manageme…
markoceri Apr 22, 2026
a209f75
refactor: rename delete_home_loads_profile method to remove_home_load…
markoceri Apr 22, 2026
cbc6fe7
refactor: enhance LoadEnergyConsumption and add LoadDeviceConsumption…
markoceri Apr 22, 2026
2e52927
refactor: enhance HomeLoadsProfile with device management methods and…
markoceri Apr 22, 2026
5e40075
refactor: update home loads profile methods to raise errors on missin…
markoceri Apr 22, 2026
81bbaec
refactor: update DecisionalContext to use HomeLoadsConsumption instea…
markoceri Apr 22, 2026
96c8a1e
refactor: implement home loads consumption aggregation and device man…
markoceri Apr 22, 2026
35cf585
refactor: simplify DummyEnergyLoadForecastProvider by removing histor…
markoceri Apr 22, 2026
f791785
refactor: add LoadDeviceConsumptionSchema and HomeLoadsConsumptionSch…
markoceri Apr 22, 2026
87740e3
refactor: rename home_load_forecast to home_load in DecisionalContext…
markoceri Apr 22, 2026
81e4c4b
refactor: enhance EnergyLoadHistoryRepository and EnergyLoadHistoryPr…
markoceri Apr 22, 2026
fb078a6
refactor: enhance EnergyLoadHistoryAdapterFactory with device-scoped …
markoceri Apr 22, 2026
d400138
refactor: enhance HomeAssistantAPIEnergyLoadHistoryProvider with impr…
markoceri Apr 22, 2026
0e2ce2c
refactor: implement EnergyLoadHistoryRepository with in-memory and SQ…
markoceri Apr 22, 2026
efc5e49
refactor: add HomeLoadPowerPoint table for device-scoped time series …
markoceri Apr 22, 2026
600b2f3
refactor: add EnergyLoadHistoryRepository to bootstrap and infrastruc…
markoceri Apr 22, 2026
156ff0c
refactor: add home_load_power_points table for device-scoped power po…
markoceri Apr 22, 2026
14d2c1b
refactor: update EnergyLoadHistoryProvider to use correct configurati…
markoceri Apr 22, 2026
9393d00
fix: update EnergyLoadHistoryProviderRepository to use correct entity…
markoceri Apr 22, 2026
810abc6
refactor: update EnergyLoadHistoryProviderError to inherit from HomeL…
markoceri Apr 22, 2026
baf33bf
refactor: add EnergyLoadHistoryProviderAdapter and related configurat…
markoceri Apr 22, 2026
e6dae27
refactor: include EnergyLoadHistoryProvider in ExternalServiceLinkedE…
markoceri Apr 22, 2026
fd52265
refactor: add EnergyLoadHistoryProviderRepository to PersistenceSettings
markoceri Apr 22, 2026
c7067b9
feat: add get_home_load_history_provider method to AdapterServiceInte…
markoceri Apr 22, 2026
e35b015
feat: add energy load history provider support to AdapterService
markoceri Apr 22, 2026
213e950
feat: add EnergyLoadHistoryProvider management methods to Configurati…
markoceri Apr 22, 2026
e570932
feat: add EnergyLoadHistoryProvider table and mapping with serializat…
markoceri Apr 22, 2026
9beed27
feat: implement EnergyLoadHistoryProvider repository with in-memory a…
markoceri Apr 22, 2026
6f3877d
refactor: replace internal grouping method with helper function for p…
markoceri Apr 22, 2026
73705cc
feat: add helper function to group power points into 1-hour intervals
markoceri Apr 22, 2026
d22156d
feat: implement DummyEnergyLoadHistoryProvider for cached power point…
markoceri Apr 22, 2026
db305ae
feat: add EnergyLoadHistoryProvider support in bootstrap configuration
markoceri Apr 22, 2026
5bc9c19
feat: add EnergyLoadHistoryProvider schemas for entity management
markoceri Apr 22, 2026
05519e6
feat: add EnergyLoadHistoryProviderSchema to ExternalServiceLinkedEnt…
markoceri Apr 22, 2026
ac86bc9
feat: add energy_load_history_providers table with schema and index
markoceri Apr 22, 2026
266c58f
feat: add endpoints for managing energy load history providers
markoceri Apr 22, 2026
0cae608
feat: add energy_load_history_provider_repo to mock persistence and t…
markoceri Apr 22, 2026
e771001
feat: integrate energy load history providers into optimization service
markoceri Apr 22, 2026
e0ccf59
feat: add LoadConsumptionHistoryCollectedEvent and LoadConsumptionHis…
markoceri Apr 22, 2026
6b29231
feat: add HomeLoadHistoryServiceInterface for home load history inges…
markoceri Apr 22, 2026
df01122
feat: add HomeLoadHistoryServiceInterface to Services for home load m…
markoceri Apr 22, 2026
e9eadf3
feat: implement HomeLoadHistoryService for collecting and purging hom…
markoceri Apr 22, 2026
c973690
feat: update scheduler settings for history ingestion and retention i…
markoceri Apr 22, 2026
91089e6
feat: enhance AutomationScheduler to include history collection and p…
markoceri Apr 22, 2026
816b323
feat: integrate HomeLoadHistoryService into dependency configuration
markoceri Apr 22, 2026
3b4dabc
feat: inject HomeLoadHistoryService into main_async for enhanced func…
markoceri Apr 22, 2026
b0ae450
feat: add new energy load forecast provider types for enhanced foreca…
markoceri Apr 22, 2026
0d603d5
feat: implement NaiveLastHourForecastProvider for energy load forecas…
markoceri Apr 22, 2026
d4c0c3a
feat: add SeasonalBaselineForecastProvider for energy load forecasting
markoceri Apr 22, 2026
09c28a5
feat: add NaiveLastHourForecastProvider and SeasonalBaselineForecastP…
markoceri Apr 22, 2026
348e31e
feat: add NaiveLastHour and SeasonalBaseline forecast provider config…
markoceri Apr 22, 2026
3f18724
feat: update home load adapter maps to include NaiveLastHour and Seas…
markoceri Apr 22, 2026
a083185
feat: add schemas for NaiveLastHour and SeasonalBaseline EnergyLoadFo…
markoceri Apr 22, 2026
c5e11b6
feat: add EnergyLoadForecastAdapterFactory for energy load forecasting
markoceri Apr 22, 2026
88a501d
feat: add factories for Dummy, NaiveLastHour, and SeasonalBaseline fo…
markoceri Apr 22, 2026
4af1a18
feat: refactor adapter service to use factory classes for energy load…
markoceri Apr 22, 2026
db277fc
feat: add pre-computed window properties for LoadEnergyConsumption
markoceri Apr 22, 2026
589f4fc
feat: enhance _get_field_value to support dict key lookup and improve…
markoceri Apr 22, 2026
62373fc
feat: update home load forecast fields in mining rules for improved a…
markoceri Apr 22, 2026
4cec270
feat: add tests for dict key lookup in _get_field_value and condition…
markoceri Apr 22, 2026
3c79615
feat: add configurations for Statsmodels and XGBoost forecast providers
markoceri Apr 22, 2026
fc9eb36
feat: add LoadConsumptionModelRepository for managing LoadConsumption…
markoceri Apr 22, 2026
9b6f7cf
feat: add LoadConsumptionModel entity for ML model management in fore…
markoceri Apr 22, 2026
cde7be4
feat: add LoadConsumptionModelRepository and LoadForecastModelTrainin…
markoceri Apr 22, 2026
0207c96
feat: implement LoadForecastModelTrainingService for training ML mode…
markoceri Apr 22, 2026
7693a6d
feat: add Statsmodels and XGBoost forecast provider factories to Adap…
markoceri Apr 22, 2026
59b0916
feat: add Statsmodels and XGBoost forecast provider implementations f…
markoceri Apr 22, 2026
f4fb886
feat: add in-memory LoadConsumptionModel repository and integrate int…
markoceri Apr 22, 2026
0605eed
feat: add schemas for Statsmodels and XGBoost EnergyLoadForecastProvi…
markoceri Apr 22, 2026
009dd3c
feat: add model training job to AutomationScheduler for nightly ML mo…
markoceri Apr 22, 2026
408e419
feat: integrate load forecast training service into main_async function
markoceri Apr 22, 2026
cc41282
feat: add ML dependencies for scikit-learn, statsmodels, and xgboost
markoceri Apr 22, 2026
ab9b4aa
feat: add load_consumption_models table and mapping for ML model storage
markoceri Apr 22, 2026
db1ec09
feat: implement SQLite and SQLAlchemy repositories for LoadConsumptio…
markoceri Apr 22, 2026
cff0bce
feat: add LoadConsumptionModelRepository to persistence configuration
markoceri Apr 22, 2026
d3f59b8
feat: implement energy load forecast provider management in configura…
markoceri Apr 23, 2026
777a461
feat: implement energy load forecast provider management in configura…
markoceri Apr 23, 2026
806b7b8
feat: add energy load history provider ID to LoadDevice schema and va…
markoceri Apr 23, 2026
93027f0
feat: update load device to handle UUIDs for energy load forecast and…
markoceri Apr 23, 2026
9e2befb
feat: add method to retrieve all LoadConsumptionModels in LoadConsump…
markoceri Apr 23, 2026
4b934d7
feat: add get_all method to LoadConsumptionModelRepository implementa…
markoceri Apr 23, 2026
f82cb8c
feat: enhance home load services with device history retrieval and mo…
markoceri Apr 23, 2026
34577c6
feat: update load forecast training service interface reference in in…
markoceri Apr 23, 2026
fb46072
feat: add schemas for LoadConsumptionModel and HomeLoadPowerPoint ent…
markoceri Apr 23, 2026
bf74fdd
feat: add device history retrieval and training endpoints to home loa…
markoceri Apr 23, 2026
4d97e39
feat: add dependency injection for HomeLoadHistoryService and LoadFor…
markoceri Apr 23, 2026
2a71c38
feat: add unit tests for HomeLoadHistoryService.get_device_history
markoceri Apr 23, 2026
4ed4d65
feat: add unit tests for LoadForecastModelTrainingService methods
markoceri Apr 23, 2026
519a3d8
feat: add unit tests for InMemoryLoadConsumptionModelRepository.get_a…
markoceri Apr 23, 2026
5c43e51
feat: add initial test files for home load domain adapters
markoceri Apr 23, 2026
6a952a4
feat: add unit tests for home load API endpoints including device his…
markoceri Apr 23, 2026
bde4c9c
feat: update schemas and router to use WattHours and LoadDeviceCatego…
markoceri Apr 23, 2026
7e75ad6
feat: update home load history provider methods to support async oper…
markoceri Apr 24, 2026
bd4c7c5
feat: update imports in interfaces.py to include Timestamp and remove…
markoceri Apr 24, 2026
32077fa
feat: update collect_for_device method to support async history provi…
markoceri Apr 24, 2026
32b8609
feat: add endpoints for collecting device history and triggering hist…
markoceri Apr 24, 2026
fc3b88a
feat: add methods to retrieve external service adapters for energy lo…
markoceri Apr 24, 2026
6ea5c40
feat: add endpoints to retrieve external service types for energy loa…
markoceri Apr 24, 2026
2c652bb
feat: update timestamp handling to use datetime.now() for accurate ti…
markoceri Apr 24, 2026
32ff828
feat: refactor Home Assistant API methods to support async operations…
markoceri Apr 24, 2026
54e08b6
feat: add abstract method to clear device history in EnergyLoadHistor…
markoceri Apr 24, 2026
493d0f8
feat: add clear_device_history method to EnergyLoadHistoryRepository …
markoceri Apr 24, 2026
4ba0f49
feat: implement clear_device_history method in HomeLoadHistoryService
markoceri Apr 24, 2026
1701c65
feat: add endpoint to delete device history for home loads profiles
markoceri Apr 24, 2026
731ff0b
feat: add timezone support for datetime in home load history services…
markoceri Apr 24, 2026
4e73187
feat: fix datetime handling for Home Assistant API queries to ensure …
markoceri Apr 24, 2026
043ac10
feat: add energy load forecasting and history provider models, servic…
markoceri Apr 24, 2026
5c74a30
feat: add lookback_hours parameter to history collection methods for …
markoceri Apr 24, 2026
f4e99be
feat: enhance LoadDeviceHistoryModal chart options and add average li…
markoceri Apr 24, 2026
b485a9b
feat: add endpoint to retrieve energy consumption forecast for specif…
markoceri Apr 24, 2026
3eed849
feat: add device forecast functionality and update LoadDeviceHistoryM…
markoceri Apr 24, 2026
e889a07
feat: update datetime handling to ensure UTC consistency across forec…
markoceri Apr 24, 2026
617e648
feat: integrate energy load forecasting capabilities into LoadDeviceF…
markoceri Apr 24, 2026
da092f4
feat: add forecast error handling and alert in LoadDeviceHistoryModal
markoceri Apr 24, 2026
6428576
feat: improve error handling in StatsmodelsForecastProvider for missi…
markoceri Apr 24, 2026
549494f
feat: add forecast statistics computation and display in LoadDeviceHi…
markoceri Apr 24, 2026
c120dcc
feat: extend device forecast history hours to 72 in HomeLoadsProfileS…
markoceri Apr 24, 2026
d79336f
feat: implement min_required_history_hours property for energy load f…
markoceri Apr 24, 2026
7a86d94
feat: add minimum required history hours to energy load forecast prov…
markoceri Apr 24, 2026
8cd9785
feat: update default history_hours parameter to 72 for device forecast
markoceri Apr 24, 2026
bfdbb5c
feat: set minimum required history hours to 72 in fetchForecast function
markoceri Apr 24, 2026
611364f
feat: hide chart toolbar in LoadDeviceHistoryModal
markoceri Apr 24, 2026
fcced10
feat: add forecast button to LoadDeviceHistoryModal
markoceri Apr 24, 2026
c3baf33
feat: update button styles and stat card colors in LoadDeviceHistoryM…
markoceri Apr 24, 2026
72775f7
feat: add delete_model method to LoadForecastTrainingServiceInterface…
markoceri Apr 24, 2026
38db142
feat: add endpoint to delete trained ML models by ID
markoceri Apr 24, 2026
4ee73aa
feat: implement model deletion functionality in TrainingPanel and loa…
markoceri Apr 24, 2026
eb397bc
feat: add Home Loads section with training functionality and update r…
markoceri Apr 24, 2026
7881707
feat: enhance LoadDeviceFormModal with history provider integration a…
markoceri Apr 24, 2026
792bc5b
feat: add LoadDeviceTable component for improved device management an…
markoceri Apr 24, 2026
4a91dd5
feat: add profile deletion confirmation dialog in HomeLoadsSettingsView
markoceri Apr 24, 2026
5877113
feat: add training functionality to LoadDeviceTable and integrate wit…
markoceri Apr 24, 2026
8b3bc66
feat: implement α/β blending for load forecast with last real measure…
markoceri Apr 24, 2026
077cbe9
feat: add properties for next and last time intervals in LoadEnergyCo…
markoceri Apr 24, 2026
520fad7
feat: add unit tests for LoadEnergyConsumption extended window proper…
markoceri Apr 24, 2026
6aea6f7
feat: implement NaivePersistence forecast provider for energy load co…
markoceri Apr 24, 2026
7bf5200
feat: add TypicalProfile forecast provider for energy load consumption
markoceri Apr 24, 2026
c00863e
feat: add Skforecast forecast provider for energy load consumption
markoceri Apr 24, 2026
ebb183e
fix: update parameter name for ForecasterRecursive instantiation in S…
markoceri Apr 24, 2026
a938728
fix: update parameter name from 'regressor' to 'estimator' in Forecas…
markoceri Apr 24, 2026
6404cc6
feat: implement Optuna hyperparameter tuning for SkforecastForecastPr…
markoceri Apr 25, 2026
77e4946
feat: add rolling-window backtesting functionality to SkforecastForec…
markoceri Apr 25, 2026
7c5fb58
feat: enhance LoadDeviceCard and LoadDeviceTable with additional ML p…
markoceri Apr 25, 2026
e129182
feat: add documentation for Home Load Forecast Providers
markoceri Apr 25, 2026
c105464
feat: add tuning and backtesting columns to load_consumption_models
markoceri Apr 25, 2026
603e137
feat: add ML model competition and promotion process to home load for…
markoceri Apr 25, 2026
94cdaa2
feat: enhance LoadConsumptionModel and TrainingPanel with backtest me…
markoceri Apr 25, 2026
8be87f9
feat: add ForecastProviderInfo component for adapter type details; in…
markoceri Apr 25, 2026
5d71003
fix: database path for alembic configuration
markoceri Apr 27, 2026
2fef9b8
feat: remove unused imports from ConfigSchemaForm, LoadDeviceHistoryM…
markoceri Apr 28, 2026
ffed270
feat: add LoadDeviceWizardModal component and integrate into HomeLoad…
markoceri Apr 28, 2026
1a6a078
feat: add Home Loads dashboard view and integrate into SidebarMenu fo…
markoceri Apr 28, 2026
6a8e04f
feat: add guard flag to prevent watchers from resetting config during…
markoceri Apr 28, 2026
978b025
feat: add home loads profile functionality to optimization units
markoceri Apr 28, 2026
81be37b
feat: add home loads profile ID to optimization unit creation and upd…
markoceri Apr 29, 2026
05dbf67
Merge pull request #83 from edge-mining/feat/mining-performance
GitGab19 May 6, 2026
5cbe190
feat: add debug logging for history and forecast provider issues in o…
markoceri May 6, 2026
ba4dbca
refactor: update home load management in optimization units
markoceri May 6, 2026
f3d312a
feat: enhance home load functionality with DecisionalContext integrat…
markoceri May 6, 2026
9800a79
Merge pull request #39 from edge-mining/feat/mining-performance
GitGab19 May 6, 2026
f66cf9d
Merge remote-tracking branch 'origin/dev' into feat/home-load
markoceri May 6, 2026
89ff777
feat: update DecisionalContext and enhance test cases for TypicalProf…
markoceri May 6, 2026
7ef9475
Merge branch 'develop' into feat/home-load
markoceri May 6, 2026
6fade4e
refactor: remove redundant isDashboardActive computed property from S…
markoceri May 6, 2026
5abef64
Merge pull request #84 from edge-mining/feat/home-load
GitGab19 May 8, 2026
9ecbc99
Merge pull request #40 from edge-mining/feat/home-load
GitGab19 May 8, 2026
a064f04
chore: remove core and frontend submodules
markoceri May 17, 2026
8474fda
Add 'core/' from commit '5abef6482f8bb3d162f16a698c6b7423418aaa4b'
markoceri May 17, 2026
3e432e8
Add 'frontend/' from commit '9ecbc99389b9b263f1c9b5662d4515604c067522'
markoceri May 17, 2026
6eed833
chore: update glue-code for monorepo layout
markoceri May 17, 2026
9e7f903
feat: consolidate monorepo structure
markoceri May 17, 2026
15b8122
feat: add development workflow documentation
markoceri May 17, 2026
f36bb5e
docs: update monorepo note in development workflow documentation
markoceri May 17, 2026
7b930c4
feat: add execution modes for the application in DEVELOPMENT.md
markoceri May 17, 2026
1482066
docs: update DEVELOPMENT.md with database migration details and direc…
markoceri May 17, 2026
944c99b
feat: add VSCode configuration files for Python development
markoceri May 17, 2026
f56182f
fix: update working directory in launch configurations to point to core
markoceri May 17, 2026
92b862f
fix: update pytest arguments to point to core/tests directory
markoceri May 17, 2026
3280f9a
fix: update usage instructions in migrate.py to reflect correct direc…
markoceri May 17, 2026
a0ed095
chore: remove unused .env.example and LICENSE files
markoceri May 17, 2026
f65a26e
chore: consolidate .gitignore files by merging core/.gitignore into r…
markoceri May 17, 2026
97b7f8a
fix: update .gitignore to include user data directories and track exa…
markoceri May 17, 2026
112656c
feat: add dev-tools scripts for Windows CMD and PowerShell to manage …
markoceri May 17, 2026
1f31bc1
feat: add .env.example file for environment configuration
markoceri May 17, 2026
827090c
refactor: update development tools to use unified virtual environment…
markoceri May 17, 2026
e180e50
feat: add venv command to create virtual environment and install depe…
markoceri May 17, 2026
fd639a5
chore: remove claude settings.local.json file
markoceri May 17, 2026
086649d
feat: updated initialization and update scripts for Docker applicatio…
markoceri May 17, 2026
e6b39ae
refactor: moved docs from core to root
markoceri May 17, 2026
d92e01f
fix: correct relative links in README for migration guides
markoceri May 17, 2026
476c75f
refactor: consolidate README content and remove core README file
markoceri May 17, 2026
da508c2
refactor: unified version handling and API endpoints in frontend and …
markoceri May 17, 2026
905e2f5
fix: update python.analysis.extraPaths to include core directory
markoceri May 17, 2026
94e15fe
chore: update version to 0.1.0-rev3 in version files and package conf…
markoceri May 17, 2026
856610a
fix: remove core/docs/ from .dockerignore to allow documentation file…
markoceri May 17, 2026
eb9a497
docs: clarify main branch development flow
GitGab19 Jun 24, 2026
339f905
Merge remote-tracking branch 'upstream/main' into monorepo-subtree
GitGab19 Jun 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 41 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Git
.git
.gitignore

# Python
__pycache__
*.pyc
*.pyo
.venv
venv
*.egg-info
.mypy_cache
.pytest_cache
.ruff_cache
htmlcov
.coverage

# Node
frontend/node_modules

# IDE
.vscode
.idea
*.swp
*.swo

# Docker
core/compose.dev.yaml

# User data (mounted at runtime)
user_data
user_data__

# Docs and dev files
docs/
*.md
LICENSE
core/Makefile
core/dev-tools.*
core/requirements-dev.txt
core/tests/
50 changes: 50 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Edge Mining environment configuration file
#
# Copy this file to .env and fill in your actual credentials

#
# Remove the '#' at the beginning of each line to uncomment the settings you want to use.
# replace the placeholder values with your actual credentials or values.
#
# NOTE: Remove the '#' after the value also if you uncomment a line.
#

# Application Settings
LOG_LEVEL=INFO

# Set your timezone (e.g., Europe/Rome, America/New_York)
TIMEZONE=Europe/Rome

# Coordinates for location-based services (e.g., weather forecasting or Sun properties)
LATITUDE=41.9028
LONGITUDE=12.4964

# Persistence Settings
# Adapter type: "in_memory", "sqlite", "sqlalchemy"
PERSISTENCE_ADAPTER=sqlalchemy

# Policies adapter type: "in_memory", "sqlite", "yaml", "sqlalchemy"
POLICIES_PERSISTENCE_ADAPTER=yaml

# Database configuration
# For SQLite: sqlite:///data/db/edgemining.db (default)
# For PostgreSQL: postgresql://user:password@localhost:5432/dbname
# For MySQL: mysql+pymysql://user:password@localhost:3306/dbname
DB_PATH=sqlite:///data/db/edgemining.db

# Alembic Migrations
# Automatically run database migrations on startup (recommended)
RUN_MIGRATIONS_ON_STARTUP=true

# Create a backup of the database before running migrations (SQLite only)
# Backups are stored in data/db/backups/
BACKUP_BEFORE_MIGRATION=true

# Path to the directory for storing optimization policies (when using YAML)
YAML_POLICIES_DIR=data/policies

# API Settings
API_PORT=8001

# Scheduler
SCHEDULER_INTERVAL_SECONDS=5
41 changes: 31 additions & 10 deletions .github/workflows/update-version-on-tag.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Update VERSION.json on Tag
name: Update package versions on tag

on:
push:
Expand All @@ -21,20 +21,41 @@ jobs:
id: version
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT

- name: Update VERSION.json
- name: Update package versions
env:
VERSION: ${{ steps.version.outputs.VERSION }}
run: |
cat > VERSION.json << EOF
{
"version": "${{ steps.version.outputs.VERSION }}",
"buildDate": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
"commit": "${{ github.sha }}"
}
EOF
python - <<'PY'
import json
import os
import re
from pathlib import Path

version = os.environ["VERSION"]

backend_version = Path("core/edge_mining/__version__.py")
backend_text = backend_version.read_text()
backend_text = re.sub(
r'__version__ = "[^"]+"',
f'__version__ = "{version}"',
backend_text,
)
backend_version.write_text(backend_text)

for package_file in (Path("frontend/package.json"), Path("frontend/package-lock.json")):
package = json.loads(package_file.read_text())
package["version"] = version
root_package = package.get("packages", {}).get("")
if isinstance(root_package, dict):
root_package["version"] = version
package_file.write_text(json.dumps(package, indent=2) + "\n")
PY

- name: Commit and push
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add VERSION.json
git add core/edge_mining/__version__.py frontend/package.json frontend/package-lock.json
git diff --cached --quiet && exit 0
git commit -m "chore: bump version to ${{ steps.version.outputs.VERSION }}"
git push
206 changes: 204 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,204 @@
# Ignore user data files
user_data/*
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc

# Development tools
.mypy_cache/
.bandit/
.coverage.*
htmlcov/
.pytest_cache/
*.log

# User data directory
data/db/
user_data/*
user_data__/

# Track example templates but ignore any custom files added by users
data/examples/*
data/policies/*
!data/examples/rules/
!data/examples/rules/start/
!data/examples/rules/stop/
!data/examples/rules/start/*.yaml
!data/examples/rules/stop/*.yaml
!data/examples/policies/
!data/examples/policies/*.yaml

# SQLAlchemy database files
*.db
*.db-journal
*.db-shm
*.db-wal
8 changes: 0 additions & 8 deletions .gitmodules

This file was deleted.

Loading