Skip to content

Commit 4935d5f

Browse files
committed
Empty semeios __init__ file, with exceptions
dunder_init files should only contains import and reexports. The new symbol semeio is reexported to allow for it to be imported without ruff complaining. It is still setting up the logger on import as before.
1 parent c820d4a commit 4935d5f

File tree

3 files changed

+34
-26
lines changed

3 files changed

+34
-26
lines changed

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ select = [
157157
]
158158
preview = true
159159
ignore = [
160-
"RUF067", # code in __init__
161160
"RUF069", # unreliable floating point comparison
162161
"PLC2701", # import-private-name
163162
"PLR0911", # too-many-return-statements

src/semeio/__init__.py

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,13 @@
1-
import argparse
2-
import logging
3-
import sys
4-
from importlib.metadata import PackageNotFoundError, version
5-
from pathlib import Path
1+
import importlib.metadata
62

7-
try: # noqa: SIM105
8-
__version__ = version(__name__)
9-
except PackageNotFoundError:
3+
from semeio.semeio import setup_logging, valid_file
4+
5+
try: # noqa: SIM105, RUF067
6+
__version__ = importlib.metadata.distribution("semeio").version
7+
except importlib.metadata.PackageNotFoundError:
108
# package is not installed
119
pass
1210

11+
setup_logging() # noqa: RUF067
1312

14-
logger = logging.getLogger(__name__)
15-
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
16-
std_out_handler = logging.StreamHandler(sys.stdout)
17-
std_out_handler.setFormatter(formatter)
18-
std_out_handler.setLevel(logging.INFO)
19-
logger.addHandler(std_out_handler)
20-
21-
std_err_handler = logging.StreamHandler(sys.stderr)
22-
std_err_handler.setFormatter(formatter)
23-
std_err_handler.setLevel(logging.WARNING)
24-
logger.addHandler(std_err_handler)
25-
26-
27-
def valid_file(arg):
28-
if Path(arg).is_file():
29-
return arg
30-
raise argparse.ArgumentTypeError(f"{arg} is not an existing file!")
13+
__all__ = ["valid_file"]

src/semeio/semeio.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import argparse
2+
import logging
3+
import sys
4+
from pathlib import Path
5+
6+
7+
def setup_logging():
8+
logger = logging.getLogger("semeio")
9+
formatter = logging.Formatter(
10+
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
11+
)
12+
std_out_handler = logging.StreamHandler(sys.stdout)
13+
std_out_handler.setFormatter(formatter)
14+
std_out_handler.setLevel(logging.INFO)
15+
logger.addHandler(std_out_handler)
16+
17+
std_err_handler = logging.StreamHandler(sys.stderr)
18+
std_err_handler.setFormatter(formatter)
19+
std_err_handler.setLevel(logging.WARNING)
20+
logger.addHandler(std_err_handler)
21+
22+
23+
def valid_file(arg):
24+
if Path(arg).is_file():
25+
return arg
26+
raise argparse.ArgumentTypeError(f"{arg} is not an existing file!")

0 commit comments

Comments
 (0)