Skip to content

Commit 79d8c85

Browse files
committed
converted howdy to use pyproject.toml
1 parent f0314fc commit 79d8c85

File tree

3 files changed

+151
-182
lines changed

3 files changed

+151
-182
lines changed

pyproject.toml

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
[build-system]
2+
requires = ["setuptools>=61.0", "setuptools-scm>=8.0"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "howdy"
7+
# Using dynamic version from git tags (replaces get_version_number function)
8+
dynamic = ["version"]
9+
description = "This is a collection of a bunch of tools, and APIs, to access media within my Plex server."
10+
authors = [
11+
{name = "Tanim Islam", email = "tanim.islam@gmail.com"}
12+
]
13+
readme = "README.rst"
14+
license = {text = "BSD-2-Clause"}
15+
requires-python = ">=3.9"
16+
classifiers = [
17+
"Development Status :: 5 - Production/Stable",
18+
"Intended Audience :: End Users/Desktop",
19+
"License :: OSI Approved :: BSD License",
20+
"Operating System :: POSIX",
21+
"Environment :: Console",
22+
"Environment :: X11 Applications :: Qt",
23+
"Programming Language :: Python :: 3",
24+
"Topic :: Utilities",
25+
"Topic :: Multimedia",
26+
]
27+
28+
# TODO: Add your actual dependencies here from requirements.txt
29+
# NOTE: The original setup.py checks for 'sshpass' executable at install time.
30+
# You may need to document this as a system requirement in your README.
31+
dependencies = [
32+
"google-auth-oauthlib",
33+
"google-oauth",
34+
"gspread",
35+
"httplib2",
36+
"imdbpy",
37+
"isodate",
38+
"ive_tanim",
39+
"KickassAPI",
40+
"matplotlib",
41+
"musicbrainzngs",
42+
"mutagen",
43+
"numpy",
44+
"oauth2client",
45+
"patchwork",
46+
"pathos",
47+
"Pillow",
48+
"plexapi",
49+
"pyasn1",
50+
"pyasn1-modules",
51+
"pyqt5",
52+
"PyQtWebEngine",
53+
"python-geoip-geolite2",
54+
"python-magic",
55+
"pytz",
56+
"qtmodern",
57+
"rapidfuzz",
58+
"requests",
59+
"requests_oauthlib",
60+
"sphinx",
61+
"sphinx_rtd_theme",
62+
"sphinx-argparse",
63+
"sphinx-issues",
64+
"sphinxcontrib-svg2pdfconverter",
65+
"sphinxcontrib-youtube",
66+
"SQLAlchemy",
67+
"subliminal",
68+
"tabulate",
69+
"termcolor",
70+
"ThePirateBay",
71+
"titlecase",
72+
"torf",
73+
"tqdm",
74+
"transmission-rpc",
75+
"validators",
76+
"yt_dlp",
77+
]
78+
79+
[project.urls]
80+
Homepage = "https://tanimislam.github.io/howdy"
81+
Repository = "https://github.com/tanimislam/howdy"
82+
83+
[project.scripts]
84+
# Movie stuff
85+
get_mov_tor = "howdy.movie.cli.get_mov_tor:main"
86+
howdy_movie_totgui = "howdy.movie.gui.howdy_movie_totgui:main"
87+
88+
# Core stuff - CLI
89+
howdy_core_cli = "howdy.core.cli.howdy_core_cli:main"
90+
howdy_deluge_console = "howdy.core.cli.howdy_deluge_console:main"
91+
howdy_transmission_console = "howdy.core.cli.howdy_transmission_console:main"
92+
howdy_resynclibs = "howdy.core.cli.howdy_resynclibs:main"
93+
howdy_store_credentials = "howdy.core.cli.howdy_store_credentials:main"
94+
rsync_subproc = "howdy.core.cli.rsync_subproc:main"
95+
rsync_remote_setup = "howdy.core.cli.rsync_remote_setup:main"
96+
get_book_tor = "howdy.core.cli.get_book_tor:main"
97+
howdy_core_plex_download = "howdy.core.cli.howdy_core_plex_download:main"
98+
howdy_core_trackers_exclude = "howdy.core.cli.howdy_core_trackers_exclude:main"
99+
100+
# Core stuff - GUI
101+
howdy_config_gui = "howdy.core.gui.howdy_config_gui:main"
102+
howdy_core_gui = "howdy.core.gui.howdy_core_gui:main"
103+
104+
# Email stuff
105+
howdy_email_notif = "howdy.email.cli.howdy_email_notif:main"
106+
howdy_email_gui = "howdy.email.gui.howdy_email_gui:main"
107+
howdy_email_demo_gui = "howdy.email.gui.howdy_email_demo_gui:main"
108+
109+
# Music stuff
110+
howdy_music_album = "howdy.music.cli.howdy_music_album:main"
111+
howdy_music_metafill = "howdy.music.cli.howdy_music_metafill:main"
112+
howdy_music_songs = "howdy.music.cli.howdy_music_songs:main"
113+
howdy_music_process_playlists = "howdy.music.cli.howdy_music_process_playlists:main_actual"
114+
howdy_music_spotify_push_from_plex = "howdy.music.cli.howdy_music_spotify_push_from_plex:main"
115+
howdy_music_musicbrainz_artists = "howdy.music.cli.howdy_music_musicbrainz_artists:main"
116+
upload_to_gmusic = "howdy.music.cli.upload_to_gmusic:main"
117+
118+
# TV stuff - CLI
119+
get_tv_batch = "howdy.tv.cli.get_tv_batch:main"
120+
get_tv_tor = "howdy.tv.cli.get_tv_tor:main"
121+
howdy_tv_epinfo = "howdy.tv.cli.howdy_tv_epinfo:main"
122+
howdy_tv_epname = "howdy.tv.cli.howdy_tv_epname:main"
123+
howdy_tv_futureshows = "howdy.tv.cli.howdy_tv_futureshows:main"
124+
howdy_tv_plots = "howdy.tv.cli.howdy_tv_plots:main"
125+
howdy_tv_excludes = "howdy.tv.cli.howdy_tv_excludes:main"
126+
127+
# TV stuff - GUI
128+
howdy_tv_gui = "howdy.tv.gui.howdy_tv_gui:main_actual"
129+
130+
[tool.setuptools.packages.find]
131+
exclude = ["*.tests", "*.tests.*", "tests"]
132+
133+
[tool.setuptools.package-data]
134+
howdy = [
135+
"resources/*.ttf",
136+
"resources/*.tex",
137+
"resources/*.qss",
138+
"resources/*.json",
139+
"resources/*.html",
140+
"resources/icons/*.svg",
141+
"resources/icons/*.png",
142+
"resources/icons/*.key",
143+
]
144+
145+
# Dynamic versioning from git tags (replaces get_version_number function)
146+
[tool.setuptools_scm]
147+
# This will automatically get version from git tags
148+
# Falls back to version 1.5 if not in a git repo
149+
fallback_version = "1.5"
150+
# Strip 'v' prefix from tags (e.g., v1.2.3 -> 1.2.3)
151+
tag_regex = "^v?(?P<version>[0-9.]+)$"

requirements.txt

Lines changed: 0 additions & 52 deletions
This file was deleted.

setup.py

Lines changed: 0 additions & 130 deletions
This file was deleted.

0 commit comments

Comments
 (0)