Skip to content

Commit

Permalink
enhance type hint
Browse files Browse the repository at this point in the history
  • Loading branch information
scivision committed Nov 15, 2023
1 parent 1b93e57 commit 5a9cba4
Show file tree
Hide file tree
Showing 9 changed files with 40 additions and 44 deletions.
9 changes: 1 addition & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[build-system]
requires = ["setuptools>=61.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "georinex"
Expand Down Expand Up @@ -35,15 +36,7 @@ line-length = 99
[tool.mypy]
files = ["src"]
ignore_missing_imports = true
strict_optional = false
allow_redefinition = true
show_error_context = false
show_column_numbers = true
warn_unreachable = false

[tool.pytest.ini_options]
addopts = "-ra"
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::RuntimeWarning",
]
32 changes: 16 additions & 16 deletions src/georinex/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@

def load(
rinexfn: T.TextIO | str | Path,
out: Path = None,
use: set[str] = None,
tlim: tuple[datetime, datetime] = None,
out: Path | None = None,
use: set[str] | None = None,
tlim: tuple[datetime, datetime] | None = None,
useindicators: bool = False,
meas: list[str] = None,
meas: list[str] | None = None,
verbose: bool = False,
*,
overwrite: bool = False,
fast: bool = True,
interval: float | int | timedelta = None,
interval: float | int | timedelta | None = None,
):
"""
Reads OBS, NAV in RINEX 2.x and 3.x
Expand Down Expand Up @@ -109,10 +109,10 @@ def batch_convert(
path: Path,
glob: str,
out: Path,
use: set[str] = None,
tlim: tuple[datetime, datetime] = None,
use: set[str] | None = None,
tlim: tuple[datetime, datetime] | None = None,
useindicators: bool = False,
meas: list[str] = None,
meas: list[str] | None = None,
verbose: bool = False,
*,
fast: bool = True,
Expand All @@ -139,10 +139,10 @@ def batch_convert(

def rinexnav(
fn: T.TextIO | str | Path,
outfn: Path = None,
use: set[str] = None,
outfn: Path | None = None,
use: set[str] | None = None,
group: str = "NAV",
tlim: tuple[datetime, datetime] = None,
tlim: tuple[datetime, datetime] | None = None,
*,
overwrite: bool = False,
) -> xarray.Dataset:
Expand Down Expand Up @@ -183,17 +183,17 @@ def rinexnav(

def rinexobs(
fn: T.TextIO | Path,
outfn: Path = None,
use: set[str] = None,
outfn: Path | None = None,
use: set[str] | None = None,
group: str = "OBS",
tlim: tuple[datetime, datetime] = None,
tlim: tuple[datetime, datetime] | None = None,
useindicators: bool = False,
meas: list[str] = None,
meas: list[str] | None = None,
verbose: bool = False,
*,
overwrite: bool = False,
fast: bool = True,
interval: float | int | timedelta = None,
interval: float | int | timedelta | None = None,
):
"""
Read RINEX 2.x and 3.x OBS files in ASCII or GZIP (or Hatanaka)
Expand Down
2 changes: 1 addition & 1 deletion src/georinex/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ def determine_time_system(header: dict[T.Hashable, T.Any]) -> str:
return ts


def check_time_interval(interval: float | int | timedelta) -> timedelta:
def check_time_interval(interval: float | int | timedelta | None) -> timedelta | None:
if isinstance(interval, (float, int)):
if interval < 0:
raise ValueError("time interval must be non-negative")
Expand Down
2 changes: 1 addition & 1 deletion src/georinex/nav2.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
Nl = {"G": 7, "R": 3, "E": 7} # number of additional SV lines


