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.
- pypsx_toolkit-3.1.2/PKG-INFO +120 -0
- pypsx_toolkit-3.1.2/README.md +51 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pyproject.toml +4 -1
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/__init__.py +1 -1
- pypsx_toolkit-3.1.0/PKG-INFO +0 -668
- pypsx_toolkit-3.1.0/README.md +0 -600
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/LICENSE +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/MANIFEST.in +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/__init__.pyi +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/analysis/__init__.py +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/analysis/__init__.pyi +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/api.pyi +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/core/__init__.py +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/core/errors.pyi +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/core/stream.pyi +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/endpoints/__init__.py +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/endpoints/constants.py +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/format/__init__.py +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/market.pyi +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/models.py +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/models.pyi +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/py.typed +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit/ticker.pyi +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/pypsx_toolkit.egg-info/SOURCES.txt +0 -0
- {pypsx_toolkit-3.1.0 → pypsx_toolkit-3.1.2}/setup.cfg +0 -0
- {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.
|
|
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
|