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

try to rename the module -> bloqade-analog #1002

Merged
merged 10 commits into from
Feb 20, 2025
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
37 changes: 19 additions & 18 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[project]
name = "bloqade"
name = "bloqade-analog"
version = "0.15.14"
description = "Neutral atom software development kit"
authors = [
Expand Down Expand Up @@ -82,7 +82,24 @@ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
target-version = "py39"

[tool.pdm]
[tool.pdm.dev-dependencies]
[tool.pdm.scripts]
_.env_file = "./.env"
upload = "python -m twine upload -r bloqade dist/*"
build = {cmd = "pdm build"}
publish = {composite = ["build", "upload"]}
test = {shell = "git clean -f && pytest tests"}
coverage = {shell = "git clean -f && coverage run -m pytest tests/ && coverage xml && coverage report"}
coverage-html = {shell = "git clean -f && coverage run -m pytest -x -vv tests/ && coverage html && open htmlcov/index.html"}
doc = {cmd = "mkdocs serve"}
doc_build = {cmd = "mkdocs build"}
doc_deploy = {cmd = "pdm mike deploy --push --update-aliases dev"}

[tool.jupytext]
formats = "ipynb,py:percent"
hide_notebook_metadata = false


[dependency-groups]
dev = [
"twine>=4.0.2",
"ipython>=8.12.0",
Expand All @@ -103,19 +120,3 @@ dev = [
"icecream>=2.1.3",
"tqdm>=4.66.4",
]

[tool.pdm.scripts]
_.env_file = "./.env"
upload = "python -m twine upload -r bloqade dist/*"
build = {cmd = "pdm build"}
publish = {composite = ["build", "upload"]}
test = {shell = "git clean -f && pytest tests"}
coverage = {shell = "git clean -f && coverage run -m pytest tests/ && coverage xml && coverage report"}
coverage-html = {shell = "git clean -f && coverage run -m pytest -x -vv tests/ && coverage html && open htmlcov/index.html"}
doc = {cmd = "mkdocs serve"}
doc_build = {cmd = "mkdocs build"}
doc_deploy = {cmd = "pdm mike deploy --push --update-aliases dev"}

[tool.jupytext]
formats = "ipynb,py:percent"
hide_notebook_metadata = false
14 changes: 7 additions & 7 deletions src/bloqade/__init__.py → src/bloqade/analog/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@
except ImportError:
__path__ = __import__("pkgutil").extend_path(__path__, __name__)

from bloqade.ir import var, cast, Variable, Literal, start
from bloqade.ir import to_waveform as waveform
from bloqade.serialize import load, save, loads, dumps
from bloqade.analog.ir import var, cast, Variable, Literal, start
from bloqade.analog.ir import to_waveform as waveform
from bloqade.analog.serialize import load, save, loads, dumps

from bloqade.factory import (
from bloqade.analog.factory import (
get_capabilities,
piecewise_linear,
piecewise_constant,
linear,
constant,
rydberg_h,
)
import bloqade.ir as _ir
from bloqade.constants import RB_C6
import bloqade.analog.ir as _ir
from bloqade.analog.constants import RB_C6

import importlib.metadata

__version__ = importlib.metadata.version("bloqade")
__version__ = importlib.metadata.version("bloqade-analog")


def tree_depth(depth: int = None):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from bloqade.ir.location import (
from bloqade.analog.ir.location import (
AtomArrangement,
Chain,
Square,
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from beartype import beartype
from beartype.typing import List, Optional, Union
from bloqade.ir.scalar import Variable
from bloqade.builder.base import Builder
from bloqade.builder.pragmas import Parallelizable
from bloqade.builder.backend import BackendRoute
from bloqade.analog.ir.scalar import Variable
from bloqade.analog.builder.base import Builder
from bloqade.analog.builder.pragmas import Parallelizable
from bloqade.analog.builder.backend import BackendRoute


class Args(Parallelizable, BackendRoute, Builder):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from itertools import repeat
from beartype.typing import Optional, List, Dict, Set, Sequence, Union
from bloqade.builder.typing import ParamType
from bloqade.builder.base import Builder
from bloqade.builder.pragmas import Parallelizable, AddArgs, BatchAssignable
from bloqade.builder.backend import BackendRoute
from bloqade.analog.builder.typing import ParamType
from bloqade.analog.builder.base import Builder
from bloqade.analog.builder.pragmas import Parallelizable, AddArgs, BatchAssignable
from bloqade.analog.builder.backend import BackendRoute
from numbers import Real
from decimal import Decimal
import numpy as np
Expand Down Expand Up @@ -69,7 +69,7 @@ class Assign(BatchAssignable, AddArgs, Parallelizable, BackendRoute, AssignBase)
def __init__(
self, assignments: Dict[str, ParamType], parent: Optional[Builder] = None
) -> None:
from bloqade.compiler.analysis.common.scan_variables import ScanVariables
from bloqade.analog.compiler.analysis.common.scan_variables import ScanVariables

super().__init__(parent)

Expand All @@ -85,7 +85,7 @@ class BatchAssign(AddArgs, Parallelizable, BackendRoute, AssignBase):
def __init__(
self, assignments: Dict[str, List[ParamType]], parent: Optional[Builder] = None
) -> None:
from bloqade.compiler.analysis.common.scan_variables import ScanVariables
from bloqade.analog.compiler.analysis.common.scan_variables import ScanVariables

super().__init__(parent)

Expand Down Expand Up @@ -120,7 +120,7 @@ def __init__(
batch_params: Sequence[Dict[str, ParamType]],
parent: Optional[Builder] = None,
) -> None:
from bloqade.compiler.analysis.common.scan_variables import ScanVariables
from bloqade.analog.compiler.analysis.common.scan_variables import ScanVariables

super().__init__(parent)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from bloqade.builder.backend.quera import QuEraService
from bloqade.builder.backend.braket import BraketService
from bloqade.builder.backend.bloqade import BloqadeService
from bloqade.analog.builder.backend.quera import QuEraService
from bloqade.analog.builder.backend.braket import BraketService
from bloqade.analog.builder.backend.bloqade import BloqadeService


class BackendRoute(QuEraService, BraketService, BloqadeService):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from bloqade.builder.base import Builder
from bloqade.analog.builder.base import Builder


class BloqadeService(Builder):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from beartype.typing import TYPE_CHECKING
from bloqade.builder.base import Builder
from bloqade.analog.builder.base import Builder


if TYPE_CHECKING:
from bloqade.ir.routine.braket import (
from bloqade.analog.ir.routine.braket import (
BraketHardwareRoutine,
BraketLocalEmulatorRoutine,
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from typing import Optional
from bloqade.builder.base import Builder
from bloqade.analog.builder.base import Builder


class QuEraService(Builder):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional, Union, List
from numbers import Real

from bloqade.builder.parse.trait import Parse, Show
from bloqade.analog.builder.parse.trait import Parse, Show

ParamType = Union[Real, List[Real]]

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from bloqade.builder.base import Builder
from bloqade.builder.field import Rabi, Detuning
from bloqade.analog.builder.base import Builder
from bloqade.analog.builder.field import Rabi, Detuning


class LevelCoupling(Builder):
Expand Down Expand Up @@ -98,7 +98,7 @@ def __bloqade_ir__(self):
Note:
This method is used internally by the Bloqade framework.
"""
from bloqade.ir.control.sequence import rydberg
from bloqade.analog.ir.control.sequence import rydberg

return rydberg

Expand Down Expand Up @@ -140,6 +140,6 @@ def __bloqade_ir__(self):
Note:
This method is used internally by the Bloqade framework.
"""
from bloqade.ir.control.sequence import hyperfine
from bloqade.analog.ir.control.sequence import hyperfine

return hyperfine
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from bloqade.builder.coupling import Rydberg, Hyperfine
from bloqade.analog.builder.coupling import Rydberg, Hyperfine


class Drive:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from bloqade.builder.base import Builder
from bloqade.builder.typing import ScalarType
from bloqade.analog.builder.base import Builder
from bloqade.analog.builder.typing import ScalarType
from beartype.typing import Union, List, Optional, TYPE_CHECKING
import plum

if TYPE_CHECKING:
from bloqade.builder.spatial import Uniform, Location, Scale
from bloqade.analog.builder.spatial import Uniform, Location, Scale


class Field(Builder):
Expand Down Expand Up @@ -35,13 +35,13 @@ def uniform(self) -> "Uniform":
- `...uniform.fn(f(t,...))`: to apply a function as a waveform

"""
from bloqade.builder.spatial import Uniform
from bloqade.analog.builder.spatial import Uniform

return Uniform(self)

@plum.dispatch
def _location(self, label: int, scale: Optional[ScalarType] = None): # noqa: F811
from bloqade.builder.spatial import Location
from bloqade.analog.builder.spatial import Location

if scale is None:
scale = 1
Expand All @@ -52,7 +52,7 @@ def _location(self, label: int, scale: Optional[ScalarType] = None): # noqa: F8
def _location(
self, labels: List[int], scales: Optional[List[ScalarType]] = None
): # noqa: F811
from bloqade.builder.spatial import Location
from bloqade.analog.builder.spatial import Location

if scales is None:
scales = [1] * len(labels)
Expand Down Expand Up @@ -159,7 +159,7 @@ def scale(self, coeffs: Union[str, List[ScalarType]]) -> "Scale":
- `...scale(coeffs).fn(f(t,..))`: to apply a function as a waveform

"""
from bloqade.builder.spatial import Scale
from bloqade.analog.builder.spatial import Scale

return Scale(coeffs, self)

Expand Down Expand Up @@ -192,7 +192,7 @@ class Detuning(Field):
"""

def __bloqade_ir__(self):
from bloqade.ir.control.pulse import detuning
from bloqade.analog.ir.control.pulse import detuning

return detuning

Expand Down Expand Up @@ -291,7 +291,7 @@ class RabiAmplitude(Field):
"""

def __bloqade_ir__(self):
from bloqade.ir.control.pulse import rabi
from bloqade.analog.ir.control.pulse import rabi

return rabi.amplitude

Expand Down Expand Up @@ -321,6 +321,6 @@ class RabiPhase(Field):
"""

def __bloqade_ir__(self):
from bloqade.ir.control.pulse import rabi
from bloqade.analog.ir.control.pulse import rabi

return rabi.phase
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from beartype.typing import Optional
from beartype import beartype
from bloqade.builder.typing import LiteralType
from bloqade.builder.base import Builder
from bloqade.builder.backend import BackendRoute
from bloqade.ir import cast
from bloqade.analog.builder.typing import LiteralType
from bloqade.analog.builder.base import Builder
from bloqade.analog.builder.backend import BackendRoute
from bloqade.analog.ir import cast


class Parallelize(BackendRoute, Builder):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@
sequences, registers, and pragmas from a builder stream.
"""

from bloqade.builder.base import Builder
from bloqade.builder.coupling import LevelCoupling, Rydberg, Hyperfine
from bloqade.builder.sequence_builder import SequenceBuilder
from bloqade.builder.field import Field, Detuning, RabiAmplitude, RabiPhase
from bloqade.builder.spatial import SpatialModulation, Location, Uniform, Scale
from bloqade.builder.waveform import WaveformPrimitive, Slice, Record, Sample, Fn
from bloqade.builder.assign import Assign, BatchAssign, ListAssign
from bloqade.builder.args import Args
from bloqade.builder.parallelize import Parallelize
from bloqade.builder.parse.stream import BuilderNode, BuilderStream
import bloqade.ir as ir
from bloqade.analog.builder.base import Builder
from bloqade.analog.builder.coupling import LevelCoupling, Rydberg, Hyperfine
from bloqade.analog.builder.sequence_builder import SequenceBuilder
from bloqade.analog.builder.field import Field, Detuning, RabiAmplitude, RabiPhase
from bloqade.analog.builder.spatial import SpatialModulation, Location, Uniform, Scale
from bloqade.analog.builder.waveform import WaveformPrimitive, Slice, Record, Sample, Fn
from bloqade.analog.builder.assign import Assign, BatchAssign, ListAssign
from bloqade.analog.builder.args import Args
from bloqade.analog.builder.parallelize import Parallelize
from bloqade.analog.builder.parse.stream import BuilderNode, BuilderStream
import bloqade.analog.ir as ir
from beartype.typing import TYPE_CHECKING, Tuple, Union, Dict, List, Optional, Set

if TYPE_CHECKING:
from bloqade.ir.routine.params import ParamType
from bloqade.ir.routine.base import Routine
from bloqade.ir.analog_circuit import AnalogCircuit
from bloqade.analog.ir.routine.params import ParamType
from bloqade.analog.ir.routine.base import Routine
from bloqade.analog.ir.analog_circuit import AnalogCircuit


class Parser:
Expand Down Expand Up @@ -288,7 +288,7 @@ def parse_circuit(self, builder: Builder) -> "AnalogCircuit":
Returns:
AnalogCircuit: The parsed analog circuit.
"""
from bloqade.ir.analog_circuit import AnalogCircuit
from bloqade.analog.ir.analog_circuit import AnalogCircuit

self.reset(builder)
self.read_register()
Expand All @@ -308,10 +308,10 @@ def parse(self, builder: Builder) -> "Routine":
Returns:
Routine: The parsed routine.
"""
from bloqade.ir.analog_circuit import AnalogCircuit
from bloqade.ir.routine.params import Params, ScalarArg, VectorArg
from bloqade.ir.routine.base import Routine
from bloqade.compiler.analysis.common.scan_variables import ScanVariables
from bloqade.analog.ir.analog_circuit import AnalogCircuit
from bloqade.analog.ir.routine.params import Params, ScalarArg, VectorArg
from bloqade.analog.ir.routine.base import Routine
from bloqade.analog.compiler.analysis.common.scan_variables import ScanVariables

self.reset(builder)
self.read_register()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from dataclasses import dataclass
from typing import Optional, List, Type
from bloqade.builder.base import Builder
from bloqade.analog.builder.base import Builder


@dataclass
Expand Down
Loading