Начало работы — pjplan 0.0.8 documentation

# Начало работы

    [1]:

    import sys
    from datetime import datetime
    sys.path.append('../../../src')
    from pjplan import Task, ForwardScheduler, WBS, MermaidGantt, WeeklyCalendar, Resource, MermaidNetwork

Давайте опишем простую структуру работ:

    [2]:

    with WBS() as prj:
      prj // Task(1, 'Task 1', estimate=40, resource='Developer')
      prj // Task(2, 'Task 2', predecessors=[prj[1]], estimate=20, resource='Developer')
      with prj // Task(3, 'Task 3') as t3:
        t3 // Task(4, 'Task 4', predecessors=[prj[2]], estimate=100, resource='Tester')
        t3 // Task(5, 'Task 5', predecessors=[prj[2]], estimate=50, resource='Tester')

Опишем ресурсы:

    [3]:

    work_calendar = WeeklyCalendar(days=[0,1,2,3,4], units_per_day=8)

    developer = Resource(name='Developer', calendar=work_calendar)
    tester = Resource(name='Tester', calendar=work_calendar)

Теперь мы можем рассчитать расписание для нашего проекта:

    [4]:

    schedule = ForwardScheduler(
        start=datetime.now(),
        resources=[developer, tester]
    ).calc(prj)

и визуализировать его в виде диаграммы Ганта:

    [5]:

    MermaidGantt(schedule.schedule, tick_interval="10day")

    [5]:

а так же сетевой диаграммы:

    [6]:

    MermaidNetwork(schedule.schedule)

    [6]: