GitPedia

Screeni py

A Python-based stock screener to find stocks with potential breakout probability from NSE India.

From pranjal-joshi·Updated June 22, 2026·View on GitHub·

**Screenipy** is an advanced stock screener to find potential breakout stocks from NSE and tell its possible breakout values. It also helps to find the stocks that are consolidating and may breakout, or the particular chart patterns that you're looking for specifically to make your decisions. Screenipy is totally customizable and it can screen stocks with the settings that you have provided. The project is written primarily in Python, distributed under the MIT License license, first published in 2021. Key topics include: nse, python, stock-market, stock-screener, technical-analysis.

Latest release: 3.0.2Screenipy - v3.0.2
June 1, 2026View Changelog →
Screeni-py
GitHub release (latest by date) GitHub all releases Docker Pulls GitHub CodeFactor MADE-IN-INDIA BADGE
Screenipy Test - New Features Screenipy Build - New Release
Windows Linux Mac OS Docker
<img width="240" src="https://user-images.githubusercontent.com/6128978/217814499-7934edf6-fcc3-46d7-887e-7757c94e1632.png"><h2>Scan QR Code to join Official Telegram Group for Additional Discussions</h2>
YouTubeUseDiscussionBugs/IssuesDocumentation
youtubedockermeetingwarninghelp
Watch our YouTube playlistGet started quickly using DockerJoin/Read the Community DiscussionRaise an Issue about a ProblemGet Help about Usage
<!-- ## [**Click to Download the Latest Version**](https://github.com/pranjal-joshi/Screeni-py/releases/latest) -->

What is Screeni-py?

A Python-based stock screener for NSE, India

Screenipy is an advanced stock screener to find potential breakout stocks from NSE and tell its possible breakout values. It also helps to find the stocks that are consolidating and may breakout, or the particular chart patterns that you're looking for specifically to make your decisions.
Screenipy is totally customizable and it can screen stocks with the settings that you have provided.

How to use? (New Version - GUI Based)

Screeni-py - Detailed Installation Guide
Screeni-py - Configuration and Usage | Screenipy - Python NSE Stock Screener
Screeni-py - How to install Software Updates? | Screenipy - Python NSE Stock Screener

  • Install Docker Desktop and pull the latest docker image from the release page.
  • Checkout this YouTube Video for detailed installation guide.
<img width="1438" alt="image" src="https://github.com/pranjal-joshi/Screeni-py/assets/6128978/2016be00-5892-4735-8ab3-5f5b70add103"> <img width="1438" alt="image" src="https://github.com/pranjal-joshi/Screeni-py/assets/6128978/28947290-7f42-4f6f-9fc0-0bae1ee6d6f4"> <img width="1438" alt="image" src="https://github.com/pranjal-joshi/Screeni-py/assets/6128978/857f8acc-a4e8-4b86-a748-c26057b0e8b1"> <img width="1438" alt="image" src="https://github.com/pranjal-joshi/Screeni-py/assets/6128978/360b5faa-f4f4-4df6-bec1-90985889bee6"> <img width="1438" alt="image" src="https://github.com/pranjal-joshi/Screeni-py/assets/6128978/99903d67-d450-4c04-93ae-1f5bb4b905a5">

How to use? (Older Version - CLI Based - DEPRECATED)

  • Download the suitable file according to your OS or install Docker Desktop and pull the latest docker image.

  • Linux & Mac users should make sure that the screenipy.bin or screenipy.run has execute permission.

  • Run the file. The following window will appear after a brief delay.

    home

  • Configure the parameters as per your requirement using Option > 8.

    config

  • Following are the screenshots of screening and output results.

    screening
    results
    done

  • Once done, you can also save the results in an Excel file.

Understanding the Result Table

The Result table contains a lot of different parameters which can be pretty overwhelming to the new users, so here's the description and significance of each parameter.

