Пророк в 1С

Отчеты - Статистические

прогнозирование экстраполяция предсказание временной ряд тренд Пророк Prophet Фейсбук Facebook Питон Python Докер Docker

64
Используем механизм прогнозирования от Facebook в 1С.

Библиотека

Согласно статье Facebook Prophet, был разработан для прогнозирования большого числа различных бизнес-показателей и строит достаточно хорошие default'ные прогнозы. Кроме того, библиотека дает возможность, изменяя человеко-понятные параметры, улучшать прогноз и не требует от аналитиков глубоких знаний устройства предсказательных моделей.

Обновления

  1. Благодаря здравым наводкам stepa86, который тоже сейчас активно занимается прогнозированием. Решено было выложить исходники cf файла в свободный доступ. cf-файл уже получил дополнительную функциональность и готовится стать более дружелюбным для проведения тестов. Так что, если кому не безразлична эта тема, то репозиторий https://github.com/HardAndHeavy/eye-prophet-cf ждёт ваших пул реквестов.

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

  1. Загружаем последнюю версию собранного cf из репозитория. Файл cf сформировал на платформе 8.3.12.1469. А исходники выгруженные через EDT 1.8.4.9.
  2. Устанавливаем Docker. Если используется Windows 10 Pro сборки 14393 и выше, то Docker CE. Иначе — Docker Toolbox. [Замечание 1]
  3. Запускаем контейнер: 
    $ docker run -p 4000:80 hardandheavy/eye-prophet
    А для тех, кто уже имеет контейнер и хочет его обновить:
    $ docker pull hardandheavy/eye-prophet


    Таким образом мы получаем веб-сервер с уже установленным всем необходимым окружением и самой библиотекой от Facebook. Из рисунка выше видно, что сервер располагается по адресу 192.168.99.100 на 4000 порту. [Замечание 2]

  4. Нюанс в методе ИмяСервера общего модуля _Пророк:

    Функция ИмяСервера()
    	
    	Возврат "192.168.99.100:4000";
    	
    КонецФункции

    Если контейнер будет запущен на другом IP или порту, то возвращаемое значение надо будет исправить на правильное.

  5. Прогнозирование заключается в передаче таблицы истории с колонками Дата и Факт в метод _Пророк.ПолучитьПрогноз. Который возвращает таблицу прогноза с колонками: Дата, Тренд и Прогноз. В предоставленной конфигурации запускаем обработку "Демо прогноз просмотра страницы wiki" и наслаждаемся прогнозом: Все данные взяты из обучающего материала Facebook и полностью его повторяют.

Замечание

  1. Для тех, кто хочет узнать больше о Docker: Полное практическое руководство по Docker и конечно же Get Started.
  2. Об этой библиотеке я узнал из статьи на Хабре Предсказываем будущее с помощью библиотеки Facebook Prophet. Прочитал Quick Start. И реализовал веб-сервер, предварительно упаковав его в контейнер, чтобы можно было легко воспользоваться Пророком в 1С. Исходники можно найти здесь https://github.com/HardAndHeavy/eye-prophet
64

Скачать файлы

Наименование Файл Версия Размер
Пророк в 1С:
.cf 50,21Kb
17.08.18
1
.cf 50,21Kb 1 Скачать

См. также

Лучшие комментарии
13. Stepa86 931 09.07.18 21:09 Сейчас в теме
(6) [ЗанудаМод = вкл]

Предсказание рейтинга/загрузок это задача регрессии, а не прогнозирования временного ряда. Прогнозирование временного ряда это когда из всех данных есть только дата и число, когда как задача регрессии - по набору признаков получить некоторую цифру. Прогнозирование временного ряда можно свести к задаче регрессии ( когда дата распадается на признаки НомерГода, НомерМесяца, НомерНедели, НомерКватала, НомерСезона, НомерДня, ДеньНедели, ЭтоРабочийДень итп ). Когда кроме даты есть еще какие-либо заранее известные признаки - то регрессия даст более хороший вариант. Хотя в Пророке есть "Добавление регрессора" и механизм "Праздников".

Когда нужно спрогнозировать числа на период (продажи на несколько месяцев вперед или количество статей на инфостарте), то обычно с дополнительными признаками проблема - продажи может и будут зависеть от остатков на складах (или от новостей в индустрии, например, выход едт), но для этого их нужно знать в будущем, что так же сводится к задаче прогнозирования. Таким образом у нас остается только история.

Для предсказания популярности статьи лучше всего использовать подход "мешка слов" и линейную регрессию или Vowpal Wabbit. Аналогичная задача по хабру есть в качестве домашнего задания в курсе по машинному обучению.

[ЗанудаМод=выкл]
DrAku1a; botokash; mrXoxot; kadild; Uncle Bob; +5 Ответить
Остальные комментарии
Избранное Подписка Сортировка: Древо
1. Дмитрий74Чел 18 09.07.18 14:39 Сейчас в теме
А какой прикладной смысл / ценность для "обычных" баз 1С УТ и т.п.?
2. Soloist 473 09.07.18 14:45 Сейчас в теме
(1) Прогнозирование продаж и любые другие прогнозы для стратегического плана компании.
xioxao; Angry; +2 1 Ответить
35. Dementor 326 11.07.18 12:39 Сейчас в теме
(1) мы в свое время строили прогнозную модель для складских остатков с учетом сезонности.
3. olegtymko 125 09.07.18 15:21 Сейчас в теме
Интересная технология. С каким объемом данных она может работать? В каком масштабе ее используете, если не секрет?
4. Stepa86 931 09.07.18 15:49 Сейчас в теме
(3) Пророк это либа по предсказанию временного ряда, на вход подается дата и значение. 5 лет данных, то есть табличку 2 * 3800 чисто питоновский код обрабатывает секунд за 5 на слабеньком ноуте.

В основе лежит разделение на тренд, сезонности и вариации. Чтоб сезонность учитывалась корректно - нужно хотя бы 2 полных цикла. То есть, если есть недельная сезонность - нужно подать истории на 2 недели минимум. Если есть годовая сезонность - за 2 года минимум.

Для просто взять либо и построить прогноз - результаты очень хорошие у этого пророка.

Для промышленного использования могут быть ограничения- 1000 номенклатурных позиций будет обсчитываться минимум 5000 секунд, точность может быть по некоторым позициям хуже, чем другие подходы, типа простенькой регрессии, данные нужно предобрабатывать - чистить от выбросов, учитывать акции (Пророк это умеет, но текущая реализация еще нет), как нить изменить входные данные (Бокс-Кокс иногда очень хорошо улучшает точность, он в статье на хабре описан), ну и в конце нужно будет еще решить, а что же делать на основе этих данных.

Если сравнивать с самым "крутым алгоритмом по предсказанию временного ряда" SARIMA - этот намного проще и намного быстрее и требует меньше настроек гиперпараметров
olegtymko; Soloist; +2 Ответить
5. Soloist 473 09.07.18 15:58 Сейчас в теме
(3) Stepa86 правильно всё подметил. Добавлю то, что я прогнозировал по месяцам 20 000 позиций с глубиною в три года (это 36 точек на позицию) за ~5 часов.

Думаю можно всё распараллелить, но пока до этого руки не дошли. Т.е. веб-сервер должен держать... вот код 1С под это надо будет менять.
6. FesenkoA 30 09.07.18 16:07 Сейчас в теме
Уже рассчитали количество просмотров рейтинга/загрузок этого поста? Поделитесь, а мы проверим)
Dmitrith; Evil Beaver; +2 Ответить
10. Soloist 473 09.07.18 18:51 Сейчас в теме
(6) Нет, но могу сказать, что в моих тестах прогнозы были ~30%. Надо набрать историю. В целом, можно инфостарт спрогнозировать посещаемость. Но это я пока оставлю как домашнее задание;)
13. Stepa86 931 09.07.18 21:09 Сейчас в теме
(6) [ЗанудаМод = вкл]

Предсказание рейтинга/загрузок это задача регрессии, а не прогнозирования временного ряда. Прогнозирование временного ряда это когда из всех данных есть только дата и число, когда как задача регрессии - по набору признаков получить некоторую цифру. Прогнозирование временного ряда можно свести к задаче регрессии ( когда дата распадается на признаки НомерГода, НомерМесяца, НомерНедели, НомерКватала, НомерСезона, НомерДня, ДеньНедели, ЭтоРабочийДень итп ). Когда кроме даты есть еще какие-либо заранее известные признаки - то регрессия даст более хороший вариант. Хотя в Пророке есть "Добавление регрессора" и механизм "Праздников".

