Releases: VarunS2002/Python-NSE-Option-Chain-Analyzer
Bug Fix Update
- Bug Fixes:
- Fixed
JSONDecodeError
caused by the server now using a different encoding which requires thebrotli
package to be to installed to be able to decode. This is what causes the "Failed to fetch symbols. The program will exit now exit." error. Issue: #62, #65, #69, #70 - Fixed
TypeError
caused by breaking change in the newer versions oftksheet
. Issue: #64, #67 - Fixed potential crash if you try to enable logging while running the
.exe
file
- Fixed
- Code changes:
- Updated request headers
- Minor code improvements
- Updated
requirements.txt
:- Added
brotli
to library to support decoding data from NSE in thebr
encoding format - Updated
requests
library version to exclude known vulnerable versions - Updated
pandas
library version to prevent breaking changes in the future
- Added
- Updated documentation:
- Added
brotli
in dependencies
- Added
Bug Fix Update
- Fixed
IndexError
caused by NSE updating the method they use for loading symbols on their website.
Issue: #54, #55, #56 - No longer uses the web scraping technique to load symbols
- Instead uses the API to load symbols as that is what the new NSE website uses
- Removed
beautifulsoup4
fromrequirements.txt
as it is no longer required
- Updated documentation:
- Removed
beautifulsoup4
from dependencies
- Removed
Bug Fix Update
- Fixed
IndexError
with tksheet versions>=5.0.29
.
Issue: #24, #25, #28, #32, #33. Pull Request: #34 (Thanks to @yjagota) - Fixed redundant code. Pull Request: #19 (Thanks to @QuickLearner171998)
- Bumped dependencies to fix known vulnerabilities
- Updated documentation:
- Added new contributors to the list
- Updated table formatting
- Fixed typos
Feature and Bug Fix Update
-
New App Icon:
-
Improved Documentation
-
Added Option to alert if last time the data was updated is 5 minutes or more called
Warn Late Server Updates
-
Downloading the app icon can be disabled now changing the value of
load_nse_icon
toFalse
in the config file- This is to speed up loading times while using the .py version
-
Added Saving New settings for subsequent runs
- New Saved settings:
- Load App Icon
- Warn Late Server Updates
- New Saved settings:
-
Improved Logging:
- New Logging messages:
- Beta status
- Beta version number
- New Logging messages:
-
Disabled resizability for About window
-
Bumped dependencies for
.py
version -
Removed numpy import by casting all numpy.float64 and numpy.int64 types to float and int
- Removed numpy from requirements but will be installed by pandas anyways
-
Fixed icon not loading in
.exe
version -
Prevents crashing the program if it fails to check for updates
-
Prevents crashing the program if icon fails to load correctly
- Runs the program with the default icon instead
-
Program will exit if an error occurs while trying to load symbols
- Error message window will be displayed before exiting
Compatibility and Feature Update
- Added Support for Linux
- Notifications only supports Windows 10
- List of Stocks and Indices is loaded dynamically from https://www.nseindia.com/products-services/equity-derivatives-list-underlyings-information everytime
- Program is now not required to be updated when there are changes in Stocks and Indices
- Added name of stock or index in notifications
- Reworked configuration reading and writing
- Settings will stay persistent across updates
- Only invalid values are corrected and missing values are appended
- Unless a user tampers with it, the config does not reset completely
- If your running the .py version, icons are now temporarily downloaded every time you run the program and need not be saved separately
- Disabled text input in Dropdown menus on Login page to prevent errors
- Improved Logging:
- New Logging messages:
- OS Name and Version
- Error Class along with Error Message
- New Logging messages:
- Note: Users who are still running version 4.x are recommended to directly update to 5.2 to prevent settings from resetting
Major Feature Update
- Added Support for Stocks (Total 141 Stocks). Issue: #8
- Set Index Mode or Stock Mode then select your preferred Index or Stock
- Values are in 10s in Stock mode and 1000s in Index mode (to compensate for low values of stocks)
- Symbol of the Stock is present in the names of the .csv files
- Appropriate Units are reflected in the headers of .csv files
- Added Saving New settings for subsequent runs
- New Saved settings:
- Index/Stock Mode
- Selected Stock
- New Saved settings:
- Fixed possible issues while reading configuration
- Optimised retrieving data from the API
Feature and Bug Fix Update
- Added Dumping Entire Option Chain data to a .csv file. Issues: #3 and #4
- Dump Entire Option Chain is disabled by default (Enable from Option menu or Ctrl+O)
- Saves this setting for subsequent runs
- Added Notifications for changes in value of OI Upper and Lower Boundary Strike Prices
- Renamed 'Export all to CSV' option to 'Export Table to CSV'
- Fixed Call and Put OI for 2nd Strike Price not being displayed in K when the Strike Prices were consecutive
- Fixed issues where export would fail and program would stop if the .csv file is open in some other program or is inaccessible
- Fixed issue where program stops immediately if you start it before market opens when you have auto stop enabled
- Prevents crash during Checking for updates due to poor internet connection
- Fixed 'Quitting Program' being logged even if Debug Logging was off
- Fixed possible issues while reading configuration
Major Feature Update
- Added support for FINNIFTY index
- Dropped support for NIFTYIT index
- Added Live Exporting of Data rows to a .csv file
- Live Exporting is disabled by default (Enable from Option menu or Ctrl+B)
- Supports exporting data while running multiple instances with different indices and/or expiry dates selected
- 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
- Adds Column Names to the .csv file if it is created for the first time
- Added Toast Notifications on Windows when a state of a label changes (except PCR label)
- Notifications are disabled by default (Enable from Option menu or Ctrl+N)
- Added option to automatically stop the program at 3:30pm when market closes
- Auto Stop is disabled by default (Enable from Option menu or Ctrl+K)
- Added Auto and Manual Check for updates
- Auto Check for updates are enabled by default (Disable from Option menu or Ctrl+U)
- Added Saving settings for subsequent runs
- Saved settings:
- Selected Index
- Refresh Interval
- Live Export
- Notifications
- Auto stop at 3:30pm
- Auto Check for Updates
- Debug Logging
- Settings are saved to NSE-OCA.ini
- Resets NSE-OCA.ini file if incorrectly configured
- Saved settings:
- Fixed issue where Points would be 0 for some strike prices. Issue: #6
- Added NSE icon to all windows (if icon file is missing, default icon will be used)
- Improved Option Menu
- Improved messages in Alert boxes
- Improved Buttons
- Modified some Labels
- Improved Logging:
- New Logging messages:
- Whether running instance is .py version or .exe
- Version number
- Logging Started
- Logging Stopped
- Program Quitting
- Removed unnecessary messages:
- 'Nse' object has no attribute 'options' 10
- module 'sys' has no attribute '_MEIPASS' 0
- invalid command name ".!combobox2" 4
- Changed name of the log file from nse.log to NSE-OCA.log
- New Logging messages:
- Many Code Improvements
Feature Update
- Added 2nd Highest Call and Put Open Interest and their corresponding Strike Price
- It is calculated between the OI boundary range (highest in the range)
- Added option to change refresh interval
- Reworked Login Screen
- Added Type Hints in code everywhere
- Added requirements.txt
- Reduced size of .exe by ~10%
- Ceased releasing Python Compiled Files (.pyc/.pyw)
- Since it runs only on specific versions of Python
Bug Fix Update
-Fixed an issue when program would stop refreshing after a few hours (creates a new session everytime)