Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 350 plugins can import most commonly used flex measures classes from a central place #354

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions documentation/changelog.rst
Expand Up @@ -20,6 +20,7 @@ Bugfixes

Infrastructure / Support
----------------------
* Plugins can import common FlexMeasures classes (like ``Asset`` and ``Sensor``) from a central place, using ``from flexmeasures import Asset, Sensor`` [see `PR #354 <http://www.github.com/FlexMeasures/flexmeasures/pull/354>`_]


v0.8.0 | January 24, 2022
Expand Down
9 changes: 9 additions & 0 deletions flexmeasures/__init__.py
@@ -1,5 +1,14 @@
from importlib_metadata import version, PackageNotFoundError

from flexmeasures.data.models.annotations import Annotation # noqa F401
from flexmeasures.data.models.user import Account, AccountRole, User # noqa F401
from flexmeasures.data.models.data_sources import DataSource as Source # noqa F401
from flexmeasures.data.models.generic_assets import ( # noqa F401
GenericAsset as Asset,
GenericAssetType as AssetType,
)
from flexmeasures.data.models.time_series import Sensor # noqa F401


__version__ = "Unknown"

Expand Down
Empty file added flexmeasures/config/__init__.py
Empty file.
Empty file.
19 changes: 19 additions & 0 deletions flexmeasures/config/tests/test_package.py
@@ -0,0 +1,19 @@
import pytest


@pytest.mark.parametrize(
"class_name",
[
"Account",
"AccountRole",
"Asset",
"Sensor",
"Source",
"User",
],
)
def test_class_imports(class_name: str):
"""Make sure that plugins can import these classes as `from flexmeasures import <class_name>`."""
import flexmeasures as fm

assert hasattr(fm, class_name)