datamule 0.418__tar.gz → 0.421__tar.gz

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 (59) hide show
  1. {datamule-0.418 → datamule-0.421}/PKG-INFO +1 -1
  2. datamule-0.421/datamule/portfolio.py +21 -0
  3. {datamule-0.418 → datamule-0.421}/datamule/submission.py +7 -1
  4. {datamule-0.418 → datamule-0.421}/datamule.egg-info/PKG-INFO +1 -1
  5. {datamule-0.418 → datamule-0.421}/datamule.egg-info/SOURCES.txt +0 -1
  6. {datamule-0.418 → datamule-0.421}/setup.py +10 -2
  7. datamule-0.418/datamule/parser/document_parsing/company_concepts_parser.py +0 -0
  8. datamule-0.418/datamule/portfolio.py +0 -16
  9. {datamule-0.418 → datamule-0.421}/datamule/__init__.py +0 -0
  10. {datamule-0.418 → datamule-0.421}/datamule/data/company_former_names.csv +0 -0
  11. {datamule-0.418 → datamule-0.421}/datamule/data/company_metadata.csv +0 -0
  12. {datamule-0.418 → datamule-0.421}/datamule/data/company_tickers.csv +0 -0
  13. {datamule-0.418 → datamule-0.421}/datamule/data/sec-glossary.csv +0 -0
  14. {datamule-0.418 → datamule-0.421}/datamule/data/xbrl_descriptions.csv +0 -0
  15. {datamule-0.418 → datamule-0.421}/datamule/dataset_builder/dataset_builder.py +0 -0
  16. {datamule-0.418 → datamule-0.421}/datamule/document.py +0 -0
  17. {datamule-0.418 → datamule-0.421}/datamule/downloader/downloader.py +0 -0
  18. {datamule-0.418 → datamule-0.421}/datamule/downloader/premiumdownloader.py +0 -0
  19. {datamule-0.418 → datamule-0.421}/datamule/helper.py +0 -0
  20. {datamule-0.418 → datamule-0.421}/datamule/monitor.py +0 -0
  21. {datamule-0.418 → datamule-0.421}/datamule/mulebot/__init__.py +0 -0
  22. {datamule-0.418 → datamule-0.421}/datamule/mulebot/helper.py +0 -0
  23. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot.py +0 -0
  24. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/__init__.py +0 -0
  25. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/server.py +0 -0
  26. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/css/minimalist.css +0 -0
  27. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/artifacts.js +0 -0
  28. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/chat.js +0 -0
  29. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/filingArtifacts.js +0 -0
  30. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/listArtifacts.js +0 -0
  31. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/main.js +0 -0
  32. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/prefilledPrompt.js +0 -0
  33. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/suggestions.js +0 -0
  34. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/tableArtifacts.js +0 -0
  35. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/static/scripts/utils.js +0 -0
  36. {datamule-0.418 → datamule-0.421}/datamule/mulebot/mulebot_server/templates/chat-minimalist.html +0 -0
  37. {datamule-0.418 → datamule-0.421}/datamule/mulebot/search.py +0 -0
  38. {datamule-0.418 → datamule-0.421}/datamule/mulebot/tools.py +0 -0
  39. {datamule-0.418 → datamule-0.421}/datamule/packageupdater.py +0 -0
  40. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/basic_10k_parser.py +0 -0
  41. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/basic_10q_parser.py +0 -0
  42. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/basic_13d_parser.py +0 -0
  43. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/basic_13g_parser.py +0 -0
  44. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/basic_8k_parser.py +0 -0
  45. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/form_d_parser.py +0 -0
  46. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/generalized_item_parser.py +0 -0
  47. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/generalized_xml_parser.py +0 -0
  48. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/helper.py +0 -0
  49. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/information_table_parser_13fhr.py +0 -0
  50. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/insider_trading_parser.py +0 -0
  51. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/mappings.py +0 -0
  52. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/n_port_p_parser.py +0 -0
  53. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/sec_parser.py +0 -0
  54. {datamule-0.418 → datamule-0.421}/datamule/parser/document_parsing/sgml_parser.py +0 -0
  55. {datamule-0.418 → datamule-0.421}/datamule/parser/sgml_parsing/sgml_parser_cy.c +0 -0
  56. {datamule-0.418 → datamule-0.421}/datamule.egg-info/dependency_links.txt +0 -0
  57. {datamule-0.418 → datamule-0.421}/datamule.egg-info/requires.txt +3 -3
  58. {datamule-0.418 → datamule-0.421}/datamule.egg-info/top_level.txt +0 -0
  59. {datamule-0.418 → datamule-0.421}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datamule
