title | description | pypi_url | tar_url | github_url |
---|---|---|---|---|
xi-cli |
A rich CLI template for pastebin CLI tools |
A rich CLI template for pastebin CLI tools
ix is a command line interface for ix.io, a pastebin service.
I tried to make this CLI as "reusable" as possible, so that you can clone this repository and use it as a template for your own pastebin CLI tool.
How to use this template
- Clone this repository
- Rename the
ix_cli
directory to the name of your pastebin service - Replace the variable
PROVIDER_URL
inix_cli/utils.py
with the URL of your pastebin service (e.g.https://paste.example.com
) - Replace the name of the app in
pyproject.toml
with the name of your pastebin service in both thename
and[tool.poetry.scripts]
sections - Install poetry and run
poetry install
to install the dependencies - Run a basic command to make sure everything works:
<new-app-name> s "Hello, world!"
- Edit the README to your liking
- Commit your changes and push them to your repository
- Publish your app to PyPI using
poetry build
andpoetry publish
Installation
Using pip
pip install ix-cli
Cloning the repository
git clone https://github.com/arnos-stuff/ix.git
Basic usage
As a Python module
from ix_cli import uploadFromFile, uploadFromStdin, download, getHistory
# Upload from stdin
url = uploadFromStdin("Hello, world!")
print(url)
# Upload from file
url = uploadFromFile("README.md")
print(url)
# Download
data = download(url)
print(data)
As a CLI tool
Using ix is simple. Just pipe some text into it:
echo "Hello, world!" | ix s
This will print the URL of the paste to stdout. You can also use ix to upload files:
ix f README.md
This CLI has an extra feature: it stores the past 100 URLs in a local cache. You can use this to quickly access your pastes:
ix h
This will print a list of your pastes, with the most recent at the top. You also have the option to limit the number of pastes shown:
ix h -n 3
This will print the 3 most recent pastes.
Getting the data back
You can use ix to retrieve the data from a paste by using the g
command:
ix g https://ix.io/1QZp
or simply
ix g 1QZp
This will print the contents of the paste to stdout.
License
This project is licensed under the MIT License - see the LICENSE file for details