Wednesday, February 26, 2025

How to push your local container image to Azure Container registry using Podman

Prerequisites

Before we begin, ensure you have the following:

  • Podman installed on your local machine.
  • Local code with a Dockerfile (or similar) that contains instructions to create a container image.
  • An Azure account with an Azure Container Registry (ACR) set up.

Steps to Push a Podman Image to Azure Container Registry

Step 1: Build Your Container Image Using Podman

podman build -t <your-acr-name>.azurecr.io/<your-image-name>:<tag> .

Step 2: Tag the Image

podman tag <local-image-name>:<tag> <your-acr-name>.azurecr.io/<your-image-name>:<tag>

Step 3: Push the Image to Azure Container Registry

podman login <your-acr-name>.azurecr.io
podman push <your-acr-name>.azurecr.io/<your-image-name>:<tag>

Step 4: Verify the Image in Azure

az acr repository list --name <your-acr-name> --output table
az acr repository show-tags --name <your-acr-name> --repository <your-image-name> --output table

Step 5: Deploy the Image (Optional)

kubectl create deployment myapp --image=myregistry.azurecr.io/myapp:latest

Conclusion

By following these steps, you’ve successfully built a container image using Podman and pushed it to Azure Container Registry. You can now use it for deployments in the Azure ecosystem.

Happy coding!

Tuesday, August 22, 2023

Kotlin - Convert list of String to Map with count of each element as value

 

Kotlin Code to transform List into Map with list elements as Key and value as count of each element. Map contains only unique keys.

 



fun main() {
    countListElements(listOf("Apple", "orange", "mango", "orange"))
}

fun countListElements(fruits: List String>) {
    val fruitMap = fruits.groupingBy { it }.eachCount()
    print(fruitMap)
}

 

Friday, April 21, 2023

Algotrading: Exit Positions in Fyers API

Example code snippet for exiting positions in Fyers API


Code:


if __name__ == '__main__':
    token = get_auth_code()
    fyers = fyersModel.FyersModel(client_id=client_id, token=token, log_path='/tmp/')
    print(fyers.positions())

    data = [{"id": "NSE:BANKNIFTY23APR42900CE-MARGIN"}, {"id": "NSE:BANKNIFTY23APR41300PE-MARGIN"}]
    pos_res = fyers.exit_positions(data)

    print(pos_res)

    pos_res = fyers.exit_positions()

    print(pos_res)
  

Please copy the code for get_auth_code() from previous blogpost for Fyers V2 login

 

Happy trading. Enjoy.

Saturday, April 15, 2023

Get Trading holiday list using Python

 

Code to  get the list of NSE trading holidays, to use in your algo trading.




import json
from datetime import datetime

import requests

if __name__ == '__main__':
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/109.0',
        'Accept': '*/*',
        'Accept-Language': 'en-US,en;q=0.5',
        # 'Accept-Encoding': 'gzip, deflate, br',
        'Connection': 'keep-alive',
        'Referer': 'https://www.nseindia.com/resources/exchange-communication-holidays',

        'Sec-Fetch-Dest': 'empty',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Site': 'same-origin',
    }

    params = {
        'type': 'trading',
    }

    response = requests.get('https://www.nseindia.com/api/holiday-master', params=params, headers=headers)

    jsonResponse = response.json()

    for record in jsonResponse['FO']:
        # print(record["tradingDate"])
        print(datetime.strptime(record["tradingDate"], '%d-%b-%Y').strftime('%d/%m/%Y'))

    with open('data.json', 'w') as f:
        json.dump(jsonResponse['FO'], f, ensure_ascii=False, indent=4)

Happy Coding.

Thursday, July 22, 2021

AlgoTrading - Python code for automated login in Fyers

 In this post sharing for Fyers Automated login for AlgoTrading


I have used Fyers API v2

Note: Code has been adjusted to adopt latest changes from Fyers in API


import json
import sys
from hashlib import sha256
from urllib import parse

import pyotp
import requests
from fyers_api import fyersModel

app_secret = "api_secret"
redirect_uri = "redirect_uri"
fyers_id = "fyers_id"
pin = "pin"
client_id = "client_id"
app_id = "app_id"
TOTP_KEY = "TOTP_KEY"  # TOTP secret is generated when we enable 2Factor TOTP from myaccount portal

APP_ID_TYPE = "2"  # Keep default as 2, It denotes web login
APP_TYPE = "100"
APP_ID_HASH = sha256((client_id + ":" + app_secret).encode('utf-8')).hexdigest()

SUCCESS = 1
ERROR = -1

# API endpoints
BASE_URL = "https://api-t2.fyers.in/vagator/v2"
BASE_URL_2 = "https://api.fyers.in/api/v2"
URL_SEND_LOGIN_OTP = BASE_URL + "/send_login_otp"
URL_VERIFY_TOTP = BASE_URL + "/verify_otp"
URL_VERIFY_PIN = BASE_URL + "/verify_pin"
URL_TOKEN = BASE_URL_2 + "/token"
URL_VALIDATE_AUTH_CODE = BASE_URL_2 + "/validate-authcode"


def send_login_otp(fy_id, app_id):
    try:
        payload = {
            "fy_id": fy_id,
            "app_id": app_id
        }

        result_string = requests.post(url=URL_SEND_LOGIN_OTP, json=payload)
        if result_string.status_code != 200:
            return [ERROR, result_string.text]

        result = json.loads(result_string.text)
        request_key = result["request_key"]

        return [SUCCESS, request_key]

    except Exception as e:
        return [ERROR, e]


