Skip to content

Commit

Permalink
Merge pull request #58 from artshumrc/38_unspecified_and_qualified
Browse files Browse the repository at this point in the history
Handle unspecified + qualified EDTF strings
  • Loading branch information
aweakley authored May 30, 2024
2 parents d550274 + c14a57b commit 8c571b0
Show file tree
Hide file tree
Showing 4 changed files with 164 additions and 4 deletions.
7 changes: 7 additions & 0 deletions edtf/appsettings.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,13 @@
PADDING_MONTH_PRECISION = EDTF.get("PADDING_MONTH_PRECISION", relativedelta(months=1))
PADDING_YEAR_PRECISION = EDTF.get("PADDING_YEAR_PRECISION", relativedelta(years=1))
PADDING_SEASON_PRECISION = EDTF.get("PADDING_SEASON_PRECISION", relativedelta(weeks=12))
PADDING_DECADE_PRECISION = EDTF.get("PADDING_DECADE_PRECISION", relativedelta(years=10))
PADDING_CENTURY_PRECISION = EDTF.get(
"PADDING_CENTURY_PRECISION", relativedelta(years=100)
)
PADDING_MILLENNIUM_PRECISION = EDTF.get(
"PADDING_MILLENNIUM_PRECISION", relativedelta(years=1000)
)
MULTIPLIER_IF_UNCERTAIN = EDTF.get("MULTIPLIER_IF_UNCERTAIN", 1.0)
MULTIPLIER_IF_APPROXIMATE = EDTF.get("MULTIPLIER_IF_APPROXIMATE", 1.0)
MULTIPLIER_IF_BOTH = EDTF.get("MULTIPLIER_IF_BOTH", 2.0)
Expand Down
8 changes: 5 additions & 3 deletions edtf/parser/grammar.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,17 +161,19 @@ def f(toks):
Level1Interval.set_parser(level1Interval)

# (* *** unspecified *** *)
yearWithOneOrTwoUnspecifedDigits = Combine(digit + digit + (digit ^ "X") + "X")("year")
yearWithOneOrTwoOrThreeUnspecifedDigits = Combine(
Optional("-") + digit + (digit ^ "X") + (digit ^ "X") + "X"
)("year")
monthUnspecified = year + "-" + L("XX")("month")
dayUnspecified = yearMonth + "-" + L("XX")("day")
dayAndMonthUnspecified = year + "-" + L("XX")("month") + "-" + L("XX")("day")

unspecified = (
yearWithOneOrTwoUnspecifedDigits
yearWithOneOrTwoOrThreeUnspecifedDigits
^ monthUnspecified
^ dayUnspecified
^ dayAndMonthUnspecified
)
) + Optional(UASymbol)("ua")
Unspecified.set_parser(unspecified)

# (* *** uncertainOrApproxDate *** *)
Expand Down
143 changes: 142 additions & 1 deletion edtf/parser/parser_classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,148 @@ def precision(self):


class Unspecified(Date):
pass
def __init__(
self,
year=None,
month=None,
day=None,
significant_digits=None,
ua=None,
**kwargs,
):
super().__init__(
year=year,
month=month,
day=day,
significant_digits=significant_digits,
**kwargs,
)
self.ua = ua
self.negative = self.year.startswith("-")

def __str__(self):
base = super().__str__()
if self.ua:
base += str(self.ua)
return base

def _get_fuzzy_padding(self, lean):
if not self.ua:
return relativedelta()
multiplier = self.ua._get_multiplier()
padding = relativedelta()

if self.year:
years_padding = self._years_padding(multiplier)
padding += years_padding
if self.month:
padding += relativedelta(
months=int(multiplier * appsettings.PADDING_MONTH_PRECISION.months)
)
if self.day:
padding += relativedelta(
days=int(multiplier * appsettings.PADDING_DAY_PRECISION.days)
)
return padding

def _years_padding(self, multiplier):
"""Calculate year padding based on the precision."""
precision_settings = {
PRECISION_MILLENIUM: appsettings.PADDING_MILLENNIUM_PRECISION.years,
PRECISION_CENTURY: appsettings.PADDING_CENTURY_PRECISION.years,
PRECISION_DECADE: appsettings.PADDING_DECADE_PRECISION.years,
PRECISION_YEAR: appsettings.PADDING_YEAR_PRECISION.years,
}
years = precision_settings.get(self.precision, 0)
return relativedelta(years=int(multiplier * years))

def lower_fuzzy(self):
strict_val = (
self.lower_strict()
) # negative handled in the lower_strict() override
adjusted = apply_delta(sub, strict_val, self._get_fuzzy_padding(EARLIEST))
return adjusted

def upper_fuzzy(self):
strict_val = (
self.upper_strict()
) # negative handled in the upper_strict() override

adjusted = apply_delta(add, strict_val, self._get_fuzzy_padding(LATEST))
return adjusted

def lower_strict(self):
if self.negative:
strict_val = self._strict_date(
lean=LATEST
) # gets the year right, but need to adjust day and month
if self.precision in (
PRECISION_YEAR,
PRECISION_DECADE,
PRECISION_CENTURY,
PRECISION_MILLENIUM,
):
return struct_time(
(strict_val.tm_year, 1, 1)
+ tuple(TIME_EMPTY_TIME)
+ tuple(TIME_EMPTY_EXTRAS)
)
elif self.precision == PRECISION_MONTH:
return struct_time(
(strict_val.tm_year, strict_val.tm_mon, 1)
+ tuple(TIME_EMPTY_TIME)
+ tuple(TIME_EMPTY_EXTRAS)
)
else:
return strict_val
else:
return self._strict_date(lean=EARLIEST)

def upper_strict(self):
if self.negative:
strict_val = self._strict_date(lean=EARLIEST)
if self.precision in (
PRECISION_YEAR,
PRECISION_DECADE,
PRECISION_CENTURY,
PRECISION_MILLENIUM,
):
return struct_time(
(strict_val.tm_year, 12, 31)
+ tuple(TIME_EMPTY_TIME)
+ tuple(TIME_EMPTY_EXTRAS)
)
elif self.precision == PRECISION_MONTH:
days_in_month = calendar.monthrange(
strict_val.tm_year, strict_val.tm_mon
)[1]
return struct_time(
(strict_val.tm_year, strict_val.tm_mon, days_in_month)
+ tuple(TIME_EMPTY_TIME)
+ tuple(TIME_EMPTY_EXTRAS)
)
else:
return strict_val
else:
return self._strict_date(lean=LATEST)

@property
def precision(self):
if self.day:
return PRECISION_DAY
if self.month:
return PRECISION_MONTH
if self.year:
year_no_symbol = self.year.lstrip("-")
if year_no_symbol.isdigit():
return PRECISION_YEAR
if len(year_no_symbol) == 4 and year_no_symbol.endswith("XXX"):
return PRECISION_MILLENIUM
if len(year_no_symbol) == 4 and year_no_symbol.endswith("XX"):
return PRECISION_CENTURY
if len(year_no_symbol) == 4 and year_no_symbol.endswith("X"):
return PRECISION_DECADE
raise ValueError(f"Unspecified date {self} has no precision")


class Level1Interval(Interval):
Expand Down
10 changes: 10 additions & 0 deletions edtf/parser/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,20 @@
("1999-01-XX", ("1999-01-01", "1999-01-31")),
# some day in 1999
("1999-XX-XX", ("1999-01-01", "1999-12-31")),
# negative unspecified year
("-01XX", ("-0199-01-01", "-0100-12-31")),
# Uncertain/Approximate lower boundary dates (BCE)
("-0275~", ("-0275-01-01", "-0275-12-31", "-0276-01-01", "-0274-12-31")),
("-0001~", ("-0001-01-01", "-0001-12-31", "-0002-01-01", "0000-12-31")),
("0000~", ("0000-01-01", "0000-12-31", "-0001-01-01", "0001-12-31")),
# Unspecified and qualified
# "circa 17th century"
("16XX~", ("1600-01-01", "1699-12-31", "1500-01-01", "1799-12-31")),
("16XX%", ("1600-01-01", "1699-12-31", "1400-01-01", "1899-12-31")),
("1XXX", ("1000-01-01", "1999-12-31")),
("1XXX~", ("1000-01-01", "1999-12-31", "0000-01-01", "2999-12-31")),
("156X~", ("1560-01-01", "1569-12-31", "1550-01-01", "1579-12-31")),
("-01XX~", ("-0199-01-01", "-0100-12-31", "-0299-01-01", "0000-12-31")),
# L1 Extended Interval
# beginning unknown, end 2006
# for intervals with an unknown beginning or end, the unknown bound is calculated with the constant DELTA_IF_UNKNOWN (10 years)
Expand Down

