Skip to content

Commit 28a161d

Browse files
committed
added building section in readme and reqs now include pyinstaller
1 parent 8ceb03a commit 28a161d

4 files changed

Lines changed: 163 additions & 0 deletions

File tree

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,11 @@ exportify-cli.exe -p https://open.spotify.com/playlist/2VqAIceMCzBRhzq6zVmDZw?si
9494
# Export playlists "Instrumental" and "COCHE" to CSV without progress bar
9595
python exportify-cli.py -p instr -p COCHE -f csv --no-bar
9696
```
97+
98+
---
99+
100+
## Building:
101+
I used [PyInstaller](https://pyinstaller.readthedocs.io/en/stable/) to build the windows binary with this command:
102+
```bash
103+
pyinstaller --onefile .\exportify-cli.py
104+
```

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ requires-python = ">=3.11"
77
dependencies = [
88
"click>=8.1.8",
99
"click-option-group>=0.5.7",
10+
"pyinstaller>=6.13.0",
1011
"requests>=2.32.3",
1112
"spotipy>=2.25.1",
1213
"tabulate>=0.9.0",

requirements.txt

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# This file was autogenerated by uv via the following command:
22
# uv export --format requirements.txt
3+
altgraph==0.17.4 \
4+
--hash=sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406 \
5+
--hash=sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff
6+
# via
7+
# macholib
8+
# pyinstaller
39
async-timeout==5.0.1 ; python_full_version < '3.11.3' \
410
--hash=sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c \
511
--hash=sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3
@@ -54,6 +60,12 @@ charset-normalizer==3.4.2 \
5460
click==8.1.8 \
5561
--hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 \
5662
--hash=sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a
63+
# via
64+
# click-option-group
65+
# exportify-cli
66+
click-option-group==0.5.7 \
67+
--hash=sha256:8dc780be038712fc12c9fecb3db4fe49e0d0723f9c171d7cda85c20369be693c \
68+
--hash=sha256:96b9f52f397ef4d916f81929bd6c1f85e89046c7a401a64e72a61ae74ad35c24
5769
# via exportify-cli
5870
colorama==0.4.6 ; sys_platform == 'win32' \
5971
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
@@ -65,6 +77,42 @@ idna==3.10 \
6577
--hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \
6678
--hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
6779
# via requests
80+
macholib==1.16.3 ; sys_platform == 'darwin' \
81+
--hash=sha256:07ae9e15e8e4cd9a788013d81f5908b3609aa76f9b1421bae9c4d7606ec86a30 \
82+
--hash=sha256:0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c
83+
# via pyinstaller
84+
packaging==25.0 \
85+
--hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
86+
--hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
87+
# via
88+
# pyinstaller
89+
# pyinstaller-hooks-contrib
90+
pefile==2023.2.7 ; sys_platform == 'win32' \
91+
--hash=sha256:82e6114004b3d6911c77c3953e3838654b04511b8b66e8583db70c65998017dc \
92+
--hash=sha256:da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6
93+
# via pyinstaller
94+
pyinstaller==6.13.0 \
95+
--hash=sha256:38911feec2c5e215e5159a7e66fdb12400168bd116143b54a8a7a37f08733456 \
96+
--hash=sha256:589937548d34978c568cfdc39f31cf386f45202bc27fdb8facb989c79dfb4c02 \
97+
--hash=sha256:80c568848529635aa7ca46d8d525f68486d53e03f68b7bb5eba2c88d742e302c \
98+
--hash=sha256:8d4296236b85aae570379488c2da833b28828b17c57c2cc21fccd7e3811fe372 \
99+
--hash=sha256:92efcf2f09e78f07b568c5cb7ed48c9940f5dad627af4b49bede6320fab2a06e \
100+
--hash=sha256:92fe7337c5aa08d42b38d7a79614492cb571489f2cb0a8f91dc9ef9ccbe01ed3 \
101+
--hash=sha256:9f82f113c463f012faa0e323d952ca30a6f922685d9636e754bd3a256c7ed200 \
102+
--hash=sha256:aa404f0b02cd57948098055e76ee190b8e65ccf7a2a3f048e5000f668317069f \
103+
--hash=sha256:b7260832f7501ba1d2ce1834d4cddc0f2b94315282bc89c59333433715015447 \
104+
--hash=sha256:bc09795f5954135dd4486c1535650958c8218acb954f43860e4b05fb515a21c0 \
105+
--hash=sha256:d9f21d56ca2443aa6a1e255e7ad285c76453893a454105abe1b4d45e92bb9a20 \
106+
--hash=sha256:db0e7945ebe276f604eb7c36e536479556ab32853412095e19172a5ec8fca1c5
107+
# via exportify-cli
108+
pyinstaller-hooks-contrib==2025.4 \
109+
--hash=sha256:5ce1afd1997b03e70f546207031cfdf2782030aabacc102190677059e2856446 \
110+
--hash=sha256:6c2d73269b4c484eb40051fc1acee0beb113c2cfb3b37437b8394faae6f0d072
111+
# via pyinstaller
112+
pywin32-ctypes==0.2.3 ; sys_platform == 'win32' \
113+
--hash=sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8 \
114+
--hash=sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755
115+
# via pyinstaller
68116
redis==6.0.0 \
69117
--hash=sha256:5446780d2425b787ed89c91ddbfa1be6d32370a636c8fdb687f11b1c26c1fa88 \
70118
--hash=sha256:a2e040aee2cdd947be1fa3a32e35a956cd839cc4c1dbbe4b2cdee5b9623fd27c
@@ -75,6 +123,12 @@ requests==2.32.3 \
75123
# via
76124
# exportify-cli
77125
# spotipy
126+
setuptools==80.3.0 \
127+
--hash=sha256:a65cffc4fb86167e3020b3ef58e08226baad8b29a3b34ce2c9d07e901bac481d \
128+
--hash=sha256:ec8308eb180b2312062b1c5523204acf872cd8b0a9e6c2ae76431b22bc4065d7
129+
# via
130+
# pyinstaller
131+
# pyinstaller-hooks-contrib
78132
spotipy==2.25.1 \
79133
--hash=sha256:18f47d9a0594ced8001b3baa5a4160ea6dcf570abbdad371971f475a81892844 \
80134
--hash=sha256:607d3c43722b7e217a7e6c82f17258b798b92a512017d60c06323d62ae814cd7

uv.lock

Lines changed: 100 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)