Release Schedule#
from datetime import datetime
import os
import math
yearmonth = datetime.today().strftime("%Y-%m")
year = datetime.today().strftime("%Y")
month = int(datetime.today().strftime("%m"))
listDateEnd = [ '2023-01-09','2023-02-06','2023-03-06','2023-04-10','2023-05-22','2023-06-26','2023-07-24','2023-08-21','2023-09-25','2023-10-23','2023-11-20','2023-12-25','2024-01-22','2024-02-19','2024-03-25','2024-04-22','2024-05-27','2024-06-24','2024-07-22','2024-08-26','2024-09-23','2024-10-21','2024-11-25','2024-12-23','2025-01-27','2025-02-24','2025-03-24','2025-04-21','2025-05-26','2025-06-23','2025-07-21','2025-08-25','2025-09-22','2025-10-27','2025-11-24','2025-12-22','2026-01-26','2026-02-23','2026-03-23','2026-04-20','2026-05-25','2026-06-22','2026-07-27','2026-08-24','2026-09-21','2026-10-26','2026-11-23','2026-12-21','2027-01-25','2027-02-22','2027-03-22','2027-04-26','2027-05-24','2027-06-21','2027-07-26','2027-08-23','2027-09-20','2027-10-25','2027-11-22','2027-12-27','2028-01-24','2028-02-21','2028-03-27','2028-04-24','2028-05-22','2028-06-26','2028-07-24','2028-08-21','2028-09-25','2028-10-23','2028-11-20','2028-12-25','2029-01-22','2029-02-19','2029-03-26','2029-04-23','2029-05-21','2029-06-25','2029-07-23','2029-08-27','2029-09-24','2029-10-22','2029-11-26','2029-12-24']
listDateBegin = [ '2023-01-23','2023-02-20','2023-03-27','2023-04-24', '2023-05-08','2023-06-05','2023-07-10','2023-08-07','2023-09-04','2023-10-09','2023-11-06','2023-12-04','2024-01-08','2024-02-05','2024-03-04','2024-04-08','2024-05-06','2024-06-10','2024-07-08','2024-08-05','2024-09-09','2024-10-07','2024-11-04','2024-12-09','2025-01-06','2025-02-10','2025-03-10','2025-04-07','2025-05-05','2025-06-09','2025-07-07','2025-08-04','2025-09-08','2025-10-06','2025-11-10','2025-12-08','2026-01-05','2026-02-09','2026-03-09','2026-04-06','2026-05-04','2026-06-08','2026-07-06','2026-08-10','2026-09-07','2026-10-05','2026-11-09','2026-12-07','2027-01-04','2027-02-08','2027-03-08','2027-04-05','2027-05-10','2027-06-07','2027-07-05','2027-08-09','2027-09-06','2027-10-04','2027-11-08','2027-12-06','2028-01-10','2028-02-07','2028-03-06','2028-04-10','2028-05-08','2028-06-05','2028-07-10','2028-08-07','2028-09-04','2028-10-09','2028-11-06','2028-12-04','2029-01-08','2029-02-05','2029-03-05','2029-04-09','2029-05-07','2029-06-04','2029-07-09','2029-08-06','2029-09-10','2029-10-08','2029-11-05','2029-12-10']
header = """
..
############################################################
USAGE: adjust filename accordingly
############################################################
.. include:: ../../melissa/release-schedule/scripts/test.rst
############################################################
.. table::
:width: 100%
:widths: 40 60
:align: left
====================== ====
Release Date Schedule
====================== ====
"""
h = listDateEnd.index(''.join([i for i in listDateEnd if i.startswith(yearmonth)]))
monthQuarter = year + '-'+ str( "%02d" % ((math.floor((month-1)/3))*3 + 1,) )
j = listDateEnd.index(''.join([i for i in listDateEnd if i.startswith(monthQuarter)]))
monthBi = year + '-'+ str( "%02d" % ((math.floor((month-1)/2))*2 + 1,) )
k = listDateEnd.index(''.join([i for i in listDateEnd if i.startswith(monthBi)]))
monthAnnual = year + '-'+ str( "%02d" % ((math.floor((month-1)/12))*2 + 1,) )
l = listDateEnd.index(''.join([i for i in listDateEnd if i.startswith(monthAnnual)]))
monthlyEnd = header
monthlyBegin = header
bimonthly = header
quarterly = header
quarterlySpecial = header
annually = header
# Get the current script's directory
current_dir = os.getcwd()
# Build the relative path
relative_path_monthly_begin = os.path.join(current_dir, 'source', 'melissa', 'release-schedule', 'scripts', 'MonthlyBegin.rst')
relative_path_monthly_end = os.path.join(current_dir, 'source', 'melissa', 'release-schedule', 'scripts', 'MonthlyEnd.rst')
relative_path_bimonthly = os.path.join(current_dir, 'source', 'melissa', 'release-schedule', 'scripts', 'BiMonthly.rst')
relative_path_quarterly = os.path.join(current_dir, 'source', 'melissa', 'release-schedule', 'scripts', 'Quarterly.rst')
relative_path_quarterly_special = os.path.join(current_dir, 'source', 'melissa', 'release-schedule', 'scripts', 'QuarterlySpecial.rst')
relative_path_annually = os.path.join(current_dir, 'source', 'melissa', 'release-schedule', 'scripts', 'Annually.rst')
# Monthly End
for x in range(h, h+13):
monthlyEnd += " " + listDateEnd[x] + "\n"
monthlyEnd += " ====================== ===="
with open(relative_path_monthly_end, "w") as f:
print(monthlyEnd, file=f)
# Monthly Begin
for x in range(h, h+13):
monthlyBegin += " " + listDateBegin[x] + "\n"
monthlyBegin += " ====================== ===="
with open(relative_path_monthly_begin, "w") as f:
print(monthlyBegin, file=f)
# Bi-Monthly
for x in range(k, k+13, 2):
bimonthly += " " + listDateEnd[x] + "\n"
bimonthly += " ====================== ===="
with open(relative_path_bimonthly, "w") as f:
print(bimonthly, file=f)
# Quarterly
for x in range(j, j+13,3):
quarterly += " " + listDateEnd[x] + "\n"
quarterly += " ====================== ===="
with open(relative_path_quarterly, "w") as f:
print(quarterly, file=f)
# Quarterly Special
for x in range(j+1, j+14,3):
quarterlySpecial += " " + listDateBegin[x] + "\n"
quarterlySpecial += " ====================== ===="
with open(relative_path_quarterly_special, "w") as f:
print(quarterlySpecial, file=f)
# Annually
for x in range(l, l+13,12):
annually += " " + listDateEnd[x] + "\n"
annually += " ====================== ===="
with open(relative_path_annually, "w") as f:
print(annually, file=f)
Please find your product below, grouped by release frequency, to view its upcoming release date schedule.
Monthly#
DQ Suite (Address, Email, Name, Phone)
Release Date Schedule |
|
---|---|
2025-03-10 |
|
2025-04-07 |
|
2025-05-05 |
|
2025-06-09 |
|
2025-07-07 |
|
2025-08-04 |
|
2025-09-08 |
|
2025-10-06 |
|
2025-11-10 |
|
2025-12-08 |
|
2026-01-05 |
|
2026-02-09 |
|
2026-03-09 |
MAILERS+4
Release Date Schedule |
|
---|---|
2025-03-10 |
|
2025-04-07 |
|
2025-05-05 |
|
2025-06-09 |
|
2025-07-07 |
|
2025-08-04 |
|
2025-09-08 |
|
2025-10-06 |
|
2025-11-10 |
|
2025-12-08 |
|
2026-01-05 |
|
2026-02-09 |
|
2026-03-09 |
Zip*Data II
Release Date Schedule |
|
---|---|
2025-03-10 |
|
2025-04-07 |
|
2025-05-05 |
|
2025-06-09 |
|
2025-07-07 |
|
2025-08-04 |
|
2025-09-08 |
|
2025-10-06 |
|
2025-11-10 |
|
2025-12-08 |
|
2026-01-05 |
|
2026-02-09 |
|
2026-03-09 |
ZipInfo (Congressional District, County ZIP Code, National ZIP+4, ZIP List5)
Release Date Schedule |
|
---|---|
2025-03-10 |
|
2025-04-07 |
|
2025-05-05 |
|
2025-06-09 |
|
2025-07-07 |
|
2025-08-04 |
|
2025-09-08 |
|
2025-10-06 |
|
2025-11-10 |
|
2025-12-08 |
|
2026-01-05 |
|
2026-02-09 |
|
2026-03-09 |
Quarterly#
Canadian Geo*Data
Release Date Schedule |
|
---|---|
2025-01-27 |
|
2025-04-21 |
|
2025-07-21 |
|
2025-10-27 |
|
2026-01-26 |
DQC-SSIS
Release Date Schedule |
|
---|---|
2025-02-10 |
|
2025-05-05 |
|
2025-08-04 |
|
2025-11-10 |
|
2026-02-09 |
FONE*Data
Release Date Schedule |
|
---|---|
2025-01-27 |
|
2025-04-21 |
|
2025-07-21 |
|
2025-10-27 |
|
2026-01-26 |
GeoCoder Object
Release Date Schedule |
|
---|---|
2025-01-27 |
|
2025-04-21 |
|
2025-07-21 |
|
2025-10-27 |
|
2026-01-26 |
Geo*Data
Release Date Schedule |
|
---|---|
2025-01-27 |
|
2025-04-21 |
|
2025-07-21 |
|
2025-10-27 |
|
2026-01-26 |
MatchUp Object Global
Release Date Schedule |
|
---|---|
2025-01-27 |
|
2025-04-21 |
|
2025-07-21 |
|
2025-10-27 |
|
2026-01-26 |
Annually#
RightFielder Object
Release Date Schedule |
|
---|---|
2025-01-27 |
|
2026-01-26 |
Cleanser Object (DQC-SSIS)
Release Date Schedule |
|
---|---|
2025-01-27 |
|
2025-04-21 |
|
2025-07-21 |
|
2025-10-27 |
|
2026-01-26 |
Profiler (DQC-SSIS)
Release Date Schedule |
|
---|---|
2025-01-27 |
|
2025-04-21 |
|
2025-07-21 |
|
2025-10-27 |
|
2026-01-26 |