Skip to content

arnos-stuff/ix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  1. Clone this repository
  2. Rename the ix_cli directory to the name of your pastebin service
  3. Replace the variable PROVIDER_URL in ix_cli/utils.py with the URL of your pastebin service (e.g. https://paste.example.com)
  4. Replace the name of the app in pyproject.toml with the name of your pastebin service in both the name and [tool.poetry.scripts] sections
  5. Install poetry and run poetry install to install the dependencies
  6. Run a basic command to make sure everything works: <new-app-name> s "Hello, world!"
  7. Edit the README to your liking
  8. Commit your changes and push them to your repository
  9. Publish your app to PyPI using poetry build and poetry 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