Nile plugin for greeting
Project description
Nile plugin example :boat:
This project is an example plugin for extending functionality in Nile.
Installation
pip install nile-greet
Usage
After installing you should already have the command available for usage. Run nile --help
for checking the nile greet
availability.
Development
For creating new plugins follow this instructions below.
- Install Poetry:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
- Install dependencies:
poetry install
After having the environment setted up we can start developing. We will use click
for extending Nile commands. All new commands must be implemented as click.commands
. Find below an implementation design template:
# First, import click dependency
import click
# Decorate the method that will be the command name with `click.command`
@click.command()
# You can define custom parameters as defined in `click`: https://click.palletsprojects.com/en/7.x/options/
def my_command():
# Help message to show with the command
"""
Subcommand plugin that does something.
"""
# Done! Now implement your custom functionality in the command
click.echo("I'm a plugin overiding a command!")
Great! Now our new Nile command is ready to be used. For Nile to detect it make sure at least version 0.6.0
is installed. Then modify the pyproject.toml
file as follows:
# We need to specify that click commands are Poetry entrypoints of type `nile_plugins`. Do not modify this
[tool.poetry.plugins."nile_plugins"]
# Here you specify you command name and location <command_name> = <package_method_location>
"greet" = "nile_greet.main.greet"
Testing
poetry run pytest tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nile_greet-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f03d80e2e0706947e4c881e3f61829c8f5e3895a134d08b246c1221a3877139 |
|
MD5 | 117b31534a6d93478d5291a097e84ca6 |
|
BLAKE2b-256 | be20c81083c8d7b923c071b2e6f65c8663e9448aef7450d652a78f5b66ef57c1 |