futureexpert 0.10.0__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.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 prognostica GmbH
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,118 @@
1
+ Metadata-Version: 2.4
2
+ Name: futureexpert
3
+ Version: 0.10.0
4
+ Summary: Forecasting has never been easier.
5
+ Author-email: prognostica GmbH <support@future-forecasting.de>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/discovertomorrow/futureexpert
8
+ Keywords: time-series,forecast,ml
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: Science/Research
18
+ Classifier: Topic :: Scientific/Engineering
19
+ Classifier: Topic :: Software Development
20
+ Classifier: Typing :: Typed
21
+ Requires-Python: >=3.9
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: python-keycloak==3.12.0
25
+ Requires-Dist: tenacity>=8.2.0
26
+ Requires-Dist: httpx>=0.27.2
27
+ Requires-Dist: matplotlib>=3.8.0
28
+ Requires-Dist: plotly>=5.24.1
29
+ Requires-Dist: pydantic<3.0.0,>=2.5.0
30
+ Requires-Dist: numpy<2.0.0,>=1.22.4
31
+ Requires-Dist: pandas>=1.4.3
32
+ Requires-Dist: python-dotenv
33
+ Provides-Extra: dev
34
+ Requires-Dist: pytest; extra == "dev"
35
+ Requires-Dist: ipytest; extra == "dev"
36
+ Requires-Dist: isort; extra == "dev"
37
+ Requires-Dist: mypy==1.0.*; extra == "dev"
38
+ Requires-Dist: autopep8; extra == "dev"
39
+ Requires-Dist: cloudpickle; extra == "dev"
40
+ Requires-Dist: pdoc3; extra == "dev"
41
+ Requires-Dist: types-pkg-resources==0.1.3; extra == "dev"
42
+ Requires-Dist: types-python-dateutil; extra == "dev"
43
+ Requires-Dist: types-toml; extra == "dev"
44
+ Requires-Dist: jupyter==1.0.0; extra == "dev"
45
+ Requires-Dist: nbconvert==7.2.6; extra == "dev"
46
+ Requires-Dist: nbqa==1.5.3; extra == "dev"
47
+ Requires-Dist: python-dotenv; extra == "dev"
48
+ Dynamic: license-file
49
+
50
+ # futureEXPERT
51
+
52
+ futureEXPERT offers high-quality forecasts for data experts with ease, providing a complete workflow from data preparation to final forecast generation.
53
+ It is configured with best-practice defaults for immediate use.
54
+
55
+ The workflow is handled by four distinct modules:
56
+
57
+ 1. *CHECK-IN*: Prepares your time series data. This module validates, cleans, and transforms your input data to ensure it's ready for forecasting.
58
+ 2. *POOL*: Provides a library of curated external variables (e.g., economic indicators, weather data). You can search this continuously updated collection to find useful covariates for your forecast.
59
+ 3. *MATCHER*: Ranks covariates to find the most impactful ones for your data. It takes your own covariates or variables from the *POOL*, determines their optimal time lag, and measures their predictive value against a baseline model.
60
+ 4. *FORECAST*: Generates the final forecast. This module automatically selects the best model (from statistical, ML, and AI methods) for each time series and can incorporate the top-performing covariates identified by *MATCHER*.
61
+
62
+ The simplest workflow only contains *CHECK-IN* and *FORECAST* is described in the jupyter notebook [getting started](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/getting_started.ipynb).
63
+
64
+ In case you don't want to use this Python client or access futureEXPERT via API, check out our frontend solution [futureNOW](https://www.future-forecasting.de/).
65
+
66
+ ## Registration
67
+
68
+ If you do not have an account for [future](https://now.future-forecasting.de) yet, click [here](https://launch.future-forecasting.de/) to register for a free account.
69
+
70
+ ## Installation
71
+
72
+ In order to use futureEXPERT, you need a Python environment with Python 3.9 or higher.
73
+
74
+ The futureEXPERT package can be directly installed with `pip` from our GitHub repository.
75
+
76
+ ```
77
+ pip install -U futureexpert
78
+ ```
79
+
80
+ ## Getting started
81
+
82
+ To get started with futureEXPERT we recommend checking out the jupyter notebook [getting started](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/getting_started.ipynb) to help you with your first steps. Also check our [quick start video tutorial](https://www.future-forecasting.de/video/getting-started/).
83
+
84
+
85
+ ## Ready-made use case templates
86
+
87
+ Utilize our use case templates to get started with your own business application right away.
88
+
89
+ - [Demand Planning](https://github.com/discovertomorrow/futureexpert/blob/main/use_cases/demand_planning/demand_planning.ipynb)
90
+ - [Sales Forecasting](https://github.com/discovertomorrow/futureexpert/blob/main/use_cases/sales_forecasting/sales_forecasting.ipynb)
91
+
92
+ ## Advanced usage
93
+
94
+ - [checkin configuration options](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/checkin_configuration_options.ipynb) - Different options to prepare your data to time series.
95
+
96
+ - [Advanced workflow FORECAST](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/advanced_workflow.ipynb) - For more control about the single steps for generating a forecast.
97
+ - [Using covariates for FORECAST](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/forecast_with_covariates.ipynb) - Create forecasts with covariates by using your own data of influencing factors.
98
+ - [Using covariates - MATCHER and FORECAST](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/cov_matcher_and_forecast.ipynb?ref_type=heads) - Using covariates: Leverage MATCHER to identify predictive covariates, get ranking of all covariates with the best time lag & incorporate the result into your FORECAST.
99
+ - [Using covariates from POOL](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/using_covariates_from_POOL.ipynb) - How to use potential influencing factors from POOL.
100
+
101
+ - [Working with results](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/working_with_results.ipynb) - Overview of forecast result functions (e.g. export, plotting) and how to use them; further detailed information about the results (e.g. summary of forecasting methods).
102
+
103
+ - [API documentation](https://discovertomorrow.github.io/futureEXPERT) - Further information about all features and configurations.
104
+
105
+ ## Video tutorials
106
+
107
+ Check out our video tutorials for a quick introduction to various aspects of futureEXPERT.
108
+
109
+ - [Getting started](https://www.future-forecasting.de/video/getting-started/) from registration to first forecasts within minutes.
110
+ - [CHECK-IN](https://www.future-forecasting.de/video/check-in/) your data and create time series for your forecasting use case.
111
+
112
+ ## Contributing
113
+
114
+ You can report issues or send pull requests in our [GitHub project](https://github.com/discovertomorrow/futureexpert).
115
+
116
+ ## Wiki for prognostica employees
117
+
118
+ Further information for prognostica employees can be found [here](https://git.prognostica.de/prognostica/future/futureapp/futureexpert/-/wikis/home)
@@ -0,0 +1,69 @@
1
+ # futureEXPERT
2
+
3
+ futureEXPERT offers high-quality forecasts for data experts with ease, providing a complete workflow from data preparation to final forecast generation.
4
+ It is configured with best-practice defaults for immediate use.
5
+
6
+ The workflow is handled by four distinct modules:
7
+
8
+ 1. *CHECK-IN*: Prepares your time series data. This module validates, cleans, and transforms your input data to ensure it's ready for forecasting.
9
+ 2. *POOL*: Provides a library of curated external variables (e.g., economic indicators, weather data). You can search this continuously updated collection to find useful covariates for your forecast.
10
+ 3. *MATCHER*: Ranks covariates to find the most impactful ones for your data. It takes your own covariates or variables from the *POOL*, determines their optimal time lag, and measures their predictive value against a baseline model.
11
+ 4. *FORECAST*: Generates the final forecast. This module automatically selects the best model (from statistical, ML, and AI methods) for each time series and can incorporate the top-performing covariates identified by *MATCHER*.
12
+
13
+ The simplest workflow only contains *CHECK-IN* and *FORECAST* is described in the jupyter notebook [getting started](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/getting_started.ipynb).
14
+
15
+ In case you don't want to use this Python client or access futureEXPERT via API, check out our frontend solution [futureNOW](https://www.future-forecasting.de/).
16
+
17
+ ## Registration
18
+
19
+ If you do not have an account for [future](https://now.future-forecasting.de) yet, click [here](https://launch.future-forecasting.de/) to register for a free account.
20
+
21
+ ## Installation
22
+
23
+ In order to use futureEXPERT, you need a Python environment with Python 3.9 or higher.
24
+
25
+ The futureEXPERT package can be directly installed with `pip` from our GitHub repository.
26
+
27
+ ```
28
+ pip install -U futureexpert
29
+ ```
30
+
31
+ ## Getting started
32
+
33
+ To get started with futureEXPERT we recommend checking out the jupyter notebook [getting started](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/getting_started.ipynb) to help you with your first steps. Also check our [quick start video tutorial](https://www.future-forecasting.de/video/getting-started/).
34
+
35
+
36
+ ## Ready-made use case templates
37
+
38
+ Utilize our use case templates to get started with your own business application right away.
39
+
40
+ - [Demand Planning](https://github.com/discovertomorrow/futureexpert/blob/main/use_cases/demand_planning/demand_planning.ipynb)
41
+ - [Sales Forecasting](https://github.com/discovertomorrow/futureexpert/blob/main/use_cases/sales_forecasting/sales_forecasting.ipynb)
42
+
43
+ ## Advanced usage
44
+
45
+ - [checkin configuration options](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/checkin_configuration_options.ipynb) - Different options to prepare your data to time series.
46
+
47
+ - [Advanced workflow FORECAST](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/advanced_workflow.ipynb) - For more control about the single steps for generating a forecast.
48
+ - [Using covariates for FORECAST](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/forecast_with_covariates.ipynb) - Create forecasts with covariates by using your own data of influencing factors.
49
+ - [Using covariates - MATCHER and FORECAST](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/cov_matcher_and_forecast.ipynb?ref_type=heads) - Using covariates: Leverage MATCHER to identify predictive covariates, get ranking of all covariates with the best time lag & incorporate the result into your FORECAST.
50
+ - [Using covariates from POOL](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/using_covariates_from_POOL.ipynb) - How to use potential influencing factors from POOL.
51
+
52
+ - [Working with results](https://github.com/discovertomorrow/futureexpert/blob/main/notebooks/working_with_results.ipynb) - Overview of forecast result functions (e.g. export, plotting) and how to use them; further detailed information about the results (e.g. summary of forecasting methods).
53
+
54
+ - [API documentation](https://discovertomorrow.github.io/futureEXPERT) - Further information about all features and configurations.
55
+
56
+ ## Video tutorials
57
+
58
+ Check out our video tutorials for a quick introduction to various aspects of futureEXPERT.
59
+
60
+ - [Getting started](https://www.future-forecasting.de/video/getting-started/) from registration to first forecasts within minutes.
61
+ - [CHECK-IN](https://www.future-forecasting.de/video/check-in/) your data and create time series for your forecasting use case.
62
+
63
+ ## Contributing
64
+
65
+ You can report issues or send pull requests in our [GitHub project](https://github.com/discovertomorrow/futureexpert).
66
+
67
+ ## Wiki for prognostica employees
68
+
69
+ Further information for prognostica employees can be found [here](https://git.prognostica.de/prognostica/future/futureapp/futureexpert/-/wikis/home)
@@ -0,0 +1 @@
1
+ __version__ = "0.10.0"
@@ -0,0 +1,32 @@
1
+ import logging
2
+
3
+ from futureexpert.__about__ import __version__
4
+ from futureexpert.checkin import DataDefinition, FileSpecification, FilterSettings, TsCreationConfig
5
+ from futureexpert.expert_client import ExpertClient
6
+ from futureexpert.forecast import ForecastingConfig, MethodSelectionConfig, PreprocessingConfig, ReportConfig
7
+ from futureexpert.matcher import ActualsCovsConfiguration, LagSelectionConfig, MatcherConfig
8
+ from futureexpert.shared_models import MAX_TS_LEN_CONFIG, CovariateRef
9
+
10
+ __all__ = [
11
+ 'DataDefinition',
12
+ 'ExpertClient',
13
+ 'FileSpecification',
14
+ 'FilterSettings',
15
+ 'ForecastingConfig',
16
+ 'LagSelectionConfig',
17
+ 'MatcherConfig',
18
+ 'MethodSelectionConfig',
19
+ 'PreprocessingConfig',
20
+ 'ReportConfig',
21
+ 'TsCreationConfig',
22
+ 'MAX_TS_LEN_CONFIG',
23
+ 'ActualsCovsConfiguration',
24
+ 'CovariateRef'
25
+ ]
26
+
27
+
28
+ logging.basicConfig(level=logging.INFO)
29
+ logging.getLogger("httpx").setLevel(logging.WARNING)
30
+ logging.getLogger("httpx").propagate = False
31
+ logging.getLogger("httpcore").setLevel(logging.WARNING)
32
+ logging.getLogger("httpcore").propagate = False