dfm-python 0.2.7__tar.gz → 0.2.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. dfm_python-0.2.9/.env.example +0 -0
  2. {dfm_python-0.2.7 → dfm_python-0.2.9}/PKG-INFO +4 -10
  3. dfm_python-0.2.9/config/blocks/default.yaml +29 -0
  4. dfm_python-0.2.9/config/blocks/sample_spec.yaml +29 -0
  5. dfm_python-0.2.9/config/blocks/sample_spec2.yaml +29 -0
  6. {dfm_python-0.2.7 → dfm_python-0.2.9}/config/default.yaml +3 -2
  7. dfm_python-0.2.9/config/experiment/exp1.yaml +14 -0
  8. dfm_python-0.2.9/config/experiment/exp2.yaml +14 -0
  9. dfm_python-0.2.9/config/experiment/exp3.yaml +14 -0
  10. dfm_python-0.2.9/config/series/default.yaml +749 -0
  11. dfm_python-0.2.9/config/series/sample_spec.yaml +749 -0
  12. dfm_python-0.2.9/config/series/sample_spec2.yaml +699 -0
  13. dfm_python-0.2.9/full_tutorial_example.ipynb +2014 -0
  14. {dfm_python-0.2.7 → dfm_python-0.2.9}/pyproject.toml +10 -10
  15. dfm_python-0.2.9/src/adapters/__init__.py +50 -0
  16. dfm_python-0.2.9/src/adapters/data_view.py +156 -0
  17. dfm_python-0.2.9/src/adapters/database.py +155 -0
  18. dfm_python-0.2.9/src/adapters/model_result.py +200 -0
  19. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/__init__.py +6 -29
  20. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/api.py +38 -19
  21. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/config.py +13 -14
  22. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/config_sources.py +354 -59
  23. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/core/diagnostics.py +215 -6
  24. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/core/em.py +49 -49
  25. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/core/helpers.py +76 -0
  26. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/core/numeric.py +7 -7
  27. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/data.py +1 -51
  28. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/dfm.py +4 -1
  29. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/news.py +14 -22
  30. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/utils.py +4 -7
  31. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/test/__init__.py +2 -1
  32. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/test/test_api.py +2 -1
  33. dfm_python-0.2.9/src/test/test_config.py +696 -0
  34. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/test/test_dfm.py +2 -1
  35. {dfm_python-0.2.7 → dfm_python-0.2.9}/tutorial/basic_tutorial.py +148 -3
  36. {dfm_python-0.2.7 → dfm_python-0.2.9}/tutorial/hydra_tutorial.py +7 -2
  37. dfm_python-0.2.9/uv.lock +1177 -0
  38. dfm_python-0.2.7/config/blocks/default.yaml +0 -48
  39. dfm_python-0.2.7/config/series/default.yaml +0 -699
  40. dfm_python-0.2.7/full_tutorial_example.ipynb +0 -1669
  41. dfm_python-0.2.7/uv.lock +0 -1571
  42. {dfm_python-0.2.7 → dfm_python-0.2.9}/.gitignore +0 -0
  43. {dfm_python-0.2.7 → dfm_python-0.2.9}/.python-version +0 -0
  44. {dfm_python-0.2.7 → dfm_python-0.2.9}/LICENSE +0 -0
  45. {dfm_python-0.2.7 → dfm_python-0.2.9}/MANIFEST.in +0 -0
  46. {dfm_python-0.2.7 → dfm_python-0.2.9}/README.md +0 -0
  47. {dfm_python-0.2.7 → dfm_python-0.2.9}/data/sample_data.csv +0 -0
  48. {dfm_python-0.2.7 → dfm_python-0.2.9}/data/sample_spec.csv +0 -0
  49. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/core/__init__.py +0 -0
  50. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/dfm_python/kalman.py +0 -0
  51. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/test/test_factor.py +0 -0
  52. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/test/test_kalman.py +0 -0
  53. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/test/test_numeric.py +0 -0
  54. {dfm_python-0.2.7 → dfm_python-0.2.9}/src/test/test_stability.py +0 -0
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dfm-python
3
- Version: 0.2.7
3
+ Version: 0.2.9
4
4
  Summary: Dynamic Factor Model (DFM) estimation and nowcasting in Python
5
5
  Project-URL: Homepage, https://github.com/yourusername/dfm-python
6
6
  Project-URL: Documentation, https://github.com/yourusername/dfm-python#readme
@@ -25,18 +25,12 @@ Requires-Dist: numpy>=1.24.0
25
25
  Requires-Dist: pandas>=2.0.0
26
26
  Requires-Dist: scipy>=1.10.0
27
27
  Provides-Extra: all
28
- Requires-Dist: httpx>=0.24.0; extra == 'all'
29
28
  Requires-Dist: hydra-core>=1.3.0; extra == 'all'
30
29
  Requires-Dist: omegaconf>=2.3.0; extra == 'all'
31
- Requires-Dist: psycopg2-binary>=2.9.0; extra == 'all'
32
- Requires-Dist: pydantic-settings>=2.11.0; extra == 'all'
33
30
  Requires-Dist: pytest>=7.0.0; extra == 'all'