SrParameterDescriptionExample
1StockThis is a NSE scrip symbol. If your OS/Terminal supports unicode, You can directly open TradingView charts by pressing Ctrl+Click on the stock name.TATAMOTORS
2ConsolidatingIt gives the price range in which stock is trading since last N days. N is configurable and can be modified by executing Edit User Configuration option.If stock is trading between price 100-120 in last 30 days, Output will be Range = 20.0 %
3Breakout (N Days)This is pure magic! The BO is Breakout level in last N days while R is the next resistance level if available. An investor should consider both BO & R level to decide entry/exits in their trades.B:302, R:313(Breakout level is 100 & Next resistance is 102)
4LTPLTP is the Last Traded Price of an asset traded on NSE.298.7 (Stock is trading at this price)
5VolumeVolume shows the relative volume of the recent candle with respect to 20 period MA of Volume. It could be Unknown for newly listed stocks.if 20MA(Volume) is 1M and todays Volume is 2.8M, then Volume = 2.8x
6MA-SignalIt describes the price trend of an asset by analyzing various 50-200 MA/EMA crossover strategies.200MA-Support,BullCross-50MA etc
7RSIFor the momentum traders, it describes 14-period RSI for quick decision-making about their trading plans0 to 100
8TrendBy using advanced algorithms, the average trendlines are computed for N days and their strength is displayed depending on the steepness of the trendlines. (This does NOT show any trendline on a chart, it is calculated internally)Strong Up, Weak Down etc.
9PatternIf the chart or the candle itself forming any important pattern in the recent timeframe or as per the selected screening option, various important patterns will be indicated here.Momentum Gainer, Inside Bar (N),Bullish Engulfing etc.

Hack it your way

Feel free to Edit the parameters in the screenipy.ini file which will be generated by the application.

ini
[config] period = 300d daystolookback = 30 duration = 1d minprice = 30 maxprice = 10000 volumeratio = 2 consolidationpercentage = 10 shuffle = y cachestockdata = y onlystagetwostocks = y useema = n

Try to tweak these parameters as per your trading styles. For example, If you're comfortable with weekly charts, make duration=5d and so on.

Installation Guide

YouTube Video of Detailed Installation Guide

YouTube Video Views

Screeni-py - Detailed Installation Guide

Windows Linux Mac OS Docker

Why we shifted to Docker from the Good old EXEs?

Executable/Binary FileDocker
GitHub DownloadsDocker Pulls
Download Directly from the Release page (DEPRECATED)Need to Install Docker Desktop ⚠️
May take a long time to open the appLoads quickly
Slower screeningPerformance boosted as per your CPU capabilities
You may face errors/warnings due to different CPU arch of your system ⚠️Compatible with all x86_64/amd64/arm64 CPUs irrespective of OS (including Mac M1/M2)
Works only with Windows 10/11 ⚠️Works with older versions of Windows as well
Different file for each OSSame container is compatible with everyone
Antivirus may block this as untrusted file ⚠️No issues with Antivirus
Need to download new file for every updateUpdates quickly with minimal downloading
No need of commands/technical knowledgeVery basic command execution skills may be required
Incompatible with Vector Database ⚠️Compatible with all Python libraries

How to set up and use Screeni-py with Docker?

  1. Download and Install Docker Desktop with default settings

  2. If you are using Windows, update WSL (Windows subsystem for linux) by running wsl --update command in the command prompt

  3. Restart your computer after installation

  4. Open Docker Desktop and keep it as it is

  5. Open Command Prompt (Windows) or Terminal (Mac/Linux) and run command docker pull joshipranjal/screeni-py:latest

  6. Once installed, always start screenipy by running this command:

    bash
    docker run -p 8501:8501 -p 8000:8000 joshipranjal/screeni-py:latest OR docker run -it --entrypoint /bin/bash joshipranjal/screeni-py:latest -c "run_screenipy.sh --cli"

Check out this YouTube Video for a detailed installation guide.

Contributing

  • Please feel free to Suggest improvements/report bugs by creating an issue.
  • Please follow the Guidelines for Contributing while making a Pull Request.

Disclaimer

  • DO NOT use the result provided by the software 'solely' to make your trading decisions.
  • Always backtest and analyze the stocks manually before you trade.
  • The Author and the software will not be held liable for your losses.

Contributors

Showing top 6 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from pranjal-joshi/Screeni-py via the GitHub API.Last fetched: 6/24/2026