Skip to main content

Development tools for the command line interface (CLI) of Quackamollie Telegram chat bot

Project description

Name:

Quackamollie CLI Dev Tools

Package name:

quackamollie-devtools

Description:

Development tools for the command line interface (CLI) of Quackamollie Telegram chat bot

Version:
0.1
Main page:

https://gitlab.com/forge_of_absurd_ducks/quackamollie/lib/cli/quackamollie_devtools

PyPI package:

https://pypi.org/project/quackamollie-devtools

Documentation:

https://devtools-forge-of-absurd-ducks-quackamollie-lib–0cee136bdd04d9.gitlab.io

Build Status:
Master:

Master pipeline status Master coverage status

Dev:

Dev pipeline status Dev coverage status


Project description

Quackamollie is a Telegram chat bot developed in Python using the library aiogram to serve LLM models running locally using Ollama. Quackamollie implements also a command line interface quackamollie.

This package is an extension of the command line interface quackamollie with common tools for development, for the Quackamollie project. It contains:

  • a click command generate_db_schema registered through entrypoint for use with quackamollie db schema

Learn more about Quackamollie on the project main page.

Requirements

System requirements

Ensure you have graphviz installed on your system.

  • For instance on Debian systems

apt update
apt install graphviz

Virtual environment

  • Setup a virtual environment in python 3.10

make venv
# or
python3 -m venv venv
  • Activate the environment

source venv/bin/activate
  • If you want to deactivate the environment

deactivate

Tests

Tests requirements

  • Install test requirements

make devtools
# or
pip install tox

Run pytest

  • Run the tests

tox

Run lint

  • Run the lintage

tox -e lint

Documentation

  • To auto-generate the documentation configuration

tox -e gendocs
  • To generate the documentation in Html

tox -e docs
  • An automatically generated version of this project documentation can be found at here

    • N.B.: This automatically generated documentation of the Quackamollie core project is still laking a lot of things. Sorry for the inconvenience.

Install

  • Install the application from sources

make install
# or
pip install .
  • Or install it from distribution

pip install dist/quackamollie-devtools-0.1.tar.gz
  • Or install it from wheel

pip install dist/quackamollie-devtools-0.1.whl
  • Or install it from PyPi repository

pip install quackamollie-devtools  # latest
# or
pip install "quackamollie-devtools==0.1"

Generating a schema

quackamollie-devtools package is automatically discovered, through entrypoints, by the command tool line named quackamollie. Therefore, once installed, you should automatically be able to call quackamollie db schema -h to see the help of this command.

You can generate a schema with:

# Specify only the directory to generate a schema, here at path 'schemas/quackamollie_schema_v{core_version}.png'
quackamollie db schema -od schemas

# Specify a file name to generate a PNG schema with a specific name
quackamollie db schema -of schemas/quackamollie_schema_latest.png

Authors

Contributing

If you want to report a bug or ask for a new feature of quackamollie-devtools, please open an issue in the Gitlab ticket management section of this project. Please, first ensure that your issue is not redundant with already open issues.

If you want to contribute code to this project, please open first an issue and then a merge request with commit names referencing this issues. Note that only fast-forward merge requests are accepted.

For more details on the general contributing mindset of this project, please refer to CONTRIBUTING.md.

Credits

Section in writing, sorry for the inconvenience.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quackamollie_devtools-0.1.tar.gz (18.5 kB view hashes)

Uploaded Source

Built Distribution

quackamollie_devtools-0.1-py3-none-any.whl (7.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page