diff --git a/CHANGES b/CHANGES index 74d7187c6fb..df1dbc7baf5 100644 --- a/CHANGES +++ b/CHANGES @@ -24,6 +24,7 @@ $ pipx install --suffix=@next 'tmuxp' --pip-args '\--pre' --force - libtmux: 0.24.1 -> 0.25.0, maintenance release (#896) Improve styling via pydocstyle. +- `config_reader`: Move to `tmuxp._internal` (#897) ## tmuxp 1.33.0 (2023-12-21) diff --git a/docs/api.md b/docs/api.md index 7e1ac090a08..eb8c67a5957 100644 --- a/docs/api.md +++ b/docs/api.md @@ -110,7 +110,7 @@ If you need an internal API stabilized please [file an issue](https://github.com ## Configuration reader ```{eval-rst} -.. automodule:: tmuxp.config_reader +.. automodule:: tmuxp._internal.config_reader ``` ## Workspace Builder diff --git a/src/tmuxp/_internal/__init__.py b/src/tmuxp/_internal/__init__.py new file mode 100644 index 00000000000..01dccbcfcb4 --- /dev/null +++ b/src/tmuxp/_internal/__init__.py @@ -0,0 +1 @@ +"""Internal APIs for tmuxp.""" diff --git a/src/tmuxp/config_reader.py b/src/tmuxp/_internal/config_reader.py similarity index 95% rename from src/tmuxp/config_reader.py rename to src/tmuxp/_internal/config_reader.py index 6943aff30dc..74f1989acd1 100644 --- a/src/tmuxp/config_reader.py +++ b/src/tmuxp/_internal/config_reader.py @@ -55,13 +55,13 @@ def load(cls, format: "FormatLiteral", content: str) -> "ConfigReader": >>> cfg = ConfigReader.load("json", '{ "session_name": "my session" }') >>> cfg - + >>> cfg.content {'session_name': 'my session'} >>> cfg = ConfigReader.load("yaml", 'session_name: my session') >>> cfg - + >>> cfg.content {'session_name': 'my session'} """ @@ -133,7 +133,7 @@ def from_file(cls, path: pathlib.Path) -> "ConfigReader": >>> cfg = ConfigReader.from_file(yaml_file) >>> cfg - + >>> cfg.content {'session_name': 'my session'} @@ -150,7 +150,7 @@ def from_file(cls, path: pathlib.Path) -> "ConfigReader": >>> cfg = ConfigReader.from_file(json_file) >>> cfg - + >>> cfg.content {'session_name': 'my session'} diff --git a/src/tmuxp/cli/convert.py b/src/tmuxp/cli/convert.py index 88d995d67d6..75a09ab98d6 100644 --- a/src/tmuxp/cli/convert.py +++ b/src/tmuxp/cli/convert.py @@ -4,7 +4,7 @@ import pathlib import typing as t -from tmuxp.config_reader import ConfigReader +from tmuxp._internal.config_reader import ConfigReader from tmuxp.workspace.finders import find_workspace_file, get_workspace_dir from .. import exc diff --git a/src/tmuxp/cli/freeze.py b/src/tmuxp/cli/freeze.py index f82dbb10329..e36795fa186 100644 --- a/src/tmuxp/cli/freeze.py +++ b/src/tmuxp/cli/freeze.py @@ -7,7 +7,7 @@ from libtmux.server import Server -from tmuxp.config_reader import ConfigReader +from tmuxp._internal.config_reader import ConfigReader from tmuxp.exc import TmuxpException from tmuxp.workspace.finders import get_workspace_dir diff --git a/src/tmuxp/cli/import_config.py b/src/tmuxp/cli/import_config.py index 70f4bf71f5e..8bab8d918a8 100644 --- a/src/tmuxp/cli/import_config.py +++ b/src/tmuxp/cli/import_config.py @@ -5,7 +5,7 @@ import sys import typing as t -from tmuxp.config_reader import ConfigReader +from tmuxp._internal.config_reader import ConfigReader from tmuxp.workspace.finders import find_workspace_file from ..workspace import importers diff --git a/src/tmuxp/cli/load.py b/src/tmuxp/cli/load.py index 4311e87efc4..7f426938e40 100644 --- a/src/tmuxp/cli/load.py +++ b/src/tmuxp/cli/load.py @@ -14,7 +14,8 @@ from tmuxp.types import StrPath -from .. import config_reader, exc, log, util +from .. import exc, log, util +from .._internal import config_reader from ..workspace import loader from ..workspace.builder import WorkspaceBuilder from ..workspace.finders import find_workspace_file, get_workspace_dir diff --git a/src/tmuxp/workspace/builder.py b/src/tmuxp/workspace/builder.py index 4fb6f7c60d8..0efa22f1502 100644 --- a/src/tmuxp/workspace/builder.py +++ b/src/tmuxp/workspace/builder.py @@ -97,7 +97,7 @@ class WorkspaceBuilder: 1. Load JSON / YAML file via via :class:`pathlib.Path`:: - from tmuxp import config_reader + from tmuxp._internal import config_reader session_config = config_reader.ConfigReader._load(raw_yaml) The reader automatically detects the file type from :attr:`pathlib.suffix`. @@ -105,7 +105,7 @@ class WorkspaceBuilder: We can also parse raw file:: import pathlib - from tmuxp import config_reader + from tmuxp._internal import config_reader session_config = config_reader.ConfigReader._from_file( pathlib.Path('path/to/config.yaml') diff --git a/tests/cli/test_cli.py b/tests/cli/test_cli.py index 50710327712..91a95a2cfb7 100644 --- a/tests/cli/test_cli.py +++ b/tests/cli/test_cli.py @@ -9,10 +9,10 @@ from libtmux.server import Server from tmuxp import cli +from tmuxp._internal.config_reader import ConfigReader from tmuxp.cli.import_config import get_teamocil_dir, get_tmuxinator_dir from tmuxp.cli.load import _reattach, load_plugins from tmuxp.cli.utils import tmuxp_echo -from tmuxp.config_reader import ConfigReader from tmuxp.workspace import loader from tmuxp.workspace.builder import WorkspaceBuilder from tmuxp.workspace.finders import find_workspace_file diff --git a/tests/cli/test_freeze.py b/tests/cli/test_freeze.py index 96ca742d7d2..0c4637b45a8 100644 --- a/tests/cli/test_freeze.py +++ b/tests/cli/test_freeze.py @@ -8,7 +8,7 @@ from libtmux.server import Server from tmuxp import cli -from tmuxp.config_reader import ConfigReader +from tmuxp._internal.config_reader import ConfigReader @pytest.mark.parametrize( diff --git a/tests/cli/test_load.py b/tests/cli/test_load.py index 13f7d100c6f..a54c97e0b0b 100644 --- a/tests/cli/test_load.py +++ b/tests/cli/test_load.py @@ -12,13 +12,13 @@ from pytest_mock import MockerFixture from tmuxp import cli +from tmuxp._internal.config_reader import ConfigReader from tmuxp.cli.load import ( _load_append_windows_to_current_session, _load_attached, load_plugins, load_workspace, ) -from tmuxp.config_reader import ConfigReader from tmuxp.workspace import loader from tmuxp.workspace.builder import WorkspaceBuilder diff --git a/tests/workspace/test_builder.py b/tests/workspace/test_builder.py index 24a00b0603a..42aa931f8e9 100644 --- a/tests/workspace/test_builder.py +++ b/tests/workspace/test_builder.py @@ -18,8 +18,8 @@ from libtmux.window import Window from tmuxp import exc +from tmuxp._internal.config_reader import ConfigReader from tmuxp.cli.load import load_plugins -from tmuxp.config_reader import ConfigReader from tmuxp.workspace import loader from tmuxp.workspace.builder import WorkspaceBuilder diff --git a/tests/workspace/test_config.py b/tests/workspace/test_config.py index db3023dcaff..42802a113d0 100644 --- a/tests/workspace/test_config.py +++ b/tests/workspace/test_config.py @@ -5,7 +5,7 @@ import pytest from tmuxp import exc -from tmuxp.config_reader import ConfigReader +from tmuxp._internal.config_reader import ConfigReader from tmuxp.workspace import loader, validation from ..constants import EXAMPLE_PATH diff --git a/tests/workspace/test_freezer.py b/tests/workspace/test_freezer.py index 1447b7f4d14..f6ae0c94f2e 100644 --- a/tests/workspace/test_freezer.py +++ b/tests/workspace/test_freezer.py @@ -5,7 +5,7 @@ from libtmux.session import Session -from tmuxp.config_reader import ConfigReader +from tmuxp._internal.config_reader import ConfigReader from tmuxp.workspace import freezer, validation from tmuxp.workspace.builder import WorkspaceBuilder diff --git a/tests/workspace/test_import_teamocil.py b/tests/workspace/test_import_teamocil.py index f7d1f2dfa49..7bbe045ca0b 100644 --- a/tests/workspace/test_import_teamocil.py +++ b/tests/workspace/test_import_teamocil.py @@ -3,7 +3,7 @@ import pytest -from tmuxp import config_reader +from tmuxp._internal import config_reader from tmuxp.workspace import importers, validation from ..fixtures import import_teamocil as fixtures diff --git a/tests/workspace/test_import_tmuxinator.py b/tests/workspace/test_import_tmuxinator.py index f478312c5be..48a6e3761ce 100644 --- a/tests/workspace/test_import_tmuxinator.py +++ b/tests/workspace/test_import_tmuxinator.py @@ -3,7 +3,7 @@ import pytest -from tmuxp.config_reader import ConfigReader +from tmuxp._internal.config_reader import ConfigReader from tmuxp.workspace import importers, validation from ..fixtures import import_tmuxinator as fixtures