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

Add Piccolo API components #37

Merged
merged 4 commits into from
Jun 5, 2020

Conversation

dantownsend
Copy link
Contributor

Checklist

  • This project is explicitly related to ASGI.
  • The new list entry contains a project name, URL and description.
  • Alphabetical order is preserved across entries and sections.

What is this project?

Piccolo API - Provides session auth, token auth, rate limiting, and CSRF protection for ASGI apps.

Do you know about other similar projects?

No

If so, how is this one different?


Anyone who agrees with this pull request can add a 👍.

Copy link
Owner

@florimondmanca florimondmanca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your submission!

I think Piccolo looks really cool, but I'm not sure where/how we should put it in the list.

AFAIU it's not really an entire web framework, but more like a toolkit with several components for building more production-grade ASGI apps.

One possibility could be to add entries for middleware or helpers that solve specific problems and happen to be shipped with Piccolo. (I think we have instances of this already, eg Starlette's middleware are linked to in some sections.) Examples that come to mind are [RateLimitingMiddleware(https://piccolo-api.readthedocs.io/en/latest/rate_limiting/index.html), CSPMiddleware, CSRFMiddleware.

I think this could work also for non-"pure ASGI" items, eg those that rely on piccolo-orm such as the auth helpers (JWT, session auth, token auth).

We'd end up with a bunch of items but I don't think that would be a problem.

Thoughts?

@dantownsend
Copy link
Contributor Author

Thanks Florimond.

Yeah, it's basically a collection of middleware and endpoints I needed to make an ASGI app production ready. I considered breaking it down into smaller packages, so for example the rate limiting middleware could be the asgi_ratelimiting package, but eventually there's PyPI fatigue, maintaining so many separate packages.

I think it's a good idea to list the relevant parts under separate headings. I'll amend the pull request tomorrow.

Good work with this project - it's a very useful resource.

@dantownsend
Copy link
Contributor Author

Took another shot at it.

Copy link
Owner

@florimondmanca florimondmanca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lookin' rad! Just a suggestion from me…

@florimondmanca florimondmanca changed the title added Piccolo API Add Piccolo API components Jun 4, 2020
dantownsend and others added 2 commits June 5, 2020 10:15
Copy link
Owner

@florimondmanca florimondmanca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks! 🎉

@florimondmanca florimondmanca merged commit 6c48c2b into florimondmanca:master Jun 5, 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

Successfully merging this pull request may close these issues.

2 participants