15 comments on commit 8c571b0

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/edtf
   __init__.py40100% 
   appsettings.py27485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py922177%88, 93, 95, 98–99, 101–102, 104, 109, 113–116, 155, 157, 159, 169–170, 174–175, 183
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1487152%34, 44–45, 47–50, 55–56, 59–62, 64, 68–71, 73–74, 76–78, 86–88, 90–94, 104, 106, 119, 126, 157–159, 161–166, 169–171, 173–178, 202–205, 209, 224, 226–227, 229, 246, 248, 256, 258, 260, 262, 267, 270, 276
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123992%147–150, 348, 352–355
   parser_classes.py61733745%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 478, 485, 501, 510–512, 514–516, 519–520, 522, 525–528, 530, 532–534, 536, 540, 553, 560–561, 564–567, 570–573, 575–579, 582–583, 586, 590, 596–597, 600, 603–604, 607, 611–612, 615–616, 619, 625, 630–631, 637, 639, 642–644, 650, 655–656, 659, 665, 667, 671–685, 690–692, 696, 698, 701–703, 707, 709, 714–717, 722–723, 728–729, 731, 734, 737–739, 741, 744, 747–750, 752–758, 765–768, 770–776, 785–786, 789, 792, 795–797, 799, 807, 826–828, 830–833, 835–836, 838–839, 841, 844–845, 847–848, 850, 852, 854–855, 857, 859–864, 866, 868, 870–871, 873, 876–878, 881–883, 886–888, 896, 898–899, 902–903, 906–907, 910–911, 913–914, 918, 922–923, 926, 931–932, 936–937, 939–947, 949, 959–960, 962, 964–965, 967, 970, 975, 980, 986–987, 990, 993, 996, 998–1000, 1002, 1007–1008, 1010, 1019–1020, 1023, 1026, 1029–1030, 1032, 1041–1042, 1044–1046, 1048, 1057–1059, 1064, 1067–1068, 1070, 1075
   tests.py76760%3–4, 6, 8–10, 26, 229, 243, 265, 267–270, 272–274, 276–280, 283–284, 286–287, 290–292, 295–296, 299–302, 305, 308–312, 315, 318, 321, 324–329, 332, 335, 338, 343–344, 346–347, 350, 352–357, 359–366, 369–371, 373
edtf
   __init__.py40100% 
   appsettings.py27292%12–13
   convert.py631182%11–19, 21, 73
   fields.py92920%1, 3–6, 8–10, 12, 20, 26, 28, 30–32, 35–36, 48–49, 64, 66, 69, 71–74, 76–80, 82–83, 85, 87–88, 90, 92–93, 95, 97–99, 101–102, 104, 106–109, 111, 113–116, 118, 127–129, 132, 135, 141–142, 144–146, 149, 153, 155, 157, 159, 162–175, 181, 183–184, 186–187, 192–193
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1481192%56, 59, 119, 165–166, 177–178, 204–205, 209, 276
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123199%354
   parser_classes.py6179884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 540, 571, 579, 583, 630–631, 637, 655–656, 659, 665, 672, 674, 678, 685, 744, 750, 754, 768, 772, 845, 863–864, 866, 871, 877, 882, 887, 923, 926, 932, 937, 939–947, 962, 967, 1044, 1048, 1075
   tests.py76198%373
TOTAL267697063% 

Tests Skipped Failures Errors Time
256 0 💤 0 ❌ 0 🔥 2.711s ⏱️

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/edtf
   __init__.py40100% 
   appsettings.py27485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py922177%88, 93, 95, 98–99, 101–102, 104, 109, 113–116, 155, 157, 159, 169–170, 174–175, 183
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1487152%34, 44–45, 47–50, 55–56, 59–62, 64, 68–71, 73–74, 76–78, 86–88, 90–94, 104, 106, 119, 126, 157–159, 161–166, 169–171, 173–178, 202–205, 209, 224, 226–227, 229, 246, 248, 256, 258, 260, 262, 267, 270, 276
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123992%147–150, 348, 352–355
   parser_classes.py61733745%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 478, 485, 501, 510–512, 514–516, 519–520, 522, 525–528, 530, 532–534, 536, 540, 553, 560–561, 564–567, 570–573, 575–579, 582–583, 586, 590, 596–597, 600, 603–604, 607, 611–612, 615–616, 619, 625, 630–631, 637, 639, 642–644, 650, 655–656, 659, 665, 667, 671–685, 690–692, 696, 698, 701–703, 707, 709, 714–717, 722–723, 728–729, 731, 734, 737–739, 741, 744, 747–750, 752–758, 765–768, 770–776, 785–786, 789, 792, 795–797, 799, 807, 826–828, 830–833, 835–836, 838–839, 841, 844–845, 847–848, 850, 852, 854–855, 857, 859–864, 866, 868, 870–871, 873, 876–878, 881–883, 886–888, 896, 898–899, 902–903, 906–907, 910–911, 913–914, 918, 922–923, 926, 931–932, 936–937, 939–947, 949, 959–960, 962, 964–965, 967, 970, 975, 980, 986–987, 990, 993, 996, 998–1000, 1002, 1007–1008, 1010, 1019–1020, 1023, 1026, 1029–1030, 1032, 1041–1042, 1044–1046, 1048, 1057–1059, 1064, 1067–1068, 1070, 1075
   tests.py76760%3–4, 6, 8–10, 26, 229, 243, 265, 267–270, 272–274, 276–280, 283–284, 286–287, 290–292, 295–296, 299–302, 305, 308–312, 315, 318, 321, 324–329, 332, 335, 338, 343–344, 346–347, 350, 352–357, 359–366, 369–371, 373
edtf
   __init__.py40100% 
   appsettings.py27292%12–13
   convert.py631182%11–19, 21, 73
   fields.py92920%1, 3–6, 8–10, 12, 20, 26, 28, 30–32, 35–36, 48–49, 64, 66, 69, 71–74, 76–80, 82–83, 85, 87–88, 90, 92–93, 95, 97–99, 101–102, 104, 106–109, 111, 113–116, 118, 127–129, 132, 135, 141–142, 144–146, 149, 153, 155, 157, 159, 162–175, 181, 183–184, 186–187, 192–193
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1481192%56, 59, 119, 165–166, 177–178, 204–205, 209, 276
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123199%354
   parser_classes.py6179884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 540, 571, 579, 583, 630–631, 637, 655–656, 659, 665, 672, 674, 678, 685, 744, 750, 754, 768, 772, 845, 863–864, 866, 871, 877, 882, 887, 923, 926, 932, 937, 939–947, 962, 967, 1044, 1048, 1075
   tests.py76198%373
TOTAL267697063% 

Tests Skipped Failures Errors Time
256 0 💤 0 ❌ 0 🔥 2.620s ⏱️

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/edtf
   __init__.py40100% 
   appsettings.py27485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py922177%88, 93, 95, 98–99, 101–102, 104, 109, 113–116, 155, 157, 159, 169–170, 174–175, 183
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1487152%34, 44–45, 47–50, 55–56, 59–62, 64, 68–71, 73–74, 76–78, 86–88, 90–94, 104, 106, 119, 126, 157–159, 161–166, 169–171, 173–178, 202–205, 209, 224, 226–227, 229, 246, 248, 256, 258, 260, 262, 267, 270, 276
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123992%147–150, 348, 352–355
   parser_classes.py61733745%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 478, 485, 501, 510–512, 514–516, 519–520, 522, 525–528, 530, 532–534, 536, 540, 553, 560–561, 564–567, 570–573, 575–579, 582–583, 586, 590, 596–597, 600, 603–604, 607, 611–612, 615–616, 619, 625, 630–631, 637, 639, 642–644, 650, 655–656, 659, 665, 667, 671–685, 690–692, 696, 698, 701–703, 707, 709, 714–717, 722–723, 728–729, 731, 734, 737–739, 741, 744, 747–750, 752–758, 765–768, 770–776, 785–786, 789, 792, 795–797, 799, 807, 826–828, 830–833, 835–836, 838–839, 841, 844–845, 847–848, 850, 852, 854–855, 857, 859–864, 866, 868, 870–871, 873, 876–878, 881–883, 886–888, 896, 898–899, 902–903, 906–907, 910–911, 913–914, 918, 922–923, 926, 931–932, 936–937, 939–947, 949, 959–960, 962, 964–965, 967, 970, 975, 980, 986–987, 990, 993, 996, 998–1000, 1002, 1007–1008, 1010, 1019–1020, 1023, 1026, 1029–1030, 1032, 1041–1042, 1044–1046, 1048, 1057–1059, 1064, 1067–1068, 1070, 1075
   tests.py76760%3–4, 6, 8–10, 26, 229, 243, 265, 267–270, 272–274, 276–280, 283–284, 286–287, 290–292, 295–296, 299–302, 305, 308–312, 315, 318, 321, 324–329, 332, 335, 338, 343–344, 346–347, 350, 352–357, 359–366, 369–371, 373
