flexmeasures 0.16.dev13__tar.gz → 0.16.dev18__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.
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/Dockerfile +3 -3
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/Makefile +12 -19
- {flexmeasures-0.16.dev13/flexmeasures.egg-info → flexmeasures-0.16.dev18}/PKG-INFO +55 -1
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/changelog.rst +1 -1
- flexmeasures-0.16.dev18/flexmeasures/cli/scripts/add_scripts_path.sh +60 -0
- flexmeasures-0.16.dev18/flexmeasures/cli/scripts/click-complete.bash +29 -0
- flexmeasures-0.16.dev18/flexmeasures/cli/scripts/click-complete.fish +22 -0
- flexmeasures-0.16.dev18/flexmeasures/cli/scripts/click-complete.zsh +35 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/profit.py +8 -1
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/scheduling.py +11 -17
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18/flexmeasures.egg-info}/PKG-INFO +55 -1
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures.egg-info/SOURCES.txt +4 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.10/dev.txt +9 -9
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.10/docs.txt +11 -11
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.10/test.txt +16 -16
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.11/dev.txt +8 -8
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.11/docs.txt +11 -11
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.11/test.txt +15 -15
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.8/dev.txt +9 -9
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.8/docs.txt +14 -14
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.8/test.txt +18 -18
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.9/dev.txt +9 -9
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.9/docs.txt +13 -13
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.9/test.txt +18 -18
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/dev.in +0 -4
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/docs.in +0 -2
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/test.in +0 -3
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.coveragerc +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.flaskenv +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.github/issue-branch.yml +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.github/workflows/deploy.yml +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.github/workflows/lint-and-test.yml +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.gitignore +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.pre-commit-config.yaml +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.readthedocs.yaml +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.vscode/settings.json +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/.vscode/spellright.dict +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/LICENSE +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/MANIFEST.in +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/NOTICE +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/Readme.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/ci/DEPLOY.sh +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/ci/Readme.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/ci/install-cbc-from-source.sh +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/ci/load-psql-extensions.sql +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/ci/run_mypy.sh +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/ci/setup-postgres.sh +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/docker-compose.yml +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/Makefile +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/_static/css/custom.css +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/_templates/custom-module-template.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/aggregator.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/change_log.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/dev.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/introduction.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/mdc.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/notation.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/prosumer.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/supplier.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/v1.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/v1_1.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/v1_2.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/v1_3.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/v2_0.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/api/v3_0.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/cli/change_log.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/cli/commands.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/algorithms.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/assets.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/benefits.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/benefits_of_flex.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/device_scheduler.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/inbuilt-smart-functionality.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/markets.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/security_auth.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/concepts/users.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/conf.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/configuration.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/dev/api.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/dev/auth.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/dev/ci.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/dev/docker-compose.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/dev/introduction.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/dev/note-on-datamodel-transition.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/get-in-touch.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/getting-started.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/host/data.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/host/deployment.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/host/docker.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/host/error-monitoring.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/host/modes.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/host/queues.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/index.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/make.bat +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/plugin/customisation.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/plugin/introduction.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/plugin/showcase.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/building_uis.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/forecasting_scheduling.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/installation.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/posting_data.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/toy-example-expanded.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/toy-example-from-scratch.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/toy-example-process.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/toy-example-reporter.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/tut/toy-example-setup.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/views/admin.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/views/asset-data.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/documentation/views/dashboard.rst +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/Readme.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/Readme.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/implementations.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/responses.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/routes.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/schemas/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/schemas/generic_assets.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/schemas/sensor_data.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/schemas/sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/schemas/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/schemas/tests/test_sensor_data_schema.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/schemas/tests/test_sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/schemas/users.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/utils/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/utils/api_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/utils/args_parsing.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/utils/deprecation_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/common/utils/validators.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/dev/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/dev/sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/dev/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/dev/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/play/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/play/implementations.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/play/routes.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/sunset/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/sunset/routes.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/sunset/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/sunset/tests/test_sunset.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/tests/test_ping.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/tests/test_task_runs.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/tests/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/accounts.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/assets.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/health.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/public.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_accounts_api.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_api_v3_0_users.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_api_v3_0_users_fresh_db.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_assets_api.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_assets_api_fresh_db.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_sensor_data.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_sensor_data_fresh_db.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_sensor_schedules.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/test_sensors_api.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/tests/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/api/v3_0/users.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/app.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/auth/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/auth/decorators.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/auth/error_handling.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/auth/policy.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/auth/tests/test_principal_matching.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/Readme.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/data_add.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/data_delete.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/data_edit.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/data_show.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/db_ops.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/jobs.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/monitor.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/testing.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/tests/test_data_add.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/tests/test_data_edit.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/tests/test_data_show.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/tests/test_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/tests/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/cli/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/Readme.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/config.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/README +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/alembic.ini +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/env.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/script.py.mako +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/01fe99da5716_initial.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/02ddbbff29a7_naming_conventions.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/038bab973c40_add_unique_constraint_for_sensor_names_.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/04f0e2d2924a_add_source_id_as_primary_key_for_timed_beliefs.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/11b735abebe7_create_power_table_and_drop_measurement_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/1a4f0e5c4b86_unique_userids_in_ds.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/1ae32ffc8c3f_rename_data_source_unique_constraint.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/1b64acf01809_forecasting_job_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/1bcccdf0c3e1_unique_usernames.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/1e8d27922f56_create_price_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/22ce09690d23_mix_in_timely_beliefs_sensor_with_asset_market_and_weather_sensor.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/26373d8266db_owner_deletion_deletes_assets_and_power.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/2ac7fb39ce0c_add_attribute_column_to_data_source.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/2c9a32614784_rename_data_source_columns_in_power_price_and_weather_tables.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/30f7b63069e1_delete_asset_if_sensor_is_deleted.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/30fe2267e7d5_add_optional_DataSource_columns_for_model_and_version.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/31f251554682_merge.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/3d56402cde15_drop_login_columns_in_bvp_users_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/3db3e71d101d_make_datasource_a_subclass_of_timely_beliefs_beliefsource.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/3e43d3274d16_Asset_soc_udi_event_id.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/45d937300b0f_create_measurement_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/4b6cebbdf473_create_weather_sensor_type_and_weather_sensor_and_weather_tables.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/50cf294e007d_complete_adding_units_to_all_generic_asset_tables_and_display_names_to_all_generic_asset_tables_and_generic_asset_type_tables.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/550a9020f1bf_default_resolution_for_existing_sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/564e8df4e3a9_stop_using_bvp_in_table_names.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/565e092a6c5e_introduce_the_GenericAssetType_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/5d39829d91af_create_data_sources_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/61bfc6e45c4d_add_soc_columns_in_asset_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/650b085c0ad3_consolidate_data_source_after_storage_.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/6cf5b241b85f_copy_attributes_from_old_data_models_to_GenericAsset.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/7113b0f00678_drop_forecasting_jobs_table_and_make_display_names_nullable.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/75f53d2dbfae_new_field_last_seen_in_user_model.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/7987667dbd43_add_asset_type_hover_label.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/7f8b8920355f_create_annotation_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/830e72a8b218_migrate_sensor_relationships_for_power_price_weather.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/8abe32ffa204_add_owner_id_column_in_asset_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/8fcc5fec67bc_make_data_source_id_columns_primary_keys.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/919dc9f1dc1f_merge.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/91a938bfa5a8_add_horizon_columns_to_power_price_and_weather_tables.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/9254559dcac2_create_market_type_and_market_tables.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/96f2db5bed30_add_account_roles.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/994170c26bc6_add_account_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/9c7fc8e46f1e_add_location_columns_to_weather_sensor_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/a328412b4623_add_timezone_column_in_bvp_users_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/a528c3c81506_unique_generic_sensor_ids.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/a5b970eadb3b_time_series_indexes.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/a918360f7d63_add_unique_contraints_on_.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/ac2613fffc74_add_market_id_column_to_asset_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/b087ce8b529f_create_latest_task_run_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/b2b43f0eec40_weathersensors_unique_type_location.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/b6d49ed7cceb_introduce_the_GenericAsset_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/b797328ac32d_add_user_fs_uniquifier_for_faster_auth_.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/bddc5e9f72a3_add_event_resolution_field_to_asset_.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/c1d316c60985_merge.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/c41beee0c904_rename_DataSource_type_for_forecasters_and_schedulers.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/d3440de27ab9_create_bvp_roles_and_bvp_users_and_bvp_roles_users_tables.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/d814c0688ae0_merge.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/db00b66be82c_add_horizon_columns_as_primary_keys.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/db1f67336324_add_price_unit_and_display_name_columns_to_market_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/e0c2f9aff251_rename_source_id_column_in_data_sources_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/e4c9cf837311_sensor_generic_asset_id_should_not_be_.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/e62ac5f519d7_create_table_for_timed_beliefs.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/migrations/versions/e690d373a3d9_copy_Power_Price_Weather_time_series_data_to_TimedBeliefs_table.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/annotations.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/charts/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/charts/belief_charts.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/charts/defaults.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/charts/readme.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/charts/test_chart_defaults.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/data_sources.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/forecasting/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/forecasting/exceptions.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/forecasting/model_spec_factory.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/forecasting/model_specs/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/forecasting/model_specs/linear_regression.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/forecasting/model_specs/naive.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/forecasting/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/generic_assets.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/legacy_migration_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/parsing_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/battery.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/charging_station.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/exceptions.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/linear_optimization.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/process.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/storage.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/tests/test_process.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/tests/test_solver.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/tests/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/planning/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/aggregator.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/pandas_reporter.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/tests/test_aggregator.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/tests/test_pandas_reporter.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/tests/test_profit_reporter.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/tests/test_tibber_reporter.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/task_runs.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/time_series.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/user.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/validation_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/weather.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/queries/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/queries/annotations.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/queries/data_sources.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/queries/generic_assets.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/queries/sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/queries/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/account.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/generic_assets.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/io.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/locations.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/reporting/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/reporting/aggregation.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/reporting/pandas_reporter.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/reporting/profit.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/scheduling/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/scheduling/process.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/scheduling/storage.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/sources.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/tests/test_latitude_longitude.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/tests/test_reporting.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/tests/test_scheduling.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/tests/test_times.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/times.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/units.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/users.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/schemas/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/scripts/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/scripts/clean_database.sh +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/scripts/data_gen.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/scripts/visualize_data_model.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/accounts.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/annotations.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/asset_grouping.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/data_sources.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/forecasting.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/time_series.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/timerange.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/users.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/dummy_scheduler.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_accounts.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_annotations.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_chart_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_data_source.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_forecasting_jobs.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_forecasting_jobs_fresh_db.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_queries.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_scheduling_jobs.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_scheduling_jobs_fresh_db.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_scheduling_repeated_jobs.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_scheduling_repeated_jobs_fresh_db.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_sensor_queries.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_time_series_services.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/test_user_services.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/tests/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/transactional.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/templates/security/email/reset_instructions.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/templates/security/email/reset_instructions.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/templates/security/email/reset_notice.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/templates/security/email/reset_notice.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/tests/test_highlevel_class_imports.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/crud/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/crud/accounts.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/crud/api_wrapper.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/crud/assets.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/crud/users.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/error_handlers.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/external/rq-dashboard-bootstrap.min.css +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/external/weather-icons.min.css +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/flexmeasures.css +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/font/weathericons-regular-webfont.eot +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/font/weathericons-regular-webfont.svg +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/font/weathericons-regular-webfont.ttf +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/font/weathericons-regular-webfont.woff +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/font/weathericons-regular-webfont.woff2 +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/FontAwesome.otf +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/fontawesome-webfont.eot +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/fontawesome-webfont.svg +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/fontawesome-webfont.ttf +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/fontawesome-webfont.woff +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/fontawesome-webfont.woff2 +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/glyphicons-halflings-regular.eot +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/glyphicons-halflings-regular.svg +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/glyphicons-halflings-regular.ttf +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/glyphicons-halflings-regular.woff +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/glyphicons-halflings-regular.woff2 +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/glyphicons-halflings-white.png +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/css/fonts/glyphicons-halflings.png +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/favicon.ico +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/font/seita-webfont.eot +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/font/seita-webfont.svg +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/font/seita-webfont.ttf +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/font/seita-webfont.woff +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/font/seita-webfont.woff2 +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/images/chase-lewis-506404-unsplash.jpg +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/images/flexmeasures-preview.jpg +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/images/tj-k-349056-unsplash.jpg +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/js/data-utils.js +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/js/daterange-utils.js +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/js/flexmeasures.js +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/js/map-init.js +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/js/replay-utils.js +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/static/js/swiped-events.min.js +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/admin/forgot_password.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/admin/logged_in_user.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/admin/login_user.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/admin/reset_password.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/admin/upload.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/base.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/crud/account.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/crud/accounts.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/crud/asset.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/crud/asset_new.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/crud/assets.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/crud/user.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/crud/users.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/defaults.jinja +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/error.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/rq_dashboard/base.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/rq_dashboard/dashboard.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/views/control.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/views/new_dashboard.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/templates/views/sensors.html +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/tests/conftest.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/tests/test_account_crud.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/tests/test_asset_crud.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/tests/test_error_handling.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/tests/test_user_crud.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/tests/test_views.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/tests/utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/utils/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/utils/chart_defaults.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/utils/view_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/views/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/views/control.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/views/logged_in_user.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/views/new_dashboard.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/ui/views/sensors.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/app_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/calculations.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/coding_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/config_defaults.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/config_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/entity_address_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/error_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/flexmeasures_inflection.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/geo_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/grid_cells.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/plugin_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/tests/__init__.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/tests/test_coding_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/tests/test_entity_address_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/tests/test_time_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/tests/test_unit_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/time_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/utils/unit_utils.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures.egg-info/dependency_links.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures.egg-info/entry_points.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures.egg-info/requires.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures.egg-info/top_level.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.10/app.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.11/app.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.8/app.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/3.9/app.txt +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/Readme.md +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/requirements/app.in +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/run-local.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/setup.cfg +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/setup.py +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/to_pypi.sh +0 -0
- {flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/wsgi.py +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
FROM ubuntu:
|
|
2
|
-
|
|
1
|
+
FROM ubuntu:22.04
|
|
2
|
+
|
|
3
3
|
ENV DEBIAN_FRONTEND noninteractive
|
|
4
4
|
ENV LC_ALL C.UTF-8
|
|
5
5
|
ENV LANG C.UTF-8
|
|
@@ -37,4 +37,4 @@ CMD [ \
|
|
|
37
37
|
# another request is taking a long time to complete.
|
|
38
38
|
"--workers", "2", "--threads", "4", \
|
|
39
39
|
"wsgi:application" \
|
|
40
|
-
]
|
|
40
|
+
]
|
|
@@ -4,7 +4,7 @@ PYV = $(shell python -c "import sys;t='{v[0]}.{v[1]}'.format(v=list(sys.version_
|
|
|
4
4
|
|
|
5
5
|
# Note: use tabs
|
|
6
6
|
# actions which are virtual, i.e. not a script
|
|
7
|
-
.PHONY: install install-for-dev install-for-test install-deps install-flexmeasures run-local test freeze-deps upgrade-deps update-docs update-docs-pdf show-file-space show-data-model clean-db
|
|
7
|
+
.PHONY: install install-for-dev install-for-test install-deps install-flexmeasures run-local test freeze-deps upgrade-deps update-docs update-docs-pdf show-file-space show-data-model clean-db cli-autocomplete
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
# ---- Development ---
|
|
@@ -70,7 +70,7 @@ install-flexmeasures:
|
|
|
70
70
|
pip install -e .
|
|
71
71
|
|
|
72
72
|
install-pip-tools:
|
|
73
|
-
pip3 install -q "pip-tools>=7.
|
|
73
|
+
pip3 install -q "pip-tools>=7.2"
|
|
74
74
|
|
|
75
75
|
install-docs-dependencies:
|
|
76
76
|
pip install -r requirements/${PYV}/docs.txt
|
|
@@ -79,27 +79,17 @@ freeze-deps:
|
|
|
79
79
|
make ensure-deps-folder
|
|
80
80
|
make install-pip-tools
|
|
81
81
|
pip-compile -o requirements/${PYV}/app.txt requirements/app.in
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
pip-compile -o requirements/${PYV}/
|
|
85
|
-
cat requirements/${PYV}/test.txt > requirements/test.txt
|
|
86
|
-
pip-compile -o requirements/${PYV}/dev.txt requirements/dev.in
|
|
87
|
-
pip-compile -o requirements/${PYV}/docs.txt requirements/docs.in
|
|
88
|
-
rm requirements/app.txt
|
|
89
|
-
rm requirements/test.txt
|
|
82
|
+
pip-compile -c requirements/${PYV}/app.txt -o requirements/${PYV}/test.txt requirements/test.in
|
|
83
|
+
pip-compile -c requirements/${PYV}/app.txt -c requirements/${PYV}/test.txt -o requirements/${PYV}/dev.txt requirements/dev.in
|
|
84
|
+
pip-compile -c requirements/${PYV}/app.txt -o requirements/${PYV}/docs.txt requirements/docs.in
|
|
90
85
|
|
|
91
86
|
upgrade-deps:
|
|
92
87
|
make ensure-deps-folder
|
|
93
88
|
make install-pip-tools
|
|
94
89
|
pip-compile --upgrade -o requirements/${PYV}/app.txt requirements/app.in
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
pip-compile --upgrade -o requirements/${PYV}/
|
|
98
|
-
cat requirements/${PYV}/test.txt > requirements/test.txt
|
|
99
|
-
pip-compile --upgrade -o requirements/${PYV}/dev.txt requirements/dev.in
|
|
100
|
-
pip-compile --upgrade -o requirements/${PYV}/docs.txt requirements/docs.in
|
|
101
|
-
rm requirements/app.txt
|
|
102
|
-
rm requirements/test.txt
|
|
90
|
+
pip-compile --upgrade -c requirements/${PYV}/app.txt -o requirements/${PYV}/test.txt requirements/test.in
|
|
91
|
+
pip-compile --upgrade -c requirements/${PYV}/app.txt -c requirements/${PYV}/test.txt -o requirements/${PYV}/dev.txt requirements/dev.in
|
|
92
|
+
pip-compile --upgrade -c requirements/${PYV}/app.txt -o requirements/${PYV}/docs.txt requirements/docs.in
|
|
103
93
|
|
|
104
94
|
make test
|
|
105
95
|
|
|
@@ -125,4 +115,7 @@ ensure-deps-folder:
|
|
|
125
115
|
mkdir -p requirements/${PYV}
|
|
126
116
|
|
|
127
117
|
clean-db:
|
|
128
|
-
./flexmeasures/data/scripts/clean_database.sh ${db_name} ${db_user}
|
|
118
|
+
./flexmeasures/data/scripts/clean_database.sh ${db_name} ${db_user}
|
|
119
|
+
|
|
120
|
+
cli-autocomplete:
|
|
121
|
+
./flexmeasures/cli/scripts/add_scripts_path.sh ${extension}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flexmeasures
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.dev18
|
|
4
4
|
Summary: The *FlexMeasures Platform* is the intelligent backend to support real-time energy flexibility apps, rapidly and scalable.
|
|
5
5
|
Home-page: https://github.com/seitabv/flexmeasures
|
|
6
6
|
Author: Seita BV
|
|
@@ -24,6 +24,60 @@ Classifier: Natural Language :: English
|
|
|
24
24
|
Requires-Python: >=3.8
|
|
25
25
|
License-File: LICENSE
|
|
26
26
|
License-File: NOTICE
|
|
27
|
+
Requires-Dist: pyyaml
|
|
28
|
+
Requires-Dist: altair
|
|
29
|
+
Requires-Dist: colour
|
|
30
|
+
Requires-Dist: pscript
|
|
31
|
+
Requires-Dist: pandas
|
|
32
|
+
Requires-Dist: pint>=0.19.1
|
|
33
|
+
Requires-Dist: py-moneyed
|
|
34
|
+
Requires-Dist: iso8601
|
|
35
|
+
Requires-Dist: xlrd
|
|
36
|
+
Requires-Dist: workalendar
|
|
37
|
+
Requires-Dist: inflection
|
|
38
|
+
Requires-Dist: inflect<=6.0.2
|
|
39
|
+
Requires-Dist: pydantic<2
|
|
40
|
+
Requires-Dist: humanize
|
|
41
|
+
Requires-Dist: psycopg2-binary
|
|
42
|
+
Requires-Dist: bcrypt
|
|
43
|
+
Requires-Dist: pytz
|
|
44
|
+
Requires-Dist: numpy<1.25
|
|
45
|
+
Requires-Dist: isodate
|
|
46
|
+
Requires-Dist: click
|
|
47
|
+
Requires-Dist: click-default-group
|
|
48
|
+
Requires-Dist: email_validator
|
|
49
|
+
Requires-Dist: rq
|
|
50
|
+
Requires-Dist: rq-dashboard
|
|
51
|
+
Requires-Dist: rq-win; os_name == "nt" or os_name == "win"
|
|
52
|
+
Requires-Dist: redis<5,>4.5
|
|
53
|
+
Requires-Dist: tldextract
|
|
54
|
+
Requires-Dist: pyomo>=5.6
|
|
55
|
+
Requires-Dist: tabulate
|
|
56
|
+
Requires-Dist: timetomodel>=0.7.3
|
|
57
|
+
Requires-Dist: timely-beliefs[forecast]>=1.20.1
|
|
58
|
+
Requires-Dist: python-dotenv
|
|
59
|
+
Requires-Dist: importlib_metadata
|
|
60
|
+
Requires-Dist: sqlalchemy<2,>=1.4.0
|
|
61
|
+
Requires-Dist: Flask-SSLify
|
|
62
|
+
Requires-Dist: Flask_JSON
|
|
63
|
+
Requires-Dist: Flask-Migrate
|
|
64
|
+
Requires-Dist: Flask-WTF
|
|
65
|
+
Requires-Dist: Flask-Mail
|
|
66
|
+
Requires-Dist: Flask-Security-Too<5.2,>=5.0
|
|
67
|
+
Requires-Dist: Flask-Login<0.6.2
|
|
68
|
+
Requires-Dist: Flask-Classful
|
|
69
|
+
Requires-Dist: Flask-Marshmallow<0.15
|
|
70
|
+
Requires-Dist: Flask-Cors
|
|
71
|
+
Requires-Dist: sentry-sdk[flask]
|
|
72
|
+
Requires-Dist: marshmallow>=3
|
|
73
|
+
Requires-Dist: marshmallow-polyfield
|
|
74
|
+
Requires-Dist: marshmallow-sqlalchemy>=0.23.1
|
|
75
|
+
Requires-Dist: webargs
|
|
76
|
+
Requires-Dist: uniplot>=0.7.0
|
|
77
|
+
Requires-Dist: Flask-SQLAlchemy<3,>=2.4.3
|
|
78
|
+
Requires-Dist: flask<=2.1.2,>=1.0
|
|
79
|
+
Requires-Dist: werkzeug<=2.1
|
|
80
|
+
Requires-Dist: vl-convert-python
|
|
27
81
|
|
|
28
82
|
The *FlexMeasures Platform* is the intelligent backend to support real-time energy flexibility apps, rapidly and scalable.
|
|
29
83
|
|
|
@@ -9,7 +9,7 @@ v0.16.0 | September XX, 2023
|
|
|
9
9
|
New features
|
|
10
10
|
-------------
|
|
11
11
|
|
|
12
|
-
* Introduce new reporter to compute profit/loss due to electricity flows: `ProfitOrLossReporter` [see `PR #808 <https://github.com/FlexMeasures/flexmeasures/pull/808>`_]
|
|
12
|
+
* Introduce new reporter to compute profit/loss due to electricity flows: `ProfitOrLossReporter` [see `PR #808 <https://github.com/FlexMeasures/flexmeasures/pull/808>`_ and `PR #844 <https://github.com/FlexMeasures/flexmeasures/pull/844>`_]
|
|
13
13
|
* Charts visible in the UI can be exported to PNG or SVG formats in a more automated fashion, using the new CLI command flexmeasures show chart [see `PR #833 <https://github.com/FlexMeasures/flexmeasures/pull/833>`_]
|
|
14
14
|
|
|
15
15
|
Infrastructure / Support
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
current_dir=$(pwd)
|
|
4
|
+
|
|
5
|
+
# Declares a function named `save_path` that takes two arguments: `path` and `extension`.
|
|
6
|
+
# The function is responsible for checking if the given path is already present in the `bashrc` file.
|
|
7
|
+
function save_path() {
|
|
8
|
+
path="$1"
|
|
9
|
+
extension="$2"
|
|
10
|
+
|
|
11
|
+
# Check if the path is already present in bashrc
|
|
12
|
+
if grep -qF ". $1" ~/.$2rc; then
|
|
13
|
+
echo "Path already exists in .$2rc"
|
|
14
|
+
else
|
|
15
|
+
# Add the path to bashrc
|
|
16
|
+
echo ". $1" >> ~/.$2rc
|
|
17
|
+
echo "Path added to .$2rc"
|
|
18
|
+
fi
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
# The `main` function is responsible for executing the main logic of the script.
|
|
22
|
+
# It sets the `script_path` variable to the path of the "ci" directory under the current directory.
|
|
23
|
+
# It sets the `extension` variable to the value passed as an argument to the script.
|
|
24
|
+
|
|
25
|
+
function find_file() {
|
|
26
|
+
directory="$1"
|
|
27
|
+
extension="$2"
|
|
28
|
+
file=$(find "$directory" -type f -name "click-complete.$extension")
|
|
29
|
+
# Searches for a file with the name "click-complete.<extension>" in the given directory.
|
|
30
|
+
# Assigns the file path to the `file` variable.
|
|
31
|
+
|
|
32
|
+
# Check if file was found
|
|
33
|
+
if [[ -n "$file" ]]; then
|
|
34
|
+
echo "$file"
|
|
35
|
+
return 0
|
|
36
|
+
else
|
|
37
|
+
return 1
|
|
38
|
+
fi
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function main() {
|
|
42
|
+
script_path="$current_dir/flexmeasures/cli/scripts"
|
|
43
|
+
extension="$1"
|
|
44
|
+
|
|
45
|
+
if [[ "$extension" != "bash" && "$extension" != "fish" && "$extension" != "zsh" ]]; then
|
|
46
|
+
echo "Invalid extension. Only 'bash', 'fish', or 'zsh' extensions are allowed."
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
# In case file is found, then add the complete path in the required file
|
|
51
|
+
if found_file=$(find_file "$script_path" "$extension"); then
|
|
52
|
+
save_path "$found_file" "$extension"
|
|
53
|
+
else
|
|
54
|
+
echo "No file found with $extension in its name."
|
|
55
|
+
exit 1
|
|
56
|
+
fi
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
# Run the main function with the given extension argument
|
|
60
|
+
main "$1"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
_click_completion() {
|
|
2
|
+
local IFS=$'\n'
|
|
3
|
+
local response
|
|
4
|
+
|
|
5
|
+
response=$(env COMP_WORDS="${COMP_WORDS[*]}" COMP_CWORD=$COMP_CWORD _FLEXMEASURES_COMPLETE=bash_complete $1)
|
|
6
|
+
|
|
7
|
+
for completion in $response; do
|
|
8
|
+
IFS=',' read type value <<< "$completion"
|
|
9
|
+
|
|
10
|
+
if [[ $type == 'dir' ]]; then
|
|
11
|
+
COMREPLY=()
|
|
12
|
+
compopt -o dirnames
|
|
13
|
+
elif [[ $type == 'file' ]]; then
|
|
14
|
+
COMREPLY=()
|
|
15
|
+
compopt -o default
|
|
16
|
+
elif [[ $type == 'plain' ]]; then
|
|
17
|
+
COMPREPLY+=($value)
|
|
18
|
+
fi
|
|
19
|
+
done
|
|
20
|
+
|
|
21
|
+
return 0
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
_click_completion_setup() {
|
|
25
|
+
complete -o nosort -F _click_completion flexmeasures
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
_click_completion_setup;
|
|
29
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function _click_completion;
|
|
2
|
+
set -l response;
|
|
3
|
+
|
|
4
|
+
for value in (env _FLEXMEASURES_COMPLETE=fish_complete COMP_WORDS=(commandline -cp) COMP_CWORD=(commandline -t) flexmeasures);
|
|
5
|
+
set response $response $value;
|
|
6
|
+
end;
|
|
7
|
+
|
|
8
|
+
for completion in $response;
|
|
9
|
+
set -l metadata (string split "," $completion);
|
|
10
|
+
|
|
11
|
+
if test $metadata[1] = "dir";
|
|
12
|
+
__fish_complete_directories $metadata[2];
|
|
13
|
+
else if test $metadata[1] = "file";
|
|
14
|
+
__fish_complete_path $metadata[2];
|
|
15
|
+
else if test $metadata[1] = "plain";
|
|
16
|
+
echo $metadata[2];
|
|
17
|
+
end;
|
|
18
|
+
end;
|
|
19
|
+
end;
|
|
20
|
+
|
|
21
|
+
complete --no-files --command flexmeasures --arguments "(_click_completion)";
|
|
22
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#compdef click
|
|
2
|
+
|
|
3
|
+
_click_completion() {
|
|
4
|
+
local -a completions
|
|
5
|
+
local -a completions_with_descriptions
|
|
6
|
+
local -a response
|
|
7
|
+
(( ! $+commands[flexmeasures] )) && return 1
|
|
8
|
+
|
|
9
|
+
response=("${(@f)$(env COMP_WORDS="${words[*]}" COMP_CWORD=$((CURRENT-1)) _FLEXMEASURES_COMPLETE=zsh_complete flexmeasures)}")
|
|
10
|
+
|
|
11
|
+
for type key descr in ${response}; do
|
|
12
|
+
if [[ "$type" == "plain" ]]; then
|
|
13
|
+
if [[ "$descr" == "_" ]]; then
|
|
14
|
+
completions+=("$key")
|
|
15
|
+
else
|
|
16
|
+
completions_with_descriptions+=("$key":"$descr")
|
|
17
|
+
fi
|
|
18
|
+
elif [[ "$type" == "dir" ]]; then
|
|
19
|
+
_path_files -/
|
|
20
|
+
elif [[ "$type" == "file" ]]; then
|
|
21
|
+
_path_files -f
|
|
22
|
+
fi
|
|
23
|
+
done
|
|
24
|
+
|
|
25
|
+
if [ -n "$completions_with_descriptions" ]; then
|
|
26
|
+
_describe -V unsorted completions_with_descriptions -U
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
if [ -n "$completions" ]; then
|
|
30
|
+
compadd -U -V unsorted -a completions
|
|
31
|
+
fi
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
compdef _click_completion flexmeasures;
|
|
35
|
+
|
{flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/models/reporting/profit.py
RENAMED
|
@@ -72,7 +72,8 @@ class ProfitOrLossReporter(Reporter):
|
|
|
72
72
|
loss_is_positive: bool = self._config.get("loss_is_positive", False)
|
|
73
73
|
|
|
74
74
|
input_sensor: Sensor = input[0]["sensor"] # power or energy sensor
|
|
75
|
-
input_source: Sensor = input[0].get("
|
|
75
|
+
input_source: Sensor = input[0].get("sources", None)
|
|
76
|
+
|
|
76
77
|
timezone = input_sensor.timezone
|
|
77
78
|
|
|
78
79
|
if belief_time is None:
|
|
@@ -85,6 +86,8 @@ class ProfitOrLossReporter(Reporter):
|
|
|
85
86
|
event_ends_before=end,
|
|
86
87
|
beliefs_before=belief_time,
|
|
87
88
|
resolution=input_sensor.event_resolution,
|
|
89
|
+
most_recent_beliefs_only=True,
|
|
90
|
+
one_deterministic_belief_per_event=True,
|
|
88
91
|
)
|
|
89
92
|
)
|
|
90
93
|
production_price = production_price.tz_convert(timezone)
|
|
@@ -94,6 +97,8 @@ class ProfitOrLossReporter(Reporter):
|
|
|
94
97
|
event_ends_before=end,
|
|
95
98
|
beliefs_before=belief_time,
|
|
96
99
|
resolution=input_sensor.event_resolution,
|
|
100
|
+
most_recent_beliefs_only=True,
|
|
101
|
+
one_deterministic_belief_per_event=True,
|
|
97
102
|
)
|
|
98
103
|
)
|
|
99
104
|
consumption_price = consumption_price.tz_convert(timezone)
|
|
@@ -105,6 +110,8 @@ class ProfitOrLossReporter(Reporter):
|
|
|
105
110
|
event_ends_before=end,
|
|
106
111
|
beliefs_before=belief_time,
|
|
107
112
|
source=input_source,
|
|
113
|
+
most_recent_beliefs_only=True,
|
|
114
|
+
one_deterministic_belief_per_event=True,
|
|
108
115
|
)
|
|
109
116
|
)
|
|
110
117
|
|
{flexmeasures-0.16.dev13 → flexmeasures-0.16.dev18}/flexmeasures/data/services/scheduling.py
RENAMED
|
@@ -103,7 +103,6 @@ def make_schedule(
|
|
|
103
103
|
flex_context: dict | None = None,
|
|
104
104
|
flex_config_has_been_deserialized: bool = False,
|
|
105
105
|
) -> bool:
|
|
106
|
-
|
|
107
106
|
"""
|
|
108
107
|
This function computes a schedule. It returns True if it ran successfully.
|
|
109
108
|
|
|
@@ -155,8 +154,8 @@ def make_schedule(
|
|
|
155
154
|
)
|
|
156
155
|
|
|
157
156
|
# saving info on the job, so the API for a job can look the data up
|
|
158
|
-
data_source_info["id"] = data_source.id
|
|
159
157
|
if rq_job:
|
|
158
|
+
data_source_info["id"] = data_source.id
|
|
160
159
|
rq_job.meta["data_source_info"] = data_source_info
|
|
161
160
|
rq_job.save_meta()
|
|
162
161
|
|
|
@@ -278,26 +277,21 @@ def handle_scheduling_exception(job, exc_type, exc_value, traceback):
|
|
|
278
277
|
job.save_meta()
|
|
279
278
|
|
|
280
279
|
|
|
281
|
-
def get_data_source_for_job(job: Job
|
|
280
|
+
def get_data_source_for_job(job: Job) -> DataSource | None:
|
|
282
281
|
"""
|
|
283
282
|
Try to find the data source linked by this scheduling job.
|
|
284
283
|
|
|
285
|
-
We expect that enough info on the source was placed in the meta dict
|
|
286
|
-
|
|
287
|
-
|
|
284
|
+
We expect that enough info on the source was placed in the meta dict, either:
|
|
285
|
+
- the DataSource ID itself (i.e. the normal situation), or
|
|
286
|
+
- enough info to facilitate a DataSource query (as a fallback).
|
|
288
287
|
"""
|
|
289
|
-
data_source_info =
|
|
290
|
-
if
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
data_source_info and "id" in data_source_info
|
|
294
|
-
): # this is the expected outcome
|
|
295
|
-
return DataSource.query.get(data_source_info["id"])
|
|
288
|
+
data_source_info = job.meta.get("data_source_info")
|
|
289
|
+
if data_source_info and "id" in data_source_info:
|
|
290
|
+
# this is the expected outcome
|
|
291
|
+
return DataSource.query.get(data_source_info["id"])
|
|
296
292
|
if data_source_info is None:
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
current_app.logger.warning(
|
|
300
|
-
"Looking up scheduling data without knowing full data_source_info (version). This is deprecated soon. Please specify a job id as event or switch to API v3."
|
|
293
|
+
raise ValueError(
|
|
294
|
+
"Cannot look up scheduling data without knowing the full data_source_info (version)."
|
|
301
295
|
)
|
|
302
296
|
scheduler_sources = (
|
|
303
297
|
DataSource.query.filter_by(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flexmeasures
|
|
3
|
-
Version: 0.16.
|
|
3
|
+
Version: 0.16.dev18
|
|
4
4
|
Summary: The *FlexMeasures Platform* is the intelligent backend to support real-time energy flexibility apps, rapidly and scalable.
|
|
5
5
|
Home-page: https://github.com/seitabv/flexmeasures
|
|
6
6
|
Author: Seita BV
|
|
@@ -24,6 +24,60 @@ Classifier: Natural Language :: English
|
|
|
24
24
|
Requires-Python: >=3.8
|
|
25
25
|
License-File: LICENSE
|
|
26
26
|
License-File: NOTICE
|
|
27
|
+
Requires-Dist: pyyaml
|
|
28
|
+
Requires-Dist: altair
|
|
29
|
+
Requires-Dist: colour
|
|
30
|
+
Requires-Dist: pscript
|
|
31
|
+
Requires-Dist: pandas
|
|
32
|
+
Requires-Dist: pint>=0.19.1
|
|
33
|
+
Requires-Dist: py-moneyed
|
|
34
|
+
Requires-Dist: iso8601
|
|
35
|
+
Requires-Dist: xlrd
|
|
36
|
+
Requires-Dist: workalendar
|
|
37
|
+
Requires-Dist: inflection
|
|
38
|
+
Requires-Dist: inflect<=6.0.2
|
|
39
|
+
Requires-Dist: pydantic<2
|
|
40
|
+
Requires-Dist: humanize
|
|
41
|
+
Requires-Dist: psycopg2-binary
|
|
42
|
+
Requires-Dist: bcrypt
|
|
43
|
+
Requires-Dist: pytz
|
|
44
|
+
Requires-Dist: numpy<1.25
|
|
45
|
+
Requires-Dist: isodate
|
|
46
|
+
Requires-Dist: click
|
|
47
|
+
Requires-Dist: click-default-group
|
|
48
|
+
Requires-Dist: email_validator
|
|
49
|
+
Requires-Dist: rq
|
|
50
|
+
Requires-Dist: rq-dashboard
|
|
51
|
+
Requires-Dist: rq-win; os_name == "nt" or os_name == "win"
|
|
52
|
+
Requires-Dist: redis<5,>4.5
|
|
53
|
+
Requires-Dist: tldextract
|
|
54
|
+
Requires-Dist: pyomo>=5.6
|
|
55
|
+
Requires-Dist: tabulate
|
|
56
|
+
Requires-Dist: timetomodel>=0.7.3
|
|
57
|
+
Requires-Dist: timely-beliefs[forecast]>=1.20.1
|
|
58
|
+
Requires-Dist: python-dotenv
|
|
59
|
+
Requires-Dist: importlib_metadata
|
|
60
|
+
Requires-Dist: sqlalchemy<2,>=1.4.0
|
|
61
|
+
Requires-Dist: Flask-SSLify
|
|
62
|
+
Requires-Dist: Flask_JSON
|
|
63
|
+
Requires-Dist: Flask-Migrate
|
|
64
|
+
Requires-Dist: Flask-WTF
|
|
65
|
+
Requires-Dist: Flask-Mail
|
|
66
|
+
Requires-Dist: Flask-Security-Too<5.2,>=5.0
|
|
67
|
+
Requires-Dist: Flask-Login<0.6.2
|
|
68
|
+
Requires-Dist: Flask-Classful
|
|
69
|
+
Requires-Dist: Flask-Marshmallow<0.15
|
|
70
|
+
Requires-Dist: Flask-Cors
|
|
71
|
+
Requires-Dist: sentry-sdk[flask]
|
|
72
|
+
Requires-Dist: marshmallow>=3
|
|
73
|
+
Requires-Dist: marshmallow-polyfield
|
|
74
|
+
Requires-Dist: marshmallow-sqlalchemy>=0.23.1
|
|
75
|
+
Requires-Dist: webargs
|
|
76
|
+
Requires-Dist: uniplot>=0.7.0
|
|
77
|
+
Requires-Dist: Flask-SQLAlchemy<3,>=2.4.3
|
|
78
|
+
Requires-Dist: flask<=2.1.2,>=1.0
|
|
79
|
+
Requires-Dist: werkzeug<=2.1
|
|
80
|
+
Requires-Dist: vl-convert-python
|
|
27
81
|
|
|
28
82
|
The *FlexMeasures Platform* is the intelligent backend to support real-time energy flexibility apps, rapidly and scalable.
|
|
29
83
|
|
|
@@ -168,6 +168,10 @@ flexmeasures/cli/jobs.py
|
|
|
168
168
|
flexmeasures/cli/monitor.py
|
|
169
169
|
flexmeasures/cli/testing.py
|
|
170
170
|
flexmeasures/cli/utils.py
|
|
171
|
+
flexmeasures/cli/scripts/add_scripts_path.sh
|
|
172
|
+
flexmeasures/cli/scripts/click-complete.bash
|
|
173
|
+
flexmeasures/cli/scripts/click-complete.fish
|
|
174
|
+
flexmeasures/cli/scripts/click-complete.zsh
|
|
171
175
|
flexmeasures/cli/tests/__init__.py
|
|
172
176
|
flexmeasures/cli/tests/conftest.py
|
|
173
177
|
flexmeasures/cli/tests/test_data_add.py
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# This file is autogenerated by pip-compile with Python 3.10
|
|
3
3
|
# by the following command:
|
|
4
4
|
#
|
|
5
|
-
# pip-compile --output-file=requirements/3.10/dev.txt requirements/dev.in
|
|
5
|
+
# pip-compile --constraint=requirements/3.10/app.txt --constraint=requirements/3.10/test.txt --output-file=requirements/3.10/dev.txt requirements/dev.in
|
|
6
6
|
#
|
|
7
7
|
black==22.3.0
|
|
8
8
|
# via -r requirements/dev.in
|
|
@@ -10,14 +10,14 @@ cfgv==3.4.0
|
|
|
10
10
|
# via pre-commit
|
|
11
11
|
click==8.1.7
|
|
12
12
|
# via
|
|
13
|
-
# -c requirements/app.txt
|
|
14
|
-
# -c requirements/test.txt
|
|
13
|
+
# -c requirements/3.10/app.txt
|
|
14
|
+
# -c requirements/3.10/test.txt
|
|
15
15
|
# black
|
|
16
16
|
distlib==0.3.7
|
|
17
17
|
# via virtualenv
|
|
18
18
|
filelock==3.12.2
|
|
19
19
|
# via
|
|
20
|
-
# -c requirements/app.txt
|
|
20
|
+
# -c requirements/3.10/app.txt
|
|
21
21
|
# virtualenv
|
|
22
22
|
flake8==4.0.1
|
|
23
23
|
# via -r requirements/dev.in
|
|
@@ -37,8 +37,8 @@ nodeenv==1.8.0
|
|
|
37
37
|
# via pre-commit
|
|
38
38
|
packaging==23.1
|
|
39
39
|
# via
|
|
40
|
-
# -c requirements/app.txt
|
|
41
|
-
# -c requirements/test.txt
|
|
40
|
+
# -c requirements/3.10/app.txt
|
|
41
|
+
# -c requirements/3.10/test.txt
|
|
42
42
|
# setuptools-scm
|
|
43
43
|
pathspec==0.11.2
|
|
44
44
|
# via black
|
|
@@ -58,19 +58,19 @@ pytest-runner==6.0.0
|
|
|
58
58
|
# via -r requirements/dev.in
|
|
59
59
|
pyyaml==6.0.1
|
|
60
60
|
# via
|
|
61
|
-
# -c requirements/app.txt
|
|
61
|
+
# -c requirements/3.10/app.txt
|
|
62
62
|
# pre-commit
|
|
63
63
|
setuptools-scm==7.1.0
|
|
64
64
|
# via -r requirements/dev.in
|
|
65
65
|
tomli==2.0.1
|
|
66
66
|
# via
|
|
67
|
-
# -c requirements/test.txt
|
|
67
|
+
# -c requirements/3.10/test.txt
|
|
68
68
|
# black
|
|
69
69
|
# mypy
|
|
70
70
|
# setuptools-scm
|
|
71
71
|
typing-extensions==4.7.1
|
|
72
72
|
# via
|
|
73
|
-
# -c requirements/app.txt
|
|
73
|
+
# -c requirements/3.10/app.txt
|
|
74
74
|
# mypy
|
|
75
75
|
# setuptools-scm
|
|
76
76
|
virtualenv==20.24.3
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
# This file is autogenerated by pip-compile with Python 3.10
|
|
3
3
|
# by the following command:
|
|
4
4
|
#
|
|
5
|
-
# pip-compile --output-file=requirements/3.10/docs.txt requirements/docs.in
|
|
5
|
+
# pip-compile --constraint=requirements/3.10/app.txt --output-file=requirements/3.10/docs.txt requirements/docs.in
|
|
6
6
|
#
|
|
7
7
|
alabaster==0.7.13
|
|
8
8
|
# via sphinx
|
|
9
9
|
babel==2.12.1
|
|
10
10
|
# via
|
|
11
|
-
# -c requirements/app.txt
|
|
11
|
+
# -c requirements/3.10/app.txt
|
|
12
12
|
# sphinx
|
|
13
13
|
certifi==2023.7.22
|
|
14
14
|
# via
|
|
15
|
-
# -c requirements/app.txt
|
|
15
|
+
# -c requirements/3.10/app.txt
|
|
16
16
|
# requests
|
|
17
17
|
charset-normalizer==3.2.0
|
|
18
18
|
# via
|
|
19
|
-
# -c requirements/app.txt
|
|
19
|
+
# -c requirements/3.10/app.txt
|
|
20
20
|
# requests
|
|
21
21
|
docutils==0.18.1
|
|
22
22
|
# via
|
|
@@ -25,21 +25,21 @@ docutils==0.18.1
|
|
|
25
25
|
# sphinx-tabs
|
|
26
26
|
idna==3.4
|
|
27
27
|
# via
|
|
28
|
-
# -c requirements/app.txt
|
|
28
|
+
# -c requirements/3.10/app.txt
|
|
29
29
|
# requests
|
|
30
30
|
imagesize==1.4.1
|
|
31
31
|
# via sphinx
|
|
32
32
|
jinja2==3.1.2
|
|
33
33
|
# via
|
|
34
|
-
# -c requirements/app.txt
|
|
34
|
+
# -c requirements/3.10/app.txt
|
|
35
35
|
# sphinx
|
|
36
36
|
markupsafe==2.1.3
|
|
37
37
|
# via
|
|
38
|
-
# -c requirements/app.txt
|
|
38
|
+
# -c requirements/3.10/app.txt
|
|
39
39
|
# jinja2
|
|
40
40
|
packaging==23.1
|
|
41
41
|
# via
|
|
42
|
-
# -c requirements/app.txt
|
|
42
|
+
# -c requirements/3.10/app.txt
|
|
43
43
|
# sphinx
|
|
44
44
|
pygments==2.16.1
|
|
45
45
|
# via
|
|
@@ -47,11 +47,11 @@ pygments==2.16.1
|
|
|
47
47
|
# sphinx-tabs
|
|
48
48
|
requests==2.31.0
|
|
49
49
|
# via
|
|
50
|
-
# -c requirements/app.txt
|
|
50
|
+
# -c requirements/3.10/app.txt
|
|
51
51
|
# sphinx
|
|
52
52
|
six==1.16.0
|
|
53
53
|
# via
|
|
54
|
-
# -c requirements/app.txt
|
|
54
|
+
# -c requirements/3.10/app.txt
|
|
55
55
|
# sphinxcontrib-httpdomain
|
|
56
56
|
snowballstemmer==2.2.0
|
|
57
57
|
# via sphinx
|
|
@@ -95,5 +95,5 @@ sphinxcontrib-serializinghtml==1.1.9
|
|
|
95
95
|
# via sphinx
|
|
96
96
|
urllib3==2.0.4
|
|
97
97
|
# via
|
|
98
|
-
# -c requirements/app.txt
|
|
98
|
+
# -c requirements/3.10/app.txt
|
|
99
99
|
# requests
|