datamule 0.415__cp38-cp38-win_amd64.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.

Files changed (37) hide show
  1. datamule/__init__.py +62 -0
  2. datamule/data/company_former_names.csv +8148 -0
  3. datamule/data/company_metadata.csv +10049 -0
  4. datamule/data/company_tickers.csv +9999 -0
  5. datamule/data/sec-glossary.csv +728 -0
  6. datamule/data/xbrl_descriptions.csv +10024 -0
  7. datamule/dataset_builder/dataset_builder.py +259 -0
  8. datamule/document.py +130 -0
  9. datamule/helper.py +123 -0
  10. datamule/monitor.py +236 -0
  11. datamule/mulebot/__init__.py +1 -0
  12. datamule/mulebot/helper.py +35 -0
  13. datamule/mulebot/mulebot.py +130 -0
  14. datamule/mulebot/mulebot_server/__init__.py +1 -0
  15. datamule/mulebot/mulebot_server/server.py +87 -0
  16. datamule/mulebot/mulebot_server/static/css/minimalist.css +174 -0
  17. datamule/mulebot/mulebot_server/static/scripts/artifacts.js +68 -0
  18. datamule/mulebot/mulebot_server/static/scripts/chat.js +92 -0
  19. datamule/mulebot/mulebot_server/static/scripts/filingArtifacts.js +56 -0
  20. datamule/mulebot/mulebot_server/static/scripts/listArtifacts.js +15 -0
  21. datamule/mulebot/mulebot_server/static/scripts/main.js +57 -0
  22. datamule/mulebot/mulebot_server/static/scripts/prefilledPrompt.js +27 -0
  23. datamule/mulebot/mulebot_server/static/scripts/suggestions.js +47 -0
  24. datamule/mulebot/mulebot_server/static/scripts/tableArtifacts.js +129 -0
  25. datamule/mulebot/mulebot_server/static/scripts/utils.js +28 -0
  26. datamule/mulebot/mulebot_server/templates/chat-minimalist.html +91 -0
  27. datamule/mulebot/search.py +52 -0
  28. datamule/mulebot/tools.py +82 -0
  29. datamule/packageupdater.py +207 -0
  30. datamule/parser/sgml_parsing/sgml_parser_cy.c +19091 -0
  31. datamule/parser/sgml_parsing/sgml_parser_cy.cp38-win_amd64.pyd +0 -0
  32. datamule/portfolio.py +16 -0
  33. datamule/submission.py +61 -0
  34. datamule-0.415.dist-info/METADATA +37 -0
  35. datamule-0.415.dist-info/RECORD +37 -0
  36. datamule-0.415.dist-info/WHEEL +5 -0
  37. datamule-0.415.dist-info/top_level.txt +1 -0
