[HN Gopher] Show HN: Posting v1 - The modern HTTP client that li...
___________________________________________________________________
Show HN: Posting v1 - The modern HTTP client that lives in your
terminal
Hi HN! I just released version 1.0 of Posting, an open source
terminal application I've been working on which you might find
useful if you work with, test, or develop HTTP APIs! Posting
(https://github.com/darrenburns/posting) is an HTTP client, not
unlike Postman and Insomnia. However, as a TUI application, it
works over SSH and enables efficient keyboard-centric workflows.
Your requests are stored locally in simple readable YAML files,
meaning they're easy to read and version control. Some other
features include: - "Jump mode" navigation -
Environments/variables with autocompletion - Syntax highlighting
powered by tree-sitter - Vim keys support in much of the UI -
Various builtin themes - A config system - "Open in $EDITOR" - A
fuzzy search command palette for quickly accessing functionality.
Posting is written in Python using the Textual[1] framework, which
I also help maintain. Although 1.0 has been released, it's not yet
feature complete. I'd love to hear feedback from the community to
make sure I'm on the right track and learn what's important to
people. So, if you have any thoughts, feature requests, or
opinions, big or small, I'd love to hear them. At this early stage,
your ideas can really help shape the roadmap of the project!
Thanks, Darren [1] Textual: https://github.com/Textualize/textual
Author : nsdarren
Score : 106 points
Date : 2024-07-10 12:35 UTC (10 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| D13Fd wrote:
| Nice. Textual is awesome. I used it to develop a screenshot
| database app for an online game. It was ridiculously easy and the
| resulting app is speedy.
| nsdarren wrote:
| Thank you!
| tusharsadhwani wrote:
| This is already the best API testing client that I have found.
| It's lightweight, it's snappy, it's intuitive, and it can run on
| a VPS out of the box over an SSH connection, no proxying needed.
| nsdarren wrote:
| Thank you very much! It's definitely not feature complete yet -
| but I hope it can be a solid competitor in the space.
| waiyan13 wrote:
| Kudos to you man. I also had the same idea of developing a
| similar TUI tool because I'm getting tired of Electron apps for
| this. Now I can use yours with a peace of mind.
|
| BTW, have you looked at Bruno before deciding to develop
| yourself?
| nsdarren wrote:
| Thank you!
|
| I had a look at the Bruno website for the first time a few
| weeks ago, although I haven't tried it for myself yet. I'm
| definitely inspired by and agree with a lot of the principles
| behind Bruno: local first, developer friendly, readable/Git-
| friendly collections and so on.
|
| I think I share a lot of the same motivations as Bruno's
| creator - I feel the landscape of HTTP API testing clients may
| actually have regressed in recent years from a developer's
| perspective, as the companies behind Postman/Insomnia etc.
| figure out how to monetise them.
| kbd wrote:
| Textual trending to a new de-facto basis for cross-platform
| gui apps is a HUGE improvement from every new app being js
| and Electron!
|
| Not to mention replacing heavy Java gui apps as well! The
| myriad DB guis for whatever historical reason have mostly
| been slow heavy, and paid, Java apps.
|
| I'd actually written a thing that integrated cli db tools(eg
| [1]) with kitty[2] and visidata to show a query editor and
| then results underneath in a kitty split pane. Now I've been
| using Harlequin[3] in my terminal. So nice to have these apps
| be fast programs that live in a terminal tab instead of their
| own bloated poorly-keyboard-driven Electron apps.
|
| [1] https://github.com/kbd/setup/blob/main/HOME/.config/litec
| li/...
|
| [2] https://github.com/kbd/setup/blob/main/HOME/bin/kw
|
| [3] https://github.com/tconbeer/harlequin/
| gregwebs wrote:
| Would be great to be able to use it with the hurl format to have
| a GUI for hurl: https://hurl.dev/docs/hurl-file.html
| nsdarren wrote:
| I'm going to explore integration with other formats in the
| future. Right now there's experimental (incomplete) support for
| importing from OpenAPI v3. I'd like to add Postman and Insomnia
| collection importing too. Some kind of integration with Hurl
| could be very nice too, but would likely come further down the
| line.
| pesch3 wrote:
| Please, allow using flat file http messages. IntelliJ has a
| great build in http client that's using HTTP message files
| and otherwise has a similar feature set. But having to launch
| intellij every time is a real PITA.
| erksa wrote:
| This is great and feels very smooth to use. I really like the UX
| of it.
|
| Great including themes, but for light mode it's only one. Does
| Posting/Textual support no theming falling back on the configured
| terminal that runs it?
| nsdarren wrote:
| You'll be able to add custom themes pretty soon. Hopefully
| within the next couple of weeks.
|
| There's no fallback to the ANSI theme of the terminal as it
| breaks a lot of Textual's features.
|
| There is a PR open at the moment relating to detecting the
| terminal background colour I believe, so in the future we could
| probably use that to choose a reasonable fallback.
| erksa wrote:
| Great, appreciate it!
|
| Really like it, so will try it out in my toolkit for a while!
| Thanks for the great work you have been doing and sharing
| with the community.
| lylejantzi3rd wrote:
| Am I the only one who prefers to use nodejs and fetch for this
| these days? Especially since I need it to work in Windows (and
| no, I can't install WSL).
| billowycoat wrote:
| If you prefer writing JavaScript, the more power you, but I
| suspect Posting works on Windows. Textual, the library Posting
| is built on top of certainly does.
| 4lejandrito wrote:
| Then you may like https://github.com/4lejandrito/fetchbook
| lylejantzi3rd wrote:
| Why? It does less than what plain code can do, it's less
| flexible, and harder to understand. Seriously, what problem
| is this trying to solve?
| flufluflufluffy wrote:
| I'm going to use this from now on simply because of how much more
| fun it is xD
|
| edit: omg I didn't even notice the vim keybinds I'm sold
| saila wrote:
| This is awesome. Here are a couple bits of feedback:
|
| - It took me a while to find the Metadata tab to edit a request's
| name, I guess because I don't think of the name and description
| as metadata (even if in a technical sense they are, relative to
| the request config). My inclination would be to make this the
| first tab and rename it to Info.
|
| - I somehow managed to save two requests into the same file with
| no warning/confirmation from the UI.
|
| - When using the up/down arrows to navigate between requests in a
| collection, I found it counterintuitive to have to hit Enter to
| actually select the request.
| nsdarren wrote:
| Great feedback, thank you. I agree "Info" is probably clearer.
|
| There are a couple of UX sharp edges to clear up for sure - a
| bit more validation, confirmations, etc to be added.
| kbd wrote:
| After never being happy with Postman or Insomnia and defaulting
| to 'curlie' for http requests, Posting is the first http gui that
| I'm actually sticking with. I have a terminal tab with it open
| all the time and it somehow manages to be _more efficient_ than
| "up arrow+enter" (since you can just hit enter).
|
| Thanks for improving my workflow, Darren!
| nsdarren wrote:
| Thanks for your kind words!
| zorrn wrote:
| Does anyone know which terminal emulator is used in all the
| examples? Looks very good!
| nsdarren wrote:
| It's iTerm 2
| dlvhdr wrote:
| This is amazing
| connordavenport wrote:
| This is fantastic, I love the jump mode navigation. Will be using
| this for the foreseeable future. Thanks for making it.
| astrodude wrote:
| This looks great. I love that it's using YAML files that can be
| version controlled and shared.
|
| I developed Just-API (https://github.com/kiranz/just-api) with
| YAMLs for automation testing of APIs.
| yoavm wrote:
| this looks really great! since insomnia started requiring an
| account I never really settled on anything else.
|
| the one thing that worries me is compatibility - I echo the
| voices asking for hurl support. it kinda sucks that each of these
| programs invents its own format.
|
| it would also be great to be able to run these requests as part
| of a CI pipeline, without opening the TUI. supporting a format
| like hurl would add this ability automatically, because the same
| files could be used by other clients.
|
| p.s. upon trying it out the first things i missed is "how do I
| create a new collection?" and "how do I exit?". it felt that both
| should have been a command in the command plate. in the end if
| created the collection manually as a folder and exited using
| Ctrl+C, but I'm still not sure if that was the intended way.
| timvdalen wrote:
| I've switched to the built-in HTTP client in Jetbrains IDEs.
| The experience is a _little_ worse for one-off requests, but
| it's a lot nicer for things you do more often, and very easy to
| version control and include in a project.
| nsdarren wrote:
| Thanks for the feedback! It is actually intended that you
| create the collection yourself first, but I should perhaps make
| that clearer.
|
| Hiding how to quit the app was just another attempt to win over
| the Vim crowd!
|
| (Yes ctrl+c is the intended way, it's in the docs now and I'll
| add it to the app footer)
| goalonetwo wrote:
| Am I the only one that hates what the internet became?
|
| All HTTP APIs that are all made to interact with JSON.
| bartvk wrote:
| Well as soon as it gets interesting, JSON goes out of the
| window. No firmware engineer would send me JSON over HTTP, for
| example.
| joseangel_sc wrote:
| what would you suggest?
| rochak wrote:
| Everything looks great except for it being written in Python.
| I'll work on developing something similar with Go.
| sibeliuss wrote:
| This thing is cool. How did you do the visual terminal layout?
| billowycoat wrote:
| That would be Textual https://textual.textualize.io/
| sprobertson wrote:
| This is great, I could see myself using it daily. The only
| hindrance I've found so far is navigating large responses. Would
| be cool to have some way to collapse chunks of JSON (a la
| https://github.com/antonmedv/fx), or even just more vim key
| navigation, like G/gg, %, {/}, and search.
| nsdarren wrote:
| I agree that could be improved! The extra Vim keys you
| suggested should be simple enough to add.
___________________________________________________________________
(page generated 2024-07-10 23:01 UTC)