Можно ли генерировать изображения и файлы .rst при сборке с помощью read-the-docs? - PullRequest
0 голосов
/ 10 января 2020

У меня есть пакет Python, содержащий модуль данных с некоторыми данными в формате json (https://github.com/oemof/tespy/tree/dev/tespy/data). Я хочу задокументировать эти данные в виде графиков в моей онлайн-документации следующим образом (https://tespy.readthedocs.io/en/dev/api/tespy.data.html).

Возможно ли реализовать сценарий python в сборке readthedocs и автоматически документировать данные сюда? Я думаю, это было бы полезно, так как изменения в данных будут автоматически документироваться. Или это будет плохая практика?

На данный момент у меня есть скрипт python, создающий файл .rst (tespy.data.rst), а также локальные графики (в формате .svg) и загружающие их в хранилище github. Мой код требует matplotlib, pkg_resources, а также json и выглядит следующим образом (с псевдокодом все в порядке или я должен добавить полный код?).

import json
from matplotlib import pyplot as plt
from pkg_resources import resource_filename

def get_data():
    path = resource_filename('tespy.data', 'char_lines.json')

    with open(path) as f:
        data = json.loads(f.read())

    return data

def plot_line(data):
    fig = plt.figure()
    [plotting_code]
    fig.savefig(path + '.svg')

def generate_rst(data):
    [rst code generation here]
    return rst_code

for key, data in get_data().items():
    [data_handling_code_here]
    plot_line(data)
    rst += generate_rst(data)

1 Ответ

0 голосов
/ 17 января 2020

Мне удалось решить эту проблему: я встроил код построения в файл conf.py. Дополнительно я добавил требование readthedocs для matplotlib. См .: https://github.com/oemof/tespy/blob/dev/doc/conf.py и https://github.com/oemof/tespy/blob/dev/rtd_requirements.

...