def generate_totp(secret):
    try:
        generated_totp = pyotp.TOTP(secret).now()
        return [SUCCESS, generated_totp]

    except Exception as e:
        return [ERROR, e]


def verify_totp(request_key, totp):
    try:
        payload = {
            "request_key": request_key,
            "otp": totp
        }

        result_string = requests.post(url=URL_VERIFY_TOTP, json=payload)
        if result_string.status_code != 200:
            return [ERROR, result_string.text]

        result = json.loads(result_string.text)
        request_key = result["request_key"]

        return [SUCCESS, request_key]

    except Exception as e:
        return [ERROR, e]


def verify_PIN(request_key, pin):
    try:
        payload = {
            "request_key": request_key,
            "identity_type": "pin",
            "identifier": pin
        }

        result_string = requests.post(url=URL_VERIFY_PIN, json=payload)
        if result_string.status_code != 200:
            return [ERROR, result_string.text]

        result = json.loads(result_string.text)
        access_token = result["data"]["access_token"]

        return [SUCCESS, access_token]

    except Exception as e:
        return [ERROR, e]


def token(fy_id, app_id, redirect_uri, app_type, access_token):
    try:
        payload = {
            "fyers_id": fy_id,
            "app_id": app_id,
            "redirect_uri": redirect_uri,
            "appType": app_type,
            "code_challenge": "",
            "state": "sample_state",
            "scope": "",
            "nonce": "",
            "response_type": "code",
            "create_cookie": True
        }
        headers = {'Authorization': f'Bearer {access_token}'}

        result_string = requests.post(
            url=URL_TOKEN, json=payload, headers=headers
        )

        if result_string.status_code != 308:
            return [ERROR, result_string.text]

        result = json.loads(result_string.text)
        url = result["Url"]
        auth_code = parse.parse_qs(parse.urlparse(url).query)['auth_code'][0]

        return [SUCCESS, auth_code]

    except Exception as e:
        return [ERROR, e]


def validate_authcode(app_id_hash, auth_code):
    try:
        payload = {
            "grant_type": "authorization_code",
            "appIdHash": app_id_hash,
            "code": auth_code,
        }

        result_string = requests.post(url=URL_VALIDATE_AUTH_CODE, json=payload)
        if result_string.status_code != 200:
            return [ERROR, result_string.text]

        result = json.loads(result_string.text)
        access_token = result["access_token"]

        return [SUCCESS, access_token]

    except Exception as e:
        return [ERROR, e]


def check_login_status():
    user_config = get_user_config()

    token_date_json = user_config['fyers']["token_date"]
    access_token = user_config['fyers']["access_token"]
    # Convert date from json to date object
    token_date = datetime.strptime(token_date_json, "%d-%m-%Y")
    if token_date.date() != date.today():
        access_token = None

    return access_token


def get_auth_code():
    access_token = check_login_status()
    if access_token is not None:
        return access_token

    # Step 1 - Retrieve request_key from send_login_otp API
    send_otp_result = send_login_otp(fy_id=fyers_id, app_id=APP_ID_TYPE)
    if send_otp_result[0] != SUCCESS:
        print(f"send_login_otp failure - {send_otp_result[1]}")
        sys.exit()
    else:
        print("send_login_otp success")

    # Step 2 - Generate totp
    generate_totp_result = generate_totp(secret=TOTP_KEY)
    if generate_totp_result[0] != SUCCESS:
        print(f"generate_totp failure - {generate_totp_result[1]}")
        sys.exit()
    else:
        print("generate_totp success")

    # Step 3 - Verify totp and get request key from verify_otp API
    request_key = send_otp_result[1]
    totp = generate_totp_result[1]
    verify_totp_result = verify_totp(request_key=request_key, totp=totp)
    if verify_totp_result[0] != SUCCESS:
        print(f"verify_totp_result failure - {verify_totp_result[1]}")
        sys.exit()
    else:
        print("verify_totp_result success")

    # Step 4 - Verify pin and send back access token
    request_key_2 = verify_totp_result[1]
    verify_pin_result = verify_PIN(request_key=request_key_2, pin=pin)
    if verify_pin_result[0] != SUCCESS:
        print(f"verify_pin_result failure - {verify_pin_result[1]}")
        sys.exit()
    else:
        print("verify_pin_result success")

    # Step 5 - Get auth code for API V2 App from trade access token
    token_result = token(
        fy_id=fyers_id, app_id=app_id, redirect_uri=redirect_uri, app_type=APP_TYPE,
        access_token=verify_pin_result[1]
    )
    if token_result[0] != SUCCESS:
        print(f"token_result failure - {token_result[1]}")
        sys.exit()
    else:
        print("token_result success")

    # Step 6 - Get API V2 access token from validating auth code
    auth_code = token_result[1]
    validate_authcode_result = validate_authcode(
        app_id_hash=APP_ID_HASH, auth_code=auth_code
    )
    if validate_authcode_result[0] != SUCCESS:
        print(f"validate_authcode failure - {validate_authcode_result[1]}")
        sys.exit()
    else:
        print("validate_authcode success")

    access_token = validate_authcode_result[1]

    update_token(access_token)
    print(f"access_token - {access_token}")
    return access_token



if __name__ == '__main__':
    token = get_auth_code()
    fyers = fyersModel.FyersModel(client_id=client_id, token=token, log_path='/tmp/')
    print(fyers.orderbook())


This is explained in the below video, leave your feedback in comments.

 

Wednesday, April 7, 2021

Python Code for Straddle Algotrading using Zerodha KITE API

In this post I am sharing code of Short Straddle Order execution using Zerodha Kite API and Python Programming Language explained in Youtube Video 

Like and Subscribe channel for more such videos.

Code:

 


import logging
from datetime import datetime

from dateutil.relativedelta import relativedelta, TH
from kiteconnect import KiteConnect


def get_kite():
    kiteObj = KiteConnect(api_key='API_KEY')
    kiteObj.set_access_token('ACCESS_TOKEN')
    return kiteObj


kite = get_kite()
instrumentsList = None


def getCMP(tradingSymbol):
    quote = kite.quote(tradingSymbol)
    if quote:
        return quote[tradingSymbol]['last_price']
    else:
        return 0


def get_symbols(expiry, name, strike, ins_type):
    global instrumentsList

    if instrumentsList is None:
        instrumentsList = kite.instruments('NFO')

    lst_b = [num for num in instrumentsList if num['expiry'] == expiry and num['strike'] == strike
             and num['instrument_type'] == ins_type and num['name'] == name]
    return lst_b[0]['tradingsymbol']


def place_order(tradingSymbol, price, qty, direction, exchangeType, product, orderType):
    try:
        orderId = kite.place_order(
            variety=kite.VARIETY_REGULAR,
            exchange=exchangeType,
            tradingsymbol=tradingSymbol,
            transaction_type=direction,
            quantity=qty,
            price=price,
            product=product,
            order_type=orderType)

        logging.info('Order placed successfully, orderId = %s', orderId)
        return orderId
    except Exception as e:
        logging.info('Order placement failed: %s', e.message)


if __name__ == '__main__':
    # Find ATM Strike of Nifty
    atm_strike = round(getCMP('NSE:NIFTY 50'), -2)

    next_thursday_expiry = datetime.today() + relativedelta(weekday=TH(1))

    symbol_ce = get_symbols(next_thursday_expiry.date(), 'NIFTY', atm_strike, 'CE')
    symbol_pe = get_symbols(next_thursday_expiry.date(), 'NIFTY', atm_strike, 'PE')

    place_order(symbol_ce, 0, 75, kite.TRANSACTION_TYPE_SELL, KiteConnect.EXCHANGE_NFO, KiteConnect.PRODUCT_MIS,
                KiteConnect.ORDER_TYPE_MARKET)

    place_order(symbol_pe, 0, 75, kite.TRANSACTION_TYPE_SELL, KiteConnect.EXCHANGE_NFO, KiteConnect.PRODUCT_MIS,
                KiteConnect.ORDER_TYPE_MARKET) 

If you have any doubt then write it in comment box below.

Enjoy Coding and Algo Trading. 

Saturday, December 19, 2020

Option Chain Analysis In Index for Intraday Trading

 In Futures and options trading Open Interest is considered to be a very important mertics to track as it represent the oustanding open contracts of the underlying security, for example for Nifty 13500 PE is having open interest as 25 means there are 25 contracts between PE buyer and seller. A new contract is open as soon as new Buyer has been introduced with new seller. If an existing contract has been exchanged between a buyer and seller it doesn't impact the open interest but it increases the volumne of instrument, let's say Person A is having a bought option contract for Nifty 13500 PE and Person B has sold the same contract, after some price action Person B wants to close his trade so he wants to buy the same contract from open market and if this is sold by person C it is just transfer of option contract from person B to person C. If person C wants to increase his traded lot size means he want to sell 1 more lot of Nifty 13500 PE and person D buys 1 lot that means a new contract has been opened on the exchange which increases the Open Interest of the instrument (Nifty 13500 PE).


Usually In Indian derivative market the trend is all big players sell the options and retailers or hedge funds buy, and during Intraday big players move the market as per their desire or positions, this is speculation not concreate but observed for a long time.


So, option interest numbers give an indication about the direction of intraday movement of index or underlying security. for this you need to consider 5-6 strikes on both side to the ATM(At the money, if nifty is trading at 13545 then nearest strike is 13550 which becomes ATM strike) and sum OI of both Puts and Calls which gives about which option is being sold aggresively. 


If put OI sum is greater than Call OI sum that means Puts are being sold by big players means Market is bullish as per OI analysis.


There are many other factors which decide market direction but option chain analysis helps in your trade taken. You should take help from Price action or candlestick pattern as well to support OI analysis.

Sheet is below: Enjoy

Best books for candlestick patterns

Candlestick chart is a chart with which is represented by candles, each candle is having Open, High, Low and Close(in short OHLC) prices for a particular timeframe.

If the chart is having these price points for a day then it is called daily timeframe chart, similarly trader use different time frame like for Intraday trading most traders use 3 min, 5 min or 15 min timeframe.

Fig: Candles representing Bullish as well as Bearish behavior.

Best Books to read about Candlestick chart pattern:

Steve Nilson has written many books on candlestick pattern but I recommend Japanese cadlestick charting techniques, it is a wonderful read and give in depth knowledge about candlestick patterns.

 

We recomment below books for indepth knowledge about candlestick charting: 

1. Japanese Candlestick Charting Techniques - Steve Nilson


Friday, November 27, 2020

เคธเคค्เคฏเคจाเคฐाเคฏเคฃ เคฒाเคฒ - เค•िเคธाเคจ (Kisan - Satyanarayan Lal)

เคจเคนीं เคนुเค† เคนै เค…เคญी เคธเคตेเคฐा
เคชूเคฐเคฌ เค•ी เคฒाเคฒी เคชเคนเคšाเคจ
เคšिเคก़िเคฏों เค•े เคœเค—เคจे เคธे เคชเคนเคฒे
เค–ाเคŸ เค›ोเคก़ เค‰เค  เค—เคฏा เค•िเคธाเคจ ।