datamule/portfolio.py ADDED
@@ -0,0 +1,16 @@
1
+ from pathlib import Path
2
+ from .submission import Submission
3
+
4
+ class Portfolio:
5
+ def __init__(self, path):
6
+ self.path = Path(path)
7
+ self.submissions = []
8
+
9
+ # Load all subdirectories as submissions
10
+ for folder in self.path.iterdir():
11
+ if folder.is_dir():
12
+ self.submissions.append(Submission(folder))
13
+
14
+
15
+ def __iter__(self):
16
+ return iter(self.submissions)
datamule/submission.py ADDED
@@ -0,0 +1,61 @@
1
+ from pathlib import Path
2
+ import json
3
+ from .document import Document
4
+
5
+ class Submission:
6
+ def __init__(self, path):
7
+ self.path = Path(path)
8
+ self._load_metadata()
9
+
10
+ def _load_metadata(self):
11
+ metadata_path = self.path / 'metadata.json'
12
+ with metadata_path.open('r') as f:
13
+ self.metadata = json.load(f)
14
+
15
+ def keep(self, document_types):
16
+ """Keep files of specified document types, delete others
17
+ Args:
18
+ document_types: string or list of strings representing document types to keep
19
+ """
20
+ # Convert single string to list for consistent handling
21
+ if isinstance(document_types, str):
22
+ document_types = [document_types]
23
+
24
+ for doc in self.metadata['documents']:
25
+ filename = doc.get('FILENAME')
26
+ if filename is None:
27
+ continue
28
+
29
+ filepath = self.path / filename
30
+ # Delete if document type isn't in our keep list
31
+ if doc['TYPE'] not in document_types and filepath.exists():
32
+ filepath.unlink()
33
+
34
+ def drop(self, document_types):
35
+ """Delete files of specified document types, keep others
36
+ Args:
37
+ document_types: string or list of strings representing document types to drop
38
+ """
39
+ # Convert single string to list for consistent handling
40
+ if isinstance(document_types, str):
41
+ document_types = [document_types]
42
+
43
+ for doc in self.metadata['documents']:
44
+ filename = doc.get('FILENAME')
45
+ if filename is None:
46
+ continue
47
+
48
+ filepath = self.path / filename
49
+ # Delete if document type is in our drop list
50
+ if doc['TYPE'] in document_types and filepath.exists():
51
+ filepath.unlink()
52
+
53
+ def document_type(self, document_type):
54
+ for doc in self.metadata['documents']:
55
+ if doc['TYPE'] == document_type:
56
+ filename = doc.get('FILENAME')
57
+ if filename is None:
58
+ continue
59
+
60
+ document_path = self.path / filename
61
+ yield Document(doc['TYPE'], document_path)
@@ -0,0 +1,37 @@
1
+ Metadata-Version: 2.1
2
+ Name: datamule
3
+ Version: 0.415
4
+ Summary: Making it easier to use SEC filings.
5
+ Home-page: https://github.com/john-friedman/datamule-python
6
+ Author: John Friedman
7
+ License: UNKNOWN
8
+ Platform: UNKNOWN
9
+ Requires-Dist: aiohttp
10
+ Requires-Dist: aiolimiter
11
+ Requires-Dist: tqdm
12
+ Requires-Dist: requests
13
+ Requires-Dist: nest-asyncio
14
+ Requires-Dist: aiofiles
15
+ Requires-Dist: polars
16
+ Requires-Dist: setuptools
17
+ Requires-Dist: selectolax
18
+ Requires-Dist: pytz
19
+ Requires-Dist: zstandard
20
+ Provides-Extra: all
21
+ Requires-Dist: pandas; extra == "all"
22
+ Requires-Dist: psutil; extra == "all"
23
+ Requires-Dist: flask; extra == "all"
24
+ Requires-Dist: google-generativeai; extra == "all"
25
+ Requires-Dist: openai; extra == "all"
26
+ Provides-Extra: dataset_builder
27
+ Requires-Dist: pandas; extra == "dataset-builder"
28
+ Requires-Dist: google-generativeai; extra == "dataset-builder"
29
+ Requires-Dist: psutil; extra == "dataset-builder"
30
+ Provides-Extra: mulebot
31
+ Requires-Dist: openai; extra == "mulebot"
32
+ Provides-Extra: mulebot_server
33
+ Requires-Dist: flask; extra == "mulebot-server"
34
+
35
+ UNKNOWN
36
+
37
+
@@ -0,0 +1,37 @@
1
+ datamule/__init__.py,sha256=c5Ozl19hzvyMqG75Zl3XFHIBQihxfB47uoTm7EfOOTQ,2033
2
+ datamule/document.py,sha256=6xEaI-32AQiBxX3gZcX4Qr49bgvcvLviFAwUGpTwtr0,5273
3
+ datamule/helper.py,sha256=8HOjB3Y7svw_zjEY-AY5JKOJ-LrBiuQMPyok3MH6CCg,4716
4
+ datamule/monitor.py,sha256=WVds1HGV_ojYgWmo0b4Dsiv9mzZ85HHnCucH-7XoUw8,9350
5
+ datamule/packageupdater.py,sha256=qVabK4YwSd62OjIvNY59hcQNgZCi4R2PRgCenq7THgE,9790
6
+ datamule/portfolio.py,sha256=is7QY2QkK9S2U2yZ6INC8TmLqIy5E1i0TUAlVT-Qzhg,440
7
+ datamule/submission.py,sha256=TNaj-epcpuV8JLRwawForQRFUAlqbyvRwAykj6xLANE,2334
8
+ datamule/data/company_former_names.csv,sha256=zTBWdV12_JE3aROFOMrFNTHLPW_M4TDruxtl15-XfA0,714528
9
+ datamule/data/company_metadata.csv,sha256=X7uSIwConqC0sz-moIhXIISg6FI7GLGSlvAfDDf8Sd0,3078648
10
+ datamule/data/company_tickers.csv,sha256=ihU6aNFriN0lADloCO85Op04deFk3qVcLZ0EJhi5QVo,410362
11
+ datamule/data/sec-glossary.csv,sha256=TPjTBVM3kyFd8xHsmihykepvKbuLAAthOfEDjh_H-Kk,251937
12
+ datamule/data/xbrl_descriptions.csv,sha256=Hg9BOo9zSjR7Khvx0pikILcbmDK_A404dmQtWuESK4s,2631548
13
+ datamule/dataset_builder/dataset_builder.py,sha256=h1JDzLcMKxxMcXcD24EyqjUPp78iLWCovfNLQtpwZi4,10005
14
+ datamule/mulebot/__init__.py,sha256=GM5cTnijSSLO9GXFdsCuz5B1iwGUcxDbpoBQ6zw1Odo,30
15
+ datamule/mulebot/helper.py,sha256=Hzzr2HReHpFe2GfpVU79EXvQFx3oL9UiwkJp--Sd1N4,1114
16
+ datamule/mulebot/mulebot.py,sha256=wN0Tv5fvarXgk1LRCcgPhj8Xgd8uYFn-cMucxTxRsEo,5966
17
+ datamule/mulebot/search.py,sha256=kuuPaMp2z9U8GY2LCulmqC8VFlYOLXf3bfLaBETObb0,2124
18
+ datamule/mulebot/tools.py,sha256=6giVRck3dgHmX0w9IvTe5I2FAiaBGTYuvwH6futDaes,3022
19
+ datamule/mulebot/mulebot_server/__init__.py,sha256=x1QhXys7BWxi2g9_ZHUYA6S6rL3VL2718x4rYtGaaIg,33
20
+ datamule/mulebot/mulebot_server/server.py,sha256=G9Pd0mGNWU04pHc73D8rIn7PWGjoApd3BBWn3CwXkHM,3633
21
+ datamule/mulebot/mulebot_server/static/css/minimalist.css,sha256=0oGf8p1cJFLjPUfx95rH6tbtbeUFUbZ1DhmzYkak6ro,3147
22
+ datamule/mulebot/mulebot_server/static/scripts/artifacts.js,sha256=jvcvjRioXwKx4dJwyIrVnD0sEpdHR13DrVwfWzgcXag,2325
23
+ datamule/mulebot/mulebot_server/static/scripts/chat.js,sha256=i9HIPcOLTuhOwT6AIxLI5FLQhMHIaDfaFSBSJCpEIlg,3199
24
+ datamule/mulebot/mulebot_server/static/scripts/filingArtifacts.js,sha256=yVDthXjmZ9cRSeu_9mRPf8JWAWeuwvRi5Hd9o_3Puek,2089
25
+ datamule/mulebot/mulebot_server/static/scripts/listArtifacts.js,sha256=kZeRl6ztFnOd46xNbUXIvEKYbgFcxT4ABDDmataEVpg,443
26
+ datamule/mulebot/mulebot_server/static/scripts/main.js,sha256=GXWqjzFozNhWdc2jgh0mplIGM_FUG4LR-A8DGN5yTgg,1938
27
+ datamule/mulebot/mulebot_server/static/scripts/prefilledPrompt.js,sha256=qRbhF3MmwmIQAV-QYxw-SOMFuFSF2tH5oBen5OYX5hQ,1119
28
+ datamule/mulebot/mulebot_server/static/scripts/suggestions.js,sha256=vqFoHG0z0YIhmA1w2X60biKRSWlkYkXcVuAmwbvsCaE,1841
29
+ datamule/mulebot/mulebot_server/static/scripts/tableArtifacts.js,sha256=jelibkbM9YlrlU7_-kaVisMh8OjIKWZpJQ9_FiHV4OQ,4565
30
+ datamule/mulebot/mulebot_server/static/scripts/utils.js,sha256=pOzsJ6bGxakN6G5qUvmkZd34u0GRHFxvH3pKpUmnhMc,1282
31
+ datamule/mulebot/mulebot_server/templates/chat-minimalist.html,sha256=mm-LomSoNcJImsFwLpFWt3kIFnxUzIPmUZ1Dt5BFN0s,7065
32
+ datamule/parser/sgml_parsing/sgml_parser_cy.c,sha256=vxLnjpUgZ5LLvBvzYI_CZVxjpgRpulnzj3EFQG5eB8g,797203
33
+ datamule/parser/sgml_parsing/sgml_parser_cy.cp38-win_amd64.pyd,sha256=oZADLJ-UJ07DsLNNoZVIHU2IdnSDDnNbZV8x-O4_u4Y,143360
34
+ datamule-0.415.dist-info/METADATA,sha256=6Yn6Yt9CsgMRFqHrmi2lFnwmi6q-EAKNfNFRVYx_fKw,1089
35
+ datamule-0.415.dist-info/WHEEL,sha256=N6sQ21sT3WcdJJLEJNx13ERof8WaAHD2AD1HUbWJ67E,100
36
+ datamule-0.415.dist-info/top_level.txt,sha256=iOfgmtSMFVyr7JGl_bYSTDry79JbmsG4p8zKq89ktKk,9
37
+ datamule-0.415.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: bdist_wheel (0.45.1)
3
+ Root-Is-Purelib: false
4
+ Tag: cp38-cp38-win_amd64
5
+
@@ -0,0 +1 @@
1
+ datamule