Skip to main content

BEMServer web interface

Project description

Latest version Python versions Build status pre-commit.ci status

BEMServer is a free Building Energy Management software platform.

Its purpose is to store data collected in buildings and produce useful information such as performance indicators or alerts.

Installation

Settings

Flask custom var config available:

BEMSERVER_API_HOST = “localhost”

API host name (and port)

BEMSERVER_API_USE_SSL = True

Is API published through SSL?

BEMSERVER_API_AUTH_METHOD = “jwt”

API authentication method: “jwt” (preferred and default, fastest) or “http_basic”

BEMSERVER_UI_TIMEZONE_NAME = “UTC”

Default application timezone name, when not overrided campaign timezone

BEMSERVER_UI_NOTIFICATION_UPDATER_DELAY = 60000

Delay, in milliseconds, between each check of new notifications

BEMSERVER_UI_USER_GUIDE_URL = https://bemserver-docs.readthedocs.io/en/latest/user_guide.html

User guide URL

(optional) BEMSERVER_UI_PARTNERS_FILE = None

Absolute path of json file that describes the project’s partners

Example of BEMSERVER_UI_PARTNERS_FILE file structure:

[
    {
        "Nobatek": {
            "use_as_project_logo": true,
            "url": "https://www.nobatek.com",
            "logo": {
                "style": "height: 50px;",
                "src": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI1MzlweCIgaGVpZ2h0PSIxNzJweCIgdmlld0JveD0iMCAwIDUzOSAxNzIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDUzOSAxNzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSI1MzkiIGhlaWdodD0iMTcyIiB4PSIwIiB5PSIwIgogICAgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFoc0FBQUNzQ0FNQUFBRGxxWjVyQUFBQmZHbERRMUJwWTJNQUFDaVJmWkU5U01OUUZJVlAKVTBXUnFvTkZSQVF6VkNlN3FJaGpyVUlSS29SYW9WVUhrNWYrUVpPR0pNWEZVWEF0T1BpeldIVndjZGJWd1ZVUUJIOUEzQVVuUlJjcAo4YjZrMENMR0M0LzNjZDQ5aC9mdUE0UjZtV2xXUnd6UWROdE1KZUppSnJzcWRyMGlnRUgwWVJRUm1WbkduQ1FsNFZ0Zjk5Uk5kUmZsCldmNTlmMWF2bXJNWUVCQ0pZOHd3YmVJTjRwbE4yK0M4VHh4bVJWa2xQaWVlTU9tQ3hJOWNWengrNDF4d1dlQ1pZVE9kbWljT0U0dUYKTmxiYW1CVk5qWGlhT0tKcU91VUxHWTlWemx1Y3RYS1ZOZS9KWHhqSzZTdkxYS2MxZ2dRV3NRUUpJaFJVVVVJWk5xSzA2NlJZU05GNQozTWMvN1BvbGNpbmtLb0dSWXdFVmFKQmRQL2dmL0o2dGxaK2E5SkpDY2FEenhYRSt4b0N1WGFCUmM1enZZOGRwbkFEQlorQktiL2tyCmRXRDJrL1JhUzRzY0FmM2J3TVYxUzFQMmdNc2RZT2pKa0UzWmxZSzBoSHdlZUQramI4b0NBN2RBejVvM3QrWTVUaCtBTk0wcWVRTWMKSEFMakJjcGU5M2wzZC92Yy91MXB6dThIby94eXVveEo0SVFBQUFBZ1kwaFNUUUFBZWlZQUFJQ0VBQUQ2QUFBQWdPZ0FBSFV3QUFEcQpZQUFBT3BnQUFCZHduTHBSUEFBQUFHeFFURlJGQUFBQXNiZTFzYmUxc2JlMXNiZTFzYmUxc2JlMXNiZTFzYmUxc2JlMXNiZTFzYmUxCnNiZTFzYmUxc2JlMXNiZTEzbXNDM21zQzNtc0MzbXNDM21zQzNtc0MzbXNDM21zQzNtc0MzbXNDM21zQzNtc0MzbXNDM21zQzNtc0MKc2JlMTNtc0NzYmUxM21zQy8vLy9qbHRBTlFBQUFDRjBVazVUQUorL2dGQXdBa0RmanlDdjcyRFBjRUFDTUlDUDMxQ2Y3MkN2SUw5dwp6eEFRNW9kV3lBQUFBQUZpUzBkRUl5cGliRG9BQUFBSmNFaFpjd0FBdUl3QUFMaU1BY3oydXk4QUFBQUhkRWxOUlFmcEFSWU9LZ293CnJja2xBQUFCdzNwVVdIUlNZWGNnY0hKdlptbHNaU0IwZVhCbElHbGpZd0FBT0kybFUxdU9IQ0VNL09jVU9ZTHhzemxPRHpSUzduK0IKR0F6ejJ0bEltMWd6UWwxQXVXd1g2WGV0NmRjSU5Vd3dBay9RcXFUTkNKZ25wRTB2WTBOQk5rWUVPYVRJaVFCMkZkL08vbE5mTDErNwpFM0RTckdSa3dGbEFnQ3Y4UTNUUG1vSTlvaEcydTdJZlJ2cmgrYWFzWXFTUktPT0NHWklYQm9ZV2pabGxqeUExOHc3Qnhzc1JlR2JYCmUzZzdGbjZ1Vm1CTjNzN1p4dGhvandzditGWHZ1RDNoVzVEamc0aDlNaUVWTTY4TTRCYys0OStjVDBPcW9iYjRwcjNCM2dzM3dDckIKMWIzZ3ZISGJwZm40ZlU0bStqNmxQY21xb3BlSTBMNnd0cDNBV3dqc25tSVhJV05xbzFBZFRoTmZmVVA5MEdneXR2Vjl4WmxoQ2NGRgpnTzhDMHQ4VjVQT2hRR0FsdzBnMmsxQWtZWFlpN2VOQitEOC9GTURqU1R6RmNEQzhHZGc5cFVTRXo0Yk1VRGx1U3J2NkNFS1ozMWFtCnd0NEtUUHgyNXJtMmxZbGFuVVRWVlh4U29EMHFvNk1ISVpXUFNwRkxEMFg5bU5PNGFlV1BoRmhzN3RzeDEzdzBCelM3YmU1bERxTGQKZVZTUHlZdW5SUk9reklzVU5vTlRiaSsraTZCTkJDZTFlVkU0RE1hMXpvT2xsSE5sQ09JdTlUdmY3V2EvalIzMm0vdGl2UDhnZWpWaQorZ1BRRENCWkxORUF2Z0FBRUg1SlJFRlVlTnJ0WGVsQzhqb1FwUllwSUVnQlJWQ0VDKy8va0Jmd1E1clpNbW5UQlpuemx6UnBtTlBKClpFNldYbzlCOGhRZlNkcC83aG51SFlORFhYaEtqUi8zamF3MmJwd3dISTNiN3AraFBOSTZ1WEgySHYyMmUyZ29pNWVhdVhGeUhzYU8KTzhXd2RtNmNmRWZXZGk4TkpUQnVnQm9uakFadGQ5UVFqSDR6M0RnTXpYWGNIZW9PUlc5STIrNnFJUkJQalhIajhHVGp5bjJoT1dxYwp4aFhMaGQwVG5wdmt4bUZpNUxnalRCdmx4bUV5YmJ2REJqV1Nacmx4T0JnNTdnYXZUWFBEeUhFM2FKd2FoNE1sT3U0RHRZcXdEQ3dnCnZRODBsL2t5Y3R3YjZoZGhLUXd0Q1hZSGFFS0VKZkRhZHI4Tlh0UzNIdENEVWRzOU4valFsQWlMWWN0OXVvNVdRdEVMSnJhT3RPTm8KVUlTRmVHcTc3d1laay9hNGNaaTEzWG1EaEdaRldJQ0pUV1M3aklaRldJQ2s3ZTRiQkl4YTVZWUpLMTFHOHlLc0F3dEhPNHgycVdHTwpvOE5vUTRRMXgzRWZtTFhOallNbHdMcUtka1RZSW15cTBsVzBKTUlXTUttaFZ4bkFBNlZSY29CNTZab1VJdXd3NkxDZUV0T2VHaGFQCndpWWVLT0E5QXVTbGExS0VvcUY1N1g0U21JVi9pZjhIR1RjaWNFTWh3b2IvcjRNa2lCczFEQ3JHalFqY1VJaXdaYXJOZ3NLWStKWXoKYmtUZ2h0LzlsMXU2TndpSk8rSnZyamR1"
                "Vk9lRzRsQ1dzaXYzRWowMzRxZS9qQnZWdWFFUVlVdlBJdlNaay9nQmgzR2pPamNVSW16cApmU1FCdzByMDlJTnhvem8zL0tGb2hXOTZvSjdMUmplZGNhTTZOL3htcXhJTHFKZVVSYzkrR1RjcWMwT1IrYW8waDlBdVlZOCtVZWsyCk54YkxHaXVQeFEyRkNGdHRENGx5RGZzamNXUHg5bjQ4MWxoL0xHNGtmck5WQ3hPVm84ckRjR1Axc2I0WXJNWW1ZbkhEbjcwY1ZueFQKQmZzZWhodFhZdHdGTnhRaWJGVWRURGRYK2Z2Y21HOCsxd1dEMWRoU0pHN1VJTUlpcUJ6SFgrZkcxeWN3V0kxdFJlSkdMU0lzZ09xbwo5TC9PamZ4NGQ5eW9TWVIxb2NtT0dqZmlJUkkzNmhKaEhXajJSaGszNGlFT04yb1VZUXZRYkhMNDZ6bnorK09HNGxDV0NNbHNUY0FSCi9WdzQ0MFpGYnRRcHdoYWc0RWIwUDhpNFVaRWJ0WXF3Ti9pcDhlZlg5dHdmTnhveW1yK1orSWZDR1RlcWNVT2hkY1NZUHloaTBmaG4Kd2hrM3FuR2pkaEZXM1V6OEhiSEdqV3JjU1B4R2k3Rld6OStNTDZySittbWFuUGZNcGVrczAvRkk1RVkyVFVlbjJsN1N0QjhjYTQ5UApELys4VEhKK0crWHpWYmlSYjViTHorMTIrN2xjZnVkZi92SlJ1T0ZQV0ZZVllTL3dhNzJTbnRjZndkZWN2TXo4L0dDNU1aaStnTnFtCjJnOWdQQjBSMGZ2VGlIT3VoVDJwMzhoZ0R0Z21GMjg3OE9ENjg5dkREd1UzY2d4MzEyd0RJcXl5R1RhcXliamRrME1mUFJodURGS3EKd3NULzlRK21DYy94U1VJT1dVYzE2RGJuMys5MDhkMm1HamMyUkpYZ2ovY2JMY1lKajRwbW1HQmdLbnFjUkdRSDNjUnNVcXF5M3RTNwpuWUs2TTdzYU4rYkxOZi9BV2xoVTZPWEdBdGYzRGpiYk55SEM2cG9oblhyZk94WkpCcVY2TWhBc0xGd2hOeDZwbHFEZ083TXJjV1AxCkxqL3lublB2NitQR0hOZThYb0F5aXExRkVhaWhTTEJSZXQ1QXMvRnB3dnMxZ2h2UGNueVZsTy9BdjI3QWtha0NOK1lmL29jNDErSGoKeGhaWHRZSjFOQ0xDYXBvaHJOSlg3bXhoTHlMRzNIajJWY25WcFQ3dUhkNFdWSjRiODUzbXFVLzYxQlVQTjVhNEloUytLQ1N3R0ljdApLWnJCWDcvKzlIM3U5aWJFamJHZmJVemtIZkF5THJ0S2MyT2hvc1lwZ0NUSklYTmpoYXY1UUZVMEk4SnFOdHlpcUNaUlcrTmtEem9tCmdzWDZtaFZHOUxjUWNFMkU2MmpMY21QK3JuMXVHOHlOcjdXbUVrV1hZNGl3Q3EyM0NqVU9UTzRXRnRJZEIwSitEQ0ZYaURpejhaTGMKMEEwb1AzZ0w1QVpSTitWOEdsa1BxR2tHNm5tQjFLQ0hsY0E2cmxWUk01OFFiamdWbE9TR0lneTlZWVhmVitJR3JodE5VWFQvWGpzaQpiUGpSKzVSRnkzR0RERG1Dcmg0cURrdmx1TEhTUDNZMkxmN3FCVzRRU2ErYzZIRjNSRmpYa1plNXNZT1lUNVhrQnBYUmNiZ3hlVXBuClA2ZFN6a1pVQ0ZNTVIwdHhZMDVrdk5ZZjMrZTA5dWFOR0czd3FNSmJmNEhySmpPc2lzK3pEUkYyUUFZR3cxRzJ2eEJuU2lmUk1ZdloKMWlaSi8xelZuam5Na1BDVnQ2RDlOWFdIcjhFTXYyMkI2ZHNia0ZHM0RncDFZcSsvTFl3YmkwLzBNMUpYV0c0UU1TNmVvcHlSQkJxdApKUHpOdUNJczVjQ2RmUFNlVkVSUXlNRzFsdTV2TlpGaE1nNWVzaXVwaUxnR0g0aElUNFRWT3V3WDhobmZib0hWMm1kZWxodVlWMXY2CkpUb2p3anBmS3BVTmdlbVAvWXVuRXA0YlE5ZThsTy9FODlnTE55WXBreGxEanJFYU42RGJ3S0VpSEJoUXhNRnhBeWU5ZHN5UnhWNmIKdFNMQ29zK1F6Ri9nVWloT0lKdDYzWU5TUkk0SFh4SjI1c2FJMS9GZlBHOFN4QTNvTnFoWkJLd0xPQmFPRytnVjZDbEtyLzVEV2ZUTgpGUDlMd20yUU9SWk1EdWc0cUphSStRd1JEcUVjUjRhVmtpTGdPNU4vbTVZYjhOdGVLUW9CZVozaEJwSDB5cG1YNktZSWkyM09wR1p4CjFnU1lqMnFwcjZvSURTclBubzhFdkRUcGJyWGNBTkVpSFNyK0I4d01vbEdhQW5pS3d5NEM2WXdJVzR4cThIa00zTGkyUnlXQlNZbVcKeUxxd1l3dmVkZ0VHSmpJcnBPVEc0aWhhL1FyZ09NQ2dRbklEVDM5bzNwM2hqeEViRW1HTEZzT3hJVHRWUW9NQk1DblJFbDJYMXdQNQpvZmltbE54NDA1a1BSQ1dmN3E4VU4zRFNpNW1pOUxvcXdyNEV2QU1pdHp0aXFQdUR3OUZnaFJGTSthZ2lTbTRBeDcvaVduU1hZS3pkCkh3bHU0S1RYanI5VnBac2lyUEpUdndCRk1xN3RjVU9jTzBDdUxYZ2pGWEE5VkJFZE4rWkh5ZVlGZ0VIRm5XOWdidUNrRnpkRklmOVoKL1g4WmdqQVJGbzM5MHJDR1hKS2Jqam1vNjBwZ3lXQVpDZnlaVkF5djR3WW94YnQ5VU5DTktqRTNjTklyRjdyVEdSRzJhREpFV0hFcApNMHJlT1NrSTFCQTcyVUMrTFRnWWpjWU40QTc0OWNKZlVrSEVBNXowRXRlcCsyUEVGa1JZRkc2SXJndjVwRXhzbVoyUjQ1aElhblZ3CjNyb0ViaUViK2x2U2NlTlRiVUhKd2NDbU1EWDRLVXF2cXlJczhnUmk1VlB4alFNTWpyNFRqcEpaK3FSWnhscWVHMkNWNzI3THdpMzQKTG5JRGdSK3J5UDhWb3lFUnRtZ0grSnM4aTBiRWMyTElnTHJRd0VlNm1QNkw5dUQrOHR6d1dwVkRVQzA3K2VKSFJZell2QWlMdEJmUApzQ1lXaHo4SzRoQWF5ckJ4NmUxdzNlSEdQS0FXYVlweVJpZEZXTmtSVk9TR01FU2lFQmpOM21kQjkxYTJ3STA4b0JaNVJPbW9DSnRKClB5bzZNWlIrRE9FR0tEdldibDZxeW8zOFdCWWgzRGpLZHpCMFI0VHRTOFVEdVhHUWZpelBEZStlcHc1d3cwbWdoakVKUWhFak5pVEMKRnFPYWJuSkR1OE91Vlc0NHJzQmJlaTBGb3dvUk5zYWhMUDVtbkdFQWNjTXpyalhDaldDdjBUMXU0SVVidXg2UFRvcXdtQnVCODVRNgp1REVJdWdLNW05ellZSEpRVzU3K2RkamZ2NFpFV01kaWdkeVFpd2R3UTBxd2twUDlZWkk2WnpuRnlwbC9IY3RDNUFZK05FaFFlQlVpCmJJeERXUlROT0g4al"
                "R0Wkc1SWJBTXlIM1JkQjdNa0pwMDJoNlNrM2NJTFMyTlhjdVZDZEZXTUtlaDcxVVBlckZpMVNYTUVpaVpNL04KdUFsNnBSSHhUZ24zZUVWdWZDeTF5R1Z1elBVaFJ5ZEYyQjRSbjRpVEpXUzNzbm9LS3ZvYmg2UEJsOTYwRHpwYW5odGdhWStvbHZMQQozS0QyVVRJaFIyZEVXQkRWSURLSmsxZ1VKVTdGeGxtZTRTek03MDlJZHFMZDZhdS9wVkphVzhtTFFnbHVFS01LSFhJb1JOZ1laMGdyCm1nSEphVFFJU1JURm9ZQmpPUFFyeXpPVTdMbDVNemdKWjZJd0JRdExyZC93WmJjWlVOeWd6dmlpUW81dWlyQTlLbmpkQjFUdkxzbEIKVmJFQkI4ckMzT0lXNEpvWWpRazZudkxjZ0N0K1pjR1VBOFVOYW41TTZiR2RFV0ZoRElEbjFzS2FWUlJCdXBreWRaLzJxR0RLVmNKNApVL2gvbHVjR25NU1dDemhJYnNBbDdHY1FTM3dhdWhuRHIvVStlUi9oMVdBOFlyazh3cTB4bHNYdTdkZTIwQ0V3M25USVBWK0FjcDA1CjhQemxCaFdhRzlSQlVaaDdYcHMxSmNJaWEyRTdzWU1ienNlN1dYNkM4UFFBTmVRcjBnd1dSQ3lyNGdZOVhIeVFaZzBFelEzcXhGbTAKbEtPYkl1d0ZPTDRjcW1zSGZOYjJDZ2RmcjJ3ak5EZFV5OGJ5bzhycWNLNHBDUjhzdUthSXd5Tmh5TkZORWZZSDJCdlFOTjNqcngwUQpqV3FQbUlIaXZaT0ZGbFhjNlB2ZTVBTDAwVEx6VTVpazRvV1BLL0M0d05LUU9QVUhoQnlKMzJqTmlMQkVWRU00bTZtdWN1aGdxQWFICmU4MWJQck52UTAxaG55VnlDUVpqUEFLS0dEM2hhTDQ3ZXB2NjVRWnhwQk9vdjVzaTdEOFFjVEpCanNSZml1N1kzbDlSZ1dRWi85TVYKZXlMaVZuR0RHVlMramlIa3lNL0pNajAzZW9UbzVvUWNIUlZoR1hOUTVjYUVQWkRaR05hN3d4aEJEY2M1d045UThFd2VrVTV5QXgwaQp2dE5Gb3llM3oyUTU1cHVmbVVjQU42aWp6SXMzSURSME0wYW9DQ3VaYTFoMENtTnl5VGVxaTJselVqanZLL09kODRmbjFJQWNNK1hCCmRLVE5DK1RJYjlFSG9kTy9VNjRqLzdnT0VDSGNJQTVvS2U3Qzc0NElTMFkxQS9Mdm5pVFQ4MEdCNHl5bHd4aWN1MkJiUFZkMUdndXkKbE02L3BISW5DalRkYzllN2tOd2dUdlpjdjUwdk84cFhiN3RpSW9PWVRSemZsODVrODJ2elViQnhDRGVvMXlnYzM5RlZFZllLaGNQQgpGc00wSzFITGhUbE9UWlFrOUhQQTZDemxPMGh5WTM2VVVPQUdjNWo1ZXJ0Y3J2Sjh1WHpiZ204L2lCdVU2SGJiaGw4aVhWa0dmak53ClVZM0M0MEJ6UFpkcG53UVlUZ04zSHdqY0lJMUNjWVBLVVlrSTR3WjF0TzF2eU9IdlcwTWlMQnZWSktIR29LYTU1YWdCZlpraU9EdGgKNkZLSXppcUxSMUU3eWZITk1RaGgzQ0RmNHhweStMdmFrQWpMSnRnR211c3NQTlNBM2RTdEZzY09TSFA3MHlGenVjSDRYZWwyQS9jVQpsdVV4QklIY0lJL1MvOVp5b3gwUnRrZ09sVVZFYXNCdVBxbEdLbHpWUUVHcVVVL0ZqVnh2NExkakFFSzVRUVkwQ3gwMzJoSmhBNmwxCmZWdkcvYURXRkh5aldPYmZuNUwwZE53UUxRNktoZ3dyb2R3Z1NmcXpuY2tiWHJVbHdqcVlLcmNNdlhKT0RuRmo0TzA0N1lCODVFZ1EKbFZuVzcvUUd6b1g3UDZ0eWd5VHBKZUx4ZmordDNJeUJvTnVnekw4cjRvYlBHYkdYZ0Q2TElzT0Y0aUJueEwyVGNLRVNMaXZPYTRwZgpmRGczeVBkWTloUzVyOVpFV0lCcHpQdGhMOSt5NUl5RVk2bUY4R2ZTcDdyTDFzUWJuQ2ljYjQ5K3JKZEJkK3Y4dzRLcUtsZk1MbHNUCllRUFpFWFN2OUkrZkh5ZmMyOGpPTW1OZTVIb0NQc2pYQ1RWOU0yTUZXZGpMRHZydWNUODN5Sm5RT2VUd2ZJNVJEbVdKdGN1QnZZLysKZGVhaE1OUGNtS3B3Nkt2c1JGTTh4RTF1NUFSRHFFVGErUWZKanB3dS9mWEdYL200KzJiMnBtbnFwa2FWcmRmZnR5akMwdlJBQjdDOQpKbFAvTkR0emNSc3hCdFBFK1RwZVJ6cjVhRHdyMG1QeU1oMndyY2xNbTI4K0FUMjJieXQrUmZuWDVnTVpjaTAra1FOUUpiOXlBbDdECk5TVENCaVhZQmxrLy9jRXNpeUVFRHJMWlQzWDlzT0RxT2Z0NUxLdWFBbHJrdjdzVjh5OVYrYzMxZ2UrekRXdUQ3RGhhdUJuRDBCbkkKWjByRWFDSHNaZ3hEaHlCbEh4b1NZV01rMkF4MVFGREMyaFpoRFcwallZM1d3czBZaG02QkpVZnJJcXloZFRCVGlZWkUyQ2k3SEF4MQpZYXE5Y2pzY2ZyY1JJNm94MUlleGVtOUZJS3FMc0liV1FXeXZhQ2p6RlNPNWFhZ1YrT3FIWmtSWUMwWHZBWU9wWThrV2JzWXdkQmlECmZ2cnZ4ckhKVTR5VVZFd1IxdkMzRUZ1RU5md2R4RmdQYVBpYk1CSFd3TUh2Tmt5RWZWQTBkUFdzNFE1aElxeUJRK0xuUnR1dmFHZ0oKSnNJYU9QamRSb3hkRG9ZN1JFTkh6Um51RUNiQ0dqaFlLR3JnNE0rS21najdxUEJ6dzlZRFBpcjgzREFSOWxIaFAzUE5STmhIaGZmdwp5Q2k3SEF6M0NLL1VaaUxzNDhLM1d0UkUyTWVGTC9sbEl1emp3bmVTcngzSzhzQ1FIWWV0QjN4b2lDcTlpYkFQamJFMHFwZ0krOWlRCmRIb0xSUjhjd3ByUnRsL04wRGI2M0xCaUlxeUJ1enpBUkZnRGQzbUFIY3BpNkRFWDY1b0lhemlEdUpIQ1JGakRQMlJ3cFkrRm9vWmYKZ1B0S1RJUTFGTkVmM1pMb3RoNnd5L2dmRE9vdEl3M0VGN0VBQUFBWmRFVllkRU52YlcxbGJuUUFRM0psWVhSbFpDQjNhWFJvSUVkSgpUVkJYZ1E0WEFBQUFKWFJGV0hSa1lYUmxPbU55WldGMFpRQXlNREkxTFRBeExUSXlWREUwT2pReU9qRXdLekF3T2pBdzVsdU1Ed0FBCkFDVjBSVmgwWkdGMFpUcHRiMlJwWm5rQU1qQXlOUzB3TVMweU1sUXhORG8wTWpveE1Dc3dNRG93TUpjR05MTUFBQUFvZEVWWWRHUmgKZEdVNmRHbHRaWE4wWVcxd0FESXdNalV0TURFdE1qSlVNVFE2TkRJNk1UQXJNREE2TUREQUV4VnNBQUFBRzNSRldIUnBZMk02WTI5dwpl"
                "WEpwWjJoMEFGQjFZbXhwWXlCRWIyMWhhVzYya1RGYkFBQUFJblJGV0hScFkyTTZaR1Z6WTNKcGNIUnBiMjRBUjBsTlVDQmlkV2xzCmRDMXBiaUJ6VWtkQ1RHZEJFd0FBQUJWMFJWaDBhV05qT20xaGJuVm1ZV04wZFhKbGNnQkhTVTFRVEo2UXlnQUFBQTUwUlZoMGFXTmoKT20xdlpHVnNBSE5TUjBKYllFbERBQUFBQUVsRlRrU3VRbUNDIiAvPgo8L3N2Zz4K"
            }
        }
    },
    {
        "Flask": {
            "url": "https://flask.palletsprojects.com/en/latest/",
            "logo": {
                "style": "height: 50px;",
                "src": "https://flask.palletsprojects.com/en/latest/_images/flask-logo.png"
            },
            "text": "The Python micro framework for building web applications."
        }
    }
]
(optional) BEMSERVER_UI_PLUGINS = None

List of absolute file paths that locate the __init__.py file from each UI plugin package to load

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

bemserver_ui-0.9.2.tar.gz (337.2 kB view details)

Uploaded Source

Built Distribution

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

bemserver_ui-0.9.2-py3-none-any.whl (447.3 kB view details)

Uploaded Python 3

File details

Details for the file bemserver_ui-0.9.2.tar.gz.

File metadata

  • Download URL: bemserver_ui-0.9.2.tar.gz
  • Upload date:
  • Size: 337.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bemserver_ui-0.9.2.tar.gz
Algorithm Hash digest
SHA256 8fec7712b289376e5226ec6682dce260a7665bfaa833e06905511e66bb9aefd4
MD5 5ae4d53eb74b808a5620d1c47d10dc5a
BLAKE2b-256 8623337455085932d89509d7b33b3bbf4932f48f87de119235e57888257bc137

See more details on using hashes here.

Provenance

The following attestation bundles were made for bemserver_ui-0.9.2.tar.gz:

Publisher: build-release.yaml on BEMServer/bemserver-ui

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

File details

Details for the file bemserver_ui-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: bemserver_ui-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 447.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bemserver_ui-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cde53a9ed293b9bb166f8dec505f167ca2c4c7088e2b1ea72bf49eb91bdfae24
MD5 ec93ede65b2baa393276e74449d1dd19
BLAKE2b-256 d2c35827622180caba1efdfe1cbc8a17eb75b9e9f7fc51cd254bb42625aad933

See more details on using hashes here.

Provenance

The following attestation bundles were made for bemserver_ui-0.9.2-py3-none-any.whl:

Publisher: build-release.yaml on BEMServer/bemserver-ui

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