edtf
   __init__.py40100% 
   appsettings.py27292%12–13
   convert.py631182%11–19, 21, 73
   fields.py92920%1, 3–6, 8–10, 12, 20, 26, 28, 30–32, 35–36, 48–49, 64, 66, 69, 71–74, 76–80, 82–83, 85, 87–88, 90, 92–93, 95, 97–99, 101–102, 104, 106–109, 111, 113–116, 118, 127–129, 132, 135, 141–142, 144–146, 149, 153, 155, 157, 159, 162–175, 181, 183–184, 186–187, 192–193
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1481192%56, 59, 119, 165–166, 177–178, 204–205, 209, 276
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123199%354
   parser_classes.py6179884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 540, 571, 579, 583, 630–631, 637, 655–656, 659, 665, 672, 674, 678, 685, 744, 750, 754, 768, 772, 845, 863–864, 866, 871, 877, 882, 887, 923, 926, 932, 937, 939–947, 962, 967, 1044, 1048, 1075
   tests.py76198%373
TOTAL267697063% 

Tests Skipped Failures Errors Time
256 0 💤 0 ❌ 0 🔥 3.957s ⏱️

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/edtf
   __init__.py40100% 
   appsettings.py27485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py922177%88, 93, 95, 98–99, 101–102, 104, 109, 113–116, 155, 157, 159, 169–170, 174–175, 183
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1487152%34, 44–45, 47–50, 55–56, 59–62, 64, 68–71, 73–74, 76–78, 86–88, 90–94, 104, 106, 119, 126, 157–159, 161–166, 169–171, 173–178, 202–205, 209, 224, 226–227, 229, 246, 248, 256, 258, 260, 262, 267, 270, 276
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123992%147–150, 348, 352–355
   parser_classes.py61733745%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 478, 485, 501, 510–512, 514–516, 519–520, 522, 525–528, 530, 532–534, 536, 540, 553, 560–561, 564–567, 570–573, 575–579, 582–583, 586, 590, 596–597, 600, 603–604, 607, 611–612, 615–616, 619, 625, 630–631, 637, 639, 642–644, 650, 655–656, 659, 665, 667, 671–685, 690–692, 696, 698, 701–703, 707, 709, 714–717, 722–723, 728–729, 731, 734, 737–739, 741, 744, 747–750, 752–758, 765–768, 770–776, 785–786, 789, 792, 795–797, 799, 807, 826–828, 830–833, 835–836, 838–839, 841, 844–845, 847–848, 850, 852, 854–855, 857, 859–864, 866, 868, 870–871, 873, 876–878, 881–883, 886–888, 896, 898–899, 902–903, 906–907, 910–911, 913–914, 918, 922–923, 926, 931–932, 936–937, 939–947, 949, 959–960, 962, 964–965, 967, 970, 975, 980, 986–987, 990, 993, 996, 998–1000, 1002, 1007–1008, 1010, 1019–1020, 1023, 1026, 1029–1030, 1032, 1041–1042, 1044–1046, 1048, 1057–1059, 1064, 1067–1068, 1070, 1075
   tests.py76760%3–4, 6, 8–10, 26, 229, 243, 265, 267–270, 272–274, 276–280, 283–284, 286–287, 290–292, 295–296, 299–302, 305, 308–312, 315, 318, 321, 324–329, 332, 335, 338, 343–344, 346–347, 350, 352–357, 359–366, 369–371, 373
edtf
   __init__.py40100% 
   appsettings.py27292%12–13
   convert.py631182%11–19, 21, 73
   fields.py92920%1, 3–6, 8–10, 12, 20, 26, 28, 30–32, 35–36, 48–49, 64, 66, 69, 71–74, 76–80, 82–83, 85, 87–88, 90, 92–93, 95, 97–99, 101–102, 104, 106–109, 111, 113–116, 118, 127–129, 132, 135, 141–142, 144–146, 149, 153, 155, 157, 159, 162–175, 181, 183–184, 186–187, 192–193
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1481192%56, 59, 119, 165–166, 177–178, 204–205, 209, 276
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123199%354
   parser_classes.py6179884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 540, 571, 579, 583, 630–631, 637, 655–656, 659, 665, 672, 674, 678, 685, 744, 750, 754, 768, 772, 845, 863–864, 866, 871, 877, 882, 887, 923, 926, 932, 937, 939–947, 962, 967, 1044, 1048, 1075
   tests.py76198%373
TOTAL267697063% 

Tests Skipped Failures Errors Time
256 0 💤 0 ❌ 0 🔥 2.591s ⏱️

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/edtf
   __init__.py40100% 
   appsettings.py27485%10–13
   convert.py634430%11–19, 21, 38–39, 52, 61, 72–73, 75, 104, 107–109, 113, 117, 136–156
   fields.py922177%88, 93, 95, 98–99, 101–102, 104, 109, 113–116, 155, 157, 159, 169–170, 174–175, 183
   jdutil.py986632%37, 55, 91–92, 105, 152, 154–155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 251–252, 254–255, 257–258, 260, 262, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py71710%3–4, 6, 9–13, 16–21, 24–25, 28–29, 32–37, 40–44, 52–53, 56–62, 65–71, 74–79, 82–85, 88–91, 94–97, 100–107
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/edtf/natlang
   __init__.py20100% 
   en.py1487152%34, 44–45, 47–50, 55–56, 59–62, 64, 68–71, 73–74, 76–78, 86–88, 90–94, 104, 106, 119, 126, 157–159, 161–166, 169–171, 173–178, 202–205, 209, 224, 226–227, 229, 246, 248, 256, 258, 260, 262, 267, 270, 276
   tests.py10100%3, 5, 10, 179, 184–185, 190–191, 207, 211
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123992%147–150, 348, 352–355
   parser_classes.py61733745%69, 71, 78–81, 83–84, 86–87, 110–112, 116, 119, 122, 181, 183, 190, 192, 198–202, 207–213, 220–224, 229–235, 246, 257, 286, 290, 302–304, 309, 317–319, 322, 337–338, 342, 371–375, 378, 383–384, 387, 390, 393, 396–400, 403–407, 427–429, 453, 457, 462, 464, 478, 485, 501, 510–512, 514–516, 519–520, 522, 525–528, 530, 532–534, 536, 540, 553, 560–561, 564–567, 570–573, 575–579, 582–583, 586, 590, 596–597, 600, 603–604, 607, 611–612, 615–616, 619, 625, 630–631, 637, 639, 642–644, 650, 655–656, 659, 665, 667, 671–685, 690–692, 696, 698, 701–703, 707, 709, 714–717, 722–723, 728–729, 731, 734, 737–739, 741, 744, 747–750, 752–758, 765–768, 770–776, 785–786, 789, 792, 795–797, 799, 807, 826–828, 830–833, 835–836, 838–839, 841, 844–845, 847–848, 850, 852, 854–855, 857, 859–864, 866, 868, 870–871, 873, 876–878, 881–883, 886–888, 896, 898–899, 902–903, 906–907, 910–911, 913–914, 918, 922–923, 926, 931–932, 936–937, 939–947, 949, 959–960, 962, 964–965, 967, 970, 975, 980, 986–987, 990, 993, 996, 998–1000, 1002, 1007–1008, 1010, 1019–1020, 1023, 1026, 1029–1030, 1032, 1041–1042, 1044–1046, 1048, 1057–1059, 1064, 1067–1068, 1070, 1075
   tests.py76760%3–4, 6, 8–10, 26, 229, 243, 265, 267–270, 272–274, 276–280, 283–284, 286–287, 290–292, 295–296, 299–302, 305, 308–312, 315, 318, 321, 324–329, 332, 335, 338, 343–344, 346–347, 350, 352–357, 359–366, 369–371, 373
