diff --git a/anixstream/.python-version b/.python-version similarity index 100% rename from anixstream/.python-version rename to .python-version diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..96f1555 --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2018 The Python Packaging Authority + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/anixstream/Controller/anime_screen.py b/anixstream/Controller/anime_screen.py index 9164511..ea4215b 100644 --- a/anixstream/Controller/anime_screen.py +++ b/anixstream/Controller/anime_screen.py @@ -2,8 +2,8 @@ from kivy.clock import Clock from kivy.logger import Logger from kivy.cache import Cache -from Model import AnimeScreenModel -from View import AnimeScreenView +from anixstream.Model import AnimeScreenModel +from anixstream.View import AnimeScreenView Cache.register("data.anime", limit=20, timeout=600) diff --git a/anixstream/Controller/crashlog_screen.py b/anixstream/Controller/crashlog_screen.py index 52bfe7f..ee5ecbb 100644 --- a/anixstream/Controller/crashlog_screen.py +++ b/anixstream/Controller/crashlog_screen.py @@ -1,6 +1,6 @@ -from View import CrashLogScreenView -from Model import CrashLogScreenModel +from anixstream.View import CrashLogScreenView +from anixstream.Model import CrashLogScreenModel diff --git a/anixstream/Controller/downloads_screen.py b/anixstream/Controller/downloads_screen.py index e430616..c626dce 100644 --- a/anixstream/Controller/downloads_screen.py +++ b/anixstream/Controller/downloads_screen.py @@ -1,6 +1,6 @@ -from View import DownloadsScreenView -from Model import DownloadsScreenModel +from anixstream.View import DownloadsScreenView +from anixstream.Model import DownloadsScreenModel class DownloadsScreenController: diff --git a/anixstream/Controller/help_screen.py b/anixstream/Controller/help_screen.py index dec46ef..915474a 100644 --- a/anixstream/Controller/help_screen.py +++ b/anixstream/Controller/help_screen.py @@ -1,6 +1,6 @@ -from View import HelpScreenView -from Model import HelpScreenModel +from anixstream.View import HelpScreenView +from anixstream.Model import HelpScreenModel class HelpScreenController: diff --git a/anixstream/Controller/home_screen.py b/anixstream/Controller/home_screen.py index 1e3ae43..9a353e6 100644 --- a/anixstream/Controller/home_screen.py +++ b/anixstream/Controller/home_screen.py @@ -4,10 +4,10 @@ from inspect import isgenerator from kivy.clock import Clock from kivy.logger import Logger -from View import HomeScreenView -from Model import HomeScreenModel -from View.components import MediaCardsContainer -from Utility import show_notification +from anixstream.View import HomeScreenView +from anixstream.Model import HomeScreenModel +from anixstream.View.components import MediaCardsContainer +from anixstream.Utility import show_notification # TODO:Move the update home screen to homescreen.py diff --git a/anixstream/Controller/my_list_screen.py b/anixstream/Controller/my_list_screen.py index 49e054d..adfa6b5 100644 --- a/anixstream/Controller/my_list_screen.py +++ b/anixstream/Controller/my_list_screen.py @@ -4,9 +4,9 @@ from kivy.logger import Logger # from kivy.clock import Clock from kivy.utils import difference -from View import MyListScreenView -from Model import MyListScreenModel -from Utility import user_data_helper +from anixstream.View import MyListScreenView +from anixstream.Model import MyListScreenModel +from anixstream.Utility import user_data_helper class MyListScreenController: """ @@ -50,4 +50,4 @@ class MyListScreenController: self.view.update_layout(result_card) return [] else: - return [] \ No newline at end of file + return [] diff --git a/anixstream/Controller/search_screen.py b/anixstream/Controller/search_screen.py index 7f26bd4..702317d 100644 --- a/anixstream/Controller/search_screen.py +++ b/anixstream/Controller/search_screen.py @@ -3,8 +3,8 @@ from inspect import isgenerator from kivy.clock import Clock from kivy.logger import Logger -from View import SearchScreenView -from Model import SearchScreenModel +from anixstream.View import SearchScreenView +from anixstream.Model import SearchScreenModel class SearchScreenController: diff --git a/anixstream/Model/anime_screen.py b/anixstream/Model/anime_screen.py index bef5c6b..fde4867 100644 --- a/anixstream/Model/anime_screen.py +++ b/anixstream/Model/anime_screen.py @@ -1,5 +1,5 @@ -from Model.base_model import BaseScreenModel -from libs.anilist import AniList +from .base_model import BaseScreenModel +from anixstream.libs.anilist import AniList class AnimeScreenModel(BaseScreenModel): """the Anime screen model @@ -10,4 +10,4 @@ class AnimeScreenModel(BaseScreenModel): def get_anime_data(self,id:int): return AniList.get_anime(id) - \ No newline at end of file + diff --git a/anixstream/Model/crashlog_screen.py b/anixstream/Model/crashlog_screen.py index 98e4aae..88e9b27 100644 --- a/anixstream/Model/crashlog_screen.py +++ b/anixstream/Model/crashlog_screen.py @@ -1,7 +1,7 @@ -from Model.base_model import BaseScreenModel +from .base_model import BaseScreenModel class CrashLogScreenModel(BaseScreenModel): """ Handles the crashlog screen logic - """ \ No newline at end of file + """ diff --git a/anixstream/Model/download_screen.py b/anixstream/Model/download_screen.py index 43d4393..bd0f893 100644 --- a/anixstream/Model/download_screen.py +++ b/anixstream/Model/download_screen.py @@ -1,8 +1,8 @@ -from Model.base_model import BaseScreenModel +from .base_model import BaseScreenModel class DownloadsScreenModel(BaseScreenModel): """ Handles the download screen logic """ - \ No newline at end of file + diff --git a/anixstream/Model/help_screen.py b/anixstream/Model/help_screen.py index e060579..3500772 100644 --- a/anixstream/Model/help_screen.py +++ b/anixstream/Model/help_screen.py @@ -1,7 +1,8 @@ -from Model.base_model import BaseScreenModel +from .base_model import BaseScreenModel + class HelpScreenModel(BaseScreenModel): """ Handles the help screen logic - """ \ No newline at end of file + """ diff --git a/anixstream/Model/home_screen.py b/anixstream/Model/home_screen.py index 6d35df2..6b4b35b 100644 --- a/anixstream/Model/home_screen.py +++ b/anixstream/Model/home_screen.py @@ -1,6 +1,6 @@ -from Model.base_model import BaseScreenModel -from libs.anilist import AniList -from Utility.media_card_loader import MediaCardLoader +from .base_model import BaseScreenModel +from anixstream.libs.anilist import AniList +from anixstream.Utility.media_card_loader import MediaCardLoader class HomeScreenModel(BaseScreenModel): diff --git a/anixstream/Model/my_list_screen.py b/anixstream/Model/my_list_screen.py index b4fb518..e0857c0 100644 --- a/anixstream/Model/my_list_screen.py +++ b/anixstream/Model/my_list_screen.py @@ -1,6 +1,6 @@ -from libs.anilist import AniList -from Model.base_model import BaseScreenModel -from Utility import MediaCardLoader,show_notification +from anixstream.libs.anilist import AniList +from .base_model import BaseScreenModel +from anixstream.Utility import MediaCardLoader,show_notification class MyListScreenModel(BaseScreenModel): diff --git a/anixstream/Model/search_screen.py b/anixstream/Model/search_screen.py index f3c79e4..d439349 100644 --- a/anixstream/Model/search_screen.py +++ b/anixstream/Model/search_screen.py @@ -1,6 +1,6 @@ -from Model.base_model import BaseScreenModel -from libs.anilist import AniList -from Utility import MediaCardLoader, show_notification +from .base_model import BaseScreenModel +from anixstream.libs.anilist import AniList +from anixstream.Utility import MediaCardLoader, show_notification class SearchScreenModel(BaseScreenModel): diff --git a/anixstream/Utility/anilist_data_helper.py b/anixstream/Utility/anilist_data_helper.py index c96557d..b878439 100644 --- a/anixstream/Utility/anilist_data_helper.py +++ b/anixstream/Utility/anilist_data_helper.py @@ -1,6 +1,6 @@ from datetime import datetime -from libs.anilist.anilist_data_schema import ( +from anixstream.libs.anilist.anilist_data_schema import ( AnilistDateObject, AnilistMediaNextAiringEpisode, ) diff --git a/anixstream/Utility/media_card_loader.py b/anixstream/Utility/media_card_loader.py index c3a466b..5a8e5bc 100644 --- a/anixstream/Utility/media_card_loader.py +++ b/anixstream/Utility/media_card_loader.py @@ -9,9 +9,9 @@ from kivy.cache import Cache from kivy.loader import _ThreadPool from kivy.logger import Logger -from View.components import MediaCard -from Utility import anilist_data_helper, user_data_helper -from libs.anilist.anilist_data_schema import AnilistBaseMediaDataSchema +from anixstream.View.components import MediaCard +from anixstream.Utility import anilist_data_helper, user_data_helper +from anixstream.libs.anilist.anilist_data_schema import AnilistBaseMediaDataSchema # Register anime cache in memory diff --git a/anixstream/View/AnimeScreen/anime_screen.py b/anixstream/View/AnimeScreen/anime_screen.py index 1df2d8f..919fb3c 100644 --- a/anixstream/View/AnimeScreen/anime_screen.py +++ b/anixstream/View/AnimeScreen/anime_screen.py @@ -1,11 +1,10 @@ -from datetime import datetime from kivy.properties import ObjectProperty, DictProperty, StringProperty -from Utility import anilist_data_helper -from libs.anilist import AnilistBaseMediaDataSchema +from anixstream.Utility import anilist_data_helper +from anixstream.libs.anilist import AnilistBaseMediaDataSchema -from View.base_screen import BaseScreenView +from anixstream.View.base_screen import BaseScreenView from .components import ( AnimeHeader, AnimeSideBar, diff --git a/anixstream/View/CrashLogScreen/crashlog_screen.py b/anixstream/View/CrashLogScreen/crashlog_screen.py index 92f2b04..c8bb092 100644 --- a/anixstream/View/CrashLogScreen/crashlog_screen.py +++ b/anixstream/View/CrashLogScreen/crashlog_screen.py @@ -1,8 +1,8 @@ from kivy.properties import StringProperty -from View.base_screen import BaseScreenView -from Utility.utils import read_crash_file -from Utility.kivy_markup_helper import color_text, bolden +from anixstream.View.base_screen import BaseScreenView +from anixstream.Utility.utils import read_crash_file +from anixstream.Utility.kivy_markup_helper import color_text, bolden class CrashLogScreenView(BaseScreenView): diff --git a/anixstream/View/DownloadsScreen/components/task_card.kv b/anixstream/View/DownloadsScreen/components/task_card.kv index 6f5e4b6..0b411fe 100644 --- a/anixstream/View/DownloadsScreen/components/task_card.kv +++ b/anixstream/View/DownloadsScreen/components/task_card.kv @@ -1,4 +1,4 @@ -#:import color_text Utility.kivy_markup_helper.color_text +#:import color_text anixstream.Utility.kivy_markup_helper.color_text : adaptive_height:True diff --git a/anixstream/View/DownloadsScreen/download_screen.py b/anixstream/View/DownloadsScreen/download_screen.py index 310978e..f1fcfe2 100644 --- a/anixstream/View/DownloadsScreen/download_screen.py +++ b/anixstream/View/DownloadsScreen/download_screen.py @@ -3,7 +3,7 @@ from kivy.properties import ObjectProperty from kivy.logger import Logger from kivy.utils import format_bytes_to_human -from View.base_screen import BaseScreenView +from anixstream.View.base_screen import BaseScreenView from .components.task_card import TaskCard diff --git a/anixstream/View/HelpScreen/help_screen.py b/anixstream/View/HelpScreen/help_screen.py index 3fc991f..04dd83d 100644 --- a/anixstream/View/HelpScreen/help_screen.py +++ b/anixstream/View/HelpScreen/help_screen.py @@ -1,8 +1,8 @@ from kivy.properties import ObjectProperty, StringProperty -from View.base_screen import BaseScreenView -from Utility.kivy_markup_helper import bolden, color_text, underline -from Utility.data import themes_available +from anixstream.View.base_screen import BaseScreenView +from anixstream.Utility.kivy_markup_helper import bolden, color_text, underline +from anixstream.Utility.data import themes_available class HelpScreenView(BaseScreenView): diff --git a/anixstream/View/HomeScreen/home_screen.py b/anixstream/View/HomeScreen/home_screen.py index f870aaf..41927e7 100644 --- a/anixstream/View/HomeScreen/home_screen.py +++ b/anixstream/View/HomeScreen/home_screen.py @@ -1,6 +1,6 @@ from kivy.properties import ObjectProperty -from View.base_screen import BaseScreenView +from anixstream.View.base_screen import BaseScreenView class HomeScreenView(BaseScreenView): diff --git a/anixstream/View/MylistScreen/my_list_screen.py b/anixstream/View/MylistScreen/my_list_screen.py index a2ebb3f..431adba 100644 --- a/anixstream/View/MylistScreen/my_list_screen.py +++ b/anixstream/View/MylistScreen/my_list_screen.py @@ -1,7 +1,7 @@ from kivy.properties import ObjectProperty, StringProperty, DictProperty from kivy.clock import Clock -from View.base_screen import BaseScreenView +from anixstream.View.base_screen import BaseScreenView class MyListScreenView(BaseScreenView): diff --git a/anixstream/View/SearchScreen/search_screen.py b/anixstream/View/SearchScreen/search_screen.py index 968774b..c906b15 100644 --- a/anixstream/View/SearchScreen/search_screen.py +++ b/anixstream/View/SearchScreen/search_screen.py @@ -1,7 +1,7 @@ from kivy.properties import ObjectProperty, StringProperty from kivy.clock import Clock -from View.base_screen import BaseScreenView +from anixstream.View.base_screen import BaseScreenView from .components import TrendingAnimeSideBar, Filters, SearchResultsPagination diff --git a/anixstream/View/base_screen.py b/anixstream/View/base_screen.py index c706c31..3c9bdab 100644 --- a/anixstream/View/base_screen.py +++ b/anixstream/View/base_screen.py @@ -7,7 +7,7 @@ from kivymd.uix.boxlayout import MDBoxLayout from kivymd.uix.button import MDIconButton from kivymd.uix.tooltip import MDTooltip -from Utility.observer import Observer +from anixstream.Utility.observer import Observer class NavRail(MDNavigationRail): @@ -65,7 +65,7 @@ class BaseScreenView(MDScreen, Observer): super().__init__(**kw) # Often you need to get access to the application object from the view # class. You can do this using this attribute. - from main import AniXStreamApp + from anixstream.__main__ import AniXStreamApp self.app: AniXStreamApp = MDApp.get_running_app() # type: ignore # Adding a view class as observer. diff --git a/anixstream/View/screens.py b/anixstream/View/screens.py index 6ca4a6f..925ac16 100644 --- a/anixstream/View/screens.py +++ b/anixstream/View/screens.py @@ -1,4 +1,4 @@ -from Controller import ( +from anixstream.Controller import ( SearchScreenController, HomeScreenController, MyListScreenController, @@ -7,7 +7,7 @@ from Controller import ( HelpScreenController, CrashLogScreenController, ) -from Model import ( +from anixstream.Model import ( HomeScreenModel, SearchScreenModel, MyListScreenModel, diff --git a/anixstream/main.py b/anixstream/__main__.py similarity index 95% rename from anixstream/main.py rename to anixstream/__main__.py index 66a7c3e..02fe977 100644 --- a/anixstream/main.py +++ b/anixstream/__main__.py @@ -1,6 +1,5 @@ import os import random - os.environ["KIVY_VIDEO"] = "ffpyplayer" from queue import Queue @@ -11,11 +10,26 @@ import webbrowser import plyer from kivy.config import Config -from kivy.resources import resource_find,resource_add_path -resource_add_path("_internal") -resource_add_path("assets") -resource_add_path("configs") -resource_add_path("data") +from kivy.resources import resource_find,resource_add_path,resource_remove_path +# resource_add_path("_internal") + +app_dir = os.path.dirname(__file__) + +# test + +# test_end + + +# make sure we aint searching dist folder +dist_folder = os.path.join(app_dir,"dist") +resource_remove_path(dist_folder) + +assets_folder = os.path.join(app_dir,"assets") +resource_add_path(assets_folder) +conigs_folder = os.path.join(app_dir,"configs") +resource_add_path(conigs_folder) +data_folder = os.path.join(app_dir,"data") +resource_add_path(data_folder) Config.set("graphics","width","1000") Config.set("graphics","minimum_width","1000") @@ -38,15 +52,15 @@ from kivy.uix.settings import SettingsWithSidebar, Settings from kivymd.icon_definitions import md_icons from kivymd.app import MDApp -from View.screens import screens -from libs.animdl import AnimdlApi -from Utility import ( +from anixstream.View.screens import screens +from anixstream.libs.animdl import AnimdlApi +from anixstream.Utility import ( themes_available, show_notification, user_data_helper, animdl_config_manager, ) - +from anixstream.Utility.utils import write_crash # Ensure the user data fields exist if not (user_data_helper.user_data.exists("user_anime_list")): @@ -411,5 +425,11 @@ class AniXStreamApp(MDApp): show_notification("Streamer", "Started streaming") -if __name__ == "__main__": +def run_app(): AniXStreamApp().run() + +if __name__ == "__main__": + try: + run_app() + except Exception as e: + write_crash(e) diff --git a/anixstream/anixstream_.spec b/anixstream/anixstream_.spec deleted file mode 100644 index 0eb3fb2..0000000 --- a/anixstream/anixstream_.spec +++ /dev/null @@ -1,40 +0,0 @@ -# -*- mode: python ; coding: utf-8 -*- - -import sys -import os - -from kivy_deps import sdl2, glew -from kivymd.icon_definitions import md_icons -from kivymd import hooks_path as kivymd_hooks_path - -path = os.path.abspath(".") - -a = Analysis( - ["main.py"], - datas=[ -('./assets/*', './assets'),("./data/*","./data/*"),("./configs/*","./configs") - ], - pathex=[path], - hiddenimports=["kivymd.icon_definitions.md_icons"], - hookspath=[kivymd_hooks_path], - win_no_prefer_redirects=False, - win_private_assemblies=False, - cipher=None, - noarchive=False, -) -pyz = PYZ(a.pure, a.zipped_data, cipher=None) - -exe = EXE( - pyz, - a.scripts, - a.binaries, - a.zipfiles, - a.datas, - *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)], - debug=False, - strip=False, - upx=True, - name="AniXStream", - console=False, - icon="./assets/logo.ico" -) \ No newline at end of file diff --git a/anixstream/libs/animdl/animdl_api.py b/anixstream/libs/animdl/animdl_api.py index 99a1f25..341e53a 100644 --- a/anixstream/libs/animdl/animdl_api.py +++ b/anixstream/libs/animdl/animdl_api.py @@ -408,7 +408,7 @@ class AnimdlApi: # extract progress info from mpv for stream in mpv_child_process.stderr: # type: ignore - Logger.info(f"Animdl Api Downloader: {stream}") + # Logger.info(f"Animdl Api Downloader: {stream}") if progress_matches := progress_regex.findall(stream): current_bytes, total_bytes = [ float(val) for val in progress_matches[0].split("/") diff --git a/anixstream/libs/animdl/extras.py b/anixstream/libs/animdl/extras.py index 692f915..f218cc9 100644 --- a/anixstream/libs/animdl/extras.py +++ b/anixstream/libs/animdl/extras.py @@ -3,7 +3,7 @@ import logging Logger = logging.getLogger(__name__) Logger.setLevel(logging.DEBUG) # formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s") -console_handler = logging.StreamHandler() -console_handler.setLevel(logging.INFO) +# console_handler = logging.StreamHandler() +# console_handler.setLevel(logging.INFO) # console_handler.setFormatter(formatter) -Logger.addHandler(console_handler) +# Logger.addHandler(console_handler) diff --git a/anixstream/main.spec b/anixstream/main.spec deleted file mode 100644 index e03e1a6..0000000 --- a/anixstream/main.spec +++ /dev/null @@ -1,44 +0,0 @@ -# -*- mode: python ; coding: utf-8 -*- - - -a = Analysis( - ['main.py'], - pathex=[], - binaries=[], - datas=[], - hiddenimports=[], - hookspath=[], - hooksconfig={}, - runtime_hooks=[], - excludes=[], - noarchive=False, - optimize=0, -) -pyz = PYZ(a.pure) - -exe = EXE( - pyz, - a.scripts, - [], - exclude_binaries=True, - name='main', - debug=False, - bootloader_ignore_signals=False, - strip=False, - upx=True, - console=True, - disable_windowed_traceback=False, - argv_emulation=False, - target_arch=None, - codesign_identity=None, - entitlements_file=None, -) -coll = COLLECT( - exe, - a.binaries, - a.datas, - strip=False, - upx=True, - upx_exclude=[], - name='main', -) diff --git a/anixstream/mpv-shot0001.jpg b/anixstream/mpv-shot0001.jpg deleted file mode 100644 index 99a9075..0000000 Binary files a/anixstream/mpv-shot0001.jpg and /dev/null differ diff --git a/anixstream/mpv-shot0002.jpg b/anixstream/mpv-shot0002.jpg deleted file mode 100644 index c8e201a..0000000 Binary files a/anixstream/mpv-shot0002.jpg and /dev/null differ diff --git a/anixstream/k.spec b/pyinstaller_anixstream.spec similarity index 53% rename from anixstream/k.spec rename to pyinstaller_anixstream.spec index df85201..7781c7e 100644 --- a/anixstream/k.spec +++ b/pyinstaller_anixstream.spec @@ -9,13 +9,27 @@ from kivymd import hooks_path as kivymd_hooks_path path = os.path.abspath(".") +kv_file_paths = [] + +app_dir = os.path.join(os.getcwd(),"anixstream") +print(app_dir) + +views_folder = os.path.join(app_dir,"View") +for dirpath,dirnames,filenames in os.walk(views_folder): + for filename in filenames: + if os.path.splitext(filename)[1]==".kv": + kv_file = os.path.join(dirpath,filename) + kv_file_paths.append((kv_file,"./Views/")) + + + a = Analysis( - ["main.py"], - datas=[ -('./assets/*', './assets'),("./data/*","./data/*"),("./configs/*","./configs") + ['./anixstream/__main__.py'], + datas=[ *kv_file_paths, +(f'{app_dir}./assets/*', './assets/'),(f"{app_dir}./data/*","./data/"),(f"{app_dir}./configs/*","./configs/") ], pathex=[path], - hiddenimports=["kivymd.icon_definitions.md_icons"], + hiddenimports=["kivymd.icon_definitions.md_icons","plyer.platforms","plyer.platforms.win","plyer.platforms.win.storagepath","win32timezone"], hookspath=[kivymd_hooks_path], win_no_prefer_redirects=False, win_private_assemblies=False, @@ -35,8 +49,9 @@ exe = EXE( strip=False, upx=True, name="AniXStream", - console=True, - icon="./assets/logo.ico" + console=False, + icon=f"{app_dir}./assets/logo.ico", + exclude_binaries=True, bootloader_ignore_signals=False, disable_windowed_traceback=False, argv_emulation=False, @@ -48,9 +63,10 @@ exe = EXE( coll = COLLECT( exe, a.binaries, + a.zipfiles, a.datas, strip=False, upx=True, upx_exclude=[], - name='anixstream', + name='AniXStream', ) diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..0ccf3c5 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,33 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" +[project] +name = "AniXStream" +version = "0.0.1" +authors = [ + { name="Benex254", email="benexprojects@gmail.com" }, +] +description = "A wrapper over all and every anime cli or package" +readme = "README.md" +requires-python = ">=3.10" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] +dependencies = [ + "kivy", + "plyer", + "fuzzywuzzy", + "python-Levenshtein", + "kivymd @ https://github.com/kivymd/KivyMD/archive/master.zip", + "ffpyplayer", + "pytube", + "animdl" +] +[project.urls] +Homepage = "https://github.com/benex254/aniXstream" +Issues = "https://github.com/benex254/aniXstream" +[project.scripts] +anixstream="anixstream.__main__:run_app" + diff --git a/anixstream/requirements.txt b/requirements.txt similarity index 100% rename from anixstream/requirements.txt rename to requirements.txt