Когда нужно спрогнозировать числа на период (продажи на несколько месяцев вперед или количество статей на инфостарте), то обычно с дополнительными признаками проблема - продажи может и будут зависеть от остатков на складах (или от новостей в индустрии, например, выход едт), но для этого их нужно знать в будущем, что так же сводится к задаче прогнозирования. Таким образом у нас остается только история.

Для предсказания популярности статьи лучше всего использовать подход "мешка слов" и линейную регрессию или Vowpal Wabbit. Аналогичная задача по хабру есть в качестве домашнего задания в курсе по машинному обучению.

[ЗанудаМод=выкл]
DrAku1a; botokash; mrXoxot; kadild; Uncle Bob; +5 Ответить
43. Boris_1c 39 02.08.18 21:42 Сейчас в теме
Пытаюсь докер запустить на линуксовой виртуалке

[2018-08-02 18:35:33 +0000] [6] [INFO] Starting gunicorn 19.9.0
[2018-08-02 18:35:34 +0000] [6] [INFO] Listening at: http://0.0.0.0:80 (6)
[2018-08-02 18:35:34 +0000] [6] [INFO] Using worker: sync
[2018-08-02 18:35:34 +0000] [9] [INFO] Booting worker with pid: 9
INFO:matplotlib.font_manager:font search path ['/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf', '/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm', '/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts']
INFO:matplotlib.font_manager:generated new fontManager

Это последняя строка в консоли Ubuntu server
Судя по предыдущим постам не хватает вывода:
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
INFO:werkzeug: * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)

И подскажите как настроить докер что бы он был виден в локальной сети а не толькао на локальном хосте?
7. ImHunter 21 09.07.18 16:17 Сейчас в теме
По идее, это использование ф-буковской библиотеки на R. R, в свою очередь, уже встроен в MSSQL начиная с 2016. Так что, у кого есть лицензии, можно и в эту сторону покопать. И использовать не только Prophet, а еще уйму других библиотек.
8. Goleff74 138 09.07.18 16:25 Сейчас в теме
Там обычный персептрон или поглубже что-то в библиотеке?
11. Soloist 473 09.07.18 19:08 Сейчас в теме
(8) Думаю, что там чисто математика. Опираясь на статью https://habr.com/company/ods/blog/323730/ могу лишь сказать, что для меня, как новичка в этом деле, эта библиотека показывает очень хорошие результаты без каких-либо настроек.А если покрутить...

В общем, я воспринимаю его как чёрный ящик, который для меня даёт пока неплохие результаты, и я доволен.
9. Rustig 1022 09.07.18 16:40 Сейчас в теме
(0) картинку пострашнее не мог найти?
товарищ Ын; Soloist; artbear; +3 Ответить
14. McSim_ 09.07.18 21:49 Сейчас в теме
Как эксперимент, неплохо. Наверное, интересно было поразбираться.
Но без гиперпараметров, без добавления признаков (регрессия или нет, алгоритм позволяет, странно не воспользоваться). Следить за временным рядом без возможности внести корректировки в алгоритм расчёта прогноза особого смысла нет. Интересно-то как раз, что повлияло и насколько дополнительный признак добавляет точности в предсказание. А с подобной точностью и товаровед предскажет. :)

Можно хотя бы одну оценку точности прогноза вывести. Сразу будет видно, насколько полезен результат.
Не смотрел фейсбуковскую библиотеку, но наверняка там есть возможность.
15. Soloist 473 09.07.18 23:09 Сейчас в теме
(14) Согласен, регрессию добавить можно. Надо делать:)
23. Stepa86 931 10.07.18 10:42 Сейчас в теме
(14) Гиперпараметров у Пророка не то, чтобы много