3
- Version: 0.418
3
+ Version: 0.421
4
4
  Summary: Making it easier to use SEC filings.
5
5
  Home-page: https://github.com/john-friedman/datamule-python
6
6
  Author: John Friedman
@@ -0,0 +1,21 @@
1
+ from pathlib import Path
2
+ from tqdm import tqdm
3
+ from concurrent.futures import ProcessPoolExecutor
4
+ from .submission import Submission
5
+
6
+ class Portfolio:
7
+ def __init__(self, path):
8
+ self.path = Path(path)
9
+ folders = [f for f in self.path.iterdir() if f.is_dir()]
10
+ print(f"Loading {len(folders)} submissions")
11
+ # Load submissions in parallel
12
+ with ProcessPoolExecutor() as executor:
13
+ # Show progress while loading
14
+ self.submissions = list(tqdm(
15
+ executor.map(Submission, folders),
16
+ total=len(folders),
17
+ desc="Loading submissions"
18
+ ))
19
+
20
+ def __iter__(self):
21
+ return iter(self.submissions)
@@ -51,8 +51,14 @@ class Submission:
51
51
  filepath.unlink()
52
52
 
53
53
  def document_type(self, document_type):
54
+ # Convert single document type to list for consistent handling
55
+ if isinstance(document_type, str):
56
+ document_types = [document_type]
57
+ else:
58
+ document_types = document_type
59
+
54
60
  for doc in self.metadata['documents']:
55
- if doc['TYPE'] == document_type:
61
+ if doc['TYPE'] in document_types:
56
62
  filename = doc.get('FILENAME')
57
63
  if filename is None:
58
64
  continue
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datamule
3
- Version: 0.418
3
+ Version: 0.421
4
4
  Summary: Making it easier to use SEC filings.
5
5
  Home-page: https://github.com/john-friedman/datamule-python
6
6
  Author: John Friedman
@@ -42,7 +42,6 @@ datamule/parser/document_parsing/basic_10q_parser.py
42
42
  datamule/parser/document_parsing/basic_13d_parser.py
43
43
  datamule/parser/document_parsing/basic_13g_parser.py
44
44
  datamule/parser/document_parsing/basic_8k_parser.py
45
- datamule/parser/document_parsing/company_concepts_parser.py
46
45
  datamule/parser/document_parsing/form_d_parser.py
47
46
  datamule/parser/document_parsing/generalized_item_parser.py
48
47
  datamule/parser/document_parsing/generalized_xml_parser.py
@@ -1,11 +1,19 @@
1
1
  from setuptools import setup, Extension
2
- from Cython.Build import cythonize
3
2
  from pathlib import Path
4
3
  import platform
5
4
  import os
6
5
  from setuptools import find_namespace_packages # Add this import
7
6
 
8
7
 
8
+ # First, try to install Cython if it's not available
9
+ try:
10
+ from Cython.Build import cythonize
11
+ except ImportError:
12
+ from setuptools import dist
13
+ dist.Distribution().fetch_build_eggs(['Cython'])
14
+ from Cython.Build import cythonize
15
+
16
+
9
17
  # Platform-specific settings
10
18
  include_dirs = []
11
19
  library_dirs = []
@@ -55,7 +63,7 @@ extras["all"] = list(all_dependencies)
55
63
  setup(
56
64
  name="datamule",
57
65
  author="John Friedman",
58
- version="0.418",
66
+ version="0.421",
59
67
  description="Making it easier to use SEC filings.",
60
68
  packages=find_namespace_packages(include=['datamule*']),
61
69
  url="https://github.com/john-friedman/datamule-python",
@@ -1,16 +0,0 @@
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)
File without changes
File without changes
File without changes
File without changes
@@ -11,11 +11,11 @@ pytz
11
11
  zstandard
12
12
 
13
13
  [all]
14
- flask
15
- google-generativeai
16
- psutil
17
14
  pandas
18
15
  openai
16
+ google-generativeai
17
+ flask
18
+ psutil
19
19
 
20
20
  [dataset_builder]
21
21
  pandas
File without changes