เค–िเคฒा-เคชिเคฒाเค•เคฐ เคฌैเคฒों เค•ो เคฒे
เค•เคฐเคจे เคšเคฒा เค–ेเคค เคชเคฐ เค•ाเคฎ
เคจเคนीं เค•ोเคˆ เคค्เคฏोเคนाเคฐ เคจ เค›ुเคŸ्เคŸी
เค‰เคธเค•ो เคจเคนीं เค•ाเคฌी เค†เคฐाเคฎ।

เค—เคฐเคฎ-เค—เคฐเคฎ เคฒू เคšเคฒเคคी เคธเคจ-เคธเคจ
เคงเคฐเคคी เคœเคฒเคคी เคคเคตा เคธเคฎाเคจ
เคคเคฌ เคญी เค•เคฐเคคा เค•ाเคฎ เค–ेเคค เคชเคฐ
เคฌिเคจा เค•िเค เค†เคฐाเคฎ เค•िเคธाเคจ।

เคฌाเคฆเคฒ เค—เคฐเคœ เคฐเคนे เค—เคก़-เค—เคก़-เค—เคก़
เคฌिเคœเคฒी เคšเคฎเค• เคฐเคนी เคšเคฎ-เคšเคฎ
เคฎुเคธเคฒाเคงाเคฐ เคฌเคฐเคธเคคा เคชाเคจी
เคœ़เคฐा เคจ เคฐुเค•เคคा เคฒेเคคा เคฆเคฎ।

เคนाเคฅ เคชांเคต เค िเค ुเคฐเคคे เคœाเคคे เคนैं
เค˜เคฐ เคธे เคฌाเคนเคฐ เคจिเค•เคฒे เค•ौเคจ
เคซिเคฐ เคญी เค†เค— เคœเคฒा, เค–ेเคคों เค•ी
เคฐเค–เคตाเคฒी เค•เคฐเคคा เคนै เคตเคน เคฎौเคจ।

เคนै เค•िเคธाเคจ เค•ो เคšैเคจ เค•เคนाँ, เคตเคน
เค•เคฐเคคा เคฐเคนเคคा เคนเคฐเคฆเคฎ เค•ाเคฎ
เคธोเคšा เคจเคนीं เค•เคญी เคญी เค‰เคธเคจे
เค˜เคฐ เคชเคฐ เคฐเคน เค•เคฐเคจा เค†เคฐाเคฎ।

- เคธเคค्เคฏเคจाเคฐाเคฏเคฃ เคฒाเคฒ

Wednesday, November 25, 2020

Read Option chain data from Nifty using Python

Read Option chain data from Nifty using Python


Option chain data is very crucial for Future and Options(FnO) trader analysis, many use it for positional while many use it to find day trend and it's strength as well as option strike selection for trading.


In this blog post we will try to figure out how to read options data from NSE APIs using Python.

Code:

   
  #!/usr/bin/env python3
 
import requests
import pandas as pd
from datetime import datetime
from dateutil.relativedelta import relativedelta, TH
 
# Find next thursday to figure out weekly expiry.
def next_thu_expiry_date():
    todayte = datetime.today()
 
    next_thursday_expiry = todayte + relativedelta(weekday=TH(1))
 
    str_next_thursday_expiry = str(next_thursday_expiry.strftime("%d")) + "-" + next_thursday_expiry.strftime(
        "%b") + "-" + next_thursday_expiry.strftime("%Y")
    print(str_next_thursday_expiry)
    return str_next_thursday_expiry
 
 
def find_ce_pe(spot_price, ce_values, pe_values):
    spot_price = round(spot_price, -2)
    otm_calls = []
    otm_puts = []
 
    ce_dt = pd.DataFrame(ce_values).sort_values(['strikePrice'])
    pe_dt = pd.DataFrame(pe_values).sort_values(['strikePrice'], ascending=False)
 
    for ce_value in ce_dt['strikePrice']:
        if ce_value >= spot_price:
            otm_calls.append(ce_value)
            if len(otm_calls) > 10:
                break
 
    for ce_value in pe_dt['strikePrice']:
        if ce_value <= spot_price:
            otm_puts.append(ce_value)
            if len(otm_puts) > 10:
                break
 
    return otm_calls, otm_puts
 
 
def read_oi(spot_price, ce_values, pe_values, symbol):
    sheet_name = str(datetime.today().strftime("%d-%m-%Y")) + symbol
 
    strike_oi_ce_pe = find_ce_pe(float(spot_price), ce_values, pe_values)
 
    ce_dt = pd.DataFrame(ce_values).sort_values(['strikePrice'])
    pe_dt = pd.DataFrame(pe_values).sort_values(['strikePrice'], ascending=False)
 
    drop_col = ['pchangeinOpenInterest', 'askQty', 'askPrice', 'underlyingValue', 'totalBuyQuantity',
                'totalSellQuantity', 'bidQty', 'bidprice', 'change', 'pChange', 'impliedVolatility',
                'totalTradedVolume']
    ce_dt.drop(drop_col, inplace=True, axis=1)
    pe_dt.drop(drop_col, inplace=True, axis=1)
 
    ce_dt = ce_dt.loc[ce_dt['strikePrice'].isin(strike_oi_ce_pe[0])]
    pe_dt = pe_dt.loc[pe_dt['strikePrice'].isin(strike_oi_ce_pe[1])]
 
    # print(ce_dt[['strikePrice', 'lastPrice']])
    # print(pe_dt[['strikePrice', 'changeinOpenInterest']])
 
    print(ce_dt.head(1))
    print(pe_dt.head(1))
 
    print(str([spot_price, (ce_dt['changeinOpenInterest'].sum()),
               (pe_dt['changeinOpenInterest'].sum())]))
 
 
