Skip to main content

CLI app to apply for IPOs and manage MeroShare accounts across multiple users!

Project description

NEPSE IPO

Release Pipeline PyPI - Version PyPI - Python Version

A CLI application written in Python to manage MeroShare accounts — apply for IPOs, track portfolios, and check allotment results across multiple accounts simultaneously.


Features

  • Apply for IPOs across multiple MeroShare accounts in one command
  • Track portfolio value and performance per account or combined
  • Check live IPO application status and allotment results
  • Auto-sync account data once per day on first login
  • Export portfolio and application history to CSV
  • Tag and filter accounts for selective operations
  • Telegram notifications for IPO applications
  • Encrypted local storage for all account credentials

Installation

Install Python 3.9 or later, then install via pipx (recommended):

pipx install ayush-ipo

Or using pip:

pip install ayush-ipo

Launch from the command line:

ipo

First Launch

On the first launch, the application will ask you to set a master password. This password encrypts your stored account credentials locally — it is not your MeroShare password. You will be asked for it every time you launch the application.

Up to 3 password attempts are allowed before the application exits.


Commands

Command Description
add Add a MeroShare account
remove Remove an account
apply Apply for an open IPO across all accounts
status Check live IPO application status and allotment result
status all Show full application history instead of the 5 most recent
portfolio Show portfolio for a specific account
portfolio all Show combined portfolio across all accounts
stats Show IPO application statistics for all accounts
stats {id} Show detailed allotment history for a specific account
sync Manually sync all account data from MeroShare
export portfolio Export portfolio holdings to CSV
export applications Export IPO application history to CSV
tag Assign a tag to an account for grouping
select {tag} Filter active accounts by tag for subsequent commands
select all Clear tag filter and use all accounts
list accounts Show all accounts
list accounts full Show all accounts including passwords and PINs
list capitals Show capital/broker list
change lock Change the master password
change password Change a MeroShare account password
change export Change the CSV export directory
loglevel Set logging verbosity
telegram enable Enable Telegram notifications
telegram disable Disable Telegram notifications
help Show available commands
help {command} Show detailed help for a specific command
exit Exit the application

Aliases: result / resultsstatus · statstats · cls / cclear


Usage

Adding an account

IPO > add
Enter DMAT (16 digits): 1234567891234567
Enter Meroshare Password: ********
Enter CRN Number: 02-R00222224
Enter Meroshare PIN: ****

You can also pass all arguments inline:

IPO > add 1234567891234567 myp@ssw0rd 02-R00222224 1234

Press ESC at any field to cancel. All fields are validated immediately — DMAT must be exactly 16 digits and PIN must be numeric.


Applying for an IPO

IPO > apply

A table of open issues will be displayed. Enter the Share ID and the number of units to apply. The application will apply across all active accounts and display a per-account result table.


Checking IPO status and results

IPO > status

Displays the 5 most recent applications. Enter a Share ID to fetch live status and allotment result for all accounts. You can enter multiple Share IDs in one session — press ESC to exit, or type any valid command to switch directly to it.

To view the full application history:

IPO > status all

Allotted column values:

Value Meaning
Yes Allotted — result has been published
No Not allotted — result has been published
Not Published Result has not been published yet
N/A This account did not apply for this offering

Viewing portfolio

IPO > portfolio

Select an account by ID. You can view multiple accounts without re-entering the command — press ESC to exit.

To view a combined portfolio across all accounts:

IPO > portfolio all

Statistics

IPO > stats

Shows a per-account breakdown of total applied, rejected, un-allotted, allotted, and pending IPOs along with the allotment success rate.

To view the full allotment history for a specific account including invested amount and current portfolio value:

IPO > stats 1

Exporting data

On first export, the application will ask you to choose a directory. This is saved for future exports. To change it later:

IPO > change export

Export portfolio:

IPO > export portfolio

Export application history:

IPO > export applications

CSV files are saved as ipo_export_{type}_{date}.csv.


Tagging and filtering accounts

Assign a tag to group accounts:

IPO > tag

Filter all subsequent commands to only operate on tagged accounts:

IPO > select family

Return to using all accounts:

IPO > select all

The active tag filter is shown in the prompt:

IPO (family) >

Auto-sync

The application automatically syncs portfolio and application data from MeroShare on the first login of each day. Subsequent logins the same day skip the sync to avoid unnecessary API calls. To force a sync at any time:

IPO > sync

Data & Privacy

All account credentials are encrypted using Fernet symmetric encryption and stored locally. No data is sent anywhere except to the official MeroShare API. A local sync file is created alongside the data file to track sync state and export preferences — this file is not encrypted and should not be committed to version control.


Requirements

  • Python >= 3.9
  • Active MeroShare account(s)
  • CRN number for each account

Credits

Originally developed by Arpan Koirala. Extended and redesigned by Ayush Joshi (2026).


License

MIT License — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ayush_ipo-0.1.2.tar.gz (91.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ayush_ipo-0.1.2-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file ayush_ipo-0.1.2.tar.gz.

File metadata

  • Download URL: ayush_ipo-0.1.2.tar.gz
  • Upload date:
  • Size: 91.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for ayush_ipo-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fac002d00823024bf3ab5a9282681242f8a52bd47132f0266b1a68f5eb78a00b
MD5 58f4869c3107ae11aae161d9013ba8ae
BLAKE2b-256 94eb1fdc6829b911b5eba836928ac945988aa171d3a2845411de570143b796c5

See more details on using hashes here.

File details

Details for the file ayush_ipo-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ayush_ipo-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for ayush_ipo-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8bd8185852554b30ff15ab2d01d624cada8654b4048a09f2d11f95ad4d77245a
MD5 cd9d4c54d0095d2f5ba3783b60eb49c0
BLAKE2b-256 a34c6d3a2e6de7333b9962aceb91a50df83fa4ec31350825582d5e0af2076393

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page