datamule 2.3.7__py3-none-any.whl → 2.3.9__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 datamule might be problematic. Click here for more details.

@@ -34,7 +34,6 @@ class Portfolio:
34
34
 
35
35
  if self.path.exists():
36
36
  self._load_submissions()
37
- self.submissions_loaded = True
38
37
  else:
39
38
  self.path.mkdir(parents=True, exist_ok=True)
40
39
 
@@ -81,6 +80,8 @@ class Portfolio:
81
80
  self.submissions = [s for s in (regular_submissions + batch_submissions) if s is not None]
82
81
  print(f"Successfully loaded {len(self.submissions)} submissions")
83
82
 
83
+ self.submissions_loaded = True
84
+
84
85
  def _load_batch_submissions_worker(self, batch_tar_path, pbar):
85
86
  """Worker function to load submissions from one batch tar with progress updates"""
86
87
  # Open tar handle and store it
File without changes
@@ -0,0 +1,6 @@
1
+ # TODO
2
+ # make it easy for people to bring their own cloud
3
+
4
+ SEC_LOOKUP_DB_ENDPOINT = ""
5
+ SEC_FILINGS_SGML_BUCKET_ENDPOINT = "https://sec-library.datamule.xyz/"
6
+ SEC_FILINGS_TAR_BUCKET_ENDPOINT = "https://sec-library.datamule.xyz/tar/"
@@ -82,7 +82,7 @@ class Streamer(EFTSQuery):
82
82
  if self.accession_numbers is not None and accno_w_dash not in self.accession_numbers:
83
83
  return None, None, None
84
84
 
85
- if self.skip_accession_numbers is not None and accno_w_dash in self.skip_accession_numbers:
85
+ if self.skip_accession_numbers is not None and accno_no_dash in self.skip_accession_numbers:
86
86
  return None, None, None
87
87
 
88
88
  # Construct the URL
@@ -12,6 +12,7 @@ from company_fundamentals import construct_fundamentals
12
12
  from decimal import Decimal
13
13
  from ..utils.format_accession import format_accession
14
14
  from .tar_submission import tar_submission
15
+ import zstandard as zstd
15
16
 
16
17
  # probably needs rework later
17
18
  class FundamentalsAccessor:
@@ -105,6 +106,10 @@ class Submission:
105
106
 
106
107
  if response.getcode() == 200:
107
108
  sgml_content=response.read()
109
+ content_type = response.headers.get('Content-Type', '')
110
+ if content_type == 'application/zstd':
111
+ dctx = zstd.ZstdDecompressor()
112
+ sgml_content = dctx.decompress(sgml_content)
108
113
  else:
109
114
  raise ValueError(f"URL: {url}, Error: {response.getcode()}")
110
115
 
@@ -116,6 +121,7 @@ class Submission:
116
121
  metadata = transform_metadata_string(metadata)
117
122
 
118
123
  self.metadata = Document(type='submission_metadata', content=metadata, extension='.json',filing_date=None,accession=None,path=None)
124
+
119
125
  self.filing_date= f"{self.metadata.content['filing-date'][:4]}-{self.metadata.content['filing-date'][4:6]}-{self.metadata.content['filing-date'][6:8]}"
120
126
 
121
127
  self.documents_obj_list = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datamule
3
- Version: 2.3.7
3
+ Version: 2.3.9
4
4
  Summary: Work with SEC submissions at scale.
5
5
  Home-page: https://github.com/john-friedman/datamule-python
6
6
  Author: John Friedman
@@ -21,8 +21,10 @@ datamule/mapping_dicts/html_mapping_dicts.py,sha256=pba3utMr2KldPeEGnMRkHyVw7D2W
21
21
  datamule/mapping_dicts/txt_mapping_dicts.py,sha256=DQPrGYbAPQxomRUtt4iiMGrwuF7BHc_LeFBQuYBzU9o,6311
22
22
  datamule/mapping_dicts/xml_mapping_dicts.py,sha256=Z22yDVwKYonUfM5foQP00dVDE8EHhhMKp0CLqVKV5OI,438
23
23
  datamule/portfolio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- datamule/portfolio/portfolio.py,sha256=YPIvS4KKuEtm8A1XvNqDF39f4LJHhAFWmtpJzjbGDhY,11680
24
+ datamule/portfolio/portfolio.py,sha256=PQWROW5eDunOgu668n_RArQKBd8QFNjWCbdZabLE7AY,11677
25
25
  datamule/portfolio/portfolio_compression_utils_legacy.py,sha256=1nlbz7JfBDrI0pwTyFiBF856xqGXvQRYBulLUpk7G1A,12695
26
+ datamule/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ datamule/providers/providers.py,sha256=mxU_YokPuUc87tdbsfLz0ReqcDc3XGkaiHnqfI_VUac,232
26
28
  datamule/sec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
29
  datamule/sec/utils.py,sha256=96bavyG2Kq1t8L1YA2vwYnAHKIKdRSoVXxBO5QH1HWo,2196
28
30
  datamule/sec/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -31,7 +33,7 @@ datamule/sec/submissions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
31
33
  datamule/sec/submissions/downloader.py,sha256=9Po1eQ6YEj3Yo9Qw_M5PjQM-OR8iocTNjPIyO3O8GMs,1513
32
34
  datamule/sec/submissions/eftsquery.py,sha256=mSZon8rlW8dxma7M49ZW5V02Fn-ENOdt9TNO6elBrhE,27983
33
35
  datamule/sec/submissions/monitor.py,sha256=6mE0NZFdPId69t4V53GwBb9sqtRN7HE54sU3WpU0bnY,11900
34
- datamule/sec/submissions/streamer.py,sha256=A6hunG_mOuBVqA9bBCXhNMcsPaZlhslA3WhopyUwdS4,11611
36
+ datamule/sec/submissions/streamer.py,sha256=AVawZ9pzjuqS5dxmZTvGtpDtHDSKp3r6XjJaF1W19Rs,11612
35
37
  datamule/sec/submissions/textsearch.py,sha256=MKDXEz_VI_0ljl73_aw2lx4MVzJW5uDt8KxjvJBwPwM,5794
36
38
  datamule/sec/xbrl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
39
  datamule/sec/xbrl/downloadcompanyfacts.py,sha256=rMWRiCF9ci_gNZMJ9MC2c_PGEd-yEthawQ0CtVwWTjM,3323
@@ -43,7 +45,7 @@ datamule/seclibrary/bq.py,sha256=TOP0WA6agDKu4vE1eHd62NDpAc02LDDrOP-g1bJpxbw,180
43
45
  datamule/sheet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
46
  datamule/sheet/sheet.py,sha256=Dw979JGygS566N0Iwsvqk0h1s26GfbrIHDWiBaS2oH8,10711
45
47
  datamule/submission/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- datamule/submission/submission.py,sha256=4UtdViw-h_4Rqt09SFe8-WWdLqaD55T3vqTUVRB0CsE,17058
48
+ datamule/submission/submission.py,sha256=I_7F658vTW1C_dsogIXdxXnV3W1Gbfj_6uzse1YHgY0,17343
47
49
  datamule/submission/tar_submission.py,sha256=lkm1neVLW2_-G26VylL6Rzx98Cavvml0Qd2wlJHD0bw,3075
48
50
  datamule/tables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
51
  datamule/tables/tables.py,sha256=Z3Eu6bdjiaNx4pgXlTMwk2Q-DhpMpEAygF2kJdp-Pu8,5722
@@ -65,7 +67,7 @@ datamule/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
67
  datamule/utils/construct_submissions_data.py,sha256=NB_hvfxlRXPyt4Fgc-5qA8vJRItkLhBedCSTaxwW7Jg,5887
66
68
  datamule/utils/format_accession.py,sha256=60RtqoNqoT9zSKVb1DeOv1gncJxzPTFMNW4SNOVmC_g,476
67
69
  datamule/utils/pdf.py,sha256=Z9xrdVhKex2YdvjYsaPaygRE_J6P_JNiUGkwflz2Hw0,735
68
- datamule-2.3.7.dist-info/METADATA,sha256=1Igs40zdVpr6XPH4s2ToG5EIyAsI1lpdA1yiuGUjsx4,609
69
- datamule-2.3.7.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
70
- datamule-2.3.7.dist-info/top_level.txt,sha256=iOfgmtSMFVyr7JGl_bYSTDry79JbmsG4p8zKq89ktKk,9
71
- datamule-2.3.7.dist-info/RECORD,,
70
+ datamule-2.3.9.dist-info/METADATA,sha256=X9sKhS_wPqUynhpANtzNQntQUtzrVn6CIoJBmg4Rs7c,609
71
+ datamule-2.3.9.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
72
+ datamule-2.3.9.dist-info/top_level.txt,sha256=iOfgmtSMFVyr7JGl_bYSTDry79JbmsG4p8zKq89ktKk,9
73
+ datamule-2.3.9.dist-info/RECORD,,