<jupyter_start><jupyter_text>Networkdays.networkdays()<jupyter_code>import datetime
from networkdays import networkdays

HOLIDAYS  = { datetime.date(2020, 12, 25),}

days = networkdays.Networkdays(datetime.date(2020, 12, 1), datetime.date(2020, 12, 31), holidays=HOLIDAYS) 

# you have methods to get holidays and weekends date list as well.
# here i just got the size of each set
print(f'''
Bussiness days: {len(days.networkdays())}
    {days.networkdays()[:2]} 
    ...{days.networkdays()[-2:]}

Weekends:       {len(days.weekends())} 
    {days.weekends()[:2]} 
    ...{days.weekends()[-2:]}
    
Holidays:       {len(days.holidays())}
''')<jupyter_output>Bussiness days: 22
    [datetime.date(2020, 12, 1), datetime.date(2020, 12, 2)] 
    ...[datetime.date(2020, 12, 30), datetime.date(2020, 12, 31)]

Weekends:       8 
    [datetime.date(2020, 12, 5), datetime.date(2020, 12, 6)] 
    ...[datetime.date(2020, 12, 26), datetime.date(2020, 12, 27)]
    
Holidays:       1<jupyter_text>Networkdays.jobschedule()<jupyter_code># jobSchedule
import datetime
from networkdays import networkdays

# Distribute the 600 hrs of effort, starting on december 1, 2020 working 8hrs per day. 
jobschedule = networkdays.JobSchedule(600, 8, datetime.date(2020, 12, 1), networkdays=None)
job_dates = jobschedule.job_workdays()

# print results ...
print(f'''

bussines days:          {jobschedule.bussines_days}
calendar days:          {jobschedule.total_days}
starts - ends:          {jobschedule.prj_starts} - {jobschedule.prj_ends}

years:                  {list(jobschedule.years())}
months:                 {list(jobschedule.months())}
weeks (ISO):            {list(jobschedule.weeks())}

days:                   
    {list(jobschedule.days())[:2]} ...\n ...{list(jobschedule.days())[-2:]}

Works days dates on january: 
    {list(jobschedule.days())[:2]} ...\n ...{list(jobschedule.days())[-2:]}
''')<jupyter_output>bussines days:          54
calendar days:          73 days, 0:00:00
starts - ends:          12/01/20 - 02/12/21

years:                  [2020, 2021]
months:                 [12, 1, 2]
weeks (ISO):            [49, 50, 51, 52, 53, 1, 2, 3, 4, 5, 6]

days:                   
    [datetime.date(2020, 12, 1), datetime.date(2020, 12, 2)] ...
 ...[datetime.date(2021, 2, 11), datetime.date(2021, 2, 12)]

Works days dates on january: 
    [datetime.date(2020, 12, 1), datetime.date(2020, 12, 2)] ...
 ...[datetime.date(2021, 2, 11), datetime.date(2021, 2, 12)]
{'fraction_non_alphanumeric': 0.16991078669910786, 'fraction_numerical': 0.08921330089213302, 'mean_word_length': 3.044262295081967, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '38027', 'license': 'Apache-2.0', 'n_tokens_mistral': 1074, 'n_tokens_neox': 847, 'n_words': 207, 'path': 'readme_code.ipynb', 'repo_name': 'renzon/networkdays', 'size': '2466'}