mirror of
https://github.com/openai/whisper.git
synced 2025-11-24 06:26:03 +00:00
1. File Handling Errors: Proper error handling added for file operations to handle scenarios like file not found or inaccessible. 2. Dependency Resolution Issue: Improved method for parsing requirements.txt to ensure robustness and reliability. 3. Entry Point Specification: Ensure correct definition of the console_scripts entry point and corresponding function or CLI. 4. Documentation Improvement: Enhance documentation to provide clearer instructions and usage details. 5. Versioning: Ensure adherence to Semantic Versioning guidelines for package versioning. 6. Code Formatting: Consistent code formatting can be enforced using tools like black, flake8, and isort. 7. Testing: Include unit tests to verify package functionality and prevent regressions. 8. License File: Include a LICENSE file in the distribution to clarify licensing terms.
55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
import platform
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import pkg_resources
|
|
from setuptools import find_packages, setup
|
|
|
|
|
|
def read_version(fname="whisper/version.py"):
|
|
try:
|
|
exec(compile(open(fname, encoding="utf-8").read(), fname, "exec"))
|
|
return locals()["__version__"]
|
|
except FileNotFoundError:
|
|
print(f"Error: {fname} not found.")
|
|
sys.exit(1)
|
|
except Exception as e:
|
|
print(f"Error reading version: {e}")
|
|
sys.exit(1)
|
|
|
|
|
|
def parse_requirements(filename):
|
|
try:
|
|
with open(filename) as f:
|
|
return [str(r) for r in pkg_resources.parse_requirements(f)]
|
|
except FileNotFoundError:
|
|
print(f"Error: {filename} not found.")
|
|
sys.exit(1)
|
|
except Exception as e:
|
|
print(f"Error parsing requirements: {e}")
|
|
sys.exit(1)
|
|
|
|
|
|
requirements_file = Path(__file__).with_name("requirements.txt")
|
|
|
|
setup(
|
|
name="openai-whisper",
|
|
py_modules=["whisper"],
|
|
version=read_version(),
|
|
description="Robust Speech Recognition via Large-Scale Weak Supervision",
|
|
long_description=open("README.md", encoding="utf-8").read(),
|
|
long_description_content_type="text/markdown",
|
|
readme="README.md",
|
|
python_requires=">=3.8",
|
|
author="OpenAI",
|
|
url="https://github.com/openai/whisper",
|
|
license="MIT",
|
|
packages=find_packages(exclude=["tests*"]),
|
|
install_requires=parse_requirements(requirements_file),
|
|
entry_points={
|
|
"console_scripts": ["whisper=whisper.transcribe:cli"],
|
|
},
|
|
include_package_data=True,
|
|
extras_require={"dev": ["pytest", "scipy", "black", "flake8", "isort"]},
|
|
)
|