Skip to main content

Mero Miti Logo

Mero Miti Python (mero-miti)

Official Mero Miti (मेरो मिति) Python library. Features ultra-compressed 24-bit Bikram Sambat calendar data (< 1 KB), bidirectional AD $\leftrightarrow$ BS conversions, runtime dynamic year patching, and first-class integrations for Django and FastAPI.


📦 Installation

pip install mero-miti

With Django or FastAPI extras:

pip install "mero-miti[django]"
pip install "mero-miti[pydantic]"

🚀 Quick Start

1. Basic Conversion

import datetime
from mero_miti import ad_to_bs, bs_to_ad, BsDate, format_bs_date

# Gregorian (A.D.) to Bikram Sambat (B.S.)
today_bs = ad_to_bs(datetime.date.today())
print(today_bs) # 2081-05-19
print(format_bs_date(today_bs, format="DD/MM/YYYY", numeral="ne")) # १९/०५/२०८१

# Bikram Sambat (B.S.) to Gregorian (A.D.)
ad_date = bs_to_ad(BsDate(2081, 5, 19))
print(ad_date) # 2024-09-04

2. Nepali Fiscal Year (आर्थिक वर्ष) & Quarters

from mero_miti import get_fiscal_year, get_fiscal_year_range, get_fiscal_year_quarters

# Current Fiscal Year
fy = get_fiscal_year()
print(fy.code) # "2081/82"
print(fy.nepali_code) # "२०८१/८२"

# Exact Date Boundaries (Shrawan 1 to Ashadh end)
r = get_fiscal_year_range(2081)
print(r.start_bs, r.end_bs) # 2081-04-01 2082-03-31
print(r.start_date, r.end_date) # Gregorian dates

# Financial Quarters (त्रैमासिक / चौमासिक)
quarters = get_fiscal_year_quarters(2081)
for q in quarters:
    print(f"{q.name}: {q.start_bs} to {q.end_bs}")

3. Strict Calendar Validation

from mero_miti import validate_bs_date, parse_bs_date, BsDate

# Rejects non-existent days (e.g. Baishakh 32 when Baishakh only has 31 days)
result = validate_bs_date(BsDate(2081, 1, 32), locale="ne")
if not result.is_valid:
    print(result.error) # 2081 साल बैशाखमा 31 दिन मात्र छन्

3. Django Form Integration

from django import forms
from mero_miti.integrations.django import BsDateField

class EmployeeForm(forms.Form):
    name = forms.CharField()
    dob = BsDateField(label="जन्म मिति (B.S.)", format="DD/MM/YYYY")

4. FastAPI / Pydantic Integration

from fastapi import FastAPI
from pydantic import BaseModel
from mero_miti.integrations.pydantic import BsDateStr

app = FastAPI()

class UserRegistration(BaseModel):
    name: str
    dob_bs: BsDateStr # Automatically validates Bikram Sambat format & day bounds

@app.post("/register")
def register(user: UserRegistration):
    ad_date = user.dob_bs.to_ad_date() # Converts to Gregorian date for database
    return {"message": "Success", "ad_dob": str(ad_date)}

Metadata

Release files for mero-miti 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mero-miti 1.0.0
File Size Uploaded Provenance
mero_miti-1.0.0.tar.gz 11.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mero-miti 1.0.0
File Interpreter ABI Platform
mero_miti-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.5 kB

Release files / mero_miti-1.0.0.tar.gz

Download URL mero_miti-1.0.0.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
701e4a80b4028be67d6252cd45624a4a2c77be107931e04d827d21264759158c
BLAKE2b-256 checksum
How to use checksums
c3f1ae60acf70e57c1ebf003143c0844d4267001661bfc81e0d84697fe433073
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / mero_miti-1.0.0-py3-none-any.whl

Download URL mero_miti-1.0.0-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
53e90e88bd063161de61a06ea4d12286fffed97ed20af369c0459b93e9e77e64
BLAKE2b-256 checksum
How to use checksums
df7056eb9000fbfd4f6472ee133167014c6a4900904f20d59bce2653d0b4072a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Security for mero-miti 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page