From e59febaa3be450c2be2a723a1266360c0e7d2a02 Mon Sep 17 00:00:00 2001 From: Labrys of Knossos Date: Fri, 2 Dec 2022 23:36:16 -0500 Subject: [PATCH] Add pyproject.toml --- .gitignore | 2 ++ azure-pipelines.yml | 4 +-- pyproject.toml | 58 ++++++++++++++++++++++++++++++++ setup.py | 82 --------------------------------------------- 4 files changed, 62 insertions(+), 84 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/.gitignore b/.gitignore index 3efe07d4..9c372b9e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,8 @@ *.pid *.db *.dbm +.coverage +/build/ /userscripts/ /logs/ /.idea/ diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ec0eea32..ecae077b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -68,5 +68,5 @@ jobs: versionSpec: '3.x' architecture: 'x64' - - script: python setup.py sdist - displayName: 'Build sdist' + - script: pip install . + displayName: 'Pip install' diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..ddbd657a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,58 @@ +[build-system] +requires = [ + "setuptools>=45", + "setuptools_scm[toml]>=6.2", +] +build-backend = "setuptools.build_meta" + +[project] +name = "nzbToMedia" +description = "Efficient on demand post processing" +readme = {content-type = "utf-8", text = """hello"""} +license = {file = "license.txt"} +authors = [ + {name = "Clinton Hall", email="fock_wulf@hotmail.com"} +] +dependencies =[ + 'pywin32;platform_system=="Windows"' +] +requires-python = ">=3.7" +classifiers =[ + # complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers + "Development Status :: 5 - Production/Stable", + "Intended Audience :: End Users/Desktop", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Operating System :: MacOS", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Operating System :: Unix", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Topic :: Games/Entertainment", + "Topic :: Multimedia", + "Topic :: Multimedia :: Sound/Audio", + "Topic :: Multimedia :: Video", + "Topic :: Utilities", +] +dynamic = ["version"] + +[project.urls] +repository = "https://github.com/clinton-hall/nzbToMedia.git" +documentation = "https://github.com/clinton-hall/nzbToMedia/wiki" + +[tools.setuptools] +zip_safe = false +include_package_data = true + +[tool.setuptools.packages.find] +where = [""] +include = ["core", "libs", "nzbTo*", "TorrentToMedia", "eol", "cleanup"] + +[tool.setuptools_scm] diff --git a/setup.py b/setup.py deleted file mode 100644 index d693f78f..00000000 --- a/setup.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env python -from __future__ import annotations - -import io -import os.path - -from setuptools import setup - - -def read(*names, **kwargs): - with open( - os.path.join(os.path.dirname(__file__), *names), - encoding=kwargs.get('encoding', 'utf8'), - ) as fh: - return fh.read() - - -setup( - name='nzbToMedia', - version='12.1.11', - license='GPLv3', - description='Efficient on demand post processing', - long_description=""" - nzbToMedia - ========== - - Efficient on demand post processing - ----------------------------------- - - A PVR app needs to know when a download is ready for post-processing. There are two methods: - - 1. On-demand post-processing script (e.g. sabToSickBeard.py or nzbToMedia.py): A script in the downloader runs once at the end of the download job and notifies the PVR app that the download is complete. - - 2. Continuous folder scanning: The PVR app frequently polls download folder(s) for completed downloads. - - On-demand is superior, for several reasons: - - 1. The PVR app is notified only once, exactly when the download is ready for post-processing - 2. The PVR app does not have to wait for the next poll interval before it starts processing - 3. Continuous polling is not as efficient and is more stressful on low performance hardware - 4. Continuously polling a folder for changes can prevent the drive from going to sleep - 5. Continuous polling may encounter file access/permissions issues - 6. Continuous polling may miss a folder change, causing the PVR app to wait forever - 7. An on-demand post-processing script is able to utilize additional functionality such as ffprobe media checking to test for bad video files. - 8. On-demand scripts can be tweaked to allow for delays with slow hardware - - nzbToMedia is an on-demand post-processing script and was created out of a demand for more efficient post-processing on low-performance hardware. Many features have been added so higher performance hardware can benefit too. - - Many issues that users have with folder scanning can be fixed by switching to on-demand. A whole class of support issues can be eliminated by using nzbToMedia. - """, - author='Clinton Hall', - author_email='fock_wulf@hotmail.com', - url='https://github.com/clinton-hall/nzbToMedia', - packages=['core'], - install_requires=[ - 'pywin32;platform_system=="Windows"', - ], - classifiers=[ - # complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: End Users/Desktop', - 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', - 'Operating System :: MacOS', - 'Operating System :: MacOS :: MacOS X', - 'Operating System :: Microsoft', - 'Operating System :: Microsoft :: Windows', - 'Operating System :: POSIX', - 'Operating System :: Unix', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'Topic :: Games/Entertainment', - 'Topic :: Multimedia', - 'Topic :: Multimedia :: Sound/Audio', - 'Topic :: Multimedia :: Video', - 'Topic :: Utilities', - ], -)