pypsx-toolkit 3.1.0__tar.gz → 3.1.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 (26) hide show
  1. pypsx_toolkit-3.1.2/PKG-INFO +120 -0
  2. pypsx_toolkit-3.1.2/README.md +51 -0
  3. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pyproject.toml +4 -1
  4. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/__init__.py +1 -1
  5. pypsx_toolkit-3.1.0/PKG-INFO +0 -668
  6. pypsx_toolkit-3.1.0/README.md +0 -600
  7. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/LICENSE +0 -0
  8. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/MANIFEST.in +0 -0
  9. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/__init__.pyi +0 -0
  10. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/analysis/__init__.py +0 -0
  11. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/analysis/__init__.pyi +0 -0
  12. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/api.pyi +0 -0
  13. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/core/__init__.py +0 -0
  14. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/core/errors.pyi +0 -0
  15. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/core/stream.pyi +0 -0
  16. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/endpoints/__init__.py +0 -0
  17. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/endpoints/constants.py +0 -0
  18. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/format/__init__.py +0 -0
  19. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/market.pyi +0 -0
  20. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/models.py +0 -0
  21. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/models.pyi +0 -0
  22. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/py.typed +0 -0
  23. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/ticker.pyi +0 -0
  24. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit.egg-info/SOURCES.txt +0 -0
  25. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/setup.cfg +0 -0
  26. {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/setup.py +0 -0
@@ -0,0 +1,120 @@
1
+ Metadata-Version: 2.4
2
+ Name: pypsx-toolkit
3
+ Version: 3.1.2
4
+ Summary: Pakistan Stock Exchange (PSX) data library with yfinance-like API
5
+ Author-email: PyPSX Team <pypsxofficial@gmail.com>
6
+ Maintainer-email: PyPSX Team <pypsxofficial@gmail.com>
7
+ License: Copyright (c) 2026 PyPSX Team. All rights reserved.
8
+
9
+ This software and associated documentation files (the "Software") are the
10
+ proprietary property of PyPSX Team. Unauthorized copying, modification,
11
+ distribution, sublicensing, or use of this Software, via any medium, is
12
+ strictly prohibited without the prior written permission of PyPSX Team.
13
+
14
+ No license, express or implied, to any intellectual property rights is
15
+ granted by this document.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23
+ DEALINGS IN THE SOFTWARE.
24
+
25
+ Project-URL: Homepage, https://pypsx.com
26
+ Project-URL: Documentation, https://markets.pypsx.com/docs
27
+ Project-URL: Changelog, https://markets.pypsx.com/docs/changelog
28
+ Keywords: psx,pakistan,stock,finance,data,api,pandas,yfinance,market-data
29
+ Classifier: Development Status :: 4 - Beta
30
+ Classifier: Intended Audience :: Developers
31
+ Classifier: Intended Audience :: Financial and Insurance Industry
32
+ Classifier: License :: Other/Proprietary License
33
+ Classifier: Operating System :: OS Independent
34
+ Classifier: Programming Language :: Python :: 3
35
+ Classifier: Programming Language :: Python :: 3.10
36
+ Classifier: Programming Language :: Python :: 3.11
37
+ Classifier: Programming Language :: Python :: 3.12
38
+ Classifier: Programming Language :: Python :: 3.13
39
+ Classifier: Programming Language :: Python :: 3.14
40
+ Classifier: Programming Language :: Python :: 3 :: Only
41
+ Classifier: Topic :: Office/Business :: Financial
42
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
43
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
44
+ Requires-Python: >=3.10
45
+ Description-Content-Type: text/markdown
46
+ License-File: LICENSE
47
+ Requires-Dist: requests>=2.31.0
48
+ Requires-Dist: curl_cffi>=0.6.0
49
+ Requires-Dist: beautifulsoup4>=4.12.0
50
+ Requires-Dist: lxml>=4.9.0
51
+ Requires-Dist: pandas<3.0.0,>=2.0.0
52
+ Requires-Dist: loguru>=0.7.0
53
+ Requires-Dist: numpy<2.4.0,>=1.24.0
54
+ Requires-Dist: tqdm>=4.66.0
55
+ Provides-Extra: plot
56
+ Requires-Dist: matplotlib>=3.5.0; extra == "plot"
57
+ Requires-Dist: seaborn>=0.11.0; extra == "plot"
58
+ Provides-Extra: dev
59
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
60
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
61
+ Requires-Dist: requests-mock>=1.10.0; extra == "dev"
62
+ Requires-Dist: black>=23.0.0; extra == "dev"
63
+ Requires-Dist: flake8>=6.0.0; extra == "dev"
64
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
65
+ Requires-Dist: isort>=5.12.0; extra == "dev"
66
+ Provides-Extra: all
67
+ Requires-Dist: pypsx-toolkit[dev,plot]; extra == "all"
68
+ Dynamic: license-file
69
+
70
+ # pypsx-toolkit
71
+
72
+ **Free, programmatic market data and analytics for the Pakistan Stock Exchange (PSX), from [pyPSX](https://pypsx.com).**
73
+
74
+ pyPSX is the API-first trading platform for PSX: market data, backtesting, paper and live trading over a
75
+ REST and WebSocket API, a live feed, an AI Strategy Copilot, and a web terminal. This package is the free,
76
+ public data and analytics library, the easiest way to pull PSX data programmatically in Python. No account
77
+ and no API key are required.
78
+
79
+ - Website and product: https://pypsx.com
80
+ - Web terminal and dashboard: https://markets.pypsx.com
81
+ - Documentation: https://docs.pypsx.com
82
+ - Trading SDK (backtesting, paper and live trading): [`pypsx`](https://pypi.org/project/pypsx/)
83
+ - X: https://x.com/pyPSXofficial · LinkedIn: https://www.linkedin.com/company/pypsx/ · Reddit: https://www.reddit.com/r/pypsx/
84
+
85
+ ## What this package does
86
+
87
+ `pypsx-toolkit` gives anyone clean PSX data in Python, with no key:
88
+
89
+ - 10 years of daily OHLCV and recent intraday data.
90
+ - Company fundamentals, dividend history, and corporate announcements.
91
+ - Index and sector constituents and breakdowns (KSE-100, KMI-30, KSE-30, and more).
92
+ - A full market watch, top performers, and quotes.
93
+ - A technical-analysis toolkit: moving averages, RSI, MACD, Bollinger Bands, correlation, and risk stats.
94
+
95
+ Returns clean pandas DataFrames. Built on a real API, not brittle HTML parsing.
96
+
97
+ ## Install
98
+
99
+ ```bash
100
+ pip install pypsx-toolkit
101
+ ```
102
+
103
+ ```python
104
+ import pypsx_toolkit as pt
105
+
106
+ df = pt.download("OGDC", period="10y") # 10 years of daily bars
107
+ pt.get_company_fundamentals("OGDC")
108
+ pt.get_dividend_history("HBL")
109
+ ```
110
+
111
+ ## Going further
112
+
113
+ For backtesting, a paper-trading sandbox, live real-money trading, and the live feed, use the
114
+ [`pypsx`](https://pypi.org/project/pypsx/) SDK with a free key, or trade point-and-click in the web
115
+ terminal at https://markets.pypsx.com.
116
+
117
+ ## About pyPSX
118
+
119
+ pyPSX is the developer platform and company for the Pakistan Stock Exchange. It is distinct from the PSX
120
+ exchange itself. Proprietary license. Full documentation at https://docs.pypsx.com.
@@ -0,0 +1,51 @@
1
+ # pypsx-toolkit
2
+
3
+ **Free, programmatic market data and analytics for the Pakistan Stock Exchange (PSX), from [pyPSX](https://pypsx.com).**
4
+
5
+ pyPSX is the API-first trading platform for PSX: market data, backtesting, paper and live trading over a
6
+ REST and WebSocket API, a live feed, an AI Strategy Copilot, and a web terminal. This package is the free,
7
+ public data and analytics library, the easiest way to pull PSX data programmatically in Python. No account
8
+ and no API key are required.
9
+
10
+ - Website and product: https://pypsx.com
11
+ - Web terminal and dashboard: https://markets.pypsx.com
12
+ - Documentation: https://docs.pypsx.com
13
+ - Trading SDK (backtesting, paper and live trading): [`pypsx`](https://pypi.org/project/pypsx/)
14
+ - X: https://x.com/pyPSXofficial · LinkedIn: https://www.linkedin.com/company/pypsx/ · Reddit: https://www.reddit.com/r/pypsx/
15
+
16
+ ## What this package does
17
+
18
+ `pypsx-toolkit` gives anyone clean PSX data in Python, with no key:
19
+
20
+ - 10 years of daily OHLCV and recent intraday data.
21
+ - Company fundamentals, dividend history, and corporate announcements.
22
+ - Index and sector constituents and breakdowns (KSE-100, KMI-30, KSE-30, and more).
23
+ - A full market watch, top performers, and quotes.
24
+ - A technical-analysis toolkit: moving averages, RSI, MACD, Bollinger Bands, correlation, and risk stats.
25
+
26
+ Returns clean pandas DataFrames. Built on a real API, not brittle HTML parsing.
27
+
28
+ ## Install
29
+
30
+ ```bash
31
+ pip install pypsx-toolkit
32
+ ```
33
+
34
+ ```python
35
+ import pypsx_toolkit as pt
36
+
37
+ df = pt.download("OGDC", period="10y") # 10 years of daily bars
38
+ pt.get_company_fundamentals("OGDC")
39
+ pt.get_dividend_history("HBL")
40
+ ```
41
+
42
+ ## Going further
43
+
44
+ For backtesting, a paper-trading sandbox, live real-money trading, and the live feed, use the
45
+ [`pypsx`](https://pypi.org/project/pypsx/) SDK with a free key, or trade point-and-click in the web
46
+ terminal at https://markets.pypsx.com.
47
+
48
+ ## About pyPSX
49
+
50
+ pyPSX is the developer platform and company for the Pakistan Stock Exchange. It is distinct from the PSX
51
+ exchange itself. Proprietary license. Full documentation at https://docs.pypsx.com.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pypsx-toolkit"
7
- version = "3.1.0"
7
+ version = "3.1.2"
8
8
  description = "Pakistan Stock Exchange (PSX) data library with yfinance-like API"
9
9
  readme = "README.md"
10
10
  # 3.10 is the real floor: `pandas>=2.0` already excludes 3.8/3.9, and
@@ -38,6 +38,9 @@ classifiers = [
38
38
 
39
39
  dependencies = [
40
40
  "requests>=2.31.0",
41
+ # Browser-grade TLS client for PSX market-data HTTPS (plain Python TLS is
42
+ # often rejected). Also carries session request headers the hosts expect.
43
+ "curl_cffi>=0.6.0",
41
44
  "beautifulsoup4>=4.12.0",
42
45
  "lxml>=4.9.0",
43
46
  # See pypsx_dev/pyproject.toml's identical pins for the reasoning: the
@@ -2,7 +2,7 @@
2
2
  PSX yfinance-style API
3
3
  """
4
4
 
5
- __version__ = "3.1.0"
5
+ __version__ = "3.1.2"
6
6
  __author__ = "PyPSX Team"
7
7
  __email__ = "pypsxofficial@gmail.com"
8
8