管理mosaik实体标识符的实用程序。
mosaik.EId的Python项目详细描述
莫赛克开斋节
Mosaik EID通过管理 实体。在
状态
动机
传统上,mosaik实体是用硬编码的名称创建的。 Mosaik EID打算比硬编码的值更容易使用和更少出错。 clean和pythonicapi鼓励以干燥的方式创建场景。在
设计
该包包含一个解析器、生成器、数据模型和创建此类名称的异常。
数据模型基于
^{
兼容性
允许注册任意大小写的实体名称,
例如CHP
、BioGas
或{
局限性
- 在
线程安全尚未实现,因为它似乎没有什么价值。在
在 - 在
实体类型必须是有效的Python identifiers。在
在 - 在
PyPy3当前在Windows 10下不工作,因为一个未解析的a bug in pypy。在
在
测试
此包使用
^{
克隆源
git clone https://eprojects.offis.de/mosaik-eid/git/mosaik-eid.git
创建虚拟环境
在Linux下:
^{pr2}$在Windows下:
virtualenv -p "C:\Program Files\Python38\python.exe" venv
安装要求
python -m pip install --upgrade -r requirements.d/venv.txt
运行测试
tox --parallel all
测试覆盖率
python -m coverage html mosaik_eid/*.py
在Linux下
xdg-open htmlcov/index.html
在窗户下面
start htmlcov/index.html
使用库
>>> from mosaik_eid.eid_registry import EidRegistry
>>> e_type = EntityTypeRegistry.register(e_type='biogas')
>>> for _ in range(3):
... next(EidManager(e_type=e_type))
...
'biogas-0'
'biogas-1'
'biogas-2'
请参阅tests/functional
,以获得更多预期用途的实际示例。在
发展图书馆
出于发展目的, 使用.tox下的一个虚拟环境。在
冻结虚拟环境需求
在Linux下
venv/bin/python -m pip freeze --all --exclude-editable > requirements.d/venv.txt
# And remove line beginning with package name
在窗户下面
venv\Scripts\python.exe -m pip freeze --all --exclude-editable > requirements.d/venv.txt
# And remove line beginning with package name
冻结毒物要求
在Linux下
.tox/py38/bin/python -m pip freeze --all --exclude-editable > requirements.d/base.txt
# And remove line beginning with package name
在窗户下面
.tox\py37\Scripts\python -m pip freeze --all --exclude-editable > requirements.d/base.txt
# And remove line beginning with package name
- 项目
标签: