arelle-release 2.36.37__py3-none-any.whl → 2.36.38__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of arelle-release might be problematic. Click here for more details.

arelle/CntlrWebMain.py CHANGED
@@ -41,7 +41,6 @@ POST = 'POST'
41
41
  _CNTLR: CntlrCmdLine | None = None
42
42
 
43
43
  def getCntlr() -> CntlrCmdLine:
44
- global _CNTLR
45
44
  if _CNTLR is None:
46
45
  raise ValueError(_('_CNTLR accessed before it was set.'))
47
46
  return _CNTLR
@@ -59,7 +58,6 @@ def getLogHandler() -> LogToBufferHandler:
59
58
  _RUNTIME_OPTIONS: RuntimeOptions | None = None
60
59
 
61
60
  def getRuntimeOptions() -> RuntimeOptions:
62
- global _RUNTIME_OPTIONS
63
61
  if _RUNTIME_OPTIONS is None:
64
62
  raise ValueError(_('_RUNTIME_OPTIONS accessed before it was set.'))
65
63
  options = deepcopy(_RUNTIME_OPTIONS)
arelle/PackageManager.py CHANGED
@@ -342,7 +342,7 @@ packagesMappings = {}
342
342
  _cntlr = None
343
343
 
344
344
  def init(cntlr: Cntlr, loadPackagesConfig: bool = True) -> None:
345
- global packagesJsonFile, packagesConfig, packagesMappings, _cntlr
345
+ global packagesJsonFile, packagesConfig, _cntlr
346
346
  if loadPackagesConfig:
347
347
  try:
348
348
  packagesJsonFile = cntlr.userAppDir + os.sep + "taxonomyPackages.json"
arelle/PluginManager.py CHANGED
@@ -105,10 +105,13 @@ def save(cntlr: Cntlr) -> None:
105
105
  f.write(jsonStr)
106
106
  pluginConfigChanged = False
107
107
 
108
- def close(): # close all loaded methods
109
- pluginConfig.clear()
110
- modulePluginInfos.clear()
111
- pluginMethodsForClasses.clear()
108
+ def close() -> None: # close all loaded methods
109
+ if pluginConfig is not None:
110
+ pluginConfig.clear()
111
+ if modulePluginInfos is not None:
112
+ modulePluginInfos.clear()
113
+ if pluginMethodsForClasses is not None:
114
+ pluginMethodsForClasses.clear()
112
115
  global webCache
113
116
  webCache = None
114
117
 
@@ -159,7 +162,6 @@ def logPluginTrace(message: str, level: Number) -> None:
159
162
  :param message: Message to be logged
160
163
  :param level: Log level of message (e.g. logging.INFO)
161
164
  """
162
- global pluginTraceFileLogger
163
165
  if pluginTraceFileLogger:
164
166
  pluginTraceFileLogger.log(level, message)
165
167
  if level >= logging.ERROR:
@@ -486,7 +488,7 @@ def _get_name_dir_prefix(
486
488
  packageImportPrefix: str
487
489
 
488
490
  moduleFilename = controller.webCache.getfilename(
489
- url=moduleURL, normalize=True, base=pluginBase
491
+ url=moduleURL, normalize=True, base=pluginBase, allowTransformation=False
490
492
  )
491
493
 
492
494
  if moduleFilename:
arelle/WebCache.py CHANGED
@@ -455,7 +455,13 @@ class WebCache:
455
455
  def getfilename(
456
456
  self, url: str | None, base: str | None = None,
457
457
  reload: bool = False, checkModifiedTime: bool = False,
458
- normalize: bool = False, filenameOnly: bool = False) -> str | None:
458
+ normalize: bool = False, filenameOnly: bool = False,
459
+ allowTransformation: bool = True) -> str | None:
460
+ if allowTransformation:
461
+ for pluginXbrlMethod in pluginClassMethods("WebCache.TransformURL"):
462
+ url, final = pluginXbrlMethod(self.cntlr, url, base)
463
+ if final:
464
+ return url
459
465
  if url is None:
460
466
  return url
461
467
  if base is not None or normalize:
arelle/_version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.36.37'
21
- __version_tuple__ = version_tuple = (2, 36, 37)
20
+ __version__ = version = '2.36.38'
21
+ __version_tuple__ = version_tuple = (2, 36, 38)
arelle/api/Session.py CHANGED
@@ -36,6 +36,7 @@ class Session:
36
36
  def close(self) -> None:
37
37
  if self._cntlr is not None:
38
38
  self._cntlr.close()
39
+ PluginManager.close()
39
40
 
40
41
  def get_log_messages(self) -> list[dict[str, Any]]:
41
42
  """
