Skip to main content

A dashboarding framework for visualizing performances of algorithms or simulations in various scenarios.

Project description

Algomancy

Algomancy is a lightweight framework for building interactive dashboards that visualize the performance of algorithms and/or simulations across scenarios. It brings together ETL, scenario orchestration, KPI computation, and a Dash-based UI with modular pages.

Highlights

  • Python 3.14+
  • Dash UI with modular pages and a production-ready server
  • Batteries-included packages: content, data, scenario, GUI, CLI

Installation

  • Using uv (recommended):
    uv add algomancy
    
  • Using pip:
    pip install algomancy
    

Minimal example

The following example launches a small placeholder dashboard using the default building blocks from the Algomancy ecosystem. Copy this into a file called main.py and run it.

Set up folder structure

  1. Create the following directory structure:
root/
|── assets/ (*)
├── data/   (*)
├── src/
│   ├── data_handling/
│   ├── pages/
│   └── templates/
│       ├── kpi/
│       └── algorithm/
├── main.py  (*)
├── README.md
└── pyproject.toml

Only the items marked (*) are required.

  1. create main.py
from algomancy_data import DataSource
from algomancy_gui.configuration.appconfig import AppConfig
from algomancy_gui.configuration.serverconfig import ServerConfig
from algomancy_gui.gui_launcher import GuiLauncher
from algomancy_scenario.core_configuration import CoreConfig
from algomancy_content import (
  PlaceholderETLFactory,
  PlaceholderAlgorithm,
  PlaceholderKPI,
  PlaceholderSchema,
)


def main() -> None:
  app_cfg = AppConfig(
    core_config=CoreConfig(
      etl_factory=PlaceholderETLFactory,
      kpi_templates={"placeholder": PlaceholderKPI},
      algo_templates={"placeholder": PlaceholderAlgorithm},
      schemas=[PlaceholderSchema()],
      data_object_type=DataSource,
      autocreate=False,
      autorun=False,
      title="My Algomancy Dashboard",
    ),
    server_config=ServerConfig(host="127.0.0.1", port=8050),
  )

  app = GuiLauncher.build(app_cfg)
  GuiLauncher.run(app=app, host=app_cfg.server.host, port=app_cfg.server.port)


if __name__ == "__main__":
  main()

Run

Examples

  • A more complete example (including assets and templates) is available in the algomancy repository under example/. The entry point is example/main.py.

Requirements

  • Python 3.14+
  • Windows, macOS, or Linux

CLI

  • This package also exposes a CLI entry point algomancy-cli. Run algomancy-cli --help for usage.

License

  • See the LICENSE file included with this distribution.

Changelog

  • See changelog.md for notable changes.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

algomancy-0.7.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file algomancy-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: algomancy-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for algomancy-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94534f9760ce47421bc09e16c789d8172091b5e01a2cab02cbb2efa0e25a1060
MD5 d95577afa83ffe8738e2d7dc1507e861
BLAKE2b-256 ea18357b80e31054866c1ec7452a576fd0962a0b5d7fcc1c20c52e0fd39fae5c

See more details on using hashes here.

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