diff --git a/main.py b/main.py index 5157144..7f410cd 100644 --- a/main.py +++ b/main.py @@ -1,12 +1,13 @@ import os from pathlib import Path import dotenv +from sys import platform from nostr_dvm.bot import Bot from nostr_dvm.tasks import videogeneration_replicate_svd, imagegeneration_replicate_sdxl, textgeneration_llmlite, \ trending_notes_nostrband, discovery_inactive_follows, translation_google, textextraction_pdf, \ translation_libretranslate, textextraction_google, convert_media, imagegeneration_openai_dalle, texttospeech, \ - imagegeneration_mlx, advanced_search, textextraction_whisper_mlx + imagegeneration_sd21_mlx, advanced_search from nostr_dvm.utils.admin_utils import AdminConfig from nostr_dvm.utils.backend_utils import keep_alive from nostr_dvm.utils.definitions import EventDefinitions @@ -139,10 +140,10 @@ def playground(): bot_config.SUPPORTED_DVMS.append(tts) tts.run() - from sys import platform + if platform == "darwin": # Test with MLX for OSX M1/M2/M3 chips - mlx = imagegeneration_mlx.build_example("SD with MLX", "mlx_sd", admin_config) + mlx = imagegeneration_sd21_mlx.build_example("SD with MLX", "mlx_sd", admin_config) bot_config.SUPPORTED_DVMS.append(mlx) mlx.run() diff --git a/backends/__init__.py b/nostr_dvm/backends/mlx/__init__.py similarity index 100% rename from backends/__init__.py rename to nostr_dvm/backends/mlx/__init__.py diff --git a/backends/mlx/__init__.py b/nostr_dvm/backends/mlx/modules/__init__.py similarity index 100% rename from backends/mlx/__init__.py rename to nostr_dvm/backends/mlx/modules/__init__.py diff --git a/backends/mlx/stable_diffusion/__init__.py b/nostr_dvm/backends/mlx/modules/stable_diffusion/__init__.py similarity index 100% rename from backends/mlx/stable_diffusion/__init__.py rename to nostr_dvm/backends/mlx/modules/stable_diffusion/__init__.py diff --git a/backends/mlx/stable_diffusion/clip.py b/nostr_dvm/backends/mlx/modules/stable_diffusion/clip.py similarity index 100% rename from backends/mlx/stable_diffusion/clip.py rename to nostr_dvm/backends/mlx/modules/stable_diffusion/clip.py diff --git a/backends/mlx/stable_diffusion/config.py b/nostr_dvm/backends/mlx/modules/stable_diffusion/config.py similarity index 100% rename from backends/mlx/stable_diffusion/config.py rename to nostr_dvm/backends/mlx/modules/stable_diffusion/config.py diff --git a/backends/mlx/stable_diffusion/model_io.py b/nostr_dvm/backends/mlx/modules/stable_diffusion/model_io.py similarity index 100% rename from backends/mlx/stable_diffusion/model_io.py rename to nostr_dvm/backends/mlx/modules/stable_diffusion/model_io.py diff --git a/backends/mlx/stable_diffusion/sampler.py b/nostr_dvm/backends/mlx/modules/stable_diffusion/sampler.py similarity index 100% rename from backends/mlx/stable_diffusion/sampler.py rename to nostr_dvm/backends/mlx/modules/stable_diffusion/sampler.py diff --git a/backends/mlx/stable_diffusion/tokenizer.py b/nostr_dvm/backends/mlx/modules/stable_diffusion/tokenizer.py similarity index 100% rename from backends/mlx/stable_diffusion/tokenizer.py rename to nostr_dvm/backends/mlx/modules/stable_diffusion/tokenizer.py diff --git a/backends/mlx/stable_diffusion/unet.py b/nostr_dvm/backends/mlx/modules/stable_diffusion/unet.py similarity index 100% rename from backends/mlx/stable_diffusion/unet.py rename to nostr_dvm/backends/mlx/modules/stable_diffusion/unet.py diff --git a/backends/mlx/stable_diffusion/vae.py b/nostr_dvm/backends/mlx/modules/stable_diffusion/vae.py similarity index 100% rename from backends/mlx/stable_diffusion/vae.py rename to nostr_dvm/backends/mlx/modules/stable_diffusion/vae.py diff --git a/nostr_dvm/backends/nova_server/modules/__init__.py b/nostr_dvm/backends/nova_server/modules/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/nostr_dvm/backends/nova_server/modules/image_interrogator/__init__.py b/nostr_dvm/backends/nova_server/modules/image_interrogator/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backends/nova-server/modules/image_interrogator/image_interrogator.py b/nostr_dvm/backends/nova_server/modules/image_interrogator/image_interrogator.py similarity index 100% rename from backends/nova-server/modules/image_interrogator/image_interrogator.py rename to nostr_dvm/backends/nova_server/modules/image_interrogator/image_interrogator.py diff --git a/backends/nova-server/modules/image_interrogator/image_interrogator.trainer b/nostr_dvm/backends/nova_server/modules/image_interrogator/image_interrogator.trainer similarity index 100% rename from backends/nova-server/modules/image_interrogator/image_interrogator.trainer rename to nostr_dvm/backends/nova_server/modules/image_interrogator/image_interrogator.trainer diff --git a/backends/nova-server/modules/image_interrogator/readme.md b/nostr_dvm/backends/nova_server/modules/image_interrogator/readme.md similarity index 100% rename from backends/nova-server/modules/image_interrogator/readme.md rename to nostr_dvm/backends/nova_server/modules/image_interrogator/readme.md diff --git a/backends/nova-server/modules/image_interrogator/requirements.txt b/nostr_dvm/backends/nova_server/modules/image_interrogator/requirements.txt similarity index 100% rename from backends/nova-server/modules/image_interrogator/requirements.txt rename to nostr_dvm/backends/nova_server/modules/image_interrogator/requirements.txt diff --git a/backends/nova-server/modules/image_interrogator/version.py b/nostr_dvm/backends/nova_server/modules/image_interrogator/version.py similarity index 100% rename from backends/nova-server/modules/image_interrogator/version.py rename to nostr_dvm/backends/nova_server/modules/image_interrogator/version.py diff --git a/nostr_dvm/backends/nova_server/modules/image_upscale/__init__.py b/nostr_dvm/backends/nova_server/modules/image_upscale/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backends/nova-server/modules/image_upscale/image_upscale_realesrgan.py b/nostr_dvm/backends/nova_server/modules/image_upscale/image_upscale_realesrgan.py similarity index 100% rename from backends/nova-server/modules/image_upscale/image_upscale_realesrgan.py rename to nostr_dvm/backends/nova_server/modules/image_upscale/image_upscale_realesrgan.py diff --git a/backends/nova-server/modules/image_upscale/image_upscale_realesrgan.trainer b/nostr_dvm/backends/nova_server/modules/image_upscale/image_upscale_realesrgan.trainer similarity index 100% rename from backends/nova-server/modules/image_upscale/image_upscale_realesrgan.trainer rename to nostr_dvm/backends/nova_server/modules/image_upscale/image_upscale_realesrgan.trainer diff --git a/backends/nova-server/modules/image_upscale/inference_realesrgan.py b/nostr_dvm/backends/nova_server/modules/image_upscale/inference_realesrgan.py similarity index 100% rename from backends/nova-server/modules/image_upscale/inference_realesrgan.py rename to nostr_dvm/backends/nova_server/modules/image_upscale/inference_realesrgan.py diff --git a/backends/nova-server/modules/image_upscale/requirements.txt b/nostr_dvm/backends/nova_server/modules/image_upscale/requirements.txt similarity index 100% rename from backends/nova-server/modules/image_upscale/requirements.txt rename to nostr_dvm/backends/nova_server/modules/image_upscale/requirements.txt diff --git a/backends/nova-server/modules/image_upscale/version.py b/nostr_dvm/backends/nova_server/modules/image_upscale/version.py similarity index 100% rename from backends/nova-server/modules/image_upscale/version.py rename to nostr_dvm/backends/nova_server/modules/image_upscale/version.py diff --git a/nostr_dvm/backends/nova_server/modules/stablediffusionxl/__init__.py b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backends/nova-server/modules/stablediffusionxl/lora.py b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/lora.py similarity index 100% rename from backends/nova-server/modules/stablediffusionxl/lora.py rename to nostr_dvm/backends/nova_server/modules/stablediffusionxl/lora.py diff --git a/backends/nova-server/modules/stablediffusionxl/readme.md b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/readme.md similarity index 100% rename from backends/nova-server/modules/stablediffusionxl/readme.md rename to nostr_dvm/backends/nova_server/modules/stablediffusionxl/readme.md diff --git a/backends/nova-server/modules/stablediffusionxl/requirements.txt b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/requirements.txt similarity index 100% rename from backends/nova-server/modules/stablediffusionxl/requirements.txt rename to nostr_dvm/backends/nova_server/modules/stablediffusionxl/requirements.txt diff --git a/backends/nova-server/modules/stablediffusionxl/stablediffusionxl-img2img.py b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/stablediffusionxl-img2img.py similarity index 100% rename from backends/nova-server/modules/stablediffusionxl/stablediffusionxl-img2img.py rename to nostr_dvm/backends/nova_server/modules/stablediffusionxl/stablediffusionxl-img2img.py diff --git a/backends/nova-server/modules/stablediffusionxl/stablediffusionxl-img2img.trainer b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/stablediffusionxl-img2img.trainer similarity index 100% rename from backends/nova-server/modules/stablediffusionxl/stablediffusionxl-img2img.trainer rename to nostr_dvm/backends/nova_server/modules/stablediffusionxl/stablediffusionxl-img2img.trainer diff --git a/backends/nova-server/modules/stablediffusionxl/stablediffusionxl.py b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/stablediffusionxl.py similarity index 100% rename from backends/nova-server/modules/stablediffusionxl/stablediffusionxl.py rename to nostr_dvm/backends/nova_server/modules/stablediffusionxl/stablediffusionxl.py diff --git a/backends/nova-server/modules/stablediffusionxl/stablediffusionxl.trainer b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/stablediffusionxl.trainer similarity index 100% rename from backends/nova-server/modules/stablediffusionxl/stablediffusionxl.trainer rename to nostr_dvm/backends/nova_server/modules/stablediffusionxl/stablediffusionxl.trainer diff --git a/backends/nova-server/modules/stablediffusionxl/version.py b/nostr_dvm/backends/nova_server/modules/stablediffusionxl/version.py similarity index 100% rename from backends/nova-server/modules/stablediffusionxl/version.py rename to nostr_dvm/backends/nova_server/modules/stablediffusionxl/version.py diff --git a/nostr_dvm/backends/nova_server/modules/whisperx/__init__.py b/nostr_dvm/backends/nova_server/modules/whisperx/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backends/nova-server/modules/whisperx/readme.md b/nostr_dvm/backends/nova_server/modules/whisperx/readme.md similarity index 100% rename from backends/nova-server/modules/whisperx/readme.md rename to nostr_dvm/backends/nova_server/modules/whisperx/readme.md diff --git a/backends/nova-server/modules/whisperx/requirements.txt b/nostr_dvm/backends/nova_server/modules/whisperx/requirements.txt similarity index 100% rename from backends/nova-server/modules/whisperx/requirements.txt rename to nostr_dvm/backends/nova_server/modules/whisperx/requirements.txt diff --git a/backends/nova-server/modules/whisperx/version.py b/nostr_dvm/backends/nova_server/modules/whisperx/version.py similarity index 100% rename from backends/nova-server/modules/whisperx/version.py rename to nostr_dvm/backends/nova_server/modules/whisperx/version.py diff --git a/backends/nova-server/modules/whisperx/whisperx_transcript.py b/nostr_dvm/backends/nova_server/modules/whisperx/whisperx_transcript.py similarity index 100% rename from backends/nova-server/modules/whisperx/whisperx_transcript.py rename to nostr_dvm/backends/nova_server/modules/whisperx/whisperx_transcript.py diff --git a/backends/nova-server/modules/whisperx/whisperx_transcript.trainer b/nostr_dvm/backends/nova_server/modules/whisperx/whisperx_transcript.trainer similarity index 100% rename from backends/nova-server/modules/whisperx/whisperx_transcript.trainer rename to nostr_dvm/backends/nova_server/modules/whisperx/whisperx_transcript.trainer diff --git a/backends/nova-server/run_windows.cmd b/nostr_dvm/backends/nova_server/run_windows.cmd similarity index 100% rename from backends/nova-server/run_windows.cmd rename to nostr_dvm/backends/nova_server/run_windows.cmd diff --git a/backends/nova-server/setup_windows.cmd b/nostr_dvm/backends/nova_server/setup_windows.cmd similarity index 100% rename from backends/nova-server/setup_windows.cmd rename to nostr_dvm/backends/nova_server/setup_windows.cmd diff --git a/nostr_dvm/backends/nova_server/utils.py b/nostr_dvm/backends/nova_server/utils.py index 2796cc8..b94ea09 100644 --- a/nostr_dvm/backends/nova_server/utils.py +++ b/nostr_dvm/backends/nova_server/utils.py @@ -11,7 +11,7 @@ from nostr_dvm.utils.output_utils import upload_media_to_hoster """ This file contains basic calling functions for ML tasks that are outsourced to nova server. It is an Open-Source backend -that enables running models locally based on preefined modules, by accepting a request form. +that enables running models locally based on preefined modules, by accepting a request. Modules are deployed in in separate virtual environments so dependencies won't conflict. """ diff --git a/nostr_dvm/tasks/imagegeneration_mlx.py b/nostr_dvm/tasks/imagegeneration_sd21_mlx.py similarity index 97% rename from nostr_dvm/tasks/imagegeneration_mlx.py rename to nostr_dvm/tasks/imagegeneration_sd21_mlx.py index 8743bb9..11de72c 100644 --- a/nostr_dvm/tasks/imagegeneration_mlx.py +++ b/nostr_dvm/tasks/imagegeneration_sd21_mlx.py @@ -12,7 +12,7 @@ from nostr_dvm.utils.output_utils import upload_media_to_hoster from nostr_dvm.utils.zap_utils import get_price_per_sat """ -This File contains a Module to generate an Image on replicate and receive results back. +This File contains a Module to generate an Image on Macs with M1/M2/M3 chips and receive results back. Accepted Inputs: Prompt (text) Outputs: An url to an Image @@ -95,7 +95,7 @@ class ImageGenerationMLX(DVMTaskInterface): def process(self, request_form): try: import mlx.core as mx - from backends.mlx.stable_diffusion import StableDiffusion + from nostr_dvm.backends.mlx.modules.stable_diffusion import StableDiffusion options = DVMTaskInterface.set_options(request_form) sd = StableDiffusion() diff --git a/nostr_dvm/tasks/imagegeneration_sdxl.py b/nostr_dvm/tasks/imagegeneration_sdxl.py index efaa814..17602ed 100644 --- a/nostr_dvm/tasks/imagegeneration_sdxl.py +++ b/nostr_dvm/tasks/imagegeneration_sdxl.py @@ -171,6 +171,7 @@ class ImageGenerationSDXL(DVMTaskInterface): def build_example(name, identifier, admin_config, server_address, default_model="stabilityai/stable-diffusion-xl" "-base-1.0", default_lora=""): dvm_config = build_default_config(identifier) + dvm_config.USE_OWN_VENV = False admin_config.LUD16 = dvm_config.LN_ADDRESS # A module might have options it can be initialized with, here we set a default model, and the server # address it should use. These parameters can be freely defined in the task component @@ -202,18 +203,13 @@ def build_example(name, identifier, admin_config, server_address, default_model= admin_config=admin_config, options=options) +def process_venv(): + args = DVMTaskInterface.process_args() + dvm_config = build_default_config(args.identifier) + dvm = ImageGenerationSDXL(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None) + result = dvm.process(json.loads(args.request)) + DVMTaskInterface.write_output(result, args.output) + + if __name__ == '__main__': - env_path = Path('.env') - if env_path.is_file(): - print(f'loading environment from {env_path.resolve()}') - dotenv.load_dotenv(env_path, verbose=True, override=True) - else: - raise FileNotFoundError(f'.env file not found at {env_path} ') - - admin_config = AdminConfig() - admin_config.REBROADCAST_NIP89 = False - admin_config.UPDATE_PROFILE = False - dvm = build_example("Unstable Diffusion", "unstable_diffusion", admin_config, os.getenv("N_SERVER"), "stabilityai/stable-diffusion-xl", "") - dvm.run() - - keep_alive() \ No newline at end of file + process_venv() diff --git a/nostr_dvm/tasks/imagegeneration_sdxlimg2img.py b/nostr_dvm/tasks/imagegeneration_sdxlimg2img.py index 5bae2ab..41a182e 100644 --- a/nostr_dvm/tasks/imagegeneration_sdxlimg2img.py +++ b/nostr_dvm/tasks/imagegeneration_sdxlimg2img.py @@ -198,6 +198,7 @@ class ImageGenerationSDXLIMG2IMG(DVMTaskInterface): # playground or elsewhere def build_example(name, identifier, admin_config, server_address, default_lora="", strength=0.6): dvm_config = build_default_config(identifier) + dvm_config.USE_OWN_VENV = False admin_config.LUD16 = dvm_config.LN_ADDRESS nip89info = { @@ -233,18 +234,13 @@ def build_example(name, identifier, admin_config, server_address, default_lora=" admin_config=admin_config, options=options) +def process_venv(): + args = DVMTaskInterface.process_args() + dvm_config = build_default_config(args.identifier) + dvm = ImageGenerationSDXLIMG2IMG(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None) + result = dvm.process(json.loads(args.request)) + DVMTaskInterface.write_output(result, args.output) + + if __name__ == '__main__': - env_path = Path('.env') - if env_path.is_file(): - print(f'loading environment from {env_path.resolve()}') - dotenv.load_dotenv(env_path, verbose=True, override=True) - else: - raise FileNotFoundError(f'.env file not found at {env_path} ') - - admin_config = AdminConfig() - admin_config.REBROADCAST_NIP89 = False - admin_config.UPDATE_PROFILE = False - dvm = build_example("Image Converter Inkpunk", "image2image", admin_config, os.getenv("N_SERVER"), "", 0.6) - dvm.run() - - keep_alive() \ No newline at end of file + process_venv() diff --git a/nostr_dvm/tasks/imageinterrogator.py b/nostr_dvm/tasks/imageinterrogator.py index 6890575..b48e499 100644 --- a/nostr_dvm/tasks/imageinterrogator.py +++ b/nostr_dvm/tasks/imageinterrogator.py @@ -113,6 +113,7 @@ class ImageInterrogator(DVMTaskInterface): # playground or elsewhere def build_example(name, identifier, admin_config, server_address): dvm_config = build_default_config(identifier) + dvm_config.USE_OWN_VENV = False admin_config.LUD16 = dvm_config.LN_ADDRESS nip89info = { @@ -144,18 +145,13 @@ def build_example(name, identifier, admin_config, server_address): admin_config=admin_config, options=options) +def process_venv(): + args = DVMTaskInterface.process_args() + dvm_config = build_default_config(args.identifier) + dvm = ImageInterrogator(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None) + result = dvm.process(json.loads(args.request)) + DVMTaskInterface.write_output(result, args.output) + + if __name__ == '__main__': - env_path = Path('.env') - if env_path.is_file(): - print(f'loading environment from {env_path.resolve()}') - dotenv.load_dotenv(env_path, verbose=True, override=True) - else: - raise FileNotFoundError(f'.env file not found at {env_path} ') - - admin_config = AdminConfig() - admin_config.REBROADCAST_NIP89 = False - admin_config.UPDATE_PROFILE = False - dvm = build_example("Image Interrogator", "imageinterrogator", admin_config, os.getenv("N_SERVER")) - dvm.run() - - keep_alive() \ No newline at end of file + process_venv() diff --git a/nostr_dvm/tasks/imageupscale.py b/nostr_dvm/tasks/imageupscale.py index 30caf94..c481f54 100644 --- a/nostr_dvm/tasks/imageupscale.py +++ b/nostr_dvm/tasks/imageupscale.py @@ -65,13 +65,11 @@ class ImageUpscale(DVMTaskInterface): if tag.as_vec()[1] == "upscale": out_scale = tag.as_vec()[2] - - io_input_image = { - "id": "input_image", - "type": "input", - "src": "url:Image", - "uri": url + "id": "input_image", + "type": "input", + "src": "url:Image", + "uri": url } io_output = { @@ -106,11 +104,13 @@ class ImageUpscale(DVMTaskInterface): except Exception as e: raise Exception(e) + # We build an example here that we can call by either calling this file directly from the main directory, # or by adding it to our playground. You can call the example and adjust it to your needs or redefine it in the # playground or elsewhere def build_example(name, identifier, admin_config, server_address): dvm_config = build_default_config(identifier) + dvm_config.USE_OWN_VENV = False admin_config.LUD16 = dvm_config.LN_ADDRESS # A module might have options it can be initialized with, here we set a default model, lora and the server @@ -134,21 +134,16 @@ def build_example(name, identifier, admin_config, server_address): nip89config.CONTENT = json.dumps(nip89info) return ImageUpscale(name=name, dvm_config=dvm_config, nip89config=nip89config, - admin_config=admin_config, options=options) + admin_config=admin_config, options=options) + + +def process_venv(): + args = DVMTaskInterface.process_args() + dvm_config = build_default_config(args.identifier) + dvm = ImageUpscale(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None) + result = dvm.process(json.loads(args.request)) + DVMTaskInterface.write_output(result, args.output) if __name__ == '__main__': - env_path = Path('.env') - if env_path.is_file(): - print(f'loading environment from {env_path.resolve()}') - dotenv.load_dotenv(env_path, verbose=True, override=True) - else: - raise FileNotFoundError(f'.env file not found at {env_path} ') - - admin_config = AdminConfig() - admin_config.REBROADCAST_NIP89 = False - admin_config.UPDATE_PROFILE = False - dvm = build_example("Image Upscaler", "imageupscale", admin_config, os.getenv("N_SERVER")) - dvm.run() - - keep_alive() \ No newline at end of file + process_venv() diff --git a/nostr_dvm/tasks/textextraction_whisperx.py b/nostr_dvm/tasks/textextraction_whisperx.py index 137f565..d7ae46d 100644 --- a/nostr_dvm/tasks/textextraction_whisperx.py +++ b/nostr_dvm/tasks/textextraction_whisperx.py @@ -154,6 +154,7 @@ class SpeechToTextWhisperX(DVMTaskInterface): # playground or elsewhere def build_example(name, identifier, admin_config, server_address): dvm_config = build_default_config(identifier) + dvm_config.USE_OWN_VENV = False admin_config.LUD16 = dvm_config.LN_ADDRESS # A module might have options it can be initialized with, here we set a default model, and the server @@ -186,18 +187,12 @@ def build_example(name, identifier, admin_config, server_address): admin_config=admin_config, options=options) +def process_venv(): + args = DVMTaskInterface.process_args() + dvm_config = build_default_config(args.identifier) + dvm = SpeechToTextWhisperX(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None) + result = dvm.process(json.loads(args.request)) + DVMTaskInterface.write_output(result, args.output) + if __name__ == '__main__': - env_path = Path('.env') - if env_path.is_file(): - print(f'loading environment from {env_path.resolve()}') - dotenv.load_dotenv(env_path, verbose=True, override=True) - else: - raise FileNotFoundError(f'.env file not found at {env_path} ') - - admin_config = AdminConfig() - admin_config.REBROADCAST_NIP89 = False - admin_config.UPDATE_PROFILE = False - dvm = build_example("Whisperer", "whisperx", admin_config, os.getenv("N_SERVER")) - dvm.run() - - keep_alive() \ No newline at end of file + process_venv() \ No newline at end of file diff --git a/setup.py b/setup.py index 486ecd0..9c1a6c5 100644 --- a/setup.py +++ b/setup.py @@ -13,10 +13,7 @@ setup( author_email="believethehypeonnostr@proton.me", description=DESCRIPTION, long_description=LONG_DESCRIPTION, - packages=find_packages(include=['nostr_dvm', 'nostr_dvm.interfaces', 'nostr_dvm.tasks', - 'nostr_dvm.utils', 'nostr_dvm.utils.scrapper', - 'nostr_dvm.backends', 'nostr_dvm.backends.mlx', - 'nostr_dvm.backends.mlx.stablediffusion']), + packages=find_packages(include=['nostr_dvm/**']), install_requires=["nostr-sdk==0.0.5", "bech32==1.2.0", "pycryptodome==3.19.0",