def main():
    symbols = ["BANKNIFTY", "NIFTY"]
    base_url = 'https://www.nseindia.com/api/option-chain-indices?symbol='
    url_oc = "https://www.nseindia.com/option-chain"
 
    for symbol in symbols:
        headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, ''like Gecko) '
                                 'Chrome/80.0.3987.149 Safari/537.36',
                   'accept-language': 'en,gu;q=0.9,hi;q=0.8', 'accept-encoding': 'gzip, deflate, br'}
        session = requests.Session()
        request = session.get(url_oc, headers=headers, timeout=5)
        cookies = dict(request.cookies)
        response = session.get(base_url + symbol, headers=headers, timeout=5, cookies=cookies)
        print(response.status_code)
        dajs = response.json()
        expiry = next_thu_expiry_date()
 
        spot_price = dajs['records']['underlyingValue']
        ce_values = [data['CE'] for data in dajs['records']['data'] if "CE" in data and data['expiryDate']
                     == expiry]
        pe_values = [data['PE'] for data in dajs['records']['data'] if "PE" in data and data['expiryDate']
                     == expiry]
 
        read_oi(spot_price, ce_values, pe_values, symbol)
 
        print(len(dajs))
 
 
if __name__ == '__main__':
    main()
  
  


In case of any doubt leave a comment I will try to answer.

Note: This post is for educational purpose only.

Sunday, November 22, 2020

Automatic Login to Zerodha using Python and Selenium

Hello Readers,

 

Today we will try to learn browser automation using Python and Selenium automation tool.

 

We will write a code to automate login process of Zerodha trading platform using selenium and python in Google Chrome browser.

Place a file named zerodha-credentials.json at the same location as the actual python script with zerodha credentials as below:



Run the below script to automatically login, code is mostly self-explanatory leave a comment if any doubt, I will try to respond.

 

Note: Think before storing your credentials in plain text, potential risk of it being compromised. This post is for education purpose to learn how we can automate web surfing using Python.

Python Basic String opetations

Python is fast emerging as a programming language, so In this post I will try to explain few python String operations required for a novice learner.



Tuesday, July 28, 2020

เคนเคฎ เคฆुเคจिเคฏा เคธे เคœเคฌ เคคंเค— เค†เคฏा เค•เคฐเคคे เคนैं - เคคैเคฎूเคฐ เคนเคธเคจ

เคนเคฎ เคฆुเคจिเคฏा เคธे เคœเคฌ เคคंเค— เค†เคฏा เค•เคฐเคคे เคนैं

เค…เคชเคจे เคธाเคฅ เค‡เค• เคถाเคฎ เคฎเคจाเคฏा เค•เคฐเคคे เคนैं

เคธूเคฐเคœ เค•े เค‰เคธ เคœाเคจिเคฌ เคฌเคธเคจे เคตाเคฒे เคฒोเค—

เค…เค•्เคธเคฐ เคนเคฎ เค•ो เคชाเคธ เคฌुเคฒाเคฏा เค•เคฐเคคे เคนैं

เคฏूँเคนी เค–़ुเคฆ เคธे เคฐूเค ा เค•เคฐเคคे เคนैं เคชเคนเคฒे

เคฆेเคฐ เคคเคฒเค• เคซिเคฐ เค–़ुเคฆ เค•ो เคฎเคจाเคฏा เค•เคฐเคคे เคนैं

เคšुเคช เคฐเคนเคคे เคนैं เค‰เคธ เค•े เคธाเคฎเคจे เคœा เค•เคฐ เคนเคฎ

เคฏूँ เค‰เคธ เค•ो เคšเค– เคฏाเคฆ เคฆिเคฒाเคฏा เค•เคฐเคคे เคนैं

เคจींเคฆों เค•े เคตीเคฐाเคจ เคœเคœ़ीเคฐे เคชเคฐ เคนเคฐ เคถเคฌ

เค–़्เคตाเคฌों เค•ा เค‡เค• เคถเคนเคฐ เคฌเคธाเคฏा เค•เคฐเคคे เคนैं

เค‡เคจ เค–़्เคตाเคฌों เค•ी เค•़ीเคฎเคค เคนเคฎ เคธे เคชूเค› เค•ि เคนเคฎ

เค‡เคจ เค•े เคธเคนाเคฐे เค‰เคฎ्เคฐ เคฌिเคคाเคฏा เค•เคฐเคคे เคนैं

เค…เคฌ เคคो เค•ोเคˆ เคญी เคฆूเคฐ เคจเคนीं เคคो เคซिเคฐ 'เคคैเคฎूเคฐ'

เคนเคฎ เค–़เคค เค•िเคธ เค•े เคจाเคฎ เคฒिเค–ाเคฏा เค•เคฐเคคे เคนैं



Hum Duniya se jab tang aaya karte hain - Taimur Hassan

เคซ़ैเคœ़ เค…เคนเคฎเคฆ เคซ़ैเคœ़ เค•ी เคจเคœ़्เคฎ - 'เค•ुเค› เค‡เคถ्เค•़ เค•िเคฏा เค•ुเค› เค•ाเคฎ เค•िเคฏा'


เค•ुเค› เค‡เคถ्เค•़ เค•िเคฏा เค•ुเค› เค•ाเคฎ เค•िเคฏा

เคตो เคฒोเค— เคฌเคนुเคค เค–़ुเคถ-เค•़िเคธ्เคฎเคค เคฅे

เคœो เค‡เคถ्เค•़ เค•ो เค•ाเคฎ เคธเคฎเคเคคे เคฅे

เคฏा เค•ाเคฎ เคธे เค†เคถिเค•़ी เค•เคฐเคคे เคฅे

เคนเคฎ เคœीเคคे-เคœी เคฎเคธเคฐूเคซ़ เคฐเคนे

เค•ुเค› เค‡เคถ्เค•़ เค•िเคฏा เค•ुเค› เค•ाเคฎ เค•िเคฏा

เค•ाเคฎ เค‡เคถ्เค•़ เค•े เค†เคก़े เค†เคคा เคฐเคนा

เค”เคฐ เค‡เคถ्เค•़ เคธे เค•ाเคฎ เค‰เคฒเคเคคा เคฐเคนा

เคซिเคฐ เค†เค–़िเคฐ เคคंเค— เค† เค•เคฐ เคนเคฎ เคจे

เคฆोเคจों เค•ो เค…เคงूเคฐा เค›ोเคก़ เคฆिเคฏा


Woh log bahut khush kishmat the,
Jo Ishq ko kaam samajhte the -- Faiz Ahmed faiz

Saturday, June 24, 2017

The Taxi - AMY LOWELL

The Taxi - AMY LOWELL

When I go away from you 
The world beats dead 
Like a slackened drum. 
I call out for you against the jutted stars 
And shout into the ridges of the wind. 
Streets coming fast, 
One after the other, 
Wedge you away from me, 
And the lamps of the city prick my eyes 
So that I can no longer see your face. 
Why should I leave you, 
To wound myself upon the sharp edges of the night? 

เคคुเคฎ เคฎुเคเคฎें เคช्เคฐिเคฏ! เคซिเคฐ เคชเคฐिเคšเคฏ เค•्เคฏा - Mahadevi Verma


เคคुเคฎ เคฎुเคเคฎें เคช्เคฐिเคฏ! เคซिเคฐ เคชเคฐिเคšเคฏ เค•्เคฏा
เคคाเคฐเค• เคฎें เค›เคตि, เคช्เคฐाเคฃों เคฎें เคธ्เคฎृเคคि,
เคชเคฒเค•ों เคฎें เคจीเคฐเคต เคชเคฆ เค•ी เค—เคคि,
เคฒเค˜ु เค‰เคฐ เคฎें เคชुเคฒเค•ों เค•ी เคธंเคธृเคคि,
           เคญเคฐ เคฒाเคˆ เคนूँ เคคेเคฐी เคšंเคšเคฒ
           เค”เคฐ เค•เคฐूँ เคœเค— เคฎें เคธंเคšเคฏ เค•्เคฏा!

เคคेเคฐा เคฎुเค– เคธเคนाเคธ เค…เคฐुเคฃोเคฆเคฏ,
เคชเคฐเค›ाเคˆ เคฐเคœเคจी เคตिเคทाเคฆเคฎเคฏ,
เคตเคน เคœाเค—ृเคคि เคตเคน เคจींเคฆ เคธ्เคตเคช्เคจเคฎเคฏ,
           เค–ेเคฒเค–ेเคฒ เคฅเค•เคฅเค• เคธोเคจे เคฆे
           เคฎैं เคธเคฎเคूँเค—ी เคธृเคท्เคŸि เคช्เคฐเคฒเคฏ เค•्เคฏा!

เคคेเคฐा เค…เคงเคฐเคตिเคšुंเคฌिเคค เคช्เคฏाเคฒा
เคคेเคฐी เคนी เคธ्เคฎिเคคเคฎिเคถ्เคฐिเคค เคนाเคฒा,
เคคेเคฐा เคนी เคฎाเคจเคธ เคฎเคงुเคถाเคฒा,
           เคซिเคฐ เคชूเค›ूँ เค•्เคฏा เคฎेเคฐे เคธाเค•ी!
           เคฆेเคคे เคนो เคฎเคงुเคฎเคฏ เคตिเคทเคฎเคฏ เค•्เคฏा?

เคฐोเคฎเคฐोเคฎ เคฎें เคจंเคฆเคจ เคชुเคฒเค•िเคค,
เคธाँเคธเคธाँเคธ เคฎें เคœीเคตเคจ เคถเคคเคถเคค,
เคธ्เคตเคช्เคจ เคธ्เคตเคช्เคจ เคฎें เคตिเคถ्เคต เค…เคชเคฐिเคšिเคค,
           เคฎुเคเคฎें เคจिเคค เคฌเคจเคคे เคฎिเคŸเคคे เคช्เคฐिเคฏ!
           เคธ्เคตเคฐ्เค— เคฎुเคे เค•्เคฏा เคจिเคท्เค•्เคฐिเคฏ เคฒเคฏ เค•्เคฏा?

เคนाเคฐूँ เคคो เค–ोเคŠँ เค…เคชเคจाเคชเคจ
เคชाเคŠँ เคช्เคฐिเคฏเคคเคฎ เคฎें เคจिเคฐ्เคตाเคธเคจ,
เคœीเคค เคฌเคจूँ เคคेเคฐा เคนी เคฌंเคงเคจ
           เคญเคฐ เคฒाเคŠँ เคธीเคชी เคฎें เคธाเค—เคฐ
           เคช्เคฐिเคฏ เคฎेเคฐी เค…เคฌ เคนाเคฐ เคตिเคœเคฏ เค•्เคฏा?

