From b8d712e19d0ff9e9fd671157838b98fa2e2a8d98 Mon Sep 17 00:00:00 2001 From: Daniel McKnight Date: Fri, 31 Jan 2025 21:26:45 -0800 Subject: [PATCH] Implement setup.py Update entrypoints --- Dockerfile | 7 +++---- setup.py | 27 +++++++++++++++++++++++++++ site_mcknight_tech/__main__.py | 5 +---- 3 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 setup.py diff --git a/Dockerfile b/Dockerfile index 8cd58c4..9bc1645 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,7 @@ FROM python:3.12-bookworm EXPOSE 8080 -COPY site_mcknight_tech /site -COPY requirements.txt /tmp/requirements.txt -RUN pip install -r /tmp/requirements.txt +COPY . /site +RUN pip install /site -ENTRYPOINT [ "python3", "/site/__main__.py" ] +ENTRYPOINT [ "launch-site" ] diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..fa54a3f --- /dev/null +++ b/setup.py @@ -0,0 +1,27 @@ +# Copyright (C) 2025 Daniel McKnight - All Rights Reserved +from os.path import join, dirname + +from setuptools import setup, find_packages + + +def get_requirements(requirements_filename: str): + requirements_file = join(dirname(__file__), requirements_filename) + with open(requirements_file, 'r', encoding='utf-8') as r: + requirements = r.readlines() + requirements = [r.strip() for r in requirements if r.strip() + and not r.strip().startswith("#")] + return requirements + +setup( + name="site-mcknight-tech", + author="Daniel McKnight", + author_email="daniel@mcknight.tech", + description="McKnight Tech Website", + packages=find_packages(), + include_package_data=True, + package_data={"site_mcknight_tech": ["page_content/*"]}, + install_requires=get_requirements("requirements.txt"), + entry_points={ + "console_scripts": ['launch-site=site_mcknight_tech.__main__:main'] + } +) \ No newline at end of file diff --git a/site_mcknight_tech/__main__.py b/site_mcknight_tech/__main__.py index 6a76388..61c1675 100755 --- a/site_mcknight_tech/__main__.py +++ b/site_mcknight_tech/__main__.py @@ -44,7 +44,4 @@ def render_header() -> ui.tab_panels: def main(): header = render_header() header.set_value(list(_tab_to_content.keys())[0]) - ui.run(dark=None) - - -main() + ui.run(dark=None, reload=False)