Init signature: Prophet(growth='linear', changepoints=None, n_changepoints=25, changepoint_range=0.8, yearly_seasonality='auto', weekly_seasonality='auto', daily_seasonality='auto', holidays=None, seasonality_mode='additive', seasonality_prior_scale=10.0, holidays_prior_scale=10.0, changepoint_prior_scale=0.05, mcmc_samples=0, interval_width=0.8, uncertainty_samples=1000)
Docstring:     
Prophet forecaster.

Parameters
----------
growth: String 'linear' or 'logistic' to specify a linear or logistic
    trend.
changepoints: List of dates at which to include potential changepoints. If
    not specified, potential changepoints are selected automatically.
n_changepoints: Number of potential changepoints to include. Not used
    if input `changepoints` is supplied. If `changepoints` is not supplied,
    then n_changepoints potential changepoints are selected uniformly from
    the first `changepoint_range` proportion of the history.
changepoint_range: Proportion of history in which trend changepoints will
    be estimated. Defaults to 0.8 for the first 80%. Not used if
    `changepoints` is specified.
Not used if input `changepoints` is supplied.
yearly_seasonality: Fit yearly seasonality.
    Can be 'auto', True, False, or a number of Fourier terms to generate.
weekly_seasonality: Fit weekly seasonality.
    Can be 'auto', True, False, or a number of Fourier terms to generate.
daily_seasonality: Fit daily seasonality.
    Can be 'auto', True, False, or a number of Fourier terms to generate.
holidays: pd.DataFrame with columns holiday (string) and ds (date type)
    and optionally columns lower_window and upper_window which specify a
    range of days around the date to be included as holidays.
    lower_window=-2 will include 2 days prior to the date as holidays. Also
    optionally can have a column prior_scale specifying the prior scale for
    that holiday.
seasonality_mode: 'additive' (default) or 'multiplicative'.
seasonality_prior_scale: Parameter modulating the strength of the
    seasonality model. Larger values allow the model to fit larger seasonal
    fluctuations, smaller values dampen the seasonality. Can be specified
    for individual seasonalities using add_seasonality.
holidays_prior_scale: Parameter modulating the strength of the holiday
    components model, unless overridden in the holidays input.
changepoint_prior_scale: Parameter modulating the flexibility of the
    automatic changepoint selection. Large values will allow many
    changepoints, small values will allow few changepoints.
mcmc_samples: Integer, if greater than 0, will do full Bayesian inference
    with the specified number of MCMC samples. If 0, will do MAP
    estimation.
interval_width: Float, width of the uncertainty intervals provided
    for the forecast. If mcmc_samples=0, this will be only the uncertainty
    in the trend using the MAP estimate of the extrapolated generative
    model. If mcmc.samples>0, this will be integrated over all model
    parameters, which will include uncertainty in seasonality.
uncertainty_samples: Number of simulated draws used to estimate
    uncertainty intervals.
Показать


Из тех, что у меня хоть как то повлияли на результат - принудительная установка сезонностей. Праздники я подсовывал, но чот они никак не повлияли на результат, а что добавить в качестве регрессоров я не смог придумать, поэтому не пробовал. Всех больше профита давала предобработка входных данных - чистка от выбросов, Бокс-Кокс и удаление интервалов, где случилась явная херня

Если есть знания/опыт в машинном обучении, есть нужный набор признаков и достаточная глубина истории - лучше использовать что-нибудь более мощное и быстрое. Вот пример предсказания аренды великов в зависимости от даты и погоды

тетрадка Юпитера: https://github.com/Yorko/mlcourse_open/blob/master/jupyter_russian/topic06_­features/lesson6_regression_bikes_inclass_march19.ipynb
видео: https://www.youtube.com/watch?v=c_EsDMF3rsI&t=5951s


В статье на хабре Пророк без настроек прогнозировал количество статей на хабре с MAPE 37.35% . Если же подтюнить вход преобразование Бокса-Кокаса, то MAPE 17%

У меня получались такие результаты MAPE на разных данных при планировании на месяцы вперед %: 3,4, 6, 6, 8, 9, 16, 18, 31, 34, 37, 38, 48, 50, 58
При прогнозировании по дням медиана MAPE была в лучшем случае 12%, а в среднем 20-50%. То есть результаты колебаются от "охренеть как точно" до "сойдет".
JohnyDeath; pbabincev; Soloist; +3 Ответить
16. mashinist 2 09.07.18 23:16 Сейчас в теме
установил Docker CE.

docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:12:48 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.24)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:21:42 2018
OS/Arch: windows/amd64
Experimental: false

Дальше делаю и получаю

docker run -p 4000:80 hardandheavy/eye-prophet
Unable to find image 'hardandheavy/eye-prophet:latest' locally
latest: Pulling from hardandheavy/eye-prophet
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: image operating system "linux" cannot be used on this platform.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

что-то пошло не так...
18. Soloist 473 10.07.18 07:49 Сейчас в теме
(16) Возможно при установке докера была поставлена галочка использования Windows контейнеров взамен Linux https://www.screencast.com/t/i75Lof8xi
Но это всегда можно переключить обратно нажав на правую кнопку мыши по значку и запустив Linux машину.

Для примера можно набрать
docker run hello-world
Эта команда должна всегда работать
20. mashinist 2 10.07.18 09:19 Сейчас в теме
(18) Да. Получилось вот что

docker run -p 4000:80 hardandheavy/eye-prophet
Unable to find image 'hardandheavy/eye-prophet:latest' locally
latest: Pulling from hardandheavy/eye-prophet
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: image operating system "linux" cannot be used on this platform.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
PS C:\Users\domiu> docker run -p 4000:80 hardandheavy/eye-prophet
Unable to find image 'hardandheavy/eye-prophet:latest' locally
latest: Pulling from hardandheavy/eye-prophet
911c6d0c7995: Pull complete
01a7b783f4b1: Pull complete
fd42853239cf: Pull complete
9a8472db1c97: Pull complete
dc0e7e688ba4: Pull complete
c21395580328: Pull complete
38a300e1f9f7: Pull complete
43bd7163e513: Pull complete
7a30d9838573: Pull complete
d50a5d67d0c0: Pull complete
18c3d6fd8daa: Pull complete
03efc69dec8c: Pull complete
83d81bcc8bba: Pull complete
44f1896e92fc: Pull complete
Digest: sha256:1832652258fb0df6514835a22d4f092c1226efdbe0857a5435a1eae63cb4­de62
Status: Downloaded newer image for hardandheavy/eye-prophet:latest
INFO:matplotlib.font_manager:font search path ['/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf', '/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/afm', '/usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts']
INFO:matplotlib.font_manager:generated new fontManager
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
INFO:werkzeug: * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)

я так понимаю, что http://0.0.0.0:80 это как-то не правильно....
21. Stepa86 931 10.07.18 09:58 Сейчас в теме
(20) Это норм. 0.0.0.0:80 это внутри контейнера, а наружу смотрит как localhost:4000

Если Иван пересобрал мой вчерашний пулл-реквест, то работоспособность можно проверить зайдя по адресу localhost:4000/version , если все ок, то там будет 0.3 написано.
22. mashinist 2 10.07.18 10:07 Сейчас в теме
(21) переход в браузере http://localhost:4000/version выдает 0.3
типа все ок с docker

изменил

Функция ИмяСервера()

Возврат "localhost:4000";

КонецФункции

запускаю конфу

{ОбщийМодуль._Пророк.Модуль(150)}: Ошибка получения прогноза <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method is not allowed for the requested URL.</p>

ВызватьИсключение(СообщениеПриОшибке + " " + Ответ.ПолучитьТелоКакСтроку());
25. Soloist 473 10.07.18 11:38 Сейчас в теме
(22) Тысяча извинений, у вас всё хорошо. Скачайте пожалуйста новый cf. Я поменял немного ресурс по которому надо обращаться к сервису.
После того, как понял, что для исследований некоторым будет сложен докер я решил опубликовать сервер на heroku https://eye-prophet.herokuapp.com/ попозже статью обновлю для таких ребят.
26. mashinist 2 10.07.18 12:34 Сейчас в теме
(25) Ага. Все работает. Попробую на реальных данных в прошлом и сравню с настоящим :-)... интересно
24. comol 3689 10.07.18 11:10 Сейчас в теме
Очень приятно что в 1С стали появляться люди которые "не боятся", "интересуются" и "делают". Хотя бы только для тестового примера.
Несколько таких статей и видимо уже все поймут что пресловутое "машинное обучение" это что-то из разряда фантастики про "искусственный интеллект", а вполне конкретные библиотеки с удобным интерфейсом, которые вообще без проблем можно использовать в 1С.
JohnyDeath; ilyav; товарищ Ын; Soloist; +4 Ответить
27. mashinist 2 10.07.18 15:23 Сейчас в теме
Прогноз на первое полугодие 2018 года по данным 2017 года




Прогноз продаж на вторую половину 2018 года по данным 2017 и половины 2018



Не очень оно сходится... по прогнозу продажи к концу полугодия должны были приблизится к 20, а по факту не переползли за 15

Ради интереса попробую найти данные за последние 5 лет... Но интересно...
31. Soloist 473 11.07.18 09:28 Сейчас в теме
(27) Картинки к сожалению недоступны.

Ниже я ответил ilyav, что можно пробовать теперь как-то донастраивать Пророка. Вот после таких результатов надо крутить крутилки.
28. ilyav 10.07.18 19:56 Сейчас в теме
Очень странный прогноз, загрузил туда продажи по дням с 2017ого года а он прогноз однотипный выдал, хотя факт разный.
29. Stepa86 931 10.07.18 22:36 Сейчас в теме
(28) Пророк строит прогноз как Тренд+ГодоваяСезонность+НедельнаяСезонность+ДневнаяСезонност­ь. Тренд определился как константа, для расчета годовой сезонности не хватило данных или она не была определена, дневная сезонность не актуальна. Вот и получилось, что результат прогнозирования состоит из Константа+НедельнаяСезонность
30. Soloist 473 11.07.18 09:21 Сейчас в теме
(28) В данной конфигурации ещё не всё реализовано, но можно попробовать сменить частоту на месяц. Для этого необходимо в метод _Пророк.ПолучитьПрогноз послать третьим параметром структуру с полем Частота равной Месяц

Так-то крутилок много, надо внедрять и крутить)
32. borda4ev 11.07.18 10:20 Сейчас в теме
Вопрос, почему модель строится без фичей, это ограничение библиотеки?
33. Stepa86 931 11.07.18 10:28 Сейчас в теме
(32) А какие фичи вы хотите закинуть в эту модель?

В статье есть ссылка на документацию к библиотеке, там описаны все ее возможности. Эта же статья лишь о том, как можно скрестить ее с 1Ской
34. Soloist 473 11.07.18 12:37 Сейчас в теме
(32) Я с удовольствием бы добавил фичи, если бы их потрогал. Добавить не трудно. Для меня важно понять зачем они мне нужны. А вот понять я смогу, когда возникнет потребность. Сейчас мои задачи немного ушли в другую сторону и я решил выложить, что есть, чтобы не забыть.

Если кто-либо сможет быстрее разобраться, и поделится, то я с удовольствием добавлю с вой проект.

Я в прогнозирование дилетант, так что не обессудьте. Добавить что не попробовал не могу.
36. Hans 101 13.07.18 14:01 Сейчас в теме
почему файл конфигурции можно скачать с яндекс диска а не с Инфостарта?
37. Stepa86 931 13.07.18 16:27 Сейчас в теме
(36) Последняя актуальная cf версия вообще на гитхабе https://github.com/HardAndHeavy/eye-prophet-cf
40. Soloist 473 16.07.18 08:34 Сейчас в теме
(37) Сделал одну точку через github
39. Soloist 473 16.07.18 08:31 Сейчас в теме
41. Hans 101 16.07.18 12:09 Сейчас в теме
42. Soloist 473 17.07.18 08:21 Сейчас в теме
(41) Утащил все ссылки на github. И ссылки только из одной точки, чтобы не было Яндекс.Диска, файлов публикации и github. Теперь все источники в открытом и свободном доступе.

Спасибо за замечание, думаю теперь не будет вопросов у Доржи. Никак не хотел на этом заработать, и всё старался сделать максимально публично.
38. user862956 14.07.18 20:55 Сейчас в теме
Класс!!! Давно пора догонять питон, а то скучно как то...
44. pbabincev 96 19.09.18 00:35 Сейчас в теме
Оставьте свое сообщение