From f975144f25d34f97329b2d4e52891061573cea08 Mon Sep 17 00:00:00 2001 From: Aeliton G. Silva Date: Mon, 12 Jan 2026 22:39:55 -0300 Subject: Use pyproject.toml + uv_build This replaces setup.py by a modern pyproject.toml using uv_build backend. Dependencies are being also managed by uv, so to install dependencies and run the project one can execute: ``` uv sync uv run pytest # optional python -m avp ``` To build the both source and binary (wheel) distribution package run: ``` uv build ``` Uv can be installed with `pip install uv`. The directory structure has been changed to reflect best practices. - src/* -> src/avp/ - src/tests -> ../tests --- setup.py | 67 ---------------------------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 setup.py (limited to 'setup.py') diff --git a/setup.py b/setup.py deleted file mode 100644 index b62dbad..0000000 --- a/setup.py +++ /dev/null @@ -1,67 +0,0 @@ -from setuptools import setup, find_packages -from importlib import import_module -from os import path -import re - - -def getTextFromFile(filename, fallback): - try: - with open( - path.join(path.abspath(path.dirname(__file__)), filename), encoding="utf-8" - ) as f: - output = f.read() - except Exception: - output = fallback - return output - - -PACKAGE_NAME = "avp" -SOURCE_DIRECTORY = "src" -SOURCE_PACKAGE_REGEX = re.compile(rf"^{SOURCE_DIRECTORY}") -PACKAGE_DESCRIPTION = "Create audio visualization videos from a GUI or commandline" - - -avp = import_module(SOURCE_DIRECTORY) -source_packages = find_packages(include=[SOURCE_DIRECTORY, f"{SOURCE_DIRECTORY}.*"]) -proj_packages = [ - SOURCE_PACKAGE_REGEX.sub(PACKAGE_NAME, name) for name in source_packages -] - - -setup( - name="audio_visualizer_python", - version=avp.__version__, - url="https://github.com/djfun/audio-visualizer-python", - license="MIT", - description=PACKAGE_DESCRIPTION, - author=getTextFromFile("AUTHORS", "djfun, tassaron"), - long_description=getTextFromFile("README.md", PACKAGE_DESCRIPTION), - classifiers=[ - "Development Status :: 4 - Beta", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3 :: Only", - "Intended Audience :: End Users/Desktop", - "Topic :: Multimedia :: Video :: Non-Linear Editor", - ], - keywords=[ - "visualizer", - "visualization", - "commandline video", - "video editor", - "ffmpeg", - "podcast", - ], - packages=proj_packages, - package_dir={PACKAGE_NAME: SOURCE_DIRECTORY}, - include_package_data=True, - install_requires=[ - "Pillow", - "PyQt6", - "numpy", - "pytest", - "pytest-qt", - ], - entry_points={ - "console_scripts": [f"avp = {PACKAGE_NAME}.__main__:main"], - }, -) -- cgit v1.2.3