Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2025] Releasing version 3.0.0 #578

Open
amotl opened this issue Jan 18, 2025 · 15 comments
Open

[2025] Releasing version 3.0.0 #578

amotl opened this issue Jan 18, 2025 · 15 comments

Comments

@amotl
Copy link
Collaborator

amotl commented Jan 18, 2025

About

We are intending to release Responder 3.0.0.

Notes

  • responder 3.0.0 is largely compatible with responder 2.0.0,
    and unlocks using it with Python 3.11 and higher.
  • All subsystems have been refactored to be true extensions,
    see responder.ext.{cli,graphql,openapi,schema}.

Preview

Pre-release packages are available on PyPI. Feedback is very much welcome.

Demo

Demonstrate package downloading and invocation works well.

uvx --with='responder[cli]>=3.0.0.dev0' responder --version
variants

uv solo

uv run --with='responder[cli]>=3.0.0.dev0' -- responder --version
uv run --python=3.8 --with='responder[cli]>=3.0.0.dev0' -- sh -c "python -V; responder --version"
uv run --python=3.13 --with='responder[cli]>=3.0.0.dev0' -- sh -c "python -V; responder --version"

uv+Docker

export PYTHON=python3.8
export PYTHON=python3.13
docker run "ghcr.io/astral-sh/uv:${PYTHON}-bookworm-slim" \
  uv run --with='responder[cli]>=3.0.0.dev0' -- responder --version

Downstream

Updates to responder 3.0.0, validated on downstream projects.

Details

What's inside

Maintenance

Currently, the package can't be installed on current systems, i.e. Python 3.11+.
The next release intends to improve this situation.

Code wrangling

Some subsystem modules got lost on the main branch.
Those patches bring them back into responder.ext.

Documentation

The documentation is on RTD now.

@adrian-kuhn
Copy link

Hi Andreas,
that's good news! I'm happy to test it with our next release and let you now, if we encounter any problems.

Thank you for your great work with this great library,
Adrian

@amotl
Copy link
Collaborator Author

amotl commented Jan 30, 2025

Hi again. I am hereby pinging all 77 contributors to possibly check out the new pre-release, probing the chance that they might still be using the package in one way or another.

http "https://api.github.com/repos/kennethreitz/responder/contributors?per_page=100" | \
  jq -r '["@" + .[].login] | sort | @csv' | tr -d '"' | sed 's/,/, /g'

/cc @0x49D1, @0xflotus, @BNMetrics, @CianciuStyles, @EdwardBetts, @FirstKlaas, @Hwesta, @JayjeetAtGithub, @MRSharff, @MerleLiuKun, @MichaelPereira, @Nitish18, @ParthS007, @StevenAvelino24, @TomFaulkner, @aaqaishtyaq, @aitoehigie, @amikrop, @artemgordinskiy, @barrust, @carlodri, @cdfuller, @condemil, @daikeren, @daphil19, @ewjoachim, @frostming, @gdamjan, @goodbadwolf, @ibnesayeed, @javad94, @jeremiahpslewis, @jonbeebe, @jordaneremieff, @josegonzalez, @kennethreitz, @kobayashi, @majiang, @mathiasose, @metakermit, @mlschneid, @mmanhertz, @mtcronin99, @nicksspirit, @nicoddemus, @parberge, @pbsds, @pesap

@amotl
Copy link
Collaborator Author

amotl commented Jan 30, 2025

Splitted into a second post, because GitHub apparently has a limit on the maximum number of referenced user handles.

/cc @pyasi, @rcatajar, @repodevs, @rparrapy, @rpost, @ryuuji, @serhii73, @sheb, @shyamjos, @sloria, @squiddy, @steinnes, @tabotkevin, @taoufik07, @tedder, @timgates42, @timofurrer, @tkamenoko, @tomchristie, @tselepakis, @ucpr, @valtyr, @vbarbaresi, @vlcinsky, @vuonghv, @waghanza, @xyb

@waghanza
Copy link
Contributor

waghanza commented Feb 2, 2025

responder has been removed from https://web-frameworks-benchmark.netlify.app/result?l=python, since the-benchmarker/web-frameworks#5769 (comment)

I can re-introduce it if you like ❤

@waghanza
Copy link
Contributor

waghanza commented Feb 2, 2025

can you give me a simple code that implements 3 endpoints : GET /, POST /user/ and GET /user/:id ? and obviously make me a recommendation for engine to use in a production environment (uvicorn, gunicorn, daphne, hypercorn ...) @amotl ?

@amotl
Copy link
Collaborator Author

amotl commented Feb 2, 2025

Hi @waghanza, we are just leaving for a week of vacation, so I am sorry I can't provide any more details right now. Responder uses uvicorn, if that answers your second question? Maybe @kennethreitz can help out?

@waghanza

This comment has been minimized.

@nicksspirit

This comment has been minimized.

@waghanza

This comment has been minimized.

@nicksspirit

This comment has been minimized.

@waghanza

This comment has been minimized.

@waghanza

This comment has been minimized.

@michela
Copy link

michela commented Feb 6, 2025

All subsystems have been refactored to be true extensions,
see responder.ext.{cli,graphql,openapi,schema}.

Can you elaborate on what the above means?

Using the following, I'm still getting errors with openapi as below

uv pip install --upgrade 'responder[full]>=3.0.0.dev0'
jinja2.exceptions.TemplateNotFound: 'swagger_ui.html' not found in search path: '/home/michela/.local/share/virtualenvs/grapho-server-jJZ_4mcz/lib/python3.12/site-packages/responder/ext/openapi/docs'

First time using uv (yay) so I might be missing something. Tried installing openapi separately but can't find the UI templates anywhere.

Other from that, looks great!

@michela
Copy link

michela commented Feb 6, 2025

Also tried pulling and installing the latest main commit 944d47d (where I can see the openapi/docs)

uv pip install ".[full]"

but the docs folder doesn't get copied to site-packages (and manual copying there just resulted in complaints about /schema.yml not found).

@amotl
Copy link
Collaborator Author

amotl commented Feb 6, 2025

Hi @michela. Thank you so much for reporting those flaws. 💯
In order to run a dedicated conversation about the problems you are observing, I've just created a separate ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants