httpie-cli/snapcraft.yaml
2023-08-06 14:04:32 +02:00

116 lines
3.0 KiB
YAML

name: httpie
title: HTTPie
summary: Modern, user-friendly command-line HTTP client for the API era
description: |
HTTPie *aitch-tee-tee-pie* is a user-friendly command-line HTTP client
for the API era.
It comes with JSON support, syntax highlighting, persistent sessions,
wget-like downloads, plugins, and more.
The project's goal is to make CLI interaction with web services as
human-friendly as possible. HTTPie is designed for testing, debugging,
and generally interacting with APIs & HTTP servers.
The http & https commands allow for creating and sending arbitrary HTTP
requests. They use simple and natural syntax and provide formatted and
colorized output.
Main features:
- Built-in JSON support
- Colorized and formatted terminal output
- Sensible defaults for the API era
- Persistent sessions
- Forms and file uploads
- HTTPS, proxies, and authentication support
- Support for arbitrary request data and headers
- Wget-like downloads
- Extensions API
- Expressive and intuitive syntax
- Linux, macOS, Windows, and FreeBSD support
- All that & more in 2 simple commands: http + https
Links
- Documentation: https://httpie.io/docs
- Try in browser: https://httpie.io/run
- GitHub: https://github.com/httpie/cli
- Twitter: https://twitter.com/httpie
- Discord: https://httpie.io/chat
license: BSD-3-Clause-LBNL
# Automatically change the current version based on the source code
adopt-info: httpie
# https://snapcraft.io/docs/snapcraft-top-level-metadata#heading--icon
# icon:
base: core20
confinement: strict
grade: stable
compression: lzo
parts:
httpie:
source: .
plugin: python
# Guess the current version from sources
override-pull: |
snapcraftctl pull
snapcraftctl set-version $(grep '__version__' httpie/__init__.py | cut -d"'" -f2)
override-build: |
snapcraftctl build
echo "Adding HTTPie plugins ..."
python -m pip install httpie-unixsocket
python -m pip install httpie-snapdsocket
override-prime: |
snapcraftctl prime
echo "Removing useless files ..."
packages=$SNAPCRAFT_PRIME/lib/python3.8/site-packages
rm -rfv $packages/pkg_resources/tests
rm -rfv $packages/requests_unixsocket/test*
echo "Compiling pyc files ..."
python -m compileall -f $packages
echo "Copying extra files ..."
cp $SNAPCRAFT_PART_SRC/extras/httpie-completion.bash $SNAPCRAFT_PRIME/
plugs:
dot-config-httpie:
interface: personal-files
write:
- $HOME/.config/httpie
dot-httpie:
interface: personal-files
write:
- $HOME/.httpie
apps:
http:
command: bin/http
plugs: &plugs
- dot-config-httpie
- dot-httpie
- home
- network
- removable-media
completer: httpie-completion.bash
environment:
LC_ALL: C.UTF-8
https:
command: bin/https
plugs: *plugs
completer: httpie-completion.bash
environment:
LC_ALL: C.UTF-8
httpie:
command: bin/httpie
plugs: *plugs
environment:
LC_ALL: C.UTF-8