edtf
   __init__.py40100% 
   appsettings.py27292%12–13
   convert.py631182%11–19, 21, 73
   fields.py92920%1, 3–6, 8–10, 12, 20, 26, 28, 30–32, 35–36, 48–49, 64, 66, 69, 71–74, 76–80, 82–83, 85, 87–88, 90, 92–93, 95, 97–99, 101–102, 104, 106–109, 111, 113–116, 118, 127–129, 132, 135, 141–142, 144–146, 149, 153, 155, 157, 159, 162–175, 181, 183–184, 186–187, 192–193
   jdutil.py984455%37, 55, 91–92, 287, 291, 314, 316–317, 319, 321, 346, 348, 350, 370–372, 374, 376, 378, 381–383, 385, 387, 389, 392–393, 395, 397, 399–400, 402, 405–407, 410–413, 415, 417, 424, 431
   tests.py710100% 
edtf/natlang
   __init__.py20100% 
   en.py1481192%56, 59, 119, 165–166, 177–178, 204–205, 209, 276
   tests.py10190%211
edtf/parser
   __init__.py40100% 
   edtf_exceptions.py30100% 
   grammar.py123199%354
   parser_classes.py6179884%110–112, 119, 122, 183, 189–193, 200–202, 209–213, 222–224, 229–235, 246, 337–338, 371–375, 378, 393, 396–400, 403–407, 427–429, 540, 571, 579, 583, 630–631, 637, 655–656, 659, 665, 672, 674, 678, 685, 744, 750, 754, 768, 772, 845, 863–864, 866, 871, 877, 882, 887, 923, 926, 932, 937, 939–947, 962, 967, 1044, 1048, 1075
   tests.py76198%373
TOTAL267697063% 

