-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add pyproject.toml and pinned dependencies (#107)
* switch makefile helpers to use pip-tools * add .in files for requirements and use .txt for locked deps * remove warning * phony * switch to pyproject.toml * add ruff * damn * separate lint and format * replace pip-tools with uv * fix pip sync * no enforce format check * phony targets * fix comment * more cleanup
- Loading branch information
1 parent
1556ffb
commit 4a38de5
Showing
4 changed files
with
373 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
[project] | ||
name = "feedi" | ||
description = "A personal news aggregator and Mastodon client" | ||
version = "0.1.0" | ||
requires-python = ">= 3.9" | ||
authors = [ | ||
{ name = "Facundo Olano", email = "[email protected]" } | ||
] | ||
dependencies = [ | ||
"flask", | ||
"feedparser", | ||
"favicon", | ||
"requests", | ||
"sqlalchemy", | ||
"flask-sqlalchemy", | ||
"beautifulsoup4", | ||
"lxml", | ||
"Mastodon-py", | ||
"gevent", | ||
"huey", | ||
"alembic", | ||
"gunicorn", | ||
"pyopml", | ||
"flask-login", | ||
"Werkzeug", | ||
"dateparser", | ||
"Pillow" | ||
] | ||
|
||
[project.optional-dependencies] | ||
dev = [ | ||
"ipython", | ||
"ipdb", | ||
"flask-shell-ipython", | ||
"pytest", | ||
"httpretty", | ||
"feedgen", | ||
"ruff" | ||
] | ||
|
||
[tool.ruff] | ||
exclude = [ | ||
"venv", | ||
"migrations" | ||
] | ||
|
||
line-length = 120 | ||
target-version = "py39" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,190 @@ | ||
-r requirements.txt | ||
ipython | ||
ipdb | ||
flask-shell-ipython | ||
pytest==7.4.3 | ||
httpretty==1.1.4 | ||
# This file was autogenerated by uv via the following command: | ||
# uv pip compile --extra dev -o requirements-dev.txt pyproject.toml | ||
alembic==1.13.2 | ||
# via feedi (pyproject.toml) | ||
asttokens==2.4.1 | ||
# via stack-data | ||
beautifulsoup4==4.12.3 | ||
# via | ||
# feedi (pyproject.toml) | ||
# favicon | ||
blinker==1.8.2 | ||
# via flask | ||
blurhash==1.1.4 | ||
# via mastodon-py | ||
certifi==2024.7.4 | ||
# via requests | ||
charset-normalizer==3.3.2 | ||
# via requests | ||
click==8.1.7 | ||
# via | ||
# flask | ||
# flask-shell-ipython | ||
dateparser==1.2.0 | ||
# via feedi (pyproject.toml) | ||
decorator==5.1.1 | ||
# via | ||
# ipdb | ||
# ipython | ||
# mastodon-py | ||
exceptiongroup==1.2.2 | ||
# via | ||
# ipython | ||
# pytest | ||
executing==2.0.1 | ||
# via stack-data | ||
favicon==0.7.0 | ||
# via feedi (pyproject.toml) | ||
feedgen==1.0.0 | ||
flake8 | ||
# via feedi (pyproject.toml) | ||
feedparser==6.0.11 | ||
# via feedi (pyproject.toml) | ||
flask==3.0.3 | ||
# via | ||
# feedi (pyproject.toml) | ||
# flask-login | ||
# flask-shell-ipython | ||
# flask-sqlalchemy | ||
flask-login==0.6.3 | ||
# via feedi (pyproject.toml) | ||
flask-shell-ipython==0.5.1 | ||
# via feedi (pyproject.toml) | ||
flask-sqlalchemy==3.1.1 | ||
# via feedi (pyproject.toml) | ||
gevent==24.2.1 | ||
# via feedi (pyproject.toml) | ||
greenlet==3.0.3 | ||
# via gevent | ||
gunicorn==22.0.0 | ||
# via feedi (pyproject.toml) | ||
httpretty==1.1.4 | ||
# via feedi (pyproject.toml) | ||
huey==2.5.1 | ||
# via feedi (pyproject.toml) | ||
idna==3.7 | ||
# via requests | ||
importlib-metadata==8.0.0 | ||
# via flask | ||
iniconfig==2.0.0 | ||
# via pytest | ||
ipdb==0.13.13 | ||
# via feedi (pyproject.toml) | ||
ipython==8.18.1 | ||
# via | ||
# feedi (pyproject.toml) | ||
# flask-shell-ipython | ||
# ipdb | ||
itsdangerous==2.2.0 | ||
# via flask | ||
jedi==0.19.1 | ||
# via ipython | ||
jinja2==3.1.4 | ||
# via flask | ||
lxml==5.2.2 | ||
# via | ||
# feedi (pyproject.toml) | ||
# feedgen | ||
# pyopml | ||
mako==1.3.5 | ||
# via alembic | ||
markupsafe==2.1.5 | ||
# via | ||
# jinja2 | ||
# mako | ||
# werkzeug | ||
mastodon-py==1.8.1 | ||
# via feedi (pyproject.toml) | ||
matplotlib-inline==0.1.7 | ||
# via ipython | ||
packaging==24.1 | ||
# via | ||
# gunicorn | ||
# pytest | ||
parso==0.8.4 | ||
# via jedi | ||
pexpect==4.9.0 | ||
# via ipython | ||
pillow==10.4.0 | ||
# via feedi (pyproject.toml) | ||
pluggy==1.5.0 | ||
# via pytest | ||
prompt-toolkit==3.0.47 | ||
# via ipython | ||
ptyprocess==0.7.0 | ||
# via pexpect | ||
pure-eval==0.2.2 | ||
# via stack-data | ||
pygments==2.18.0 | ||
# via ipython | ||
pyopml==1.0.0 | ||
# via feedi (pyproject.toml) | ||
pytest==8.2.2 | ||
# via feedi (pyproject.toml) | ||
python-dateutil==2.9.0.post0 | ||
# via | ||
# dateparser | ||
# feedgen | ||
# mastodon-py | ||
python-magic==0.4.27 | ||
# via mastodon-py | ||
pytz==2024.1 | ||
# via dateparser | ||
regex==2024.5.15 | ||
# via dateparser | ||
requests==2.32.3 | ||
# via | ||
# feedi (pyproject.toml) | ||
# favicon | ||
# mastodon-py | ||
ruff==0.5.2 | ||
# via feedi (pyproject.toml) | ||
setuptools==71.0.0 | ||
# via | ||
# zope-event | ||
# zope-interface | ||
sgmllib3k==1.0.0 | ||
# via feedparser | ||
six==1.16.0 | ||
# via | ||
# asttokens | ||
# mastodon-py | ||
# python-dateutil | ||
soupsieve==2.5 | ||
# via beautifulsoup4 | ||
sqlalchemy==2.0.31 | ||
# via | ||
# feedi (pyproject.toml) | ||
# alembic | ||
# flask-sqlalchemy | ||
stack-data==0.6.3 | ||
# via ipython | ||
tomli==2.0.1 | ||
# via | ||
# ipdb | ||
# pytest | ||
traitlets==5.14.3 | ||
# via | ||
# ipython | ||
# matplotlib-inline | ||
typing-extensions==4.12.2 | ||
# via | ||
# alembic | ||
# ipython | ||
# sqlalchemy | ||
tzlocal==5.2 | ||
# via dateparser | ||
urllib3==2.2.2 | ||
# via requests | ||
wcwidth==0.2.13 | ||
# via prompt-toolkit | ||
werkzeug==3.0.3 | ||
# via | ||
# feedi (pyproject.toml) | ||
# flask | ||
# flask-login | ||
zipp==3.19.2 | ||
# via importlib-metadata | ||
zope-event==5.0 | ||
# via gevent | ||
zope-interface==6.4.post2 | ||
# via gevent |
Oops, something went wrong.