nepse-cli 1.0.0__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.
@@ -0,0 +1,3 @@
1
+ {
2
+ "python-envs.pythonProjects": []
3
+ }
@@ -0,0 +1,160 @@
1
+ # ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Family IPO Automation - User Guide
2
+
3
+ ## ๐ŸŽฏ Overview
4
+ This updated system allows you to manage and apply for IPOs for multiple family members from a single interface!
5
+
6
+ ## ๐Ÿ“‹ Features
7
+ - โœ… **Multi-member support** - Add Dad, Mom, siblings, etc.
8
+ - โœ… **Individual credentials** - Each member has their own login details
9
+ - โœ… **Separate IPO settings** - Different Kitta amounts and CRN per member
10
+ - โœ… **Interactive Selection** - Use arrow keys to choose who to apply for
11
+ - โœ… **Portfolio tracking** - Check holdings for each family member
12
+ - โœ… **Auto-migration** - Old single-member config automatically converts
13
+
14
+ ## ๐Ÿš€ Quick Start
15
+
16
+ ### 1๏ธโƒฃ First Time Setup
17
+ Run the program and choose option **2** to add family members:
18
+ ```bash
19
+ nepse add-member
20
+ ```
21
+
22
+ ### 2๏ธโƒฃ Add Each Family Member
23
+ For each person (Dad, Mom, Brother, etc.), provide:
24
+ - **Name**: e.g., "Dad", "Mom", "Me", "Brother"
25
+ - **DP Value**: Your DP number (e.g., 139)
26
+ - **Username**: Meroshare username
27
+ - **Password**: Meroshare password
28
+ - **Transaction PIN**: 4-digit PIN for submissions
29
+ - **Applied Kitta**: How many shares to apply for (e.g., 10, 20)
30
+ - **CRN Number**: Customer Reference Number
31
+
32
+ ### 3๏ธโƒฃ Apply for IPO
33
+ Run the apply command and select which family member to apply for:
34
+ ```bash
35
+ nepse apply
36
+ # Use Up/Down arrows to select member and press Enter
37
+ ```
38
+
39
+ ## ๐Ÿ“ File Structure
40
+
41
+ ### `family_members.json` (Auto-created)
42
+ Stores all family member credentials:
43
+ ```json
44
+ {
45
+ "members": [
46
+ {
47
+ "name": "Dad",
48
+ "dp_value": "139",
49
+ "username": "dad_username",
50
+ "password": "dad_password",
51
+ "transaction_pin": "1234",
52
+ "applied_kitta": 10,
53
+ "crn_number": "DAD_CRN_NUMBER"
54
+ },
55
+ ...
56
+ ]
57
+ }
58
+ ```
59
+
60
+ ### `family_members_example.json`
61
+ Template file showing the structure for 4 family members.
62
+
63
+ ## ๐ŸŽฎ Menu Options
64
+
65
+ ### **1. Apply for IPO**
66
+ - Shows interactive list of all family members
67
+ - Select who to apply for using arrow keys
68
+ - Automatically fills their details
69
+ - Complete automation from login to submission
70
+
71
+ ### **2. Add/Update Family Member**
72
+ - Add a new family member
73
+ - Update existing member's details
74
+ - Each member stores their own IPO settings
75
+
76
+ ### **3. List All Family Members**
77
+ - View all configured members
78
+ - See their usernames, DP, Kitta, and CRN
79
+ - Quick overview of who's set up
80
+
81
+ ### **4. Get Portfolio**
82
+ - Select a family member
83
+ - Fetch their current holdings
84
+ - See all shares they own
85
+
86
+ ### **5. Login (Test)**
87
+ - Test login for a specific member
88
+ - Verify credentials are working
89
+ - Useful for debugging
90
+
91
+ ### **6. View DP List**
92
+ - See all available Depository Participants
93
+ - Find your DP value
94
+
95
+ ### **7. Exit**
96
+ - Close the program
97
+
98
+ ## ๐Ÿ”„ Migration from Old Format
99
+
100
+ If you have an existing `meroshare_config.json`, the system will:
101
+ 1. Detect it automatically
102
+ 2. Ask for a member name (e.g., "Me")
103
+ 3. Convert it to the new multi-member format
104
+ 4. Backup the old file as `meroshare_config.json.backup`
105
+
106
+ ## ๐Ÿ”’ Security Notes
107
+
108
+ - โœ… Keep `family_members.json` secure
109
+ - โœ… Set file permissions (auto-set on Linux/Mac)
110
+ - โœ… Don't share this file or commit it to Git
111
+ - โœ… Each member's password is stored (encrypted storage coming soon)
112
+
113
+ ## ๐Ÿ’ก Example Workflow
114
+
115
+ **Scenario**: Apply for IPO for entire family
116
+
117
+ ```bash
118
+ # Step 1: Add all 4 members (one-time setup)
119
+ nepse add-member
120
+ > Enter details for Dad
121
+ > Run again for Mom, Me, Brother
122
+
123
+ # Step 2: Apply for Dad
124
+ nepse apply
125
+ > Select: Dad (Use arrow keys)
126
+ > Automation runs for Dad
127
+
128
+ # Step 3: Apply for Mom
129
+ nepse apply
130
+ > Select: Mom (Use arrow keys)
131
+ > Automation runs for Mom
132
+
133
+ # OR Apply for everyone at once!
134
+ nepse apply-all
135
+ ```
136
+
137
+ ## ๐Ÿ› ๏ธ Troubleshooting
138
+
139
+ ### "No family members found"
140
+ - Run `nepse add-member` to add members first
141
+
142
+ ### "CRN number is required"
143
+ - Make sure you entered CRN during member setup
144
+ - Use `nepse add-member` to update the member
145
+
146
+ ### "Login failed"
147
+ - Verify credentials using `nepse test-login`
148
+ - Check DP value is correct
149
+ - Ensure username/password are valid
150
+
151
+ ## ๐Ÿ“ž Support
152
+
153
+ For issues or questions:
154
+ 1. Check this README
155
+ 2. Review the example JSON file
156
+ 3. Test login for the member having issues
157
+
158
+ ## ๐ŸŽ‰ Happy IPO Applying!
159
+
160
+ Now you can apply for IPOs for your entire family with just a few clicks! ๐Ÿš€
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Nadin Tamang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,7 @@
1
+ include README.md
2
+ include QUICK_REFERENCE.md
3
+ include FAMILY_IPO_README.md
4
+ include LICENSE
5
+ include nepse-cli-image.png
6
+ recursive-include . *.json
7
+ recursive-include . *.txt
@@ -0,0 +1,224 @@
1
+ Metadata-Version: 2.4
2
+ Name: nepse-cli
3
+ Version: 1.0.0
4
+ Summary: Modern CLI tool for Meroshare IPO automation and NEPSE market data with interactive TUI
5
+ Home-page: https://github.com/menaceXnadin/nepse-cli
6
+ Author: MenaceXnadin
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: Intended Audience :: End Users/Desktop
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.7
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Requires-Python: >=3.7
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: playwright>=1.40.0
20
+ Requires-Dist: prompt_toolkit>=3.0.48
21
+ Requires-Dist: rich>=13.0.0
22
+ Requires-Dist: colorama>=0.4.6
23
+ Requires-Dist: requests>=2.25.0
24
+ Requires-Dist: beautifulsoup4>=4.9.0
25
+ Requires-Dist: cloudscraper>=1.2.0
26
+ Dynamic: author
27
+ Dynamic: classifier
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+ Dynamic: home-page
31
+ Dynamic: license-file
32
+ Dynamic: requires-dist
33
+ Dynamic: requires-python
34
+ Dynamic: summary
35
+
36
+ # Nepse CLI - Meroshare IPO Automation & Market Data
37
+
38
+ ![Nepse CLI](nepse-cli-image.png)
39
+
40
+ A modern, interactive command-line tool to automate IPO applications on Meroshare for multiple family members and view real-time NEPSE market data.
41
+
42
+ **โœจ Now featuring a beautiful TUI with Rich tables, interactive menus, and fuzzy search!**
43
+
44
+ ```
45
+ [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘] 50% (3/6) Selecting DP (value: 10900)...
46
+ ```
47
+
48
+ ## Installation
49
+
50
+ ### ๐Ÿš€ Easy Start (Windows)
51
+ If you have the source code folder:
52
+ 1. Double-click **`start_nepse.bat`**.
53
+ 2. That's it! It will check for Python, install dependencies, and launch the tool.
54
+
55
+ ### Option 1: Install from Source (Recommended for Development)
56
+ ```powershell
57
+ cd "Nepse CLI"
58
+ pip install -e .
59
+ ```
60
+
61
+ ### Option 2: Install as Package (Coming Soon)
62
+ Once published to PyPI:
63
+ ```bash
64
+ pip install nepse-cli
65
+ ```
66
+
67
+ ### Browser Setup
68
+ The CLI will automatically install Playwright browsers on first run if they're not already installed. If you prefer to install manually:
69
+ ```powershell
70
+ playwright install chromium
71
+ ```
72
+
73
+ ## Usage
74
+
75
+ ### Interactive Shell (Recommended)
76
+ Simply run `nepse` to enter the modern interactive shell:
77
+ ```powershell
78
+ nepse
79
+ ```
80
+ Once inside the shell, you **do not** need to type `nepse` again. Just type the command directly:
81
+ * `stonk NABIL`
82
+ * `ipo`
83
+ * `apply`
84
+ * `mktsum`
85
+
86
+ **Shell Features:**
87
+ * **Command Palette**: Type `/` to search all available commands.
88
+ * **Autocompletion**: Type commands and see suggestions.
89
+ * **History**: Use Up/Down arrows to cycle through command history.
90
+ * **Help**: Type `help` or `?` to see the command list.
91
+
92
+ ### Direct Commands
93
+
94
+ #### Meroshare IPO Automation
95
+ ```powershell
96
+ # Apply for IPO (headless by default - no browser window)
97
+ nepse apply
98
+
99
+ # Apply with browser window visible
100
+ nepse apply --gui
101
+
102
+ # Apply for ALL family members (multi-tab automation)
103
+ nepse apply-all
104
+
105
+ # Apply for all members with browser visible
106
+ nepse apply-all --gui
107
+
108
+ # Add or update a family member
109
+ nepse add-member
110
+
111
+ # List all family members
112
+ nepse list-members
113
+
114
+ # Get portfolio (headless by default)
115
+ nepse get-portfolio
116
+
117
+ # Get portfolio with browser window visible
118
+ nepse get-portfolio --gui
119
+
120
+ # Test login (headless by default)
121
+ nepse test-login
122
+
123
+ # Test login with browser window visible
124
+ nepse test-login --gui
125
+
126
+ # View available DP list
127
+ nepse dplist
128
+ ```
129
+
130
+ #### Market Data Commands
131
+ ```powershell
132
+ # View all open IPOs/FPOs
133
+ nepse ipo
134
+
135
+ # View NEPSE indices
136
+ nepse nepse
137
+
138
+ # View sub-index details (Banking, Hydropower, etc.)
139
+ nepse subidx BANKING
140
+ nepse subidx HYDROPOWER
141
+
142
+ # View market summary
143
+ nepse mktsum
144
+
145
+ # View top 10 gainers and losers
146
+ nepse topgl
147
+
148
+ # View stock details (information only - no charts)
149
+ nepse stonk NABIL
150
+ nepse stonk NICA
151
+ ```
152
+
153
+ ## Features
154
+
155
+ ### ๐Ÿ–ฅ๏ธ Modern UI & UX
156
+ - **Rich TUI**: Beautiful tables, panels, and colored output for all commands.
157
+ - **Interactive Menus**: Select family members using arrow keys (no more typing IDs!).
158
+ - **Smart Shell**: Autocompletion, fuzzy search, and command history.
159
+ - **Progress Bars**: Visual feedback for all long-running operations.
160
+
161
+ ### ๐Ÿค– Meroshare Automation
162
+ - โœ… **Multi-member Support**: Manage credentials for the whole family.
163
+ - โœ… **One-Command Apply**: `nepse apply-all` applies for everyone in sequence.
164
+ - โœ… **Interactive Selection**: Choose a specific member from a list using arrow keys.
165
+ - โœ… **Headless Mode**: Fast and silent operation by default.
166
+ - โœ… **Secure Storage**: Credentials stored locally in your user directory.
167
+
168
+ ### ๐Ÿ“ˆ Market Data
169
+ - โœ… **Live Indices**: NEPSE, Sensitive, Float, and Sub-indices.
170
+ - โœ… **Market Summary**: Turnover, volume, market cap, and active stocks.
171
+ - โœ… **Top Gainers/Losers**: Real-time lists of best and worst performers.
172
+ - โœ… **Stock Details**: Price, volume, sector, and changes for any listed company.
173
+ - โœ… **IPO Watch**: List of all open and upcoming IPOs/FPOs/Right Shares.
174
+
175
+ ## Configuration
176
+
177
+ All credential data is stored in a **fixed location** to avoid path issues:
178
+
179
+ ๐Ÿ“ **Data Directory**: `C:\Users\%USERNAME%\Documents\merosharedata\`
180
+
181
+ Files stored here:
182
+ - `family_members.json` - All family member credentials
183
+ - `ipo_config.json` - IPO application settings (if any)
184
+ - `nepse_cli_history.txt` - Command history for the interactive shell
185
+
186
+ This means the CLI works from **any directory** - your data is always in the same place!
187
+
188
+ Family member data structure:
189
+
190
+ ```json
191
+ {
192
+ "members": [
193
+ {
194
+ "name": "Dad",
195
+ "dp_value": "139",
196
+ "username": "your_username",
197
+ "password": "your_password",
198
+ "transaction_pin": "1234",
199
+ "applied_kitta": 10,
200
+ "crn_number": "YOUR_CRN"
201
+ }
202
+ ]
203
+ }
204
+ ```
205
+
206
+ ## Security
207
+
208
+ - Passwords are stored locally in JSON format
209
+ - File permissions are set to 600 on Unix systems
210
+ - Never commit `family_members.json` to version control
211
+
212
+ ## Troubleshooting
213
+
214
+ **Command not found:**
215
+ - Make sure you ran `pip install -e .` in the Nepse CLI directory
216
+ - Restart your terminal after installation
217
+
218
+ **Browser not installed:**
219
+ - Run: `playwright install chromium`
220
+
221
+ **Login fails:**
222
+ - Test with: `nepse test-login`
223
+ - Verify credentials with: `nepse list-members`
224
+ - Update credentials with: `nepse add-member`
@@ -0,0 +1,182 @@
1
+ # Nepse CLI - Quick Reference Card
2
+
3
+ ## Interactive Shell (Recommended)
4
+
5
+ ```bash
6
+ nepse
7
+ ```
8
+ * **Search**: Type `/` to search commands.
9
+ * **Navigate**: Use Up/Down arrows for history.
10
+ * **Select**: Use arrow keys for menus.
11
+
12
+ ## Market Data Commands
13
+
14
+ ```bash
15
+ # View all open IPOs/FPOs
16
+ nepse ipo
17
+
18
+ # View NEPSE indices (main, sensitive, float)
19
+ nepse nepse
20
+
21
+ # View sector sub-indices
22
+ nepse subidx BANKING # Banking sector
23
+ nepse subidx HYDROPOWER # Hydropower sector
24
+ nepse subidx FINANCE # Finance sector
25
+ # ... and more (see full list below)
26
+
27
+ # View market summary (turnover, volume, market cap)
28
+ nepse mktsum
29
+
30
+ # View top 10 gainers and losers
31
+ nepse topgl
32
+
33
+ # View stock details (price, volume, sector, etc.)
34
+ nepse stonk NABIL # Nabil Bank
35
+ nepse stonk NICA # NIC Asia Bank
36
+ nepse stonk UPPER # Upper Tamakoshi
37
+ # ... any valid stock symbol
38
+ ```
39
+
40
+ ## Available Sub-Indices
41
+
42
+ - `BANKING` - Banking SubIndex
43
+ - `DEVBANK` - Development Bank Index
44
+ - `FINANCE` - Finance Index
45
+ - `HOTELS AND TOURISM` - Hotels And Tourism
46
+ - `HYDROPOWER` - HydroPower Index
47
+ - `INVESTMENT` - Investment
48
+ - `LIFE INSURANCE` - Life Insurance
49
+ - `MANUFACTURING AND PROCESSING` - Manufacturing And Processing
50
+ - `MICROFINANCE` - Microfinance Index
51
+ - `MUTUAL FUND` - Mutual Fund
52
+ - `NONLIFE INSURANCE` - Non Life Insurance
53
+ - `OTHERS` - Others Index
54
+ - `TRADING` - Trading Index
55
+
56
+ ## Meroshare IPO Automation
57
+
58
+ ```bash
59
+ # Apply for IPO (single member)
60
+ nepse apply # Headless mode (default)
61
+ nepse apply --gui # Show browser
62
+
63
+ # Apply for ALL family members
64
+ nepse apply-all # Headless mode (default)
65
+ nepse apply-all --gui # Show browser
66
+
67
+ # Manage family members
68
+ nepse add-member # Add/update member
69
+ nepse list-members # List all members
70
+
71
+ # Portfolio and login
72
+ nepse get-portfolio # Get portfolio (headless)
73
+ nepse get-portfolio --gui # Get portfolio (show browser)
74
+ nepse test-login # Test login (headless)
75
+ nepse test-login --gui # Test login (show browser)
76
+
77
+ # Utilities
78
+ nepse dplist # View available DPs
79
+ ```
80
+
81
+ ## Quick Tips
82
+
83
+ ๐Ÿ’ก **Interactive Selection:**
84
+ When running `nepse apply` or `nepse login`, use **Up/Down arrows** to select a family member from the list and press **Enter**.
85
+
86
+ ๐Ÿ’ก **Check IPO before applying:**
87
+ ```bash
88
+ nepse ipo # See what's open
89
+ nepse apply # Apply for selected IPO
90
+ ```
91
+
92
+ ๐Ÿ’ก **Market snapshot:**
93
+ ```bash
94
+ nepse nepse # Overall indices
95
+ nepse mktsum # Market statistics
96
+ nepse topgl # Best performers
97
+ ```
98
+
99
+ ๐Ÿ’ก **Research a stock:**
100
+ ```bash
101
+ nepse stonk NABIL # Get stock info
102
+ nepse subidx BANKING # Check sector trend
103
+ ```
104
+
105
+ ๐Ÿ’ก **Monitor portfolio:**
106
+ ```bash
107
+ nepse stonk <SYMBOL> # Check stock price
108
+ nepse get-portfolio # View holdings
109
+ ```
110
+
111
+ ## Notes
112
+
113
+ โš ๏ธ **Internet Required:** All market data commands need internet connection
114
+
115
+ โš ๏ธ **No Charts/Alerts:** Stock command shows info only (no chart generation or price alerts)
116
+
117
+ โš ๏ธ **Real-time Data:** Data is fetched in real-time from ShareSansar, MeroLagani, and NepseAlpha
118
+
119
+ โœ… **Fast & Lightweight:** Terminal-based, no GUI overhead
120
+
121
+ โœ… **Multi-source:** Uses multiple APIs for reliability
122
+
123
+ ## Data Sources
124
+
125
+ - ๐Ÿ“Š **IPO Data:** ShareHub Nepal API
126
+ - ๐Ÿ“ˆ **Indices:** ShareSansar
127
+ - ๐Ÿ’ฐ **Market Summary:** ShareSansar
128
+ - ๐Ÿ† **Top G/L:** MeroLagani
129
+ - ๐Ÿ“‰ **Stock Prices:** NepseAlpha API (primary), ShareSansar (fallback)
130
+
131
+ ## Installation
132
+
133
+ ```bash
134
+ # Install CLI globally
135
+ cd "Nepse CLI"
136
+ pip install -e .
137
+
138
+ # Install dependencies
139
+ pip install -r requirements-playwright.txt
140
+
141
+ # Install browser for automation
142
+ playwright install chromium
143
+ ```
144
+
145
+ ## Help
146
+
147
+ ```bash
148
+ # General help
149
+ nepse --help
150
+
151
+ # Command-specific help
152
+ nepse apply --help
153
+ nepse subidx --help
154
+ nepse stonk --help
155
+ ```
156
+
157
+ ## Examples
158
+
159
+ ### Check market before trading:
160
+ ```bash
161
+ nepse mktsum # Market overview
162
+ nepse topgl # See trends
163
+ nepse stonk UPPER # Check specific stock
164
+ ```
165
+
166
+ ### Research IPO:
167
+ ```bash
168
+ nepse ipo # See open IPOs
169
+ nepse subidx BANKING # Check sector performance
170
+ nepse apply # Apply if interested
171
+ ```
172
+
173
+ ### Monitor portfolio:
174
+ ```bash
175
+ nepse portfolio # View holdings
176
+ nepse stonk NABIL # Check stock price
177
+ nepse nepse # Overall market trend
178
+ ```
179
+
180
+ ---
181
+
182
+ **Need more help?** Check `README.md` and `MARKET_DATA_USAGE.md` for detailed documentation.