เคšिเคค्เคฐिเคค เคคू เคฎैं เคนूँ เคฐेเค–ाเค•्เคฐเคฎ,
เคฎเคงुเคฐ เคฐाเค— เคคू เคฎैं เคธ्เคตเคฐ เคธंเค—เคฎ,
เคคू เค…เคธीเคฎ เคฎैं เคธीเคฎा เค•ा เคญ्เคฐเคฎ,
           เค•ाเคฏा เค›ाเคฏा เคฎें เคฐเคนเคธ्เคฏเคฎเคฏ।
           เคช्เคฐेเคฏเคธि เคช्เคฐिเคฏเคคเคฎ เค•ा เค…เคญिเคจเคฏ เค•्เคฏा
เคคुเคฎ เคฎुเคเคฎें เคช्เคฐिเคฏ! เคซिเคฐ เคชเคฐिเคšเคฏ เค•्เคฏा
- เคฎเคนाเคฆेเคตी เคตเคฐ्เคฎा

เคœो เคคुเคฎ เค† เคœाเคคे เคเค• เคฌाเคฐ - เคฎเคนाเคฆेเคตी เคตเคฐ्เคฎा

 เคœो เคคुเคฎ เค† เคœाเคคे เคเค• เคฌाเคฐ
เคœो เคคुเคฎ เค† เคœाเคคे เคเค• เคฌाเคฐ
เค•िเคคเคจी เค•เคฐुเคฃा เค•िเคคเคจे เคธँเคฆेเคถ,
เคชเคฅ เคฎें เคฌिเค› เคœाเคคे เคฌเคจ เคชเคฐाเค—,
เค—ाเคคा เคช्เคฐाเคฃों เค•ा เคคाเคฐ-เคคाเคฐ
เค…เคจुเคฐाเค—-เคญเคฐा เค‰เคจ्เคฎाเคฆ-เคฐाเค—;
เค†ँเคธू เคฒेเคคे เคตे เคชเคฆ เคชเค–ाเคฐ !
เคœो เคคुเคฎ เค† เคœाเคคे เคเค• เคฌाเคฐ !

เคนँเคธ เค‰เค เคคे เคชเคฒ เคฎें เค†เคฐ्เคฆ्เคฐ เคจเคฏเคจ
เค˜ुเคฒ เคœाเคคा เค“เค ों เคธे เคตिเคทाเคฆ,
เค›ा เคœाเคคा เคœीเคตเคจ เคฎें เคตเคธंเคค
เคฒुเคŸ เคœाเคคा เคšिเคฐ-เคธंเคšिเคค เคตिเคฐाเค—;
เค†ँเค–ें เคฆेเคคीं เคธเคฐ्เคตเคธ्เคต เคตाเคฐ |
เคœो เคคुเคฎ เค† เคœाเคคे เคเค• เคฌाเคฐ !
- เคฎเคนाเคฆेเคตी เคตเคฐ्เคฎा

เค เคฎाเคคृเคญूเคฎि เคคेเคฐी เคœเคฏ เคนो - Ram Prasad Bismil


เค เคฎाเคคृเคญूเคฎि เคคेเคฐी เคœเคฏ เคนो

เค เคฎाเคคृเคญूเคฎि เคคेเคฐी เคœเคฏ เคนो, เคธเคฆा เคตिเคœเคฏ เคนो ।
เคช्เคฐเคค्เคฏेเค• เคญเค•्เคค เคคेเคฐा, เคธुเค–-เคถांเคคि-เค•ाเคจ्เคคिเคฎเคฏ เคนो ।।
เค…เคœ्เคžाเคจ เค•ी เคจिเคถा เคฎें, เคฆुเค– เคธे เคญเคฐी เคฆिเคถा เคฎें,
เคธंเคธाเคฐ เค•े เคนृเคฆเคฏ เคฎें เคคेเคฐी เคช्เคฐเคญा เค‰เคฆเคฏ เคนो ।
เคคेเคฐा เคช्เคฐเค•ोเคช เคธाเคฐे เคœเค— เค•ा เคฎเคนाเคช्เคฐเคฒเคฏ เคนो ।।
เคคेเคฐी เคช्เคฐเคธเคจ्เคจเคคा เคนी เค†เคจเคจ्เคฆ เค•ा เคตिเคทเคฏ เคนो ।।
เคตเคน เคญเค•्เคคि เคฆे เค•ि ‘เคฌिเคธ्เคฎिเคฒ’ เคธुเค– เคฎें เคคुเคे เคจ เคญूเคฒे,
เคตเคน เคถเค•्เคคि เคฆे เค•ि เคฆुःเค– เคฎें เค•ाเคฏเคฐ เคจ เคฏเคน เคนृเคฆเคฏ เคนो ।।

– เคฐाเคฎ เคช्เคฐเคธाเคฆ เคฌिเคธ्เคฎिเคฒ

เคธเคฐเคซ़เคฐोเคถी เค•ी เคคเคฎเคจ्เคจा - Ram Prasad Bismil

เคฐाเคฎ เคช्เคฐเคธाเคฆ เคฌिเคธ्เคฎिเคฒ

