diff --git a/pindeps b/pindeps new file mode 100755 index 0000000..4ba0327 --- /dev/null +++ b/pindeps @@ -0,0 +1,3 @@ +#!/bin/sh + +pip-compile --strip-extras --quiet --upgrade --allow-unsafe --no-emit-index-url diff --git a/setup.py b/py2app_setup.py similarity index 100% rename from setup.py rename to py2app_setup.py diff --git a/pyproject.toml b/pyproject.toml index f8c3d84..74e5a6e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,52 @@ [build-system] requires = [ - "setuptools>=42", + "setuptools>=42,<71.0.0", "wheel", ] build-backend = "setuptools.build_meta" +[project] +name = "Pomodouroboros" +authors=[ + { name = "Glyph", email = "code@glyph.im" }, +] +description = "An extremely opinionated pomodoro system." +readme = "README.md" +dependencies = [ + # core dependencies + "twisted[tls,http2]", + "python-dateutil", + "ulid-py", + "datetype", + "fritter", + "setuptools<71.0.0", + + "pip-tools", + "mypy", + "mypy-zope", + "types-python-dateutil", + + "py2app ; sys_platform == 'darwin'", + "pyobjc-core ; sys_platform == 'darwin'", + "pyobjc-framework-Cocoa ; sys_platform == 'darwin'", + "pyobjc-framework-ExceptionHandling ; sys_platform == 'darwin'", + "pyobjc-framework-UserNotifications ; sys_platform == 'darwin'", + "pyobjc-framework-CFNetwork ; sys_platform == 'darwin'", + "quickmacapp ; sys_platform == 'darwin'", + "quickmachotkey ; sys_platform == 'darwin'", + "encrust ; sys_platform == 'darwin'", +] +classifiers = [ + "Programming Language :: Python :: 3", +] +version = "0.4.8" + +[project.urls] +Source = "https://github.com/glyph/Pomodouroboros" +Bug-Tracker = "https://github.com/glyph/Pomodouroboros/issues" +[project.scripts] +pom = "pomodouroboros.cli:main" + [tool.black] line-length = 79 @@ -17,3 +59,4 @@ line_length = 79 ignore = [ "E731", ] + diff --git a/requirements.in b/requirements.in deleted file mode 100644 index f3ba640..0000000 --- a/requirements.in +++ /dev/null @@ -1,22 +0,0 @@ -# requirements -py2app ; sys_platform == 'darwin' -pip-tools - -pyobjc-core ; sys_platform == 'darwin' -pyobjc-framework-Cocoa ; sys_platform == 'darwin' -pyobjc-framework-ExceptionHandling ; sys_platform == 'darwin' -pyobjc-framework-UserNotifications ; sys_platform == 'darwin' -pyobjc-framework-CFNetwork ; sys_platform == 'darwin' - -twisted[tls,http2] -mypy -mypy-zope -python-dateutil -types-python-dateutil -ulid-py -quickmacapp ; sys_platform == 'darwin' -quickmachotkey ; sys_platform == 'darwin' -encrust; sys_platform == 'darwin' -datetype -fritter -setuptools<71.0.0 diff --git a/requirements.txt b/requirements.txt index 37b3828..fcc922c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --allow-unsafe --no-emit-index-url +# pip-compile --allow-unsafe --no-emit-index-url --strip-extras # altgraph==0.17.4 # via @@ -45,14 +45,14 @@ cython-test-exception-raiser==1.0.2 # via twisted datetype==2024.2.28 # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # fritter delocate==0.12.0 # via encrust encrust==2024.9.3 ; sys_platform == "darwin" - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) fritter==0.0.9 - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) h11==0.14.0 # via httpcore h2==4.1.0 @@ -63,7 +63,7 @@ hpack==4.0.0 # via h2 httpcore==1.0.7 # via httpx -httpx[http2]==0.28.0 +httpx==0.28.0 # via twisted hyperframe==6.0.1 # via h2 @@ -87,24 +87,24 @@ modulegraph==0.19.6 # via py2app mypy==1.13.0 # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # mypy-zope mypy-extensions==1.0.0 # via mypy mypy-zope==1.0.9 - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) packaging==24.2 # via # build # delocate # py2app pip-tools==7.4.1 - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) priority==1.3.0 # via twisted py2app==0.28.8 ; sys_platform == "darwin" # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # encrust pyasn1==0.6.1 # via @@ -118,7 +118,7 @@ pyhamcrest==2.1.0 # via twisted pyobjc-core==10.3.2 ; sys_platform == "darwin" # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # pyobjc-framework-cfnetwork # pyobjc-framework-cocoa # pyobjc-framework-exceptionhandling @@ -127,11 +127,11 @@ pyobjc-core==10.3.2 ; sys_platform == "darwin" # twisted pyobjc-framework-cfnetwork==10.3.2 ; sys_platform == "darwin" # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # twisted pyobjc-framework-cocoa==10.3.2 ; sys_platform == "darwin" # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # pyobjc-framework-cfnetwork # pyobjc-framework-exceptionhandling # pyobjc-framework-usernotifications @@ -139,11 +139,11 @@ pyobjc-framework-cocoa==10.3.2 ; sys_platform == "darwin" # twisted pyobjc-framework-exceptionhandling==10.3.2 ; sys_platform == "darwin" # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # quickmacapp pyobjc-framework-usernotifications==10.3.2 ; sys_platform == "darwin" # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # quickmacapp pyopenssl==24.3.0 # via twisted @@ -154,11 +154,11 @@ pyproject-hooks==1.2.0 pyserial==3.5 # via twisted python-dateutil==2.9.0.post0 - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) quickmacapp==2023.4.24 ; sys_platform == "darwin" - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) quickmachotkey==2023.11.17 ; sys_platform == "darwin" - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) service-identity==24.2.0 # via twisted six==1.16.0 @@ -167,13 +167,13 @@ sniffio==1.3.1 # via anyio sortedcontainers==2.4.0 # via hypothesis -twisted[http2,tls]==24.10.0 +twisted==24.10.0 # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # encrust # quickmacapp types-python-dateutil==2.9.0.20241003 - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) typing-extensions==4.12.2 # via # delocate @@ -182,7 +182,7 @@ typing-extensions==4.12.2 tzdata==2024.2 # via fritter ulid-py==1.1.0 - # via -r requirements.in + # via Pomodouroboros (pyproject.toml) wheel==0.45.1 # via pip-tools wheel-filename==1.4.1 @@ -202,7 +202,7 @@ pip==24.3.1 # via pip-tools setuptools==70.3.0 # via - # -r requirements.in + # Pomodouroboros (pyproject.toml) # incremental # modulegraph # pip-tools diff --git a/runme b/runme index 33332d4..e21a8f0 100755 --- a/runme +++ b/runme @@ -3,6 +3,6 @@ mypy ./src; rm -fr ./build ./dist; # https://github.com/ronaldoussoren/py2app/issues/444 -python setup.py py2app --alias | cat; +python py2app_setup.py py2app --alias | cat; rm -fr ./build; exec ./dist/Pomodouroboros.app/Contents/MacOS/Pomodouroboros; diff --git a/setup.cfg b/setup.cfg index c34bec4..3b467b1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,30 +1,3 @@ -[metadata] -name = Pomodouroboros -version = 0.4.7 -author = Glyph -author_email = glyph@glyph.im -description = An extremely opinionated pomodoro system. -long_description = file: README.md -long_description_content_type = text/markdown -url = https://github.com/glyph/Pomodouroboros -project_urls = - Bug Tracker = https://github.com/glyph/Pomodouroboros/issues -classifiers = - Programming Language :: Python :: 3 - -[options] -package_dir = - = src -packages = find: -python_requires = >=3.6 - -[options.packages.find] -where = src - -[options.entry_points] -console_scripts = - pom = pomodouroboros.cli:main - [flake8] # ObjC method names create too many impossible-to-shorten lines # W503 seems at odds with black? diff --git a/testme b/testme index ddc022a..de03bc4 100755 --- a/testme +++ b/testme @@ -4,5 +4,5 @@ mypy ./src; rm -fr ./dist/TestPomodouroboros.app; export TEST_MODE=YES; # https://github.com/ronaldoussoren/py2app/issues/444 -python setup.py py2app --alias | cat; +python py2app_setup.py py2app --alias | cat; ./dist/TestPomodouroboros.app/Contents/MacOS/TestPomodouroboros;