Skip to content

Commit 9aaf6d0

Browse files
committed
Release Version 5.3
- Updated Documentation for 5.3 - Updated Changelog for 5.3 - Added New icon
1 parent a87e1e9 commit 9aaf6d0

File tree

5 files changed

+226
-131
lines changed

5 files changed

+226
-131
lines changed

CHANGELOG.md

+141-69
Original file line numberDiff line numberDiff line change
@@ -2,137 +2,195 @@
22

33
<br>
44

5-
># [5.2](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/5.2)
5+
> # [5.3](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/5.3)
6+
7+
## Feature and Bug Fix Update
8+
9+
- New App Icon:
10+
11+
<img width="64" height="64" src="https://i.imgur.com/OGHZnUu.png" alt="icon_square">
12+
13+
- Improved Documentation
14+
- Added Option to alert if last time the data was updated is 5 minutes or more called `Warn Late Server Updates`
15+
- Downloading the app icon can be disabled now changing the value of `load_nse_icon` to `False` in the config file
16+
- This is to speed up loading times while using the .py version
17+
- Added Saving New settings for subsequent runs
18+
- New Saved settings:
19+
* Load App Icon
20+
* Warn Late Server Updates
21+
- Improved Logging:
22+
- New Logging messages:
23+
* Beta status
24+
* Beta version number
25+
- Disabled resizability for About window
26+
- Bumped dependencies for `.py` version
27+
- Removed numpy import by casting all numpy.float64 and numpy.int64 types to float and int
28+
- Removed numpy from requirements but will be installed by pandas anyways
29+
- Fixed icon not loading in `.exe` version
30+
- Prevents crashing the program if it fails to check for updates
31+
- Prevents crashing the program if icon fails to load correctly
32+
- Runs the program with the default icon instead
33+
- Program will exit if an error occurs while trying to load symbols
34+
- Error message window will be displayed before exiting
35+
36+
<br>
37+
38+
> # [5.2](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/5.2)
39+
640
## Compatibility and Feature Update
41+
742
- Added Support for Linux
8-
- Notifications only supports Windows 10
9-
- List of Stocks and Indices is loaded dynamically from https://www.nseindia.com/products-services/equity-derivatives-list-underlyings-information everytime
10-
- Program is now not required to be updated when there are changes in Stocks and Indices
43+
- Notifications only supports Windows 10
44+
- List of Stocks and Indices is loaded dynamically
45+
from https://www.nseindia.com/products-services/equity-derivatives-list-underlyings-information everytime
46+
- Program is now not required to be updated when there are changes in Stocks and Indices
1147
- Added name of stock or index in notifications
1248
- Reworked configuration reading and writing
13-
- Settings will stay persistent across updates
14-
- Only invalid values are corrected and missing values are appended
15-
- Unless a user tampers with it, the config does not reset completely
16-
- If your running the .py version, icons are now temporarily downloaded every time you run the program and need not be saved separately
49+
- Settings will stay persistent across updates
50+
- Only invalid values are corrected and missing values are appended
51+
- Unless a user tampers with it, the config does not reset completely
52+
- If your running the .py version, icons are now temporarily downloaded every time you run the program and need not be
53+
saved separately
1754
- Disabled text input in Dropdown menus on Login page to prevent errors
1855
- Improved Logging:
19-
- New Logging messages:
20-
* OS Name and Version
21-
* Error Class along with Error Message
22-
- Note: Users who are still running version 4.x are recommended to directly update to 5.2 to prevent settings from resetting
56+
- New Logging messages:
57+
* OS Name and Version
58+
* Error Class along with Error Message
59+
- Note: Users who are still running version 4.x are recommended to directly update to 5.2 to prevent settings from
60+
resetting
2361

2462
<br>
2563

