Skip to main content

python-gantt-csv manage gantt.Task arguments with csv format.

Project description

python-gantt-csv manages the arguments of gantt.Task in csv format and resolves dependencies between tasks.
You will be able to edit tasks without worrying about the order in which you define them.

Requirements

This projects needs the following libraries:

Additionnal requirements

Installation

pip install python-gantt-csv

Definition of Task Arguments in CSV Format

column name

valid value

name

str

start

‘today’ or iso format date (Ex: ‘2014-12-26’)

duration

int

percent_done

int

resources

‘None’ or str or colon separated str (Ex: ‘ANO:JLS’)

depends_of

‘None’ or unique str or colon separated unique str (Ex: ‘1:2’)

color

Hex color (Ex: #FF8080)

id

unique str

Usage

Directory structure

.
├── example1.csv
├── example2.csv
└── example.py

Run example

python example.py

example1.csv

name,start,depends_of,duration,percent_done,resources,color,id
tache1,2014-12-25,None,4,44,ANO,#FF8080,1
tache2,2014-12-28,None,6,0,JLS,#c70039,2
tache3,2014-12-25,1:2:6,5,50,ANO:JLS,#f37121,3
tache4,2015-01-01,1,4,40,JLS,#c0e218,4
tache6,2014-12-25,6,4,0,ANO:JLS,#f37121,5
tache7,2014-12-28,None,6,0,JLS,#c0e218,6
tache8,today,6,4,0,ANO:JLS,#111d5e,7

example2.csv

name,start,depends_of,duration,percent_done,resources,color,id
tache5,2014-12-23,None,3,0,ANO:JLS,#f37121,1

example.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import datetime
from pathlib import Path

import gantt

from gantt_csv import create_project_from_csv, RESOURCES


YMD_VACATIONS = [
    (2014, 12, 30),
    (2014, 12, 31),
    (2015, 1, 1),
    (2015, 1, 2),
]


# Change font default
gantt.define_font_attributes(fill='black',
                             stroke='black',
                             stroke_width=0,
                             font_family="Verdana")

# Add vacations for everyone
for year, month, date in YMD_VACATIONS:
    gantt.add_vacations(datetime.date(year, month, date))

# Create project from csv files
projects = []
for csv_path in Path('.').glob('*.csv'):
    p1 = create_project_from_csv(csv_path)
    projects.append(p1)

# Or Create project from list
# task_table = []
# with open("gantt_args1.csv", "rt", encoding="utf-8", newline='') as f:
#     reader = csv.reader(f)
#     for row in reader:
#         task_table.append(row)
# p1 = create_project_from_table(
#     "Example2 project",
#     task_table[1:],
#     header=task_table[0]
# )

# Create parent project
parent_project = gantt.Project(name='Parent Project')
# which contains the other projects
for project in projects:
    parent_project.add_task(project)

# MAKE DRAW
parent_project.make_svg_for_tasks(filename='test_full.svg',
                                  today=datetime.date.today(),
                                  start=datetime.date(2014, 12, 20),
                                  end=datetime.date(2015, 2, 20))
parent_project.make_svg_for_resources(filename='test_resources.svg',
                                      today=datetime.date.today(),
                                      resources=tuple(RESOURCES.values()))
parent_project.make_svg_for_tasks(filename='test_weekly.svg',
                                  today=datetime.date.today(),
                                  scale=gantt.DRAW_WITH_WEEKLY_SCALE)

Licence

GPL v3 or any later version

Author

Shota Horie (horie.shouta at gmail.com)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-gantt-csv-0.4.0.tar.gz (86.2 kB view details)

Uploaded Source

Built Distribution

python_gantt_csv-0.4.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file python-gantt-csv-0.4.0.tar.gz.

File metadata

  • Download URL: python-gantt-csv-0.4.0.tar.gz
  • Upload date:
  • Size: 86.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.10

File hashes

Hashes for python-gantt-csv-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c9f287b6049a5324843b958f8fccf7beeee7f065c56a6285b349d0af7858361b
MD5 7af5722e85b4c4a4bc27b852faf48ab1
BLAKE2b-256 9d4c2bf8fb4db22bc7b11c4a6f16e68e7f9e23f9bb3e7f0291a0723dc7a12c8a

See more details on using hashes here.

File details

Details for the file python_gantt_csv-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: python_gantt_csv-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.10

File hashes

Hashes for python_gantt_csv-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8e32ad497958a1e3d84abf69590c096cfdbf56cfe18bf551adffd27c68644e2
MD5 b42a6192e90970e0dc6afbcb62236fe0
BLAKE2b-256 9cb359c0c7bd3f2ac9001b4b77be92a3ebfc34e21c6722c40d007886d71a7bea

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page