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.10.0.tar.gz (337.9 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.10.0-py3-none-any.whl (447.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bemserver_ui-0.10.0.tar.gz
Algorithm Hash digest
SHA256 1d84eed2faba508a1fd20d7cf3182d4e6845cd37bcd2a8fbc4fddb2118fc1d46
MD5 1178f6ab819b7dbbc1db691feb4c605f
BLAKE2b-256 a4c7ebcea1340b2d6f3f7f81cfdc49601a6c473c368afdff90293a80d7d017e6

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for bemserver_ui-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 600eef05b5cb496c36515e0163e14251e001a3a783a3b43639b7901db53693c6
MD5 c7812338d03fe2d461ce5260f234d4b8
BLAKE2b-256 9cc11e786285475453417774fa48963c6c45056c1be710240bd3487445c1ac7e

See more details on using hashes here.

Provenance

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