@@ -898,7 +898,7 @@ isInitialized = False
898
898
 
899
899
 
900
900
  def initializeParser(modelManager: ModelManager) -> bool:
901
- global isInitialized, ixtFunctionNamespaces
901
+ global isInitialized
902
902
  if not isInitialized:
903
903
  from arelle import FunctionIxt
904
904
  ixtFunctionNamespaces.update(FunctionIxt.ixtNamespaceFunctions.keys())
@@ -1698,7 +1698,7 @@ def compileXfsGrammar( cntlr, debugParsing ):
1698
1698
  def parse(cntlr, _logMessage, xfFiles, modelXbrl=None, debugParsing=False):
1699
1699
  from pyparsing import ParseException, ParseSyntaxException
1700
1700
 
1701
- global xc, logMessage
1701
+ global logMessage
1702
1702
  logMessage = _logMessage
1703
1703
 
1704
1704
  xfsGrammar = compileXfsGrammar(cntlr, debugParsing)
@@ -824,7 +824,7 @@ def streamingOptionsExtender(parser):
824
824
  '''
825
825
 
826
826
  def streamingExtensionsSetup(cntlr, options, *args, **kwargs):
827
- global _streamingExtensionsCheck, _streamingExtensionsValidate
827
+ global _streamingExtensionsValidate
828
828
  # streaming only checked in CmdLine/web server mode if requested
829
829
  # _streamingExtensionsCheck = getattr(options, 'check_streaming', False)
830
830
  _streamingExtensionsValidate = options.validate
@@ -790,3 +790,26 @@ class PluginHooks(ABC):
790
790
  :return: None
791
791
  """
792
792
  raise NotImplementedError
793
+
794
+ @staticmethod
795
+ def webCacheTransformUrl(
796
+ cntlr: CntlrCmdLine,
797
+ url: str | None,
798
+ base: str | None,
799
+ *args: Any,
800
+ **kwargs: Any,
801
+ ) -> tuple[str | None, bool]:
802
+ """
803
+ Plugin hook: `WebCache.TransformURL`
804
+
805
+ This hook is triggered before the web cache maps a URL to a file path.
806
+ It's useful if you need to map certain URLs to a location other than the web cache.
807
+
808
+ :param cntlr: The [Cntlr](#arelle.Cntlr.Cntlr) being initialized.
809
+ :param url: The URL to transform.
810
+ :param base: The base URL.
811
+ :param args: Argument capture to ensure new parameters don't break plugin hook.
812
+ :param kwargs: Argument capture to ensure new named parameters don't break plugin hook.
813
+ :return: Tuple of transformed URL or filepath and a boolean indicating if the URL should be returned as the final filename.
814
+ """
815
+ raise NotImplementedError
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.36.37
3
+ Version: 2.36.38
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License: Apache-2.0
@@ -5,7 +5,7 @@ arelle/CntlrCmdLine.py,sha256=B4C8ZnfRH67WVkFUFy3G_bTQ_vGc-DbQK6SLc-fcSCg,94266
5
5
  arelle/CntlrComServer.py,sha256=h1KPf31uMbErpxTZn_iklDqUMGFgQnjZkFkFjd8gtLQ,1888
6
6
  arelle/CntlrProfiler.py,sha256=2VQJudiUhxryVypxjODx2ccP1-n60icTiWs5lSEokhQ,972
7
7
  arelle/CntlrQuickBooks.py,sha256=BMqd5nkNQOZyNFPefkTeWUUDCYNS6BQavaG8k1Lepu4,31543
8
- arelle/CntlrWebMain.py,sha256=eOzqrp0XA3TrOu7m6Arcvnmdxt7-7zQ8xyaLs-dpDHg,51028
8
+ arelle/CntlrWebMain.py,sha256=3llPzwDhshu7tcDZhdHQVuikTC5AucnQOvBgFSGsIAg,50982
9
9
  arelle/CntlrWinMain.py,sha256=eSdO_PQynuZcE3S7BnZyP-wnn_9oiUOMlF0Qe4Dl8x0,96812
10
10
  arelle/CntlrWinTooltip.py,sha256=6MzoAIfkYnNu_bl_je8n0adhwmKxAIcymkg9Tij9Z4M,7951
11
11
  arelle/DialogAbout.py,sha256=XXzMV0fO4BQ3-l1Puirzmn7EZEdmgJg7JNYdJm1FueM,1987
@@ -50,8 +50,8 @@ arelle/ModelValue.py,sha256=6Vko4aytXg2Ajv7rI6houQb-ZX39-tcjQ4N90ZxZvE8,39430
50
50
  arelle/ModelVersObject.py,sha256=cPD1IzhkCfuV1eMgVFWes88DH_6WkUj5kj7sgGF2M0I,26062
51
51
  arelle/ModelVersReport.py,sha256=bXEA9K3qkH57aABn5l-m3CTY0FAcF1yX6O4fo-URjl8,73326
52
52
  arelle/ModelXbrl.py,sha256=7rz4rxIGopwRDQTD12P0sdqzvPPoMhGgkg5qkMD6TDQ,72109
53
- arelle/PackageManager.py,sha256=VtiCnhX-ljObmZuf-wNmQC8OdVxz4Jan-rzSMJgY_QU,32548
54
- arelle/PluginManager.py,sha256=jpeRH-Co5NA8tVXQeIDgibOWN7aB8wprMNvjSYh_K6I,41947
53
+ arelle/PackageManager.py,sha256=tw0PI9sbuy258Xv_Ldloj8mamDpc9_cBl6zhSdkiCLE,32530
54
+ arelle/PluginManager.py,sha256=1Lvms_m1cUI27ETpKryDV5BQrKkTL_svRnyXVtjqZ3c,42076
55
55
  arelle/PluginUtils.py,sha256=0vFQ29wVVpU0cTY3YOBL6FhNQhhCTwShBH4qTJGLnvc,2426
56
56
  arelle/PrototypeDtsObject.py,sha256=0lf60VcXR_isx57hBPrc7vEMkFpYkVuK4JVBSmopzkQ,7989
57
57
  arelle/PrototypeInstanceObject.py,sha256=CXUoDllhDqpMvSQjqIYi1Ywp-J8fLhQRV9wVD2YXgVo,13204
@@ -113,7 +113,7 @@ arelle/ViewWinTupleGrid.py,sha256=Li21jmMSZP3xIkpg8eY8Sq7KTIuAgM57wHu7i7Nu3P0,89
113
113
  arelle/ViewWinVersReport.py,sha256=aYfsOgynVZpMzl6f2EzQCBLzdihYGycwb5SiTghkgMQ,9344
114
114
  arelle/ViewWinXml.py,sha256=4ZGKtjaoCwU9etKYm9ZAS7jSmUxba1rqNEdv0OIyjTY,1250
115
115
  arelle/WatchRss.py,sha256=5Ih4igH2MM4hpOuAXy9eO0QAyZ7jZR3S5bPzo2sdFpw,14097
116
- arelle/WebCache.py,sha256=_GDLhkEf1fxe0nTdO5eCKdNcB1f3Dfv2E6H5PPjNeX8,44733
116
+ arelle/WebCache.py,sha256=8dTAc-A6whcNOfPCCo0e6XpVrXw1Kom9hSqGGeyaXNE,45018
117
117
  arelle/XbrlConst.py,sha256=YDvnf0gQ3IY5v07d8wxAHTxDmvcHIpl2mSMZeTgvKmk,56695
118
118
  arelle/XbrlUtil.py,sha256=s2Vmrh-sZI5TeuqsziKignOc3ao-uUgnCNoelP4dDj0,9212
119
119
  arelle/XhtmlValidate.py,sha256=0gtm7N-kXK0RB5o3c1AQXjfFuRp1w2fKZZAeyruNANw,5727
@@ -123,9 +123,9 @@ arelle/XmlValidateConst.py,sha256=U_wN0Q-nWKwf6dKJtcu_83FXPn9c6P8JjzGA5b0w7P0,33
123
123
  arelle/XmlValidateParticles.py,sha256=Mn6vhFl0ZKC_vag1mBwn1rH_x2jmlusJYqOOuxFPO2k,9231
124
124
  arelle/XmlValidateSchema.py,sha256=6frtZOc1Yrx_5yYF6V6oHbScnglWrVbWr6xW4EHtLQI,7428
125
125
  arelle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
- arelle/_version.py,sha256=5LSmSgWRRZykPQAlxX3yg4mSBU2cR_rLM7u3_PwsoaU,515
126
+ arelle/_version.py,sha256=sZAy8AmcBgunxVPN9fYWYjWDD_AHGookdwWSsQ_snyw,515
127
127
  arelle/typing.py,sha256=Ct5lrNKRow_o9CraMEXNza8nFsJ_iGIKoUeGfPs2dxI,1084
128
- arelle/api/Session.py,sha256=Vd09RAutWX7mxHSsrW7Bl8CsE1UzXpQpAJsZb55mqng,6188
128
+ arelle/api/Session.py,sha256=O8zpg7MJys9uxwwHf8OsSlZxpPdq7A3ONyY39Q4A3Kc,6218
129
129
  arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
130
130
  arelle/archive/LoadEFMvalidate.py,sha256=HR1ZJmOvWGUlWEsWd0tGCa2TTtZSNzeL6tgN1TFfrl0,986
131
131
  arelle/archive/LoadSavePreLbCsv.py,sha256=mekr1R6OE5d3xdUCZIVfSeolyet0HO8R6wsHnW4eyaA,767
@@ -231,7 +231,7 @@ arelle/formula/FormulaConsisAsser.py,sha256=hO4GZwozM5cGl1xTU6OwoF3LlaMxAEB5Oy0r
231
231
  arelle/formula/FormulaEvaluator.py,sha256=WKNyJz1Os9gsKedJXLNC9y9u11Ea4_JQ-RAI7gSFmPU,82600
232
232
  arelle/formula/ValidateFormula.py,sha256=b_stG7h8RhaSsPt07_x-GRBHOl2uy-JNSMd6v-jkg_w,95942
233
233
  arelle/formula/XPathContext.py,sha256=JerF1suUL9RcKRFeF6kXZXGkuw6yaMb6gijNacrqugU,49386
234
- arelle/formula/XPathParser.py,sha256=hJkHT4siC8VpSP5JQ4a1qqSYWwHeDprK6aakrhxlcDk,50344
234
+ arelle/formula/XPathParser.py,sha256=vqG2dj0yXVPZpIBsY2rxDIAFC376GSye4CLHfjVyhyM,50321
235
235
  arelle/formula/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
236
236
  arelle/images/arelle-full-word.ico,sha256=jsAzyAJZTtVPafxhgFQtdWJj7r_r0YhX_iWvWnZ4QKg,2430
237
237
  arelle/images/arelle-mac-icon-4.gif,sha256=jTXc1dBEgZuXuZVd1XOuLuXfpjNW_pusn0mPhHhkOtk,2619
@@ -310,7 +310,7 @@ arelle/plugin/EdgarRendererAllReports.py,sha256=V3AeDj29U1XbnFGUO30kAvZtWzDH5G-t
310
310
  arelle/plugin/SECCorrespondenceLoader.py,sha256=dX3k4uI5SOKR-8zpv1Xk4X34eDQMPaWFS8R2wf8WTNs,9561
311
311
  arelle/plugin/TDnetLoader.py,sha256=iuvp5HsSbqJHoy3XBV2Zf1m2bow2ZR47obGw3QyH67Q,9208
312
312
  arelle/plugin/UKCompaniesHouseLoader.py,sha256=XDqt5KM_uv2gZVn8d0Kw18wbzhZEkagKirnDz1fSBGg,4682
313
- arelle/plugin/formulaLoader.py,sha256=AQTld34B_JWUX1uU5P7vIAW0dl51hoPlBVvOd1IDROU,101799
313
+ arelle/plugin/formulaLoader.py,sha256=_pPZQPAZeNjGj85rvH7QRl4gEjYD7Yhxl1JhuV9wOoE,101795
314
314
  arelle/plugin/formulaSaver.py,sha256=STlKyDA-pVUxZoEW57MSu74RdpyHVTxaHvOZyOt0cyg,31385
315
315
  arelle/plugin/formulaXPathChecker.py,sha256=sEEeLHx17XSj8eOgFdzYLBp9ZFk2UUYLOEKtaF_pq34,18795
316
316
  arelle/plugin/functionsMath.py,sha256=Z8N7ok3w1aOusCQA9QvqYwQ8W1j80bb-_4lVclBnNQM,9037
@@ -326,7 +326,7 @@ arelle/plugin/saveLoadableExcel.py,sha256=ZPYB6injFabav0dRzgS7adCFzfHkwtftjl3PfB
326
326
  arelle/plugin/saveLoadableOIM.py,sha256=onT61QRygFCMGS7xTZHJz9WSo1V5PyqKQRtoTBf7GDE,38180
327
327
  arelle/plugin/saveSKOS.py,sha256=7Z1Qedf83zMo9EbigKkxNpiMjzkTYQvLEnwWMObLc1Y,12465
328
328
  arelle/plugin/saveSampleInstance.py,sha256=w66Nd4He8yIK4Il_M9qnelpeUJ_6cBBe5q01DanOxEA,23823
329
- arelle/plugin/streamingExtensions.py,sha256=gDt3TfkHcDHqnP8jnBWmC3j5i0u53lgUOSKxHJU8HnI,47646
329
+ arelle/plugin/streamingExtensions.py,sha256=9W4iQ1u8LFn7-ZEfbqBtuwKiZj-aq8FUXNmj5VawRXQ,47619
330
330
  arelle/plugin/systemInfo.py,sha256=Rv_9HmDwkswwBmhxrkz8uAL65J332r-QItTYMSz2Zbc,1641
331
331
  arelle/plugin/unpackSecEisFile.py,sha256=TVdYUKhgAZ0145anRi6kBesOxPJEvC5YROO1j-hcuwU,2631
332
332
  arelle/plugin/xuleSaver.py,sha256=3eNZAxziFos0YrC5NWezFPsIxN7Ex8jb-CaOVTd8Gw4,30073
@@ -697,7 +697,7 @@ arelle/scripts-macOS/startWebServer.command,sha256=KXLSwAwchDZBlL-k9PYXdf39RNBtt
697
697
  arelle/scripts-unix/startWebServer.sh,sha256=_0puRzaGkdMZoFn3R7hDti9a3ryN6kTZAXwLweeZU1s,42
698
698
  arelle/scripts-windows/startWebServer.bat,sha256=qmnF1yrjNo__bi4QodONWlN0qHShVLTKptJQYyZtgcY,122
699
699
  arelle/utils/PluginData.py,sha256=GUnuZaApm1J4Xm9ZA1U2M1aask-AaNGviLtc0fgXbFg,265
700
- arelle/utils/PluginHooks.py,sha256=USi7zEZzwzTnKdKSyM3Xjacodo6YcU_Lb3EPQwWiVg4,30220
700
+ arelle/utils/PluginHooks.py,sha256=nqL5NdW8yea0cMqePSf4TbNK1IU6jbqIwBX18Ar2n2A,31189
701
701
  arelle/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
702
702
  arelle/utils/validate/Decorator.py,sha256=8LGmA171HZgKrALtsMKyHqMNM-XCdwJOv6KpZz4pC2c,3161
703
703
  arelle/utils/validate/DetectScriptsInXhtml.py,sha256=JOgsUP0_kvE6O3TuhzKxqKG1ZFP9LrUYZBgrar6JEm0,2178
@@ -706,7 +706,7 @@ arelle/utils/validate/ValidationPlugin.py,sha256=_WeRPXZUTCcSN3FLbFwiAe_2pAUTxZZ
706
706
  arelle/utils/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
707
707
  arelle/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
708
708
  arelle/webserver/bottle.py,sha256=676nP8SOB42QscV0WIbXoSV9MwdgvbrzeIApxr6mlUI,171255
709
- arelle_release-2.36.37.dist-info/licenses/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
709
+ arelle_release-2.36.38.dist-info/licenses/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
710
710
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
711
711
  tests/integration_tests/download_cache.py,sha256=jVMIVICsZjcVc9DCPPu3fCjF9_cWSS3tqSynhFs3oAM,4097
712
712
  tests/integration_tests/integration_test_util.py,sha256=H7mncbv0T9ZeVyrtk9Hohe3k6jgcYykHkt-LGE-Q9aQ,10270
@@ -1554,8 +1554,8 @@ tests/unit_tests/arelle/oim/test_load.py,sha256=NxiUauQwJVfWAHbbpsMHGSU2d3Br8Pki
1554
1554
  tests/unit_tests/arelle/plugin/test_plugin_imports.py,sha256=bdhIs9frAnFsdGU113yBk09_jis-z43dwUItMFYuSYM,1064
1555
1555
  tests/unit_tests/arelle/plugin/validate/ESEF/ESEF_Current/test_validate_css_url.py,sha256=XHABmejQt7RlZ0udh7v42f2Xb2STGk_fSaIaJ9i2xo0,878
1556
1556
  tests/unit_tests/arelle/utils/validate/test_decorator.py,sha256=ZS8FqIY1g-2FCbjF4UYm609dwViax6qBMRJSi0vfuhY,2482
1557
- arelle_release-2.36.37.dist-info/METADATA,sha256=i0hQ9WSC7GP9vrnQbQ3kiMMUeQCeMDjt6rC8oon6e2U,9032
1558
- arelle_release-2.36.37.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
1559
- arelle_release-2.36.37.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
1560
- arelle_release-2.36.37.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
1561
- arelle_release-2.36.37.dist-info/RECORD,,
1557
+ arelle_release-2.36.38.dist-info/METADATA,sha256=15bU0khPJ2yhjrC7NA6Mrh7k44oRA_M9B8MvW7BuD_Y,9032
1558
+ arelle_release-2.36.38.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1559
+ arelle_release-2.36.38.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
1560
+ arelle_release-2.36.38.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
1561
+ arelle_release-2.36.38.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (77.0.3)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5