34
- Requires-Dist: supabase>=2.0.0; extra == 'all'
35
- Provides-Extra: database
36
- Requires-Dist: httpx>=0.24.0; extra == 'database'
37
- Requires-Dist: psycopg2-binary>=2.9.0; extra == 'database'
38
- Requires-Dist: pydantic-settings>=2.11.0; extra == 'database'
39
- Requires-Dist: supabase>=2.0.0; extra == 'database'
31
+ Requires-Dist: sqlalchemy>=2.0.0; extra == 'all'
32
+ Provides-Extra: db
33
+ Requires-Dist: sqlalchemy>=2.0.0; extra == 'db'
40
34
  Provides-Extra: dev
41
35
  Requires-Dist: pytest>=7.0.0; extra == 'dev'
42
36
  Provides-Extra: hydra
@@ -0,0 +1,29 @@
1
+ Block-Export:
2
+ factors: 1
3
+ ar_lag: 1
4
+ clock: m
5
+
6
+ Block-Labor:
7
+ factors: 1
8
+ ar_lag: 1
9
+ clock: m
10
+
11
+ Block-Nominal:
12
+ factors: 1
13
+ ar_lag: 1
14
+ clock: m
15
+
16
+ Block_Consumption:
17
+ factors: 1
18
+ ar_lag: 1
19
+ clock: m
20
+
21
+ Block_Global:
22
+ factors: 3
23
+ ar_lag: 1
24
+ clock: m
25
+
26
+ Block_Investment:
27
+ factors: 1
28
+ ar_lag: 1
29
+ clock: m
@@ -0,0 +1,29 @@
1
+ Block-Export:
2
+ factors: 1
3
+ ar_lag: 1
4
+ clock: m
5
+
6
+ Block-Labor:
7
+ factors: 1
8
+ ar_lag: 1
9
+ clock: m
10
+
11
+ Block-Nominal:
12
+ factors: 1
13
+ ar_lag: 1
14
+ clock: m
15
+
16
+ Block_Consumption:
17
+ factors: 1
18
+ ar_lag: 1
19
+ clock: m
20
+
21
+ Block_Global:
22
+ factors: 1
23
+ ar_lag: 1
24
+ clock: m
25
+
26
+ Block_Investment:
27
+ factors: 1
28
+ ar_lag: 1
29
+ clock: m
@@ -0,0 +1,29 @@
1
+ Block-Export:
2
+ factors: 1
3
+ ar_lag: 1
4
+ clock: m
5
+
6
+ Block-Labor:
7
+ factors: 1
8
+ ar_lag: 1
9
+ clock: m
10
+
11
+ Block-Nominal:
12
+ factors: 1
13
+ ar_lag: 1
14
+ clock: m
15
+
16
+ Block_Consumption:
17
+ factors: 2
18
+ ar_lag: 1
19
+ clock: m
20
+
21
+ Block_Global:
22
+ factors: 3
23
+ ar_lag: 1
24
+ clock: m
25
+
26
+ Block_Investment:
27
+ factors: 1
28
+ ar_lag: 1
29
+ clock: m
@@ -9,8 +9,9 @@
9
9
  # - Block structure: Edit config/blocks/default.yaml
10
10
 
11
11
  defaults:
12
- - series: default # Load series definitions from config/series/default.yaml
13
- - blocks: default # Load block structure from config/blocks/default.yaml
12
+ - experiment: null # Optional: Select experiment config (exp1, exp2, etc.) or null for base config
13
+ - series: default # Load series definitions from config/series/default.yaml
14
+ - blocks: default # Load block structure from config/blocks/default.yaml
14
15
  - _self_
15
16
 
16
17
  # ============================================================================
@@ -0,0 +1,14 @@
1
+ # Experiment 1: Default Configuration
2
+ # Uses default series and default blocks
3
+ # This is the baseline configuration
4
+
5
+ defaults:
6
+ - /default
7
+ - series: default
8
+ - blocks: default
9
+ - _self_
10
+
11
+ # Override any estimation parameters if needed
12
+ # threshold: 1e-5
13
+ # max_iter: 5000
14
+
@@ -0,0 +1,14 @@
1
+ # Experiment 2: Sample Spec Configuration
2
+ # Uses sample_spec series and blocks
3
+ # For demonstration purposes
4
+
5
+ defaults:
6
+ - /default
7
+ - series: sample_spec
8
+ - blocks: sample_spec
9
+ - _self_
10
+
11
+ # Override any estimation parameters if needed
12
+ # threshold: 1e-5
13
+ # max_iter: 5000
14
+
@@ -0,0 +1,14 @@
1
+ # Experiment 3: Sample Spec2 Configuration
2
+ # Uses sample_spec2 series and blocks
3
+ # For demonstration purposes
4
+
5
+ defaults:
6
+ - /default
7
+ - series: sample_spec2
8
+ - blocks: sample_spec2
9
+ - _self_
10
+
11
+ # Override any estimation parameters if needed
12
+ # threshold: 1e-5
13
+ # max_iter: 5000
14
+