wbreport 1.55.9__tar.gz → 1.55.10rc0__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.
Potentially problematic release.
This version of wbreport might be problematic. Click here for more details.
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/PKG-INFO +1 -1
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/defaults/factsheets/base.py +3 -3
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/defaults/factsheets/multitheme.py +3 -3
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/models.py +2 -2
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/charts/pie.py +1 -1
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/templates/basic_factsheet.py +1 -1
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/templates/fund_factsheet.py +1 -1
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/templates/long_industry_exposure_factsheet.py +1 -1
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/templates/multistrat_factsheet.py +1 -1
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/tests/test_models.py +1 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/tests/test_tasks.py +1 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/.gitignore +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/LICENSE +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/pyproject.toml +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/admin.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/apps.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/defaults/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/defaults/factsheets/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/defaults/factsheets/menu.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/defaults/factsheets/mixins.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/dynamic_preferences_registry.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/factories/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/factories/data_classes.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/factories/reports.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/filters.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/fixtures/wbreport.yaml +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0001_initial_squashed_squashed_0007_report_key.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0008_alter_report_file_content_type.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0009_alter_report_color_palette.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0010_auto_20240103_0947.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0011_auto_20240207_1629.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0012_reportversion_lock.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0013_alter_reportversion_context.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0014_alter_reportcategory_options_and_more.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/mixins.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/charts/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/charts/legend.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/charts/timeseries.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/flowables/risk.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/flowables/textboxes.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/flowables/themes.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/run.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/templates/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/templates/testfile.pdf +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/tables/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/tables/aggregated_tables.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/tables/data_tables.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/serializers.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/tasks.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/templates/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/templatetags/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/templatetags/portfolio_tags.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/tests/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/tests/conftest.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/tests/test_viewsets.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/tests/tests.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/urls.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/urls_public.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/viewsets/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/viewsets/configs/__init__.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/viewsets/configs/buttons.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/viewsets/configs/displays.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/viewsets/configs/endpoints.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/viewsets/configs/menus.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/viewsets/configs/titles.py +0 -0
- {wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/viewsets/viewsets.py +0 -0
|
@@ -446,7 +446,7 @@ class ReportClass(FactsheetReportMixin, ReportMixin):
|
|
|
446
446
|
# Price Timeseries Chart
|
|
447
447
|
elements.append(
|
|
448
448
|
get_timeseries_chart(
|
|
449
|
-
data=[list(zip(prices.index, prices.net_value))],
|
|
449
|
+
data=[list(zip(prices.index, prices.net_value, strict=False))],
|
|
450
450
|
width=CONTENT_WIDTH_PAGE1_LEFT - CONTENT_OFFSET,
|
|
451
451
|
height=4.34 * cm,
|
|
452
452
|
color=c_product,
|
|
@@ -467,7 +467,7 @@ class ReportClass(FactsheetReportMixin, ReportMixin):
|
|
|
467
467
|
"<strong>Top 3 Contributors</strong>",
|
|
468
468
|
"<strong>Bottom 3 Contributors</strong>",
|
|
469
469
|
],
|
|
470
|
-
data=list(zip(top_3_holdings, top_3_contributors, bottom_3_contributors)),
|
|
470
|
+
data=list(zip(top_3_holdings, top_3_contributors, bottom_3_contributors, strict=False)),
|
|
471
471
|
width=CONTENT_WIDTH_PAGE1_LEFT,
|
|
472
472
|
header_row_height=0.85 * cm,
|
|
473
473
|
data_row_height=0.39 * cm,
|
|
@@ -636,7 +636,7 @@ class ReportClass(FactsheetReportMixin, ReportMixin):
|
|
|
636
636
|
|
|
637
637
|
data = list()
|
|
638
638
|
categories = list()
|
|
639
|
-
for
|
|
639
|
+
for row in df.itertuples():
|
|
640
640
|
data.append(row.weighting * 100)
|
|
641
641
|
categories.append(f"{row.aggregated_title} ({row.weighting * 100:.1f}%)")
|
|
642
642
|
|
|
@@ -450,7 +450,7 @@ class ReportClass(FactsheetReportMixin, ReportMixin):
|
|
|
450
450
|
# Price Timeseries Chart
|
|
451
451
|
elements.append(
|
|
452
452
|
get_timeseries_chart(
|
|
453
|
-
data=[list(zip(prices.index, prices.net_value))],
|
|
453
|
+
data=[list(zip(prices.index, prices.net_value, strict=False))],
|
|
454
454
|
width=CONTENT_WIDTH_PAGE1_LEFT - CONTENT_OFFSET,
|
|
455
455
|
height=4.34 * cm,
|
|
456
456
|
color=c_product,
|
|
@@ -471,7 +471,7 @@ class ReportClass(FactsheetReportMixin, ReportMixin):
|
|
|
471
471
|
"<strong>Top 3 Contributors</strong>",
|
|
472
472
|
"<strong>Bottom 3 Contributors</strong>",
|
|
473
473
|
],
|
|
474
|
-
data=list(zip(top_3_holdings, top_3_contributors, bottom_3_contributors)),
|
|
474
|
+
data=list(zip(top_3_holdings, top_3_contributors, bottom_3_contributors, strict=False)),
|
|
475
475
|
width=CONTENT_WIDTH_PAGE1_LEFT,
|
|
476
476
|
header_row_height=0.85 * cm,
|
|
477
477
|
data_row_height=0.39 * cm,
|
|
@@ -639,7 +639,7 @@ class ReportClass(FactsheetReportMixin, ReportMixin):
|
|
|
639
639
|
|
|
640
640
|
data = list()
|
|
641
641
|
categories = list()
|
|
642
|
-
for
|
|
642
|
+
for row in df.itertuples:
|
|
643
643
|
data.append(row.weighting * 100)
|
|
644
644
|
categories.append(f"{row.aggregated_title} ({row.weighting * 100:.1f}%)")
|
|
645
645
|
|
|
@@ -112,9 +112,9 @@ class ReportClass(WBModel):
|
|
|
112
112
|
"""
|
|
113
113
|
if (len(args) == 3 and (class_path := args[2])) or (class_path := kwargs.get("class_path", None)):
|
|
114
114
|
try:
|
|
115
|
-
if
|
|
115
|
+
if class_module := getattr(importlib.import_module(class_path), "ReportClass", None):
|
|
116
116
|
for method in self.REPORT_CLASS_DEFAULT_METHODS:
|
|
117
|
-
setattr(self, method, getattr(
|
|
117
|
+
setattr(self, method, getattr(class_module, method))
|
|
118
118
|
except ModuleNotFoundError:
|
|
119
119
|
for method in self.REPORT_CLASS_DEFAULT_METHODS:
|
|
120
120
|
setattr(self, method, lambda *a, **k: None)
|
|
@@ -9,7 +9,7 @@ def get_data_and_labels_from_df(df, color_palette, percent=True):
|
|
|
9
9
|
data = list()
|
|
10
10
|
colornamepairs = list()
|
|
11
11
|
|
|
12
|
-
for
|
|
12
|
+
for row in df.itertuples():
|
|
13
13
|
data.append(float(row.weighting))
|
|
14
14
|
|
|
15
15
|
label = f"{row[2]*100:.1f}%" if percent else f"{row[2]:.1f}"
|
|
@@ -557,7 +557,7 @@ def generate_report(context):
|
|
|
557
557
|
|
|
558
558
|
data = list()
|
|
559
559
|
categories = list()
|
|
560
|
-
for
|
|
560
|
+
for row in df.itertuples():
|
|
561
561
|
data.append(row.weighting * 100)
|
|
562
562
|
categories.append(f"{row.aggregated_title} ({row.weighting*100:.1f}%)")
|
|
563
563
|
|
|
@@ -567,7 +567,7 @@ def generate_report(context):
|
|
|
567
567
|
|
|
568
568
|
data = list()
|
|
569
569
|
categories = list()
|
|
570
|
-
for
|
|
570
|
+
for row in df.itertuples():
|
|
571
571
|
data.append(row.weighting * 100)
|
|
572
572
|
categories.append(f"{row.aggregated_title} ({row.weighting*100:.1f}%)")
|
|
573
573
|
|
|
@@ -559,7 +559,7 @@ def generate_report(context):
|
|
|
559
559
|
|
|
560
560
|
data = list()
|
|
561
561
|
categories = list()
|
|
562
|
-
for
|
|
562
|
+
for row in df.itertuples():
|
|
563
563
|
data.append(row.weighting * 100)
|
|
564
564
|
categories.append(f"{row.aggregated_title} ({row.weighting*100:.1f}%)")
|
|
565
565
|
|
{wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/pdf/sandbox/templates/multistrat_factsheet.py
RENAMED
|
@@ -553,7 +553,7 @@ def generate_report(context):
|
|
|
553
553
|
|
|
554
554
|
data = list()
|
|
555
555
|
categories = list()
|
|
556
|
-
for
|
|
556
|
+
for row in df.itertuples():
|
|
557
557
|
data.append(row.weighting * 100)
|
|
558
558
|
categories.append(f"{row.aggregated_title} ({row.weighting*100:.1f}%)")
|
|
559
559
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0008_alter_report_file_content_type.py
RENAMED
|
File without changes
|
{wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0009_alter_report_color_palette.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbreport-1.55.9 → wbreport-1.55.10rc0}/wbreport/migrations/0013_alter_reportversion_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|