earningscall 1.0.0__tar.gz → 1.0.2__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.
Files changed (65) hide show
  1. {earningscall-1.0.0 → earningscall-1.0.2}/CHANGELOG.md +8 -0
  2. {earningscall-1.0.0 → earningscall-1.0.2}/PKG-INFO +1 -1
  3. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/api.py +13 -1
  4. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/symbols.py +1 -1
  5. {earningscall-1.0.0 → earningscall-1.0.2}/pyproject.toml +1 -1
  6. earningscall-1.0.2/tests/test_api.py +9 -0
  7. {earningscall-1.0.0 → earningscall-1.0.2}/.github/workflows/release.yml +0 -0
  8. {earningscall-1.0.0 → earningscall-1.0.2}/.github/workflows/test.yml +0 -0
  9. {earningscall-1.0.0 → earningscall-1.0.2}/.gitignore +0 -0
  10. {earningscall-1.0.0 → earningscall-1.0.2}/.python-version +0 -0
  11. {earningscall-1.0.0 → earningscall-1.0.2}/DEVELOPMENT.md +0 -0
  12. {earningscall-1.0.0 → earningscall-1.0.2}/LICENSE +0 -0
  13. {earningscall-1.0.0 → earningscall-1.0.2}/README.md +0 -0
  14. {earningscall-1.0.0 → earningscall-1.0.2}/TODO.md +0 -0
  15. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/__init__.py +0 -0
  16. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/company.py +0 -0
  17. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/errors.py +0 -0
  18. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/event.py +0 -0
  19. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/exports.py +0 -0
  20. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/sectors.py +0 -0
  21. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/transcript.py +0 -0
  22. {earningscall-1.0.0 → earningscall-1.0.2}/earningscall/utils.py +0 -0
  23. {earningscall-1.0.0 → earningscall-1.0.2}/hatch.toml +0 -0
  24. {earningscall-1.0.0 → earningscall-1.0.2}/scripts/download_audio_files.py +0 -0
  25. {earningscall-1.0.0 → earningscall-1.0.2}/scripts/download_single_audio_file.py +0 -0
  26. {earningscall-1.0.0 → earningscall-1.0.2}/scripts/download_sp500_audio_files.py +0 -0
  27. {earningscall-1.0.0 → earningscall-1.0.2}/scripts/get_all_company_transcripts.py +0 -0
  28. {earningscall-1.0.0 → earningscall-1.0.2}/scripts/get_single_transcript.py +0 -0
  29. {earningscall-1.0.0 → earningscall-1.0.2}/scripts/list_companies.py +0 -0
  30. {earningscall-1.0.0 → earningscall-1.0.2}/setup.cfg +0 -0
  31. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/aapl-q1-2022-advanced-data-level-2.yaml +0 -0
  32. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/aapl-q1-2022-advanced-data-level-3.yaml +0 -0
  33. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/aapl-q1-2022-advanced-data-level-4.yaml +0 -0
  34. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/aapl-q1-2022-speaker-name-map-v2.yaml +0 -0
  35. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/aapl-q1-2030-not-authorized-l2.yaml +0 -0
  36. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/aapl-q1-2030-not-authorized.yaml +0 -0
  37. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/aapl-q1-2030-not-found.yaml +0 -0
  38. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/aapl-q1-2030-server-error.yaml +0 -0
  39. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/demo-symbols-v2-alpha.yaml +0 -0
  40. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/demo-symbols-v2.yaml +0 -0
  41. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/meta-q3-2024-not-authorized.yaml +0 -0
  42. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/meta-q3-2024-not-found.yaml +0 -0
  43. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/meta-q3-2024-other-error.yaml +0 -0
  44. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/msft-company-events.yaml +0 -0
  45. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/msft-q1-2022-audio-file-short-clip.yaml +0 -0
  46. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/msft-transcript-response.yaml +0 -0
  47. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/sp500-company-list-failed.yaml +0 -0
  48. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/sp500-company-list.yaml +0 -0
  49. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/symbols-v2-missing-edge-cases.yaml +0 -0
  50. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/symbols-v2.yaml +0 -0
  51. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/symbols.txt +0 -0
  52. {earningscall-1.0.0 → earningscall-1.0.2}/tests/data/symbols.yaml +0 -0
  53. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_company.py +0 -0
  54. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_download_audio_files.py +0 -0
  55. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_earnings_event.py +0 -0
  56. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_errors.py +0 -0
  57. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_exports.py +0 -0
  58. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_get_company_events.py +0 -0
  59. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_get_sp500_companies_api.py +0 -0
  60. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_get_transcript.py +0 -0
  61. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_helper.py +0 -0
  62. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_responses_mocking.py +0 -0
  63. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_sectors.py +0 -0
  64. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_symbols.py +0 -0
  65. {earningscall-1.0.0 → earningscall-1.0.2}/tests/test_utils.py +0 -0
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## Release `1.0.2` - 2024-12-24
4
+
5
+ * Add STO exchange to the list of exchanges.
6
+
7
+ ## Release `1.0.1` - 2024-12-20
8
+
9
+ * Update User-Agent string to standardized format used in the industry.
10
+
3
11
  ## Release `1.0.0` - 2024-12-16
