semvec/pypi-packages huggingface dataset:
udeploy 0.0.4
Простой скрипт на питоне, который поможет развернуть ваше приложение
License: MIT
Requires Python: >=3.6

# udeploy
Простой скрипт на питоне, который поможет развернуть ваше приложение.
Данная утилита представляет собой обёртку над такой стандартной
утилитой _systemd_ в *nix подобных системах.

# Установка 
```console
user@server$ pip install udeploy --upgrade
```

# Использование

## Превратить файл в демон
Например у вас есть проект телеграм бота на python, где главная программа называется bot.py.
Чтобы превратить ваше приложение в демон, перейдите в папку вашего проекта:
```console
user@server$ cd $YOUR_WORK_DIRECTORY
```

И наберите простую комманду
```console
user@server$ udeploy -f bot.py
```

ИЛИ

```console
user@server$ udeploy bot.py -f
```

Данная комманда автоматом создаст service из вашего приложения, и переместит в нужную директорию,
сделав его видимым для systemd. Причём рабочей дирректорией демона по умолчанию ставится дирректория
вашего проекта. Это важно, если в проекте вы использовали относительные пути. Также названием демона
будет являтся название папки вашего проекта. Данная комманда только создаёт демон, его ещё надо
запустить, добавить в автозапуск и тд.

## Превратить Django проект в демон
```console
user@server$ udeploy --django
```

Данная комманда просматривает директорию проекта и ищет там файл `manage.py`.  
Дальше при помощи него запускает сервер по адресу __0.0.0.0:80__.  
То есть __НЕ__ на стандартном __127.0.0.1:8000__.  
Это сделано потому что, если хоститить на localhost,  
то не получится подключиться к приложению извне.  
Также нельзя забывать, что в настойках Django `settings.py` внутри списка ALLOWED_HOSTS нужно указывать __домен__ или __ip__, так как это уже продакшен.

## Запустить демон
Для этого опять же в папке проекта просто выполните:
```console
user@server$ udeploy start
```
И не нужно указывать никакого названия демона. Программа сама автоматом определит имя папки
и на основании этого запустит нужный процесс. Это комманда только один раз запустит ваше приложение
как демон. То есть теперь вы можете отключиться от сервера и приложение все ещё будет работать как
независимый процесс.

## Добавить в автозапуск
```console
user@server$ udeploy enable
```
Теперь при перезагрузке сервера, вместе со всеми программами будет стартовать и ваше приложение.

## Остановить демон
```console
user@server$ udeploy stop
```

## Убрать демон из автозапуска
```console
user@server$ udeploy disable
```

## Удалить демон
```console
user@server$ udeploy remove
```
Полезно, если вы ошиблись в параметрах при создании демона и не хотите захломлять сервер ненужными
нерабочими демонами. Данная коммада удаляет service файлы демона и перезагружает systemd,
а если ваше приложение в это время работало, то ещё и останавливает его.

## Показать подсказку
```console
user@server$ udeploy --help
```
Pytman 0.0.2
The virtual assistant framework made for developers with ideas
License: MIT
Requires Python: >=3.8

# Pytman 
#### The virtual assistant framework made for developers with ideas

Pytman is a framework for developing virtual assistants, chatbots or other language driven applications. 
It houses base classes and ready-to-use classes, both for making powerful custom features, or using the 
ones already provided for you, as pluggable objects. 

It is highly inspired by Django, and aspires to offer a similar ease of use as Django does for web, but
for chatbots and personal digital assistants.



### Why use Pytman?

Pytman is a high level framework which abstracts away much of the hard work when developing natural-language-command-driven apps. 

**A few bullet points are:**

* No more tangled if-statements for deciphering a user command based on certain words. 
* 100% object oriented with base classes for subclassing as an alternative to using the presets.
* A clear and consice structure for how your app can be built and scale, with a directory structure set up for you.
* Loaded with tools such as:
  * **Scheduling**: One of Pytman's most powerful punches is its scheduler. It can schedule your objects' methods or regular functions, both regular and `async`, with a great overview of how they run in the background with the `pytman.schedule` api. Scheduled jobs are threaded, which makes your app safe from any hiccups during the run of a scheduled method - it won't interrupt your main loop. You can always control and view scheduled functions during runtime with the `pythman.schedule` api
  * **Logging:** Log your methods or functions by decorating them with `pytman.logger.loggedmethod` to have them automatically log their output and any exceptions in a common log file for your app
  * **Callback, Feature, CommandProcessor** -  These objects lay the baseline for your app, by providing an easy api for binding commands to your functions, classes and/or methods.
  * **Client support:** Client support concists currently of Discord exclusively, more will be added as development proceeds.



### How to get started

It's very easy to get started with Pytman. 

* Install it using pip: `pip install pytman`
* Navigate to the directory where you want to develop your Pytman app
* Start a project using the command `pytman-cli newapp <projectname>`
* Use the created directories to build your app. Run it with main.py, which sets up Pytman for you
* Add settings to `settings.py` as you wish and access them in your app through `pytman.settings.setting_name` 
* Consult the documentation for guidance on how to use Pytman to its full potential.



### Contributions

Contributions are more than welcome - write your PR in a branch branched from 'contributions' ideally.