Web Development

What’s the Big Deal About Endpoints for Python Web Development?

Python has almost 30 years of history doing Python web development. Can you believe it? But 3-tier web projects have gotten really complicated and stressful. You’re busy, everything is all over the place – it’s hard!

But PyCharm is here to help: bring your work together with the Endpoints tool window. I just made a video explainer:

Here are 3 things from the video that I really like about endpoints. Plus a bonus point at the end.

First…where is everything?

Python web projects can get really big, really fast. If you’re like me, it can be overwhelming – and exhausting. I really need a “helper brain” – one that deeply understands each web framework – to stitch everything together.

PyCharm has long provided icons to navigate from a view to a template, and vice versa. Endpoints adds icons to jump from a view to the route definition, to the parent context, and generate a request to this API.

endpoints icons to navigate

I like to use my keyboard instead of the mouse. Good news – endpoints is wired into searchable actions.

endpoints keyboard shortcut pycharm

Want a birds-eye view of all your endpoints? The Endpoints tool window shows all your APIs, with filtering by subapp, type, and framework.

endpoints filtering by subapp, type, and framework

It’s more than a list. Each entry lets you jump to the endpoint and perform operations.

endpoint operations

These operations have framework-specific smarts, such as knowing the “parent context” for Django vs. Flask vs. FastAPI.

I like having this tool window when I’m thinking about the whole application. But I like even more how endpoints brings these operations into the editor, to my cursor, helping me focus.

Bring IDE smarts, into APIs

Our IDE has deep insight to connect the dots in Python development. What if we applied that to Python web frameworks?

I can’t remember all my API names. Endpoints gives me autocomplete in the HTTP client and even in JavaScript fetch.

endpoints autocomplete http client

Thanks to endpoints, these routes become symbols. I’m a symbol-first coder, using autocomplete, warnings, and navigation to the max. Now I can apply that with the web framework syntax for APIs.

Stay in one tool

I’ve always liked the “I” in IDE: integrating my important workflows into a single, consistent experience. Web development can mean bouncing around between lots of windows. What if we could bring that workflow into PyCharm?

We already brought best-in-class frontend development from WebStorm and database development from DataGrip.

Using our HTTP Client, you have a productive, mature workflow for issuing HTTP requests. No need to go to the browser or purchase another tool. With endpoints, HTTP Client gets easier and smarter. For example, issue an HTTP request, directly from the API listing.

endpoints responses and detection

As shown above, writing these HTTP requests is easier thanks to autocomplete, as endpoints knows your web framework and its route definitions.

You can also browse the OpenAPI documentation of your endpoint without going to a browser.

OpenAPI documentation of endpoints

The “I” in IDE means it is one team that is bringing these features across web frameworks. When I learn a way of working once, I can use it when I shift to a project with another supported web framework. Same features, same UI.

Innovation in Python web development

Python web development needs fresh new ideas and with it, new thinking in tooling. Endpoints says: “You are going to use multiple frameworks on lots of big projects. Let’s step back, focus on the problem, re-imagine the workflow, and throw a bunch of powerful IDE machinery at it.”

Just this one tool window has so much value in it: a listing of your API, with info about HTTP method, and right-click available for each. Then, tabs for the common operations, keeping you in the IDE and in the flow.

endpoints tool window - python web development

So that’s endpoints, a vision from PyCharm to make API development joyful and productive. Give it a try and let us know what you think.

image description