def rinexnav2(fn: T.TextIO | Path, tlim: tuple[datetime, datetime] = None):
def rinexnav2(fn: T.TextIO | Path, tlim: tuple[datetime, datetime] | None = None):
"""
Reads RINEX 2.x NAV files
Michael Hirsch, Ph.D.
Expand Down
7 changes: 5 additions & 2 deletions src/georinex/nav3.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@
LF = 19 # string length per field


def rinexnav3(fn: T.TextIO | Path, use: set[str] = None, tlim: tuple[datetime, datetime] = None):
def rinexnav3(
fn: T.TextIO | Path, use: set[str] | None = None, tlim: tuple[datetime, datetime] | None = None
):
"""
Read RINEX 3.x NAV files
Expand Down Expand Up @@ -100,7 +102,8 @@ def rinexnav3(fn: T.TextIO | Path, use: set[str] = None, tlim: tuple[datetime, d
for j, i in enumerate(svi):
try:
darr[j, compact_index] = [
float(raws[i][LF * k : LF * (k + 1)] or 0) for k in range(len(compact_index))
float(raws[i][LF * k : LF * (k + 1)] or 0)
for k in range(len(compact_index))
]
except ValueError:
logging.info(f"malformed line for {sv}")
Expand Down
18 changes: 9 additions & 9 deletions src/georinex/obs2.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@

def rinexobs2(
fn: T.TextIO | Path,
use: set[str] = None,
tlim: tuple[datetime, datetime] = None,
use: set[str] | None = None,
tlim: tuple[datetime, datetime] | None = None,
useindicators: bool = False,
meas: list[str] = None,
meas: list[str] | None = None,
verbose: bool = False,
*,
fast: bool = True,
interval: float | int | timedelta = None,
interval: float | int | timedelta | None = None,
):
if isinstance(use, str):
use = {use}
Expand Down Expand Up @@ -63,13 +63,13 @@ def rinexobs2(
def rinexsystem2(
fn: T.TextIO | Path,
system: str,
tlim: tuple[datetime, datetime] = None,
tlim: tuple[datetime, datetime] | None = None,
useindicators: bool = False,
meas: list[str] = None,
meas: list[str] | None = None,
verbose: bool = False,
*,
fast: bool = True,
interval: float | int | timedelta = None,
interval: float | int | timedelta | None = None,
) -> xarray.Dataset:
"""
process RINEX OBS data
Expand Down Expand Up @@ -342,7 +342,7 @@ def _num_times(


def obsheader2(
f: T.TextIO | Path, useindicators: bool = False, meas: list[str] = None
f: T.TextIO | Path, useindicators: bool = False, meas: list[str] | None = None
) -> dict[T.Hashable, T.Any]:
"""
End users should use rinexheader()
Expand Down Expand Up @@ -514,7 +514,7 @@ def obstime2(fn: T.TextIO | Path, verbose: bool = False):
return times


def _skip(f: T.TextIO, ln: str, Nl_sv: int, sv: list[str] = None):
def _skip(f: T.TextIO, ln: str, Nl_sv: int, sv: list[str] | None = None):
"""
skip ahead to next time step
"""
Expand Down
10 changes: 5 additions & 5 deletions src/georinex/obs3.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@

def rinexobs3(
fn: T.TextIO | Path,
use: set[str] = None,
tlim: tuple[datetime, datetime] = None,
use: set[str] | None = None,
tlim: tuple[datetime, datetime] | None = None,
useindicators: bool = False,
meas: list[str] = None,
meas: list[str] | None = None,
verbose: bool = False,
*,
fast: bool = False,
interval: float | int | timedelta = None,
interval: float | int | timedelta | None = None,
):
"""
process RINEX 3 OBS data
Expand Down Expand Up @@ -267,7 +267,7 @@ def _indicators(d: dict, k: str, arr: np.ndarray) -> dict[str, tuple]:


def obsheader3(
f: T.TextIO, use: set[str] = None, meas: list[str] = None
f: T.TextIO, use: set[str] | None = None, meas: list[str] | None = None
) -> dict[T.Hashable, T.Any]:
"""
get RINEX 3 OBS types, for each system type
Expand Down
2 changes: 1 addition & 1 deletion src/georinex/sp3.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
ENC = {"zlib": True, "complevel": 1, "fletcher32": True}


def load_sp3(fn: Path, outfn: Path) -> xarray.Dataset:
def load_sp3(fn: Path, outfn: Path | None) -> xarray.Dataset:
"""
The basic format is a position and clock record;
a second, optional, record contains velocities and clock rates-of-change.
Expand Down
2 changes: 1 addition & 1 deletion src/georinex/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ def rinexheader(fn: T.TextIO | Path) -> dict[T.Hashable, T.Any]:
return hdr


def _tlim(tlim: tuple[datetime, datetime] = None) -> tuple[datetime, datetime]:
def _tlim(tlim: tuple[datetime, datetime] | None = None) -> tuple[datetime, datetime] | None:
if tlim is None:
pass
elif len(tlim) == 2 and isinstance(tlim[0], datetime):
Expand Down

0 comments on commit 5a9cba4

Please sign in to comment.