Skip to content

Commit b9893a9

Browse files
authored
Simplify import statements (pals-project#30)
Re-export commonly used classes from submodules so callers can use simpler import statements like `from pals import Drift` instead of `from pals.Drift import Drift`. Close pals-project#29.
1 parent cf0fd3f commit b9893a9

File tree

4 files changed

+36
-14
lines changed

4 files changed

+36
-14
lines changed

examples/fodo.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
# Add the parent directory to sys.path
77
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../src/")))
88

9-
from pals.MagneticMultipoleParameters import MagneticMultipoleParameters
10-
from pals.Drift import Drift
11-
from pals.Quadrupole import Quadrupole
12-
from pals.BeamLine import BeamLine
9+
from pals import MagneticMultipoleParameters
10+
from pals import Drift
11+
from pals import Quadrupole
12+
from pals import BeamLine
1313

1414

1515
def main():

src/pals/BeamLine.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from pydantic import ConfigDict, Field, model_validator
22
from typing import Annotated, List, Literal, Union
33

4-
from pals.BaseElement import BaseElement
5-
from pals.ThickElement import ThickElement
6-
from pals.Drift import Drift
7-
from pals.Quadrupole import Quadrupole
4+
from .BaseElement import BaseElement
5+
from .ThickElement import ThickElement
6+
from .Drift import Drift
7+
from .Quadrupole import Quadrupole
88

99

1010
class BeamLine(BaseElement):

src/pals/__init__.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"""Top-level package for PALS.
2+
3+
Re-export commonly used classes from submodules so callers can use
4+
simpler import statements like `from pals import Drift` instead of
5+
`from pals.Drift import Drift`.
6+
"""
7+
8+
from .BaseElement import BaseElement
9+
from .BeamLine import BeamLine
10+
from .Drift import Drift
11+
from .MagneticMultipoleParameters import MagneticMultipoleParameters
12+
from .Quadrupole import Quadrupole
13+
from .ThickElement import ThickElement
14+
15+
__all__ = [
16+
"BaseElement",
17+
"BeamLine",
18+
"Drift",
19+
"MagneticMultipoleParameters",
20+
"Quadrupole",
21+
"ThickElement",
22+
]

tests/test_schema.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88

99
from pydantic import ValidationError
1010

11-
from pals.MagneticMultipoleParameters import MagneticMultipoleParameters
12-
from pals.BaseElement import BaseElement
13-
from pals.ThickElement import ThickElement
14-
from pals.Drift import Drift
15-
from pals.Quadrupole import Quadrupole
16-
from pals.BeamLine import BeamLine
11+
from pals import MagneticMultipoleParameters
12+
from pals import BaseElement
13+
from pals import ThickElement
14+
from pals import Drift
15+
from pals import Quadrupole
16+
from pals import BeamLine
1717

1818

1919
def test_BaseElement():

0 commit comments

Comments
 (0)