Skip to content

Commit

Permalink
Move serialization_version out of root
Browse files Browse the repository at this point in the history
  • Loading branch information
aborgna-q committed Aug 2, 2024
1 parent a1604dd commit 566a2c5
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 25 deletions.
6 changes: 0 additions & 6 deletions hugr-py/src/hugr/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,8 @@
"Kind",
"Type",
"Wire",
"get_serialisation_version",
]

# This is updated by our release-please workflow, triggered by this
# annotation: x-release-please-version
__version__ = "0.5.0"


def get_serialization_version() -> str:
"""Return the current version of the serialization schema."""
return "live"
10 changes: 4 additions & 6 deletions hugr-py/src/hugr/serialization/extension.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from pydantic_extra_types.semantic_version import SemanticVersion

from .ops import Value
from .serial_hugr import SerialHugr
from .serial_hugr import SerialHugr, serialization_version
from .tys import (
ConfiguredBaseModel,
ExtensionId,
Expand Down Expand Up @@ -74,9 +74,9 @@ class Extension(ConfiguredBaseModel):

@classmethod
def get_version(cls) -> str:
from hugr import get_serialization_version
from hugr.serialization.serial_hugr import serialization_version

return get_serialization_version()
return serialization_version()


class Package(ConfiguredBaseModel):
Expand All @@ -85,6 +85,4 @@ class Package(ConfiguredBaseModel):

@classmethod
def get_version(cls) -> str:
from hugr import get_serialization_version

return get_serialization_version()
return serialization_version()
10 changes: 4 additions & 6 deletions hugr-py/src/hugr/serialization/serial_hugr.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,13 @@
Edge = tuple[Port, Port]


def get_serialization_version() -> str:
# Delay importing hugr to avoid circular imports
from hugr import get_serialization_version

return get_serialization_version()
def serialization_version() -> str:
"""Return the current version of the serialization schema."""
return "live"


VersionField = Field(
default_factory=get_serialization_version,
default_factory=serialization_version,
title="Version",
description="Serialisation Schema Version",
frozen=True,
Expand Down
5 changes: 2 additions & 3 deletions hugr-py/tests/serialization/test_basic.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
from hugr import get_serialization_version
from hugr.serialization.serial_hugr import SerialHugr
from hugr.serialization.serial_hugr import SerialHugr, serialization_version


def test_empty():
h = SerialHugr(nodes=[], edges=[])
assert h.model_dump() == {
"version": get_serialization_version(),
"version": serialization_version(),
"nodes": [],
"edges": [],
"metadata": None,
Expand Down
7 changes: 3 additions & 4 deletions hugr-py/tests/serialization/test_extension.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from semver import Version

from hugr import get_serialization_version
from hugr.serialization.extension import (
ExplicitBound,
Extension,
Expand All @@ -9,7 +8,7 @@
TypeDef,
TypeDefBound,
)
from hugr.serialization.serial_hugr import SerialHugr
from hugr.serialization.serial_hugr import SerialHugr, serialization_version
from hugr.serialization.tys import (
FunctionType,
PolyFuncType,
Expand Down Expand Up @@ -75,7 +74,7 @@


def test_extension():
assert get_serialization_version() == Extension.get_version()
assert serialization_version() == Extension.get_version()
param = TypeParam(root=TypeTypeParam(b=TypeBound.Copyable))

bound = TypeDefBound(root=ExplicitBound(bound=TypeBound.Copyable))
Expand Down Expand Up @@ -113,7 +112,7 @@ def test_extension():


def test_package():
assert get_serialization_version() == Package.get_version()
assert serialization_version() == Package.get_version()

ext = Extension(
version=Version(0, 1, 0),
Expand Down

0 comments on commit 566a2c5

Please sign in to comment.