andeya / ai-pet

AI pet chat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ai-pet

Build status Python Version Dependencies Status

Code style: ruffSecurity: bandit Pre-commit Semantic Versions License Coverage Report

Awesome ai-pet is a AI pet chat application

Quick start

Conda package manager is recommended. Create a conda environment.

conda create -n ai_pet python==3.10

Activate conda environment and install poetry

conda activate ai_pet
pip install poetry

Then you can run the client using the following command:

ai_pet --help

or with Poetry:

poetry run ai_pet --help
```

### Makefile usage

[`Makefile`](https://github.com/andeya/ai-pet/blob/main/Makefile) contains a lot of functions for faster development.


<details>
<summary>Install all dependencies and pre-commit hooks</summary>
<p>

Install requirements:

```bash
make install

Pre-commit hooks coulb be installed after git init via

make pre-commit-install

Codestyle and type checks

Automatic formatting uses ruff.

make polish-codestyle

# or use synonym
make formatting

Codestyle checks only, without rewriting files:

make check-codestyle

Note: check-codestyle uses ruff and darglint library

Code security

If this command is not selected during installation, it cannnot be used.

make check-safety

This command launches Poetry integrity checks as well as identifies security issues with Safety and Bandit.

make check-safety

Tests with coverage badges

Run pytest

make test

All linters

Of course there is a command to run all linters in one:

make lint

the same as:

make check-codestyle && make test && make check-safety

Docker

make docker-build

which is equivalent to:

make docker-build VERSION=latest

Remove docker image with

make docker-remove

More information about docker.

Cleanup

Delete pycache files

make pycache-remove

Remove package build

make build-remove

Delete .DS_STORE files

make dsstore-remove

Remove .mypycache

make mypycache-remove

Or to remove all above run:

make cleanup

πŸ›‘ License

License

This project is licensed under the terms of the Apache Software License 2.0 license. See LICENSE for more details.

πŸ“ƒ Citation

@misc{ai_pet,
  author = {andeya},
  title = {Awesome `ai-pet` is a AI pet chat application},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/andeya/ai-pet}}
}

Credits πŸš€ Your next Python package needs a bleeding-edge project structure.

This project was generated with py-layout

About

AI pet chat

License:Apache License 2.0


Languages

Language:Python 72.7%Language:Makefile 23.1%Language:Dockerfile 4.2%