Skip to content

Commit e7e9de2

Browse files
authored
Merge pull request #229 from dolfin-adjoint/dokken/import-metadata
Use importlib metadata for version control
2 parents ed76835 + be0831a commit e7e9de2

1 file changed

Lines changed: 73 additions & 24 deletions

File tree

pyadjoint/__init__.py

Lines changed: 73 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,76 @@
11
# flake8: noqa
2+
from .optimization.moola_problem import MoolaOptimizationProblem
3+
from .optimization.constraints import InequalityConstraint, EqualityConstraint
4+
from .optimization.tao_solver import TAOSolver
5+
from .optimization.rol_solver import ROLSolver
6+
from .optimization.ipopt_solver import IPOPTSolver
7+
from .optimization.optimization_problem import MinimizationProblem
8+
from .optimization.optimization import (
9+
SciPyConvergenceError,
10+
minimize,
11+
maximize,
12+
print_optimization_methods,
13+
)
14+
from .control import Control
15+
from .overloaded_type import OverloadedType, create_overloaded_object
16+
from .verification import taylor_test, taylor_to_dict
17+
from .drivers import compute_gradient, compute_hessian, solve_adjoint
18+
from .checkpointing import disk_checkpointing_callback
19+
from .reduced_functional import ReducedFunctional
20+
from .adjfloat import AdjFloat, exp, log
21+
from .tape import (
22+
Tape,
23+
set_working_tape,
24+
get_working_tape,
25+
no_annotations,
26+
annotate_tape,
27+
stop_annotating,
28+
pause_annotation,
29+
continue_annotation,
30+
)
31+
from .block import Block
32+
from importlib.metadata import metadata
233

3-
__version__ = '2019.1.2'
4-
__author__ = 'Sebastian Kenji Mitusch'
5-
__credits__ = []
6-
__license__ = 'LGPL-3'
7-
__maintainer__ = 'Sebastian Kenji Mitusch'
8-
__email__ = 'sebastkm@math.uio.no'
34+
meta = metadata("pyadjoint-ad")
35+
__version__ = meta["Version"]
36+
__author__ = meta.get("Author", "")
37+
__license__ = meta["License"]
38+
__email__ = meta["Author-email"]
39+
__program_name__ = meta["Name"]
940

10-
from .block import Block
11-
from .tape import (Tape,
12-
set_working_tape, get_working_tape, no_annotations,
13-
annotate_tape, stop_annotating, pause_annotation, continue_annotation)
14-
from .adjfloat import AdjFloat, exp, log
15-
from .reduced_functional import ReducedFunctional
16-
from .checkpointing import disk_checkpointing_callback
17-
from .drivers import compute_gradient, compute_hessian, solve_adjoint
18-
from .verification import taylor_test, taylor_to_dict
19-
from .overloaded_type import OverloadedType, create_overloaded_object
20-
from .control import Control
21-
from .optimization.optimization import SciPyConvergenceError, minimize, maximize, print_optimization_methods
22-
from .optimization.optimization_problem import MinimizationProblem
23-
from .optimization.ipopt_solver import IPOPTSolver
24-
from .optimization.rol_solver import ROLSolver
25-
from .optimization.tao_solver import TAOSolver
26-
from .optimization.constraints import InequalityConstraint, EqualityConstraint
27-
from .optimization.moola_problem import MoolaOptimizationProblem
41+
42+
__all__ = [
43+
"Block",
44+
"Tape",
45+
"set_working_tape",
46+
"get_working_tape",
47+
"no_annotations",
48+
"annotate_tape",
49+
"stop_annotating",
50+
"pause_annotation",
51+
"continue_annotation",
52+
"AdjFloat",
53+
"exp",
54+
"log",
55+
"Control",
56+
"ReducedFunctional",
57+
"create_overloaded_object",
58+
"OverloadedType",
59+
"compute_gradient",
60+
"compute_hessian",
61+
"solve_adjoint",
62+
"taylor_test",
63+
"taylor_to_dict",
64+
"disk_checkpointing_callback",
65+
"MoolaOptimizationProblem",
66+
"InequalityConstraint",
67+
"EqualityConstraint",
68+
"TAOSolver",
69+
"ROLSolver",
70+
"IPOPTSolver",
71+
"MinimizationProblem",
72+
"SciPyConvergenceError",
73+
"minimize",
74+
"maximize",
75+
"print_optimization_methods",
76+
]

0 commit comments

Comments
 (0)