4
12
 
5
13
  * Release the first major version of EarningsCall.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: earningscall
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Summary: The EarningsCall Python library provides convenient access to the EarningsCall API. It includes a pre-defined set of classes for API resources that initialize themselves dynamically from API responses.
5
5
  Project-URL: Homepage, https://earningscall.biz
6
6
  Project-URL: Documentation, https://github.com/EarningsCall/earningscall-python
@@ -1,4 +1,5 @@
1
1
  import importlib
2
+ import platform
2
3
  import urllib.parse
3
4
  import logging
4
5
  import os
@@ -61,10 +62,21 @@ def get_earnings_call_version():
61
62
  return None
62
63
 
63
64
 
65
+ def get_user_agent():
66
+ sdk_name = "EarningsCallPython"
67
+ sdk_version = get_earnings_call_version()
68
+ python_version = platform.python_version()
69
+ os_info = f"{platform.system()} {platform.release()}"
70
+ arch = platform.machine()
71
+ requests_version = requests.__version__
72
+ user_agent = f"{sdk_name}/{sdk_version} (Python/{python_version}; {os_info}; {arch}) Requests/{requests_version}"
73
+ return user_agent
74
+
75
+
64
76
  def get_headers():
65
77
  earnings_call_version = get_earnings_call_version()
66
78
  return {
67
- "User-Agent": f"EarningsCall Python/{earnings_call_version}",
79
+ "User-Agent": get_user_agent(),
68
80
  "X-EarningsCall-Version": earnings_call_version,
69
81
  }
70
82
 
@@ -8,7 +8,7 @@ from earningscall.errors import InsufficientApiAccessError
8
8
  from earningscall.sectors import sector_to_index, industry_to_index, index_to_sector, index_to_industry
9
9
 
10
10
  # WARNING: Add new indexes to the *END* of this list
11
- EXCHANGES_IN_ORDER = ["NYSE", "NASDAQ", "AMEX", "TSX", "TSXV", "OTC", "LSE", "CBOE"]
11
+ EXCHANGES_IN_ORDER = ["NYSE", "NASDAQ", "AMEX", "TSX", "TSXV", "OTC", "LSE", "CBOE", "STO"]
12
12
 
13
13
  log = logging.getLogger(__file__)
14
14
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "earningscall"
3
- version = "1.0.0"
3
+ version = "1.0.2"
4
4
  description = "The EarningsCall Python library provides convenient access to the EarningsCall API. It includes a pre-defined set of classes for API resources that initialize themselves dynamically from API responses."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -0,0 +1,9 @@
1
+ from earningscall.api import get_user_agent
2
+
3
+
4
+ def test_get_user_agent():
5
+ user_agent = get_user_agent()
6
+ assert user_agent is not None
7
+ assert "EarningsCallPython/" in user_agent
8
+ assert "Python" in user_agent
9
+ assert "Requests" in user_agent
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes