Skip to main content

No project description provided

Project description

Library for config-based rendering tables to html or excel

Allows to create a config based on pydantic BaseModel:

from bmsdna.table_rendering import markdown_to_excel, ColumnConfig, TableRenderer

my_cols = [
    ColumnConfig(header_key="mail.date", field="start", format="datetime"),
    ColumnConfig(
        header="MyTool",
        align="left",
        field="customer_id",
        link=lambda _, c: some_tool_link(c.get("customer_id"), c.get("lng_code")),
    ),
    ColumnConfig(
        header="PDF",
        align="left",
        field="customer_id",
        link=lambda _, c: maybe_some_pdf_link(c.get("customer_id"), c.get("lng_code")),
    ),
    ColumnConfig(
        header_key="mail.subject",
        field="subject",
    ),
    ColumnConfig(
        header_key="customer.sales_l12m",
        field="sales_amount_l12m",
        format="float",
        format_nr_decimals=0,
    )
]
lng_code = "de"
lng_table_config = TableRenderer(
    my_cols,
    translator=lambda k, d: get_app_text(k, lng_code, d),
)
# we can make some html
html:str = lng_table_config.render_html(some_list_data)

# or also an excel
with xlsxwriter.Workbook() as wb:
    ws = ws.add_worksheet("sheet1")

    # we can also write some markdown to excel

    markdown_to_excel("# Ein Titel\nWir haben hier einen Text", ws, wb)

    # and add the table to it
    lng_table_config.render_into_sheet(some_list_data, ws, wb, offset_rows=10)

We use it internally to create Emails with Excel attachments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bmsdna_table_rendering-0.3.10.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bmsdna_table_rendering-0.3.10-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file bmsdna_table_rendering-0.3.10.tar.gz.

File metadata

  • Download URL: bmsdna_table_rendering-0.3.10.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bmsdna_table_rendering-0.3.10.tar.gz
Algorithm Hash digest
SHA256 c2c76b464e8f60cdd59f1222e5a5ba46044b178dc53dee36b2c9e89115b73600
MD5 a8ef7d80a201be6bd587d733778db1b5
BLAKE2b-256 a16cb369b65e8a58f9f9c99a5f1d6b6bf9de36996e355126ef45c38bbc4e4cb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for bmsdna_table_rendering-0.3.10.tar.gz:

Publisher: python-publish.yml on bmsuisse/bmsdna.table_rendering

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bmsdna_table_rendering-0.3.10-py3-none-any.whl.

File metadata

File hashes

Hashes for bmsdna_table_rendering-0.3.10-py3-none-any.whl
Algorithm Hash digest
SHA256 cb9eb6f907e73e91e9c5752febdc9f5fec356a8dea67c7ee808d1e98a97b9b05
MD5 cb898d584dd9524b972a563465889e1a
BLAKE2b-256 aa5c01f68cd972031bfeb73c19d7bae4edb2668d7f582c78f0ad49a0c59eeb9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bmsdna_table_rendering-0.3.10-py3-none-any.whl:

Publisher: python-publish.yml on bmsuisse/bmsdna.table_rendering

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page