26-
># [5.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/5.0)
64+
> # [5.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/5.0)
65+
2766
## Major Feature Update
28-
- Added Support for Stocks (Total 141 Stocks). Issue: [#8](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/8)
29-
- Set Index Mode or Stock Mode then select your preferred Index or Stock
30-
- Values are in 10s in Stock mode and 1000s in Index mode (to compensate for low values of stocks)
31-
- Symbol of the Stock is present in the names of the .csv files
32-
- Appropriate Units are reflected in the headers of .csv files
67+
68+
- Added Support for Stocks (Total 141 Stocks).
69+
Issue: [#8](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/8)
70+
- Set Index Mode or Stock Mode then select your preferred Index or Stock
71+
- Values are in 10s in Stock mode and 1000s in Index mode (to compensate for low values of stocks)
72+
- Symbol of the Stock is present in the names of the .csv files
73+
- Appropriate Units are reflected in the headers of .csv files
3374
- Added Saving New settings for subsequent runs
34-
- New Saved settings:
35-
* Index/Stock Mode
36-
* Selected Stock
75+
- New Saved settings:
76+
* Index/Stock Mode
77+
* Selected Stock
3778
- Fixed possible issues while reading configuration
3879
- Optimised retrieving data from the API
3980

4081
<br>
4182

42-
># [4.1](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/4.1)
83+
> # [4.1](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/4.1)
84+
4385
## Feature and Bug Fix Update
44-
- Added Dumping Entire Option Chain data to a .csv file. Issues: [#3](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/3) and [#4](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/4)
45-
- Dump Entire Option Chain is disabled by default (Enable from Option menu or Ctrl+O)
46-
- Saves this setting for subsequent runs
86+
87+
- Added Dumping Entire Option Chain data to a .csv file.
88+
Issues: [#3](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/3)
89+
and [#4](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/4)
90+
- Dump Entire Option Chain is disabled by default (Enable from Option menu or Ctrl+O)
91+
- Saves this setting for subsequent runs
4792
- Added Notifications for changes in value of OI Upper and Lower Boundary Strike Prices
4893
- Renamed 'Export all to CSV' option to 'Export Table to CSV'
4994
- Fixed Call and Put OI for 2nd Strike Price not being displayed in K when the Strike Prices were consecutive
50-
- Fixed issues where export would fail and program would stop if the .csv file is open in some other program or is inaccessible
95+
- Fixed issues where export would fail and program would stop if the .csv file is open in some other program or is
96+
inaccessible
5197
- Fixed issue where program stops immediately if you start it before market opens when you have auto stop enabled
5298
- Prevents crash during Checking for updates due to poor internet connection
5399
- Fixed 'Quitting Program' being logged even if Debug Logging was off
54100
- Fixed possible issues while reading configuration
55101

56102
<br>
57103

58-
># [4.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/4.0)
104+
> # [4.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/4.0)
105+
59106
## Major Feature Update
107+
60108
- Added support for FINNIFTY index
61109
- Dropped support for NIFTYIT index
62110
- Added Live Exporting of Data rows to a .csv file
63-
- Live Exporting is disabled by default (Enable from Option menu or Ctrl+B)
111+
- Live Exporting is disabled by default (Enable from Option menu or Ctrl+B)
64112
- Supports exporting data while running multiple instances with different indices and/or expiry dates selected
65-
- Filename contains the selected index and expiry date. For eg. NSE-OCA-NIFTY-14-Jan-2021.csv will only have the data for NIFTY and 14 Jan 21 regardless of the instance running
113+
- Filename contains the selected index and expiry date. For eg. NSE-OCA-NIFTY-14-Jan-2021.csv will only have the
114+
data for NIFTY and 14 Jan 21 regardless of the instance running
66115
- Adds Column Names to the .csv file if it is created for the first time
67116
- Added Toast Notifications on Windows when a state of a label changes (except PCR label)
68-
- Notifications are disabled by default (Enable from Option menu or Ctrl+N)
117+
- Notifications are disabled by default (Enable from Option menu or Ctrl+N)
69118
- Added option to automatically stop the program at 3:30pm when market closes
70-
- Auto Stop is disabled by default (Enable from Option menu or Ctrl+K)
119+
- Auto Stop is disabled by default (Enable from Option menu or Ctrl+K)
71120
- Added Auto and Manual Check for updates
72-
- Auto Check for updates are enabled by default (Disable from Option menu or Ctrl+U)
121+
- Auto Check for updates are enabled by default (Disable from Option menu or Ctrl+U)
73122
- Added Saving settings for subsequent runs
74-
- Saved settings:
75-
* Selected Index
76-
* Refresh Interval
77-
* Live Export
78-
* Notifications
79-
* Auto stop at 3:30pm
80-
* Auto Check for Updates
81-
* Debug Logging
82-
- Settings are saved to NSE-OCA.ini
83-
- Resets NSE-OCA.ini file if incorrectly configured
84-
- Fixed issue where Points would be 0 for some strike prices. Issue: [#6](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/6)
123+
- Saved settings:
124+
* Selected Index
125+
* Refresh Interval
126+
* Live Export
127+
* Notifications
128+
* Auto stop at 3:30pm
129+
* Auto Check for Updates
130+
* Debug Logging
131+
- Settings are saved to NSE-OCA.ini
132+
- Resets NSE-OCA.ini file if incorrectly configured
133+
- Fixed issue where Points would be 0 for some strike prices.
134+
Issue: [#6](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/issues/6)
85135
- Added NSE icon to all windows (if icon file is missing, default icon will be used)
86136
- Improved Option Menu
87137
- Improved messages in Alert boxes
88138
- Improved Buttons
89139
- Modified some Labels
90140
- Improved Logging:
91-
- New Logging messages:
92-
* Whether running instance is .py version or .exe
93-
* Version number
94-
* Logging Started
95-
* Logging Stopped
96-
* Program Quitting
97-
- Removed unnecessary messages:
98-
* 'Nse' object has no attribute 'options' 10
99-
* module 'sys' has no attribute '_MEIPASS' 0
100-
* invalid command name ".!combobox2" 4
101-
- Changed name of the log file from nse.log to NSE-OCA.log
141+
- New Logging messages:
142+
* Whether running instance is .py version or .exe
143+
* Version number
144+
* Logging Started
145+
* Logging Stopped
146+
* Program Quitting
147+
- Removed unnecessary messages:
148+
* 'Nse' object has no attribute 'options' 10
149+
* module 'sys' has no attribute '_MEIPASS' 0
150+
* invalid command name ".!combobox2" 4
151+
- Changed name of the log file from nse.log to NSE-OCA.log
102152
- Many Code Improvements
103153

104154
<br>
105155

106-
># [3.7](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.7)
156+
> # [3.7](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.7)
157+
107158
## Feature Update
159+
108160
- Added 2nd Highest Call and Put Open Interest and their corresponding Strike Price
109-
- It is calculated between the OI boundary range (highest in the range)
161+
- It is calculated between the OI boundary range (highest in the range)
110162
- Added option to change refresh interval
111163
- Reworked Login Screen
112164
- Added Type Hints in code everywhere
113165
- Added requirements.txt
114166
- Reduced size of .exe by ~10%
115167
- Ceased releasing Python Compiled Files (.pyc/.pyw)
116-
- Since it runs only on specific versions of Python
168+
- Since it runs only on specific versions of Python
117169

118170
<br>
119171

120-
># [3.5](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.5)
172+
> # [3.5](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.5)
173+
121174
## Bug Fix Update
175+
122176
- Fixed an issue when program would stop refreshing after a few hours (creates a new session everytime)
123177

124178
<br>
125179

126-
># [3.4](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.4)
180+
> # [3.4](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.4)
181+
127182
## Bug Fix Update
183+
128184
- Fixed an issue when program would stop refreshing after every ~2 hours (creates a new session everytime)
129185
- Fixed an issue when the program would stop refreshing after one connection error
130186
- Added Debug Logging (Use this to report any issues)
131187

132188
<br>
133189

134-
># [3.3](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.3)
190+
> # [3.3](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.3)
191+
135192
## Bug Fix Update
193+
136194
- Now uses sessions and cookies to access the website to solve many connection errors
137195
- Added units in bottom labels
138196
- Changed label "Points" to "Value"
@@ -141,30 +199,40 @@
141199

142200
<br>
143201

144-
># [3.2](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.2)
202+
> # [3.2](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.2)
203+
145204
## Bug Fix Update
205+
146206
- Fixed an issue when the program would stop responding if the internet connection is poor
147-
- Fixed an issue when no data would be retrieved if the program is run before the website updates for the first time on a day (~9:15 am)
148-
- Fixed an issue when no data would be retrieved if the expiry date selected expires when the program is running. This now throws an error and stops the program.
207+
- Fixed an issue when no data would be retrieved if the program is run before the website updates for the first time on
208+
a day (~9:15 am)
209+
- Fixed an issue when no data would be retrieved if the expiry date selected expires when the program is running. This
210+
now throws an error and stops the program.
149211
- Added units in column labels
150212
- Slightly reduced the width of the program's main window
151213

152214
<br>
153215

154-
># [3.1](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.1)
216+
> # [3.1](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.1)
217+
155218
## Bug Fix and .exe Update
219+
156220
- Fixed error when the entered strike price is towards the upper limit or the lower limit of the table
157221
- The missing values will be set to 0
158222
- Used to auto-py-to-exe to compile the program to a .exe file (beta)
159223
- README.md updated
160224

161225
<br>
162226

163-
># [3.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.0)
227+
> # [3.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/3.0)
228+
164229
## Major Compatibility Update
230+
165231
- Now compatible with the new NSE website
166-
- Instead of scraping the data from the html the program now calculates the data from a json file which is also the implementation of the new website (Thanks to @medknecth)
167-
- Since the values on the new website display contracts instead of shares, the values in the program have been updated to display in thousands instead of lacs
232+
- Instead of scraping the data from the html the program now calculates the data from a json file which is also the
233+
implementation of the new website (Thanks to @medknecth)
234+
- Since the values on the new website display contracts instead of shares, the values in the program have been updated
235+
to display in thousands instead of lacs
168236
- Completely reworked the main code
169237
- Updated Login window
170238
- Dropped support for shares
@@ -178,8 +246,10 @@
178246

179247
<br>
180248

181-
># [2.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/2.0)
249+
> # [2.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/2.0)
250+
182251
## Major Feature Update
252+
183253
- Added GUI
184254
- Red and Green colour indication for data based on trends
185255
- Added Stop and Start functionality
@@ -189,8 +259,10 @@
189259

190260
<br>
191261

192-
># [1.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/1.0)
262+
> # [1.0](https://github.com/VarunS2002/Python-NSE-Option-Chain-Analyzer/releases/tag/1.0)
263+
193264
## First Release
265+
194266
- Enter the final URL from the browser and your preferred Strike Price
195267
- In case of network or connection errors the program doesn't crash and will keep retrying infinitely
196268
- If a ZeroDivisionError occurs or some data doesn't exist the value of the variable will be defaulted to 0

NSE_Option_Chain_Analyzer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626

2727
# noinspection PyAttributeOutsideInit
2828
class Nse:
29-
version: str = '5.2'
30-
beta: Tuple[bool, int] = (True, 16)
29+
version: str = '5.3'
30+
beta: Tuple[bool, int] = (False, 0)
3131

3232
def __init__(self, window: Tk) -> None:
3333
self.intervals: List[int] = [1, 2, 3, 5, 10, 15]

0 commit comments

Comments
 (0)