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.8.2.tar.gz (326.0 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.8.2-py3-none-any.whl (449.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bemserver_ui-0.8.2.tar.gz
Algorithm Hash digest
SHA256 604cebdff1cab71354c866cf74c546a43a62890fca4ba1242b4d84a0f9b4939e
MD5 f81cb6c4821fddbe644493d492c207ed
BLAKE2b-256 07b2fe490da24f50124b62d574ba3f7b719e2566750369efc2229eac45eb242f

See more details on using hashes here.

Provenance

The following attestation bundles were made for bemserver_ui-0.8.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.8.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for bemserver_ui-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0675d4d25eb89f075fb1136bf2fe791e2632f2f645ec5929a1ec2a86f1010440
MD5 55aa8988d14a242d43c4118f56ea1cdd
BLAKE2b-256 43edb07e2061eae856db8cee81b4a8bf33fc3ff09658e81d08abc29e4a02329c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bemserver_ui-0.8.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