From 7892f50568d5e40f9e0de62a878d6d9dccd8b837 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Wed, 29 Jun 2022 22:28:27 -0400 Subject: [PATCH] Adding support for installing and running from pip --- README.md | 8 +++++++- config.py | 15 --------------- pyproject.toml | 7 +++++-- tests/test_project.py | 2 +- main.py => transpose/console.py | 21 +++++++++++++++++---- 5 files changed, 30 insertions(+), 23 deletions(-) delete mode 100644 config.py rename main.py => transpose/console.py (76%) diff --git a/README.md b/README.md index c179fdf..14c9067 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,13 @@ This is the current result, although it still needs a lot of work as I'm sure I' ## Installation -TODO +Can be installed via pip. For instance, from within a virtualenv: + +``` +python -m venv .venv +. .venv/bin/activate +pip install . +``` ## Configuration diff --git a/config.py b/config.py deleted file mode 100644 index 98b72b7..0000000 --- a/config.py +++ /dev/null @@ -1,15 +0,0 @@ -from os import environ -from pydantic import BaseSettings - -default_xdg_path = environ.get("XDG_DATA_HOME", f"{environ['HOME']}/.local/share") - - -class Config(BaseSettings): - store_path: str = f"{default_xdg_path}/transpose" - cache_filename: str = ".transpose.json" - - class Config: - env_file = ".env" - env_file_encoding = "utf-8" - env_nested_delimiter = "__" - env_prefix = "TRANSPOSE_" diff --git a/pyproject.toml b/pyproject.toml index 0d03f17..e0c5fed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,15 +6,18 @@ authors = ["Ryan Reed"] [tool.poetry.dependencies] python = "^3.7" +pydantic = "*" +python-dotenv = "*" [tool.poetry.dev-dependencies] black = "==22.6" flake8 = "==3.8.4" pre-commit = "*" -pydantic = "*" pytest = "*" pytest-sugar = "*" -python-dotenv = "*" + +[tool.poetry.scripts] +transpose = "transpose.console:entry_point" [build-system] requires = ["poetry>=0.12"] diff --git a/tests/test_project.py b/tests/test_project.py index 514a2c9..dcda3e5 100644 --- a/tests/test_project.py +++ b/tests/test_project.py @@ -6,8 +6,8 @@ from pathlib import Path, PurePath from contextlib import contextmanager from tempfile import TemporaryDirectory -from config import Config from transpose import Transpose, version +from transpose.console import Config from transpose.utils import check_path, create_cache, get_cache, move, remove, symlink diff --git a/main.py b/transpose/console.py similarity index 76% rename from main.py rename to transpose/console.py index ec0230a..f2e76f4 100644 --- a/main.py +++ b/transpose/console.py @@ -1,13 +1,26 @@ import argparse import os -from config import Config +from pydantic import BaseSettings + from transpose import Transpose, version -config = Config() +default_xdg_path = os.environ.get("XDG_DATA_HOME", f"{os.environ['HOME']}/.local/share") + + +class Config(BaseSettings): + store_path: str = f"{default_xdg_path}/transpose" + cache_filename: str = ".transpose.json" + + class Config: + env_file = ".env" + env_file_encoding = "utf-8" + env_nested_delimiter = "__" + env_prefix = "TRANSPOSE_" -def main() -> None: +def entry_point() -> None: + config = Config() args = parse_arguments() t = Transpose( @@ -62,4 +75,4 @@ def parse_arguments(): if __name__ == "__main__": - main() + entry_point()