Tests Skipped Failures Errors Time
256 0 💤 0 ❌ 0 🔥 2.622s ⏱️

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 115473.28247708819 iter/sec (stddev: 6.892217226180227e-7) 82535.56787296855 iter/sec (stddev: 0.0000010078962624879046) 0.71
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 11239.693362139922 iter/sec (stddev: 0.0000062995755467124265) 8645.999738534196 iter/sec (stddev: 0.000011265293666369967) 0.77
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 14199.144153269403 iter/sec (stddev: 0.000004070462840967704) 10952.756036235593 iter/sec (stddev: 0.000005240427710201407) 0.77
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 9455.59831235901 iter/sec (stddev: 0.000005623000075420308) 7048.883308811026 iter/sec (stddev: 0.000007157051529382251) 0.75
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 16743.094508806415 iter/sec (stddev: 0.0000035892662869897017) 12756.442986095128 iter/sec (stddev: 0.000004588352550492114) 0.76
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 11889.476127421716 iter/sec (stddev: 0.000004273841808583704) 8986.630337254512 iter/sec (stddev: 0.000008235577738692793) 0.76
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 7297.001298847354 iter/sec (stddev: 0.000013008418162100413) 5744.400239709143 iter/sec (stddev: 0.0000078123241257205) 0.79
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 10213.512330468131 iter/sec (stddev: 0.000004474343440981806) 7681.897896548731 iter/sec (stddev: 0.000005452071376552357) 0.75
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 69650.12362417835 iter/sec (stddev: 0.000001159741238040356) 50197.46390626085 iter/sec (stddev: 0.0000010958753251934646) 0.72
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 57354.65822843898 iter/sec (stddev: 9.90296317102358e-7) 43203.81855521334 iter/sec (stddev: 0.000001568144846181918) 0.75
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 33041.229140187716 iter/sec (stddev: 0.0000033462695990736427) 24259.752761371914 iter/sec (stddev: 0.0000030103162544902437) 0.73
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 140.79008517429807 iter/sec (stddev: 0.0005742656397720291) 156.28506529866405 iter/sec (stddev: 0.0005626952095537637) 1.11
edtf/parser/tests.py::test_benchmark_parser[2008-12] 149.33618548102538 iter/sec (stddev: 0.0017877336651241852) 163.72358760223312 iter/sec (stddev: 0.002264199426244651) 1.10
edtf/parser/tests.py::test_benchmark_parser[2008] 182.11509709764061 iter/sec (stddev: 0.001789198261135137) 189.53126779009347 iter/sec (stddev: 0.002426213463589815) 1.04
edtf/parser/tests.py::test_benchmark_parser[-0999] 184.9315330641581 iter/sec (stddev: 0.001932658300256475) 199.61813313403985 iter/sec (stddev: 0.0018783191918705683) 1.08
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 128.9487929086597 iter/sec (stddev: 0.0005701507961519228) 135.085855478056 iter/sec (stddev: 0.0025625931131327702) 1.05
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 99.63586479037822 iter/sec (stddev: 0.00197504485807701) 128.5872964981493 iter/sec (stddev: 0.002615314869635075) 1.29
edtf/parser/tests.py::test_benchmark_parser[/2006] 236.97575077583576 iter/sec (stddev: 0.00016958956343277954) 330.74361805221474 iter/sec (stddev: 0.000337110575727405) 1.40
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 193.40269878640743 iter/sec (stddev: 0.0011523680272047042) 220.13324044947495 iter/sec (stddev: 0.0014591543364528786) 1.14
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 19.034387555964127 iter/sec (stddev: 0.0020161986609378403) 32.746611658442596 iter/sec (stddev: 0.0008438619857916163) 1.72
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 408.7536574482525 iter/sec (stddev: 0.00010381520587162339) 465.6138340758296 iter/sec (stddev: 0.0009444374455410944) 1.14
edtf/parser/tests.py::test_benchmark_parser[2001-29] 107.03202662605699 iter/sec (stddev: 0.0025653094167466545) 116.5001285392887 iter/sec (stddev: 0.00219781131059198) 1.09

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 115473.28247708819 iter/sec (stddev: 6.892217226180227e-7) 118820.602122959 iter/sec (stddev: 5.879749575291134e-7) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 11239.693362139922 iter/sec (stddev: 0.0000062995755467124265) 11440.170052804406 iter/sec (stddev: 0.000005223699361390938) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 14199.144153269403 iter/sec (stddev: 0.000004070462840967704) 14073.963015410847 iter/sec (stddev: 0.0000047980723045282624) 0.99
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 9455.59831235901 iter/sec (stddev: 0.000005623000075420308) 9405.665977132232 iter/sec (stddev: 0.0000049766544214081825) 0.99
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 16743.094508806415 iter/sec (stddev: 0.0000035892662869897017) 16729.471825407996 iter/sec (stddev: 0.000003343756185421422) 1.00
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 11889.476127421716 iter/sec (stddev: 0.000004273841808583704) 11755.63224352206 iter/sec (stddev: 0.000004732447883893759) 0.99
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 7297.001298847354 iter/sec (stddev: 0.000013008418162100413) 7434.433759517973 iter/sec (stddev: 0.000006069773121525858) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 10213.512330468131 iter/sec (stddev: 0.000004474343440981806) 10248.163923601813 iter/sec (stddev: 0.000004869653438371242) 1.00
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 69650.12362417835 iter/sec (stddev: 0.000001159741238040356) 66813.77697393876 iter/sec (stddev: 0.0000010322913630051904) 0.96
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 57354.65822843898 iter/sec (stddev: 9.90296317102358e-7) 56606.90431454123 iter/sec (stddev: 9.498208461992206e-7) 0.99
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 33041.229140187716 iter/sec (stddev: 0.0000033462695990736427) 32671.928892714455 iter/sec (stddev: 0.0000021452155293833698) 0.99
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 140.79008517429807 iter/sec (stddev: 0.0005742656397720291) 152.53373016501564 iter/sec (stddev: 0.0005518283912429752) 1.08
edtf/parser/tests.py::test_benchmark_parser[2008-12] 149.33618548102538 iter/sec (stddev: 0.0017877336651241852) 157.67573506289054 iter/sec (stddev: 0.0018769487138548485) 1.06
edtf/parser/tests.py::test_benchmark_parser[2008] 182.11509709764061 iter/sec (stddev: 0.001789198261135137) 192.42524972291878 iter/sec (stddev: 0.001888079639615709) 1.06
edtf/parser/tests.py::test_benchmark_parser[-0999] 184.9315330641581 iter/sec (stddev: 0.001932658300256475) 195.8663190577094 iter/sec (stddev: 0.0019249621626913748) 1.06
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 128.9487929086597 iter/sec (stddev: 0.0005701507961519228) 132.8189362923735 iter/sec (stddev: 0.0020073482812867516) 1.03
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 99.63586479037822 iter/sec (stddev: 0.00197504485807701) 119.0178036319311 iter/sec (stddev: 0.0020534048789457326) 1.19
edtf/parser/tests.py::test_benchmark_parser[/2006] 236.97575077583576 iter/sec (stddev: 0.00016958956343277954) 252.74922056244225 iter/sec (stddev: 0.0011464213104177997) 1.07
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 193.40269878640743 iter/sec (stddev: 0.0011523680272047042) 201.8566586919196 iter/sec (stddev: 0.0006373808881074358) 1.04
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 19.034387555964127 iter/sec (stddev: 0.0020161986609378403) 21.591407486618095 iter/sec (stddev: 0.00386000001105658) 1.13
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 408.7536574482525 iter/sec (stddev: 0.00010381520587162339) 498.9626899087608 iter/sec (stddev: 0.00007658855766406677) 1.22
edtf/parser/tests.py::test_benchmark_parser[2001-29] 107.03202662605699 iter/sec (stddev: 0.0025653094167466545) 114.71918539214317 iter/sec (stddev: 0.00170992741084812) 1.07

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 77630.15869463485 iter/sec (stddev: 9.532488953649598e-7) 82535.56787296855 iter/sec (stddev: 0.0000010078962624879046) 1.06
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8562.827782663562 iter/sec (stddev: 0.000005890487212241515) 8645.999738534196 iter/sec (stddev: 0.000011265293666369967) 1.01
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 10638.283162590493 iter/sec (stddev: 0.000010150909086859222) 10952.756036235593 iter/sec (stddev: 0.000005240427710201407) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 7001.018396118417 iter/sec (stddev: 0.00000633874299818531) 7048.883308811026 iter/sec (stddev: 0.000007157051529382251) 1.01
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 12543.828394647502 iter/sec (stddev: 0.000010677404233182202) 12756.442986095128 iter/sec (stddev: 0.000004588352550492114) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 8827.86430939172 iter/sec (stddev: 0.000011023073365087437) 8986.630337254512 iter/sec (stddev: 0.000008235577738692793) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 5672.425128051711 iter/sec (stddev: 0.000006841684598898733) 5744.400239709143 iter/sec (stddev: 0.0000078123241257205) 1.01
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 7494.617621801088 iter/sec (stddev: 0.00001579902647925606) 7681.897896548731 iter/sec (stddev: 0.000005452071376552357) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 50062.584528723266 iter/sec (stddev: 0.000001341790578819711) 50197.46390626085 iter/sec (stddev: 0.0000010958753251934646) 1.00
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 43114.01576137538 iter/sec (stddev: 0.0000013018284253157786) 43203.81855521334 iter/sec (stddev: 0.000001568144846181918) 1.00
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 24494.963389278204 iter/sec (stddev: 0.0000026253622906564036) 24259.752761371914 iter/sec (stddev: 0.0000030103162544902437) 0.99
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 164.22004283018052 iter/sec (stddev: 0.0003931099430395793) 156.28506529866405 iter/sec (stddev: 0.0005626952095537637) 0.95
edtf/parser/tests.py::test_benchmark_parser[2008-12] 167.13379086504494 iter/sec (stddev: 0.0022112498799979007) 163.72358760223312 iter/sec (stddev: 0.002264199426244651) 0.98
edtf/parser/tests.py::test_benchmark_parser[2008] 204.1525094584021 iter/sec (stddev: 0.0015942696093719177) 189.53126779009347 iter/sec (stddev: 0.002426213463589815) 0.93
edtf/parser/tests.py::test_benchmark_parser[-0999] 197.44806503454407 iter/sec (stddev: 0.0019906773321384276) 199.61813313403985 iter/sec (stddev: 0.0018783191918705683) 1.01
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 144.24625762718858 iter/sec (stddev: 0.0017543021037471976) 135.085855478056 iter/sec (stddev: 0.0025625931131327702) 0.94
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 121.09553614351807 iter/sec (stddev: 0.0017072066931886852) 128.5872964981493 iter/sec (stddev: 0.002615314869635075) 1.06
edtf/parser/tests.py::test_benchmark_parser[/2006] 323.67550221505735 iter/sec (stddev: 0.001033612812087955) 330.74361805221474 iter/sec (stddev: 0.000337110575727405) 1.02
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 221.9518591243202 iter/sec (stddev: 0.0013481207704537468) 220.13324044947495 iter/sec (stddev: 0.0014591543364528786) 0.99
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 32.504127423901686 iter/sec (stddev: 0.0004688147362672703) 32.746611658442596 iter/sec (stddev: 0.0008438619857916163) 1.01
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 447.51664846255244 iter/sec (stddev: 0.00006378647789237606) 465.6138340758296 iter/sec (stddev: 0.0009444374455410944) 1.04
edtf/parser/tests.py::test_benchmark_parser[2001-29] 118.23086698094892 iter/sec (stddev: 0.002535503865553342) 116.5001285392887 iter/sec (stddev: 0.00219781131059198) 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 77630.15869463485 iter/sec (stddev: 9.532488953649598e-7) 118820.602122959 iter/sec (stddev: 5.879749575291134e-7) 1.53
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8562.827782663562 iter/sec (stddev: 0.000005890487212241515) 11440.170052804406 iter/sec (stddev: 0.000005223699361390938) 1.34
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 10638.283162590493 iter/sec (stddev: 0.000010150909086859222) 14073.963015410847 iter/sec (stddev: 0.0000047980723045282624) 1.32
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 7001.018396118417 iter/sec (stddev: 0.00000633874299818531) 9405.665977132232 iter/sec (stddev: 0.0000049766544214081825) 1.34
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 12543.828394647502 iter/sec (stddev: 0.000010677404233182202) 16729.471825407996 iter/sec (stddev: 0.000003343756185421422) 1.33
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 8827.86430939172 iter/sec (stddev: 0.000011023073365087437) 11755.63224352206 iter/sec (stddev: 0.000004732447883893759) 1.33
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 5672.425128051711 iter/sec (stddev: 0.000006841684598898733) 7434.433759517973 iter/sec (stddev: 0.000006069773121525858) 1.31
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 7494.617621801088 iter/sec (stddev: 0.00001579902647925606) 10248.163923601813 iter/sec (stddev: 0.000004869653438371242) 1.37
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 50062.584528723266 iter/sec (stddev: 0.000001341790578819711) 66813.77697393876 iter/sec (stddev: 0.0000010322913630051904) 1.33
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 43114.01576137538 iter/sec (stddev: 0.0000013018284253157786) 56606.90431454123 iter/sec (stddev: 9.498208461992206e-7) 1.31
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 24494.963389278204 iter/sec (stddev: 0.0000026253622906564036) 32671.928892714455 iter/sec (stddev: 0.0000021452155293833698) 1.33
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 164.22004283018052 iter/sec (stddev: 0.0003931099430395793) 152.53373016501564 iter/sec (stddev: 0.0005518283912429752) 0.93
edtf/parser/tests.py::test_benchmark_parser[2008-12] 167.13379086504494 iter/sec (stddev: 0.0022112498799979007) 157.67573506289054 iter/sec (stddev: 0.0018769487138548485) 0.94
edtf/parser/tests.py::test_benchmark_parser[2008] 204.1525094584021 iter/sec (stddev: 0.0015942696093719177) 192.42524972291878 iter/sec (stddev: 0.001888079639615709) 0.94
edtf/parser/tests.py::test_benchmark_parser[-0999] 197.44806503454407 iter/sec (stddev: 0.0019906773321384276) 195.8663190577094 iter/sec (stddev: 0.0019249621626913748) 0.99
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 144.24625762718858 iter/sec (stddev: 0.0017543021037471976) 132.8189362923735 iter/sec (stddev: 0.0020073482812867516) 0.92
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 121.09553614351807 iter/sec (stddev: 0.0017072066931886852) 119.0178036319311 iter/sec (stddev: 0.0020534048789457326) 0.98
edtf/parser/tests.py::test_benchmark_parser[/2006] 323.67550221505735 iter/sec (stddev: 0.001033612812087955) 252.74922056244225 iter/sec (stddev: 0.0011464213104177997) 0.78
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 221.9518591243202 iter/sec (stddev: 0.0013481207704537468) 201.8566586919196 iter/sec (stddev: 0.0006373808881074358) 0.91
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 32.504127423901686 iter/sec (stddev: 0.0004688147362672703) 21.591407486618095 iter/sec (stddev: 0.00386000001105658) 0.66
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 447.51664846255244 iter/sec (stddev: 0.00006378647789237606) 498.9626899087608 iter/sec (stddev: 0.00007658855766406677) 1.11
edtf/parser/tests.py::test_benchmark_parser[2001-29] 118.23086698094892 iter/sec (stddev: 0.002535503865553342) 114.71918539214317 iter/sec (stddev: 0.00170992741084812) 0.97

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 70377.46304053394 iter/sec (stddev: 0.0000010431992410921063) 82535.56787296855 iter/sec (stddev: 0.0000010078962624879046) 1.17
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8117.020311468955 iter/sec (stddev: 0.00000608785296473572) 8645.999738534196 iter/sec (stddev: 0.000011265293666369967) 1.07
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 9815.38443996785 iter/sec (stddev: 0.000005128026648545201) 10952.756036235593 iter/sec (stddev: 0.000005240427710201407) 1.12
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 6657.454499121609 iter/sec (stddev: 0.000006605589332217527) 7048.883308811026 iter/sec (stddev: 0.000007157051529382251) 1.06
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 11412.291154824388 iter/sec (stddev: 0.0000047465604556007605) 12756.442986095128 iter/sec (stddev: 0.000004588352550492114) 1.12
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 8368.135389861027 iter/sec (stddev: 0.000006985066674024882) 8986.630337254512 iter/sec (stddev: 0.000008235577738692793) 1.07
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 5635.75928318168 iter/sec (stddev: 0.000008443690669484734) 5744.400239709143 iter/sec (stddev: 0.0000078123241257205) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 7282.077174031033 iter/sec (stddev: 0.000007101032851289587) 7681.897896548731 iter/sec (stddev: 0.000005452071376552357) 1.05
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 50142.31612759601 iter/sec (stddev: 0.0000011903015554502781) 50197.46390626085 iter/sec (stddev: 0.0000010958753251934646) 1.00
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 44115.0379436738 iter/sec (stddev: 0.0000018883626131213955) 43203.81855521334 iter/sec (stddev: 0.000001568144846181918) 0.98
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 21608.197429498137 iter/sec (stddev: 0.000007344324846058169) 24259.752761371914 iter/sec (stddev: 0.0000030103162544902437) 1.12
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 126.60766195283503 iter/sec (stddev: 0.000563686524152733) 156.28506529866405 iter/sec (stddev: 0.0005626952095537637) 1.23
edtf/parser/tests.py::test_benchmark_parser[2008-12] 134.56856057900393 iter/sec (stddev: 0.0013709453963450676) 163.72358760223312 iter/sec (stddev: 0.002264199426244651) 1.22
edtf/parser/tests.py::test_benchmark_parser[2008] 162.99461019447486 iter/sec (stddev: 0.0015033079891112232) 189.53126779009347 iter/sec (stddev: 0.002426213463589815) 1.16
edtf/parser/tests.py::test_benchmark_parser[-0999] 166.77008896362474 iter/sec (stddev: 0.0011376163746327453) 199.61813313403985 iter/sec (stddev: 0.0018783191918705683) 1.20
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 112.92884647813096 iter/sec (stddev: 0.0012693542819258025) 135.085855478056 iter/sec (stddev: 0.0025625931131327702) 1.20
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 91.10517502436545 iter/sec (stddev: 0.0013745222742781225) 128.5872964981493 iter/sec (stddev: 0.002615314869635075) 1.41
edtf/parser/tests.py::test_benchmark_parser[/2006] 212.6588561913261 iter/sec (stddev: 0.0007609775853322179) 330.74361805221474 iter/sec (stddev: 0.000337110575727405) 1.56
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 174.13764322848422 iter/sec (stddev: 0.00020214438199745043) 220.13324044947495 iter/sec (stddev: 0.0014591543364528786) 1.26
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 18.046961853526202 iter/sec (stddev: 0.0031043052120966123) 32.746611658442596 iter/sec (stddev: 0.0008438619857916163) 1.81
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 345.03689272472576 iter/sec (stddev: 0.00008712062191644135) 465.6138340758296 iter/sec (stddev: 0.0009444374455410944) 1.35
edtf/parser/tests.py::test_benchmark_parser[2001-29] 95.70514475033563 iter/sec (stddev: 0.0014528695705479575) 116.5001285392887 iter/sec (stddev: 0.00219781131059198) 1.22

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 70377.46304053394 iter/sec (stddev: 0.0000010431992410921063) 118820.602122959 iter/sec (stddev: 5.879749575291134e-7) 1.69
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8117.020311468955 iter/sec (stddev: 0.00000608785296473572) 11440.170052804406 iter/sec (stddev: 0.000005223699361390938) 1.41
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 9815.38443996785 iter/sec (stddev: 0.000005128026648545201) 14073.963015410847 iter/sec (stddev: 0.0000047980723045282624) 1.43
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 6657.454499121609 iter/sec (stddev: 0.000006605589332217527) 9405.665977132232 iter/sec (stddev: 0.0000049766544214081825) 1.41
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 11412.291154824388 iter/sec (stddev: 0.0000047465604556007605) 16729.471825407996 iter/sec (stddev: 0.000003343756185421422) 1.47
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 8368.135389861027 iter/sec (stddev: 0.000006985066674024882) 11755.63224352206 iter/sec (stddev: 0.000004732447883893759) 1.40
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 5635.75928318168 iter/sec (stddev: 0.000008443690669484734) 7434.433759517973 iter/sec (stddev: 0.000006069773121525858) 1.32
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 7282.077174031033 iter/sec (stddev: 0.000007101032851289587) 10248.163923601813 iter/sec (stddev: 0.000004869653438371242) 1.41
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 50142.31612759601 iter/sec (stddev: 0.0000011903015554502781) 66813.77697393876 iter/sec (stddev: 0.0000010322913630051904) 1.33
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 44115.0379436738 iter/sec (stddev: 0.0000018883626131213955) 56606.90431454123 iter/sec (stddev: 9.498208461992206e-7) 1.28
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 21608.197429498137 iter/sec (stddev: 0.000007344324846058169) 32671.928892714455 iter/sec (stddev: 0.0000021452155293833698) 1.51
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 126.60766195283503 iter/sec (stddev: 0.000563686524152733) 152.53373016501564 iter/sec (stddev: 0.0005518283912429752) 1.20
edtf/parser/tests.py::test_benchmark_parser[2008-12] 134.56856057900393 iter/sec (stddev: 0.0013709453963450676) 157.67573506289054 iter/sec (stddev: 0.0018769487138548485) 1.17
edtf/parser/tests.py::test_benchmark_parser[2008] 162.99461019447486 iter/sec (stddev: 0.0015033079891112232) 192.42524972291878 iter/sec (stddev: 0.001888079639615709) 1.18
edtf/parser/tests.py::test_benchmark_parser[-0999] 166.77008896362474 iter/sec (stddev: 0.0011376163746327453) 195.8663190577094 iter/sec (stddev: 0.0019249621626913748) 1.17
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 112.92884647813096 iter/sec (stddev: 0.0012693542819258025) 132.8189362923735 iter/sec (stddev: 0.0020073482812867516) 1.18
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 91.10517502436545 iter/sec (stddev: 0.0013745222742781225) 119.0178036319311 iter/sec (stddev: 0.0020534048789457326) 1.31
edtf/parser/tests.py::test_benchmark_parser[/2006] 212.6588561913261 iter/sec (stddev: 0.0007609775853322179) 252.74922056244225 iter/sec (stddev: 0.0011464213104177997) 1.19
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 174.13764322848422 iter/sec (stddev: 0.00020214438199745043) 201.8566586919196 iter/sec (stddev: 0.0006373808881074358) 1.16
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 18.046961853526202 iter/sec (stddev: 0.0031043052120966123) 21.591407486618095 iter/sec (stddev: 0.00386000001105658) 1.20
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 345.03689272472576 iter/sec (stddev: 0.00008712062191644135) 498.9626899087608 iter/sec (stddev: 0.00007658855766406677) 1.45
edtf/parser/tests.py::test_benchmark_parser[2001-29] 95.70514475033563 iter/sec (stddev: 0.0014528695705479575) 114.71918539214317 iter/sec (stddev: 0.00170992741084812) 1.20

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 82108.35216809128 iter/sec (stddev: 7.735852371383678e-7) 82535.56787296855 iter/sec (stddev: 0.0000010078962624879046) 1.01
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8433.370065990212 iter/sec (stddev: 0.000011658399084075656) 8645.999738534196 iter/sec (stddev: 0.000011265293666369967) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 10671.784471328569 iter/sec (stddev: 0.0000055023742756277) 10952.756036235593 iter/sec (stddev: 0.000005240427710201407) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 7014.559895601894 iter/sec (stddev: 0.000009582342207772162) 7048.883308811026 iter/sec (stddev: 0.000007157051529382251) 1.00
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 12758.5441121223 iter/sec (stddev: 0.000005400039159652064) 12756.442986095128 iter/sec (stddev: 0.000004588352550492114) 1.00
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 8928.143052880607 iter/sec (stddev: 0.000005510369666375872) 8986.630337254512 iter/sec (stddev: 0.000008235577738692793) 1.01
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 5638.387591114458 iter/sec (stddev: 0.000007566655971578114) 5744.400239709143 iter/sec (stddev: 0.0000078123241257205) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 7611.458782372489 iter/sec (stddev: 0.000007962379829607028) 7681.897896548731 iter/sec (stddev: 0.000005452071376552357) 1.01
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 49402.98615214202 iter/sec (stddev: 0.0000018889456776811555) 50197.46390626085 iter/sec (stddev: 0.0000010958753251934646) 1.02
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 41800.49305088466 iter/sec (stddev: 0.0000016601623474034887) 43203.81855521334 iter/sec (stddev: 0.000001568144846181918) 1.03
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 24509.41666763281 iter/sec (stddev: 0.000003113348751963193) 24259.752761371914 iter/sec (stddev: 0.0000030103162544902437) 0.99
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 153.57165986138358 iter/sec (stddev: 0.0006795570311113636) 156.28506529866405 iter/sec (stddev: 0.0005626952095537637) 1.02
edtf/parser/tests.py::test_benchmark_parser[2008-12] 161.42837486708365 iter/sec (stddev: 0.0024103575694355717) 163.72358760223312 iter/sec (stddev: 0.002264199426244651) 1.01
edtf/parser/tests.py::test_benchmark_parser[2008] 195.98441003006536 iter/sec (stddev: 0.0019984961938390618) 189.53126779009347 iter/sec (stddev: 0.002426213463589815) 0.97
edtf/parser/tests.py::test_benchmark_parser[-0999] 197.2891047919362 iter/sec (stddev: 0.0014931277224440765) 199.61813313403985 iter/sec (stddev: 0.0018783191918705683) 1.01
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 140.55988451674907 iter/sec (stddev: 0.001807083651951392) 135.085855478056 iter/sec (stddev: 0.0025625931131327702) 0.96
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 120.3484714059126 iter/sec (stddev: 0.0014661210799720137) 128.5872964981493 iter/sec (stddev: 0.002615314869635075) 1.07
edtf/parser/tests.py::test_benchmark_parser[/2006] 317.745812714271 iter/sec (stddev: 0.0010555120074197003) 330.74361805221474 iter/sec (stddev: 0.000337110575727405) 1.04
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 216.853159842871 iter/sec (stddev: 0.0011535139046581285) 220.13324044947495 iter/sec (stddev: 0.0014591543364528786) 1.02
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 31.666475765486677 iter/sec (stddev: 0.0004493945596866302) 32.746611658442596 iter/sec (stddev: 0.0008438619857916163) 1.03
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 422.78952964814164 iter/sec (stddev: 0.0004454535812789434) 465.6138340758296 iter/sec (stddev: 0.0009444374455410944) 1.10
edtf/parser/tests.py::test_benchmark_parser[2001-29] 115.29908762244492 iter/sec (stddev: 0.00260346386271708) 116.5001285392887 iter/sec (stddev: 0.00219781131059198) 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 82108.35216809128 iter/sec (stddev: 7.735852371383678e-7) 118820.602122959 iter/sec (stddev: 5.879749575291134e-7) 1.45
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8433.370065990212 iter/sec (stddev: 0.000011658399084075656) 11440.170052804406 iter/sec (stddev: 0.000005223699361390938) 1.36
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 10671.784471328569 iter/sec (stddev: 0.0000055023742756277) 14073.963015410847 iter/sec (stddev: 0.0000047980723045282624) 1.32
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 7014.559895601894 iter/sec (stddev: 0.000009582342207772162) 9405.665977132232 iter/sec (stddev: 0.0000049766544214081825) 1.34
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 12758.5441121223 iter/sec (stddev: 0.000005400039159652064) 16729.471825407996 iter/sec (stddev: 0.000003343756185421422) 1.31
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 8928.143052880607 iter/sec (stddev: 0.000005510369666375872) 11755.63224352206 iter/sec (stddev: 0.000004732447883893759) 1.32
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 5638.387591114458 iter/sec (stddev: 0.000007566655971578114) 7434.433759517973 iter/sec (stddev: 0.000006069773121525858) 1.32
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 7611.458782372489 iter/sec (stddev: 0.000007962379829607028) 10248.163923601813 iter/sec (stddev: 0.000004869653438371242) 1.35
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 49402.98615214202 iter/sec (stddev: 0.0000018889456776811555) 66813.77697393876 iter/sec (stddev: 0.0000010322913630051904) 1.35
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 41800.49305088466 iter/sec (stddev: 0.0000016601623474034887) 56606.90431454123 iter/sec (stddev: 9.498208461992206e-7) 1.35
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 24509.41666763281 iter/sec (stddev: 0.000003113348751963193) 32671.928892714455 iter/sec (stddev: 0.0000021452155293833698) 1.33
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 153.57165986138358 iter/sec (stddev: 0.0006795570311113636) 152.53373016501564 iter/sec (stddev: 0.0005518283912429752) 0.99
edtf/parser/tests.py::test_benchmark_parser[2008-12] 161.42837486708365 iter/sec (stddev: 0.0024103575694355717) 157.67573506289054 iter/sec (stddev: 0.0018769487138548485) 0.98
edtf/parser/tests.py::test_benchmark_parser[2008] 195.98441003006536 iter/sec (stddev: 0.0019984961938390618) 192.42524972291878 iter/sec (stddev: 0.001888079639615709) 0.98
edtf/parser/tests.py::test_benchmark_parser[-0999] 197.2891047919362 iter/sec (stddev: 0.0014931277224440765) 195.8663190577094 iter/sec (stddev: 0.0019249621626913748) 0.99
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 140.55988451674907 iter/sec (stddev: 0.001807083651951392) 132.8189362923735 iter/sec (stddev: 0.0020073482812867516) 0.94
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 120.3484714059126 iter/sec (stddev: 0.0014661210799720137) 119.0178036319311 iter/sec (stddev: 0.0020534048789457326) 0.99
edtf/parser/tests.py::test_benchmark_parser[/2006] 317.745812714271 iter/sec (stddev: 0.0010555120074197003) 252.74922056244225 iter/sec (stddev: 0.0011464213104177997) 0.80
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 216.853159842871 iter/sec (stddev: 0.0011535139046581285) 201.8566586919196 iter/sec (stddev: 0.0006373808881074358) 0.93
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 31.666475765486677 iter/sec (stddev: 0.0004493945596866302) 21.591407486618095 iter/sec (stddev: 0.00386000001105658) 0.68
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 422.78952964814164 iter/sec (stddev: 0.0004454535812789434) 498.9626899087608 iter/sec (stddev: 0.00007658855766406677) 1.18
edtf/parser/tests.py::test_benchmark_parser[2001-29] 115.29908762244492 iter/sec (stddev: 0.00260346386271708) 114.71918539214317 iter/sec (stddev: 0.00170992741084812) 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 86935.54190741367 iter/sec (stddev: 8.801351312055946e-7) 82535.56787296855 iter/sec (stddev: 0.0000010078962624879046) 0.95
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8871.250916535719 iter/sec (stddev: 0.000006170533054955764) 8645.999738534196 iter/sec (stddev: 0.000011265293666369967) 0.97
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 11292.512453597992 iter/sec (stddev: 0.000006285789742846082) 10952.756036235593 iter/sec (stddev: 0.000005240427710201407) 0.97
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 7549.978591732842 iter/sec (stddev: 0.000005876983775780713) 7048.883308811026 iter/sec (stddev: 0.000007157051529382251) 0.93
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 12936.725208274147 iter/sec (stddev: 0.000012666981444328682) 12756.442986095128 iter/sec (stddev: 0.000004588352550492114) 0.99
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 9424.857320878093 iter/sec (stddev: 0.0000058642857514609236) 8986.630337254512 iter/sec (stddev: 0.000008235577738692793) 0.95
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 6077.713959723717 iter/sec (stddev: 0.000006937932015900124) 5744.400239709143 iter/sec (stddev: 0.0000078123241257205) 0.95
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 8213.645609693585 iter/sec (stddev: 0.0000064998136694677345) 7681.897896548731 iter/sec (stddev: 0.000005452071376552357) 0.94
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 51452.332000218776 iter/sec (stddev: 0.0000014305935571446778) 50197.46390626085 iter/sec (stddev: 0.0000010958753251934646) 0.98
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 45922.4966193415 iter/sec (stddev: 0.0000015788419936961112) 43203.81855521334 iter/sec (stddev: 0.000001568144846181918) 0.94
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 24937.94683976795 iter/sec (stddev: 0.0000030011544247201534) 24259.752761371914 iter/sec (stddev: 0.0000030103162544902437) 0.97
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 165.36847658209376 iter/sec (stddev: 0.00038541761067305324) 156.28506529866405 iter/sec (stddev: 0.0005626952095537637) 0.95
edtf/parser/tests.py::test_benchmark_parser[2008-12] 169.41717431307598 iter/sec (stddev: 0.002010022722081676) 163.72358760223312 iter/sec (stddev: 0.002264199426244651) 0.97
edtf/parser/tests.py::test_benchmark_parser[2008] 210.6033384312808 iter/sec (stddev: 0.0012366861130870522) 189.53126779009347 iter/sec (stddev: 0.002426213463589815) 0.90
edtf/parser/tests.py::test_benchmark_parser[-0999] 202.47874479380712 iter/sec (stddev: 0.0018942275022620898) 199.61813313403985 iter/sec (stddev: 0.0018783191918705683) 0.99
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 147.00507524179153 iter/sec (stddev: 0.0018282458353072648) 135.085855478056 iter/sec (stddev: 0.0025625931131327702) 0.92
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 125.91576445493938 iter/sec (stddev: 0.0017271233420462812) 128.5872964981493 iter/sec (stddev: 0.002615314869635075) 1.02
edtf/parser/tests.py::test_benchmark_parser[/2006] 337.34774453386945 iter/sec (stddev: 0.00013720999161622756) 330.74361805221474 iter/sec (stddev: 0.000337110575727405) 0.98
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 226.95544995852498 iter/sec (stddev: 0.0011509342010363613) 220.13324044947495 iter/sec (stddev: 0.0014591543364528786) 0.97
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 32.429203557428934 iter/sec (stddev: 0.003395677909733358) 32.746611658442596 iter/sec (stddev: 0.0008438619857916163) 1.01
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 457.37605744003304 iter/sec (stddev: 0.00007655377782067135) 465.6138340758296 iter/sec (stddev: 0.0009444374455410944) 1.02
edtf/parser/tests.py::test_benchmark_parser[2001-29] 122.30268409990637 iter/sec (stddev: 0.002483795001362941) 116.5001285392887 iter/sec (stddev: 0.00219781131059198) 0.95

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 8c571b0 Previous: d550274 Ratio
edtf/natlang/tests.py::test_benchmark_natlang[23rd Dynasty-None] 86935.54190741367 iter/sec (stddev: 8.801351312055946e-7) 118820.602122959 iter/sec (stddev: 5.879749575291134e-7) 1.37
edtf/natlang/tests.py::test_benchmark_natlang[January 2008-2008-01] 8871.250916535719 iter/sec (stddev: 0.000006170533054955764) 11440.170052804406 iter/sec (stddev: 0.000005223699361390938) 1.29
edtf/natlang/tests.py::test_benchmark_natlang[ca1860-1860~] 11292.512453597992 iter/sec (stddev: 0.000006285789742846082) 14073.963015410847 iter/sec (stddev: 0.0000047980723045282624) 1.25
edtf/natlang/tests.py::test_benchmark_natlang[uncertain: approx 1862-1862%] 7549.978591732842 iter/sec (stddev: 0.000005876983775780713) 9405.665977132232 iter/sec (stddev: 0.0000049766544214081825) 1.25
edtf/natlang/tests.py::test_benchmark_natlang[January-XXXX-01] 12936.725208274147 iter/sec (stddev: 0.000012666981444328682) 16729.471825407996 iter/sec (stddev: 0.000003343756185421422) 1.29
edtf/natlang/tests.py::test_benchmark_natlang[Winter 1872-1872-24] 9424.857320878093 iter/sec (stddev: 0.0000058642857514609236) 11755.63224352206 iter/sec (stddev: 0.000004732447883893759) 1.25
edtf/natlang/tests.py::test_benchmark_natlang[before approx January 18 1928-/1928-01-18~] 6077.713959723717 iter/sec (stddev: 0.000006937932015900124) 7434.433759517973 iter/sec (stddev: 0.000006069773121525858) 1.22
edtf/natlang/tests.py::test_benchmark_natlang[birthday in 1872-1872] 8213.645609693585 iter/sec (stddev: 0.0000064998136694677345) 10248.163923601813 iter/sec (stddev: 0.000004869653438371242) 1.25
edtf/natlang/tests.py::test_benchmark_natlang[1270 CE-1270] 51452.332000218776 iter/sec (stddev: 0.0000014305935571446778) 66813.77697393876 iter/sec (stddev: 0.0000010322913630051904) 1.30
edtf/natlang/tests.py::test_benchmark_natlang[2nd century bce--01XX] 45922.4966193415 iter/sec (stddev: 0.0000015788419936961112) 56606.90431454123 iter/sec (stddev: 9.498208461992206e-7) 1.23
edtf/natlang/tests.py::test_benchmark_natlang[1858/1860-[1858, 1860]] 24937.94683976795 iter/sec (stddev: 0.0000030011544247201534) 32671.928892714455 iter/sec (stddev: 0.0000021452155293833698) 1.31
edtf/parser/tests.py::test_benchmark_parser[2001-02-03] 165.36847658209376 iter/sec (stddev: 0.00038541761067305324) 152.53373016501564 iter/sec (stddev: 0.0005518283912429752) 0.92
edtf/parser/tests.py::test_benchmark_parser[2008-12] 169.41717431307598 iter/sec (stddev: 0.002010022722081676) 157.67573506289054 iter/sec (stddev: 0.0018769487138548485) 0.93
edtf/parser/tests.py::test_benchmark_parser[2008] 210.6033384312808 iter/sec (stddev: 0.0012366861130870522) 192.42524972291878 iter/sec (stddev: 0.001888079639615709) 0.91
edtf/parser/tests.py::test_benchmark_parser[-0999] 202.47874479380712 iter/sec (stddev: 0.0018942275022620898) 195.8663190577094 iter/sec (stddev: 0.0019249621626913748) 0.97
edtf/parser/tests.py::test_benchmark_parser[2004-01-01T10:10:10+05:00] 147.00507524179153 iter/sec (stddev: 0.0018282458353072648) 132.8189362923735 iter/sec (stddev: 0.0020073482812867516) 0.90
edtf/parser/tests.py::test_benchmark_parser[-2005/-1999-02] 125.91576445493938 iter/sec (stddev: 0.0017271233420462812) 119.0178036319311 iter/sec (stddev: 0.0020534048789457326) 0.95
edtf/parser/tests.py::test_benchmark_parser[/2006] 337.34774453386945 iter/sec (stddev: 0.00013720999161622756) 252.74922056244225 iter/sec (stddev: 0.0011464213104177997) 0.75
edtf/parser/tests.py::test_benchmark_parser[?2004-%06] 226.95544995852498 iter/sec (stddev: 0.0011509342010363613) 201.8566586919196 iter/sec (stddev: 0.0006373808881074358) 0.89
edtf/parser/tests.py::test_benchmark_parser[[1667, 1760-12]] 32.429203557428934 iter/sec (stddev: 0.003395677909733358) 21.591407486618095 iter/sec (stddev: 0.00386000001105658) 0.67
edtf/parser/tests.py::test_benchmark_parser[Y3388E2S3] 457.37605744003304 iter/sec (stddev: 0.00007655377782067135) 498.9626899087608 iter/sec (stddev: 0.00007658855766406677) 1.09
edtf/parser/tests.py::test_benchmark_parser[2001-29] 122.30268409990637 iter/sec (stddev: 0.002483795001362941) 114.71918539214317 iter/sec (stddev: 0.00170992741084812) 0.94

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.