เคธเคฐเคซ़เคฐोเคถी เค•ी เคคเคฎเคจ्เคจा  เค…เคฌ เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै
เคฆेเค–เคจा เคนै เคœ़ोเคฐ เค•िเคคเคจा เคฌाเคœ़ु-เค-เค•ाเคคिเคฒ เคฎें เคนै
เค•เคฐเคคा เคจเคนीं เค•्เคฏूँ เคฆूเคธเคฐा เค•ुเค› เคฌाเคคเคšीเคค,
เคฆेเค–เคคा เคนूँ เคฎैं เคœिเคธे เคตो เคšुเคช เคคेเคฐी เคฎเคนเคซ़िเคฒ เคฎें เคนै
เค เคถเคนीเคฆ-เค-เคฎुเคฒ्เค•-เค“-เคฎिเคฒ्เคฒเคค เคฎैं เคคेเคฐे เคŠเคชเคฐ เคจिเคธाเคฐ,
เค…เคฌ เคคेเคฐी เคนिเคฎ्เคฎเคค เค•ा เคšเคฐเคšा เค—ैเคฐ เค•ी เคฎเคนเคซ़िเคฒ เคฎें เคนै
เคธเคฐเคซ़เคฐोเคถी เค•ी เคคเคฎเคจ्เคจा  เค…เคฌ เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै
เคตเค•्เคค เค†เคจे เคฆे เคฌเคคा เคฆेंเค—े เคคुเคे เค เค†เคธเคฎाเคจ,
เคนเคฎ เค…เคญी เคธे เค•्เคฏा เคฌเคคाเคฏें เค•्เคฏा เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै
เค–ैंเคš เค•เคฐ เคฒाเคฏी เคนै เคธเคฌ เค•ो เค•เคค्เคฒ เคนोเคจे เค•ी เค‰เคฎ्เคฎीเคฆ,
เค†เคถिเค•ों เค•ा เค†เคœ เคœเคฎเค˜เคŸ เค•ूเคš-เค-เค•ाเคคिเคฒ เคฎें เคนै
เคธเคฐเคซ़เคฐोเคถी เค•ी เคคเคฎเคจ्เคจा  เค…เคฌ เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै
เคนै เคฒिเคฏे เคนเคฅिเคฏाเคฐ เคฆुเคถเคฎเคจ เคคाเค• เคฎें เคฌैเค ा เค‰เคงเคฐ,
เค”เคฐ เคนเคฎ เคคैเคฏाเคฐ เคนैं เคธीเคจा เคฒिเคฏे เค…เคชเคจा เค‡เคงเคฐ
เค–ूเคจ เคธे เค–ेเคฒेंเค—े เคนोเคฒी เค—เคฐ เคตเคคเคจ เคฎुเคถ्เค•िเคฒ เคฎें เคนै,
เคธเคฐเคซ़เคฐोเคถी เค•ी เคคเคฎเคจ्เคจा  เค…เคฌ เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै
เคนाเคฅ เคœिเคจ เคฎें เคนो เคœुเคจूँ เค•เคŸเคคे เคจเคนीं  เคคเคฒเคตाเคฐ เคธे,
เคธเคฐ เคœो เค‰เค  เคœाเคคे เคนैं เคตो เคुเค•เคคे เคจเคนीं เคฒเคฒเค•ाเคฐ เคธे
เค”เคฐ เคญเคก़เค•ेเค—ा เคœो เคถोเคฒा-เคธा เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै,
เคธเคฐเคซ़เคฐोเคถी เค•ी เคคเคฎเคจ्เคจा  เค…เคฌ เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै
เคนเคฎ เคคो เค˜เคฐ เคธे เคจिเค•เคฒे เคนी เคฅे เคฌाँเคงเค•เคฐ เคธเคฐ เคชे เค•เคซ़เคจ,
เคœाเคจ เคนเคฅेเคฒी เคชเคฐ เคฒिเคฏे เคฒो เคฌเฅ เคšเคฒे เคนैं เคฏे เค•เคฆเคฎ
เคœिเคจ्เคฆเค—ी เคคो เค…เคชเคจी เคฎेเคนเคฎाเคจ เคฎौเคค เค•ी เคฎเคนเคซ़िเคฒ เคฎें เคนै,
เคธเคฐเคซ़เคฐोเคถी เค•ी เคคเคฎเคจ्เคจा  เค…เคฌ เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै
เคฏूँ เค–เฅœा เคฎเค•़เคคเคฒ เคฎें เค•़ाเคคिเคฒ เค•เคน เคฐเคนा เคนै เคฌाเคฐ-เคฌाเคฐ,
เค•्เคฏा เคคเคฎเคจ्เคจा -เค-เคถเคนाเคฆเคค เคญी เค•िเคธी เค•े เคฆिเคฒ เคฎें เคนै
เคฆिเคฒ เคฎें เคคूเคซ़ाเคจों เค•ी เคŸोเคฒी เค”เคฐ เคจเคธों เคฎें เค‡เคจ्เค•เคฒाเคฌ,
เคนोเคถ เคฆुเคถ्เคฎเคจ เค•े เค‰เคก़ा เคฆेंเค—े เคนเคฎें เคฐोเค•ो เคจा เค†เคœ
เคฆूเคฐ เคฐเคน เคชाเคฏे เคœो เคนเคฎเคธे เคฆเคฎ เค•เคนाँ เคฎंเคœ़िเคฒ เคฎें เคนै,
เคตो เคœिเคธ्เคฎ เคญी เค•्เคฏा เคœिเคธ्เคฎ เคนै เคœिเคธเคฎें เคจा เคนो เค–ूเคจ-เค-เคœुเคจूเคจ
เคคूเคซ़ाเคจों เคธे เค•्เคฏा เคฒเคก़े เคœो เค•เคถ्เคคी-เค-เคธाเคนिเคฒ เคฎें เคนै,
เคธเคฐเคซ़เคฐोเคถी เค•ी เคคเคฎเคจ्เคจा  เค…เคฌ เคนเคฎाเคฐे เคฆिเคฒ เคฎें เคนै|
                – เคฐाเคฎ เคช्เคฐเคธाเคฆ เคฌिเคธ्เคฎिเคฒ