Skip to content
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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
from computecommons.compute.architecture import (
ARCHITECTURE_ALIASES,
CPUArchitecture,
normalize_architecture,
)
from computecommons.compute.cpu import CPUInfo
from computecommons.compute.machine import Machine
from computecommons.compute.memory import MemoryInfo

__all__ = ["CPUInfo", "Machine", "MemoryInfo"]
__all__ = [
"ARCHITECTURE_ALIASES",
"CPUArchitecture",
"CPUInfo",
"Machine",
"MemoryInfo",
"normalize_architecture",
]

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
"""Future module reserved for the computecommons v0.1 API surface."""
"""Architecture helpers exposed from the compute package.

# TODO(P2): Define stable value objects here as the related API area matures.
# TODO(P3): Add package exports after names are accepted into the public API.
The canonical architecture enum lives in :mod:`computecommons.enums.compute`, and
normalization data lives in :mod:`computecommons.static.architectures`. This module
provides the compute-package import path for that accepted public API without
introducing duplicate value objects.
"""

from computecommons.enums import CPUArchitecture
from computecommons.static import ARCHITECTURE_ALIASES, normalize_architecture

__all__ = ["ARCHITECTURE_ALIASES", "CPUArchitecture", "normalize_architecture"]
24 changes: 20 additions & 4 deletions builds/packages/base/internetworking/tests/test_compute.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest

from computecommons.compute import CPUInfo, Machine, MemoryInfo
from computecommons.compute import CPUInfo, Machine, MemoryInfo, normalize_architecture
from computecommons.enums import CPUArchitecture
from computecommons.units import ByteSize

Expand All @@ -19,10 +19,26 @@ def test_available_memory_cannot_exceed_total() -> None:
MemoryInfo(total=ByteSize(10), available=ByteSize(11))


def test_architecture_module_imports() -> None:
import computecommons.compute.architecture
def test_architecture_api_reexports_canonical_helpers() -> None:
from computecommons.compute import CPUArchitecture as PackageCPUArchitecture
from computecommons.compute.architecture import (
ARCHITECTURE_ALIASES,
)
from computecommons.compute.architecture import (
CPUArchitecture as ModuleCPUArchitecture,
)
from computecommons.compute.architecture import (
normalize_architecture as module_normalize_architecture,
)
from computecommons.static import normalize_architecture as static_normalize_architecture

assert ModuleCPUArchitecture is CPUArchitecture
assert PackageCPUArchitecture is CPUArchitecture
assert module_normalize_architecture is static_normalize_architecture
assert normalize_architecture("AMD64") is CPUArchitecture.X86_64
assert ARCHITECTURE_ALIASES["amd64"] is CPUArchitecture.X86_64


assert computecommons.compute.architecture is not None
def test_compute_import_paths_export_same_models() -> None:
from computecommons.compute import CPUInfo as PackageCPUInfo
from computecommons.compute import Machine as PackageMachine
Expand Down