Skip to content

Reconsider adding gunicorn as required dependency #42

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

Closed
yuri-sergiichuk opened this issue May 12, 2020 · 1 comment
Closed

Reconsider adding gunicorn as required dependency #42

yuri-sergiichuk opened this issue May 12, 2020 · 1 comment

Comments

@yuri-sergiichuk
Copy link

yuri-sergiichuk commented May 12, 2020

In the PR #36, the Gunicorn server became the required dependency which means that each app will have to download the Gunicorn and moreover if you bundle the app as a package with functions-framework, the Gunicorn will be in that package as well.

While it looks like smth that ease development and deployment and allows bootstrapping production-ready instances faster, in many cases I've seen Docker configurations where the application itself is bundled as an installable module and the Gunicorn is set up only inside the actual runner container. Moreover, I'd say such a way allows developers to fine-tune their setup better. The other case is people just using different WSGI servers.

My suggestion is to roll-back the latest change and do not require gunicorn as a dependency.

@di
Copy link
Member

di commented May 12, 2020

Hi @yuri-sergiichuk, thanks for the issue.

We added gunicorn as a dependency because:

  • we want to ensure that users have a production-ready HTTP server available to them,
  • that they're not unintentionally using the Flask development server in production,
  • and that they don't need to install and configure additional libraries.

That said, it's still possible to use different WSGI servers or even fine tune gunicorn as before. This isn't currently documented, so I created #43 to address it.

In addition, the gunicorn dependency is a requirement for Google's internal use of this library, so we're unlikely to revert this change unless it's somehow actively preventing users from using the Functions Framework.

Given that, I'm going to close this issue, but I appreciate you participating in the discussion here and on other issues!

@di di closed this as completed May 12, 2020
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

2 participants