feat: add initial songbox API client library
This commit introduces the initial version of the songbox API client library, including: - Core client implementation with authentication and HTTP handling - Modular sub-clients for auth, user, and music operations - Comprehensive exception hierarchy for error handling - CLI interface with support for all API operations - Setup configuration with dependencies and package metadata - Documentation including README with usage examples
This commit is contained in:
58
setup.py
Normal file
58
setup.py
Normal file
@ -0,0 +1,58 @@
|
||||
"""Setup script for songbox API Client Library"""
|
||||
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
with open("README.md", "r", encoding="utf-8") as fh:
|
||||
long_description = fh.read()
|
||||
|
||||
with open("requirements.txt", "r", encoding="utf-8") as fh:
|
||||
requirements = [line.strip() for line in fh if line.strip() and not line.startswith("#")]
|
||||
|
||||
setup(
|
||||
name="songbox",
|
||||
version="1.0.0",
|
||||
author="CustomIcon",
|
||||
author_email="custom.icon@vk.com",
|
||||
description="A Python client library for a music streaming API",
|
||||
long_description=long_description,
|
||||
long_description_content_type="text/markdown",
|
||||
url="https://git.cubable.date/CustomIcon/songbox",
|
||||
packages=find_packages(),
|
||||
classifiers=[
|
||||
"Development Status :: 4 - Beta",
|
||||
"Intended Audience :: Developers",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Operating System :: OS Independent",
|
||||
"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 :: Software Development :: Libraries :: Python Modules",
|
||||
"Topic :: Multimedia :: Sound/Audio",
|
||||
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
|
||||
],
|
||||
python_requires=">=3.7",
|
||||
install_requires=requirements,
|
||||
extras_require={
|
||||
"dev": [
|
||||
"pytest>=6.0",
|
||||
"pytest-asyncio",
|
||||
"black",
|
||||
"flake8",
|
||||
"mypy",
|
||||
],
|
||||
},
|
||||
entry_points={
|
||||
"console_scripts": [
|
||||
"songbox=songbox.__main__:main",
|
||||
],
|
||||
},
|
||||
keywords="songbox music api client streaming maldives",
|
||||
project_urls={
|
||||
"Bug Reports": "https://github.com/yourusername/songbox/issues",
|
||||
"Source": "https://github.com/yourusername/songbox",
|
||||
"Documentation": "https://github.com/yourusername/songbox#readme",
|
||||
},
|
||||
)
|
Reference in New Issue
Block a user