Skip to main content

finlens — Dữ liệu chứng khoán Việt Nam cho Python

PyPI Python License

Thư viện Python lấy dữ liệu thị trường chứng khoán Việt Nam — giá cuối ngày và trong phiên, khớp lệnh từng lệnh (tick-by-tick), dòng tiền theo nhóm nhà đầu tư, báo cáo tài chính và danh mục mã — trả về thẳng dưới dạng pandas.DataFrame.

Phủ HOSE (HSX), HNX và UPCOM: 1.645 cổ phiếu và chứng chỉ quỹ, 632 chứng quyền có bảo đảm, hợp đồng phái sinh VN30F1M, và các chỉ số VNINDEX, VN30, HNX-INDEX, UPCOM-INDEX.

Python library for Vietnam stock market data — daily and intraday OHLCV, tick-by-tick trades, foreign investor flows, financial statements. Covers HOSE, HNX and UPCOM. Returns pandas DataFrames.

pip install finlens
import finlens

client = finlens.client(api_key="flk_...")  # hoặc đặt biến FINLENS_API_KEY

df = client.eod.stock.ohlcv("HPG,VCB,FPT", start="2026-01-01", end="2026-01-05")
print(df)
#   symbol       date   open   high    low  close       volume
# 0    FPT 2026-01-05  94.40  94.40  91.93  93.71    7129300.0
# 1    HPG 2026-01-05  23.57  23.70  22.94  23.17   59427911.0
# 2    VCB 2026-01-05  ...

Giá ở đây tính bằng nghìn đồng — 23.17 nghĩa là 23.170 VND.


Mục lục


Vì sao dùng finlens

Trả về pandas.DataFrame trần, không phải wrapper. Ghi được to_parquet, nối được pd.concat, dùng được mọi tutorial pandas bạn từng đọc.

Nhiều mã trong một request. ohlcv("HPG,VCB,FPT,...") với 50 mã là một lời gọi HTTP chứ không phải 50 lời gọi tuần tự.

Đơn vị được khai báo, không phải đoán. Mỗi frame mang theo df.attrs["finlens"]["units"]. Giá cổ phiếu Việt Nam thường ghi bằng nghìn đồng còn chứng quyền bằng đồng — nhầm chỗ này sai đúng 1000 lần và không có lỗi nào báo. Thư viện tách chúng thành các namespace riêng nên một lời gọi không bao giờ trả về bảng trộn hai đơn vị.

Kết quả rỗng vẫn đúng cột, đúng kiểu. Ngày thị trường nghỉ, df["close"] vẫn chạy — không KeyError.

Type hint đầy đủ, docstring tiếng Việt. Autocomplete và help() hoạt động; mypy --strict chạy sạch.


Cài đặt và khoá API

pip install finlens

Yêu cầu Python 3.11+ và pandas 3.0+.

Lấy khoá API tại finlens.vn. Khoá có dạng flk_....

import finlens

# Cách 1 — truyền thẳng
client = finlens.client(api_key="flk_...")

# Cách 2 — biến môi trường FINLENS_API_KEY (khuyến nghị)
client = finlens.client()

# Dùng như context manager để đóng kết nối gọn gàng
with finlens.client() as client:
    df = client.eod.stock.ohlcv("HPG")

Tạo client không chạm mạng — an toàn để đặt ở cell đầu notebook hoặc trong __init__ của một lớp.

client.whoami()  # gói dịch vụ, hạn mức, ngày hết hạn
client.status()  # trạng thái service (không cần khoá)

Lấy được những dữ liệu gì

Giá cuối ngày (EOD)

client.eod.stock.ohlcv("HPG", start="2020-01-01", interval="1w")
client.eod.index.ohlcv("VNINDEX")
client.eod.derivative.ohlcv("VN30F1M")
client.eod.warrant.ohlcv("CHPG2628")
client.eod.sector.ohlcv("8355")  # chỉ số ngành ICB

Cổ phiếu có từ 2007, chỉ số ngành từ 2000. interval nhận 1d, 1w, 1mo, 3mo, 6mo, 1y — gộp nhóm chạy ở server.

Giá cổ phiếu mặc định đã điều chỉnh quyền; thêm adjusted=False để lấy giá thô đúng như phiên hôm đó.

Trong phiên và tick-by-tick

client.intraday.stock.ohlcv("HPG", interval="5min")
client.intraday.stock.ticks("HPG", date="2026-08-03")  # từng lệnh khớp
client.intraday.stock.net_active_value("HPG", interval="1h")  # mua/bán chủ động

Tick có từ 2022. interval trong phiên: 1min, 5min, 15min, 30min, 1h, 4h.

Cột side của tick có ba giá trị: buy (bên mua nâng giá chạm bên bán), sell (bên bán hạ giá chạm bên mua), và auction (khớp lệnh định kỳ ATO/ATC). Phiên định kỳ không có bên chủ động nên xếp nó vào mua hay bán đều sai — nó chiếm 1,4%–8,6% khối lượng tuỳ mã, quá lớn để giấu.

ticks() lấy một mã, một phiên mỗi lần gọi: một phiên phái sinh sôi động là hơn 90.000 dòng.

Dòng tiền theo nhóm nhà đầu tư

client.eod.stock.investor.flow("HPG", group="foreign")
client.eod.stock.investor.breakdown("HPG")  # tất cả các nhóm
client.eod.sector.investor.flow("8355")  # theo ngành ICB
Nhóm Có từ Phạm vi
foreign 2010 cả ba sàn
foreign_individual, foreign_institutional 2024 HOSE
local_individual, local_institutional 2024 HOSE
proprietary (tự doanh) 2022 cả ba sàn

Bốn nhóm chi tiết cộng lại bằng 0 — mua ròng của nhóm này là bán ròng của nhóm kia. foreign và proprietary đến từ nguồn khác và nằm trên trục riêng; meta.additive_groups trong response nói rõ nhóm nào cộng được với nhau.

Báo cáo tài chính

client.financials.statement("HPG", kind="balance_sheet", period="quarterly")
client.financials.periods("HPG")  # kỳ nào có số liệu
client.financials.line_items(com_type="NH", kind="balance_sheet")

Có từ 2004. Bốn loại hình doanh nghiệp (CT phi tài chính, NH ngân hàng, CK chứng khoán, BH bảo hiểm) có cây chỉ tiêu khác nhau, nhưng frame ở dạng long và mỗi dòng mang company_type của chính nó — nên statement(["HPG", "VCB"]) chạy được dù hai mã khác loại hình.

Tra cứu danh mục

client.meta.symbols()  # 1.645 mã
client.meta.symbols(exchange="HOSE")  # 431 mã
client.meta.symbols(icb="8300")  # toàn ngành ngân hàng
client.meta.symbols(kind="fund")  # 24 chứng chỉ quỹ niêm yết
client.meta.sectors(level=2)  # 19 ngành ICB cấp 2
client.meta.sectors(level=4)  # 106 ngành ICB cấp 4
client.meta.warrants(underlying="HPG")  # chứng quyền của HPG

Tham số icb= nhận cả mã cấp 2 lẫn cấp 4 — bạn không cần biết mã mình cầm thuộc cấp nào.

# Lấy danh sách mã để lặp
tickers = client.meta.symbols(exchange="HOSE")["symbol"].tolist()

Đơn vị — đọc trước khi tính toán

Đây là nguồn lỗi số một khi làm việc với dữ liệu chứng khoán Việt Nam, và nó sai âm thầm: không exception nào, chỉ là một con số sai.

Loại Cột giá Khối lượng Giá trị tiền
Cổ phiếu, ETF, chứng chỉ quỹ nghìn VND (22.3 = 22.300 đ) cổ phiếu VND
Chỉ số điểm chỉ số cổ phiếu —
Phái sinh điểm chỉ số hợp đồng VND
Chứng quyền VND thô chứng quyền VND

Luôn đọc thay vì giả định:

df.attrs["finlens"]["units"]  # {'close': 'kVND', 'volume': 'share', ...}
df.attrs["finlens"]["price_basis"]  # 'adjusted' hoặc 'raw'
df.attrs["finlens"]["as_of"]  # mốc nước của dữ liệu

⚠️ DataFrame.attrs không sống sót qua pd.concat hay merge của pandas. Đọc đơn vị trước khi ghép frame.


Tra cứu nhanh

Bạn muốn Gọi
Giá VNINDEX theo tháng client.eod.index.ohlcv("VNINDEX", interval="1mo")
Khối ngoại mua ròng HPG client.eod.stock.investor.flow("HPG")
Từng lệnh khớp một phiên client.intraday.stock.ticks("HPG", date="2026-08-03")
Cân đối kế toán theo quý client.financials.statement("HPG", kind="balance_sheet", period="quarterly")
Mọi mã ngành ngân hàng client.meta.symbols(icb="8300")
Chứng quyền còn hạn client.meta.warrants()
Giá thô, chưa điều chỉnh client.eod.stock.ohlcv("HPG", adjusted=False)

Mọi phương thức đều nhận refresh=True để bỏ qua cache, và on_error="raise" để một mã lỗi làm cả lời gọi thất bại thay vì chỉ cảnh báo.


Xử lý lỗi

Mọi lỗi kế thừa finlens.FinLensError và mang theo .code, .request_id, .doc_url.

import finlens

try:
    df = client.eod.stock.ohlcv("HPG")
except finlens.RateLimitError as e:
    print(f"Chờ {e.retry_after} giây")
except finlens.DailyQuotaExceededError as e:
    print(f"Hết hạn mức ngày, mở lại lúc {e.resets_at}")
except finlens.InvalidSymbolError:
    print("Mã không tồn tại")
except finlens.FinLensError as e:
    print(f"{e.code}: {e}")

Cây ngoại lệ:

FinLensError
├── AuthError          InvalidApiKeyError · ApiKeyExpiredError · AccountExpiredError
├── TierError          DatasetNotInTierError · SymbolNotInTierError
├── QuotaError         RateLimitError · DailyQuotaExceededError
├── ValidationError    InvalidSymbolError · InvalidDateRangeError · InvalidIntervalError
├── TransportError     ConnectionFailedError · TlsVerificationError · RequestTimeoutError
└── DataError          SchemaMismatchError · NoDataError

ValidationError cũng kế thừa ValueError, nên except ValueError vẫn bắt được.

Một mã lỗi không làm mất các mã còn lại. Mặc định on_error="warn": bạn nhận về những mã thành công kèm một cảnh báo, chi tiết ở df.attrs["finlens"]["failed"].


Async

Mọi thứ có bản async với cùng chữ ký:

import asyncio
import finlens


async def main():
    async with finlens.AsyncClient(api_key="flk_...") as client:
        df = await client.eod.stock.ohlcv("HPG,VCB")


asyncio.run(main())

Bản đồng bộ và bất đồng bộ dùng chung một lõi, nên không có chuyện một bên được sửa bug còn bên kia thì không.


Câu hỏi thường gặp

Giá cổ phiếu tính bằng đơn vị gì? Nghìn đồng. 22.3 nghĩa là 22.300 VND. Chứng quyền thì ngược lại — VND thô. Luôn đọc df.attrs["finlens"]["units"].

Dữ liệu có từ năm nào? Giá cuối ngày cổ phiếu từ 2007, chỉ số ngành từ 2000, khối ngoại từ 2010, báo cáo tài chính từ 2004, tick trong phiên từ 2022. Nhóm nhà đầu tư chi tiết (cá nhân/tổ chức, trong nước/nước ngoài) từ 2024 và chỉ có ở HOSE.

Lấy được dữ liệu của phiên đang chạy không? Được. Dữ liệu trong phiên cập nhật liên tục và meta.as_of cho biết mốc nước. Lưu ý giá trong phiên là giá thô, chưa điều chỉnh quyền — khác với EOD.

Lấy được bao nhiêu mã một lần? Tuỳ gói dịch vụ, xem client.limits(). Thư viện tự chia nhỏ và gọi song song, bạn cứ truyền cả danh sách. Riêng ticks() là một mã một phiên.

Có sổ lệnh (order book) không? Không. ticks() trả lệnh đã khớp, không phải độ sâu sổ lệnh. Giá đặt và khối lượng chờ theo bậc không có trong nguồn dữ liệu.

Có dữ liệu quỹ mở, trái phiếu, hàng hoá không? Chưa. Chứng chỉ quỹ niêm yết (kind="fund") thì có; quỹ mở, NAV, trái phiếu và hàng hoá thì không.

Cache hoạt động thế nào? Tự động. Dữ liệu lịch sử cache 7 ngày, phiên gần nhất 60 giây, danh mục và cây ngành 24 giờ. refresh=True để bỏ qua, client.cache.stats() để xem.

Chạy sau proxy doanh nghiệp hoặc phần mềm diệt virus? Nếu gặp TlsVerificationError, trỏ tới CA bundle của tổ chức bạn: finlens.client(ca_bundle="/đường/dẫn/ca.pem") hoặc đặt biến môi trường FINLENS_CA_BUNDLE.


Nâng cấp từ 0.1.x

Phiên bản 1.0 là bản viết lại và có thay đổi phá vỡ tương thích. Danh sách đầy đủ nằm ở changelog. Đáng chú ý nhất:

  • Tên cột dùng snake_case — Date thành date.
  • interval="1M" bị từ chối vì nhập nhằng giữa một tháng và một phút; dùng 1mo hoặc 1min.
  • net_active_value() trước đây trả ba đơn vị khác nhau dưới cùng một tên cột; nay luôn là VND và có meta.value_unit khai rõ.
  • Mọi tham số sau mã chứng khoán là keyword-only.

Tài liệu và hỗ trợ

Khi báo lỗi, kèm theo finlens.build_info() và request_id trong thông báo lỗi — hai thứ đó cho biết chính xác bản build nào và request nào.

>>> finlens.build_info()
{'version': '1.0.1', 'commit': 'a1b2c3d', 'built_at': '...', 'cython': '3.2.9', ...}

Giấy phép

MIT — xem toàn văn giấy phép. File LICENSE cũng đi kèm trong gói.

Metadata

Release files for finlens 1.0.1

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

Built distributions (wheels)

Table of built distributions (wheels) for finlens 1.0.1
File
finlens-1.0.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
finlens-1.0.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
finlens-1.0.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
finlens-1.0.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
finlens-1.0.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
finlens-1.0.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
finlens-1.0.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
finlens-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
finlens-1.0.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
finlens-1.0.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
finlens-1.0.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
finlens-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
finlens-1.0.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
finlens-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
finlens-1.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
finlens-1.0.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
finlens-1.0.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
finlens-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
finlens-1.0.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
finlens-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
finlens-1.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
finlens-1.0.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
finlens-1.0.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
finlens-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 18.9 MB

Release files / finlens-1.0.1-cp314-cp314-win_amd64.whl

Download URL finlens-1.0.1-cp314-cp314-win_amd64.whl
Size 754.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
b36913350ad5d1eeb290a4f63d2655a57fb1c2d4d1f9c8d6d03294588ab6568c
BLAKE2b-256 checksum
How to use checksums
3e3e6f42fd07b0b7a34d84cadb5cd92f67b7230daa646558acfe4c8c278cb6aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL finlens-1.0.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 849.1 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6ef745c57f5f7a294d8ebc18aed80252a17d5dfa96e31ca4fa0fe164b1a58a80
BLAKE2b-256 checksum
How to use checksums
12c5a67af19496b9c0f2461575ff39e8aa2cf57963beeec69ce68acfcc19bc9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL finlens-1.0.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 845.2 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
315eb4af2df744eb0ce090c28f8e8fe793fa87a53b328f4e228e8d066ce3ef48
BLAKE2b-256 checksum
How to use checksums
dee422fc80682b801f887b2389759213aa6f1b84923a7acae1f8d9fc87ef0627
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL finlens-1.0.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 803.0 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ffc077a54f7129f5541dd38844bfbeaa85bb232c605ab32ef3fe1de13b9470d7
BLAKE2b-256 checksum
How to use checksums
0d655e573bfe7f4017eaf7878a934214bd69408af4830576e1253f25a7a24006
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL finlens-1.0.1-cp314-cp314-macosx_11_0_arm64.whl
Size 730.4 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb1afec12d0b8085fc8d5e77c706b2f6df21e489e7240f25aa3873807e734001
BLAKE2b-256 checksum
How to use checksums
05e36df21c0ff9cbb9d9e5f5c6d40a7aa22c169f272e1030abe95e323c8cdab3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL finlens-1.0.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 755.8 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
a8a62065926b06d63f6bcac9b3f7f7684039a1acba1bf7155cf1f5a3a06b6f0c
BLAKE2b-256 checksum
How to use checksums
f596f5cb90f54953a3802ba1496b4492b7d5262e96f03f70f8d72e31f0cb4486
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp313-cp313-win_amd64.whl

Download URL finlens-1.0.1-cp313-cp313-win_amd64.whl
Size 737.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e0c84a20a3a87e3b85441b79fba452d7b350695c36e4139d037e2aa9a750d091
BLAKE2b-256 checksum
How to use checksums
9b714fa96791ce38895561994508253de6e1b3301c4c80f6ac20396eaa52b430
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL finlens-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 844.4 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b54d3723eee417961dea160430e6fb4e2a43f102085dcd3eeb2afb8ee913f266
BLAKE2b-256 checksum
How to use checksums
eed9eada471be87e621174d8483a1074c9caae35df50d88cd40ce6fb5f187d7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL finlens-1.0.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 841.1 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ec89b9a5d5cf9aaee018ff457821143e212721455c2aecd5da697ee66d701321
BLAKE2b-256 checksum
How to use checksums
ab6a18510b8c7beb71d45a32f86c5caa9b3f06a9cbd2f369d122d53c850a82c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL finlens-1.0.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 791.9 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0d3eb712766a8e6c73bc60dd9b0fc631dccfea360a72cda931a03de1f4665a83
BLAKE2b-256 checksum
How to use checksums
029ba8f63572bb7daeee8c9cb1bf50972d48ba93629aee925c8039f8197ed9c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL finlens-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Size 727.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fbdb8ef86cd2193c6c0dcd796df8e618b8eafa336bf632e13cfe2304504cc231
BLAKE2b-256 checksum
How to use checksums
9aba30074bbf4e7d13c41202b56e23e438af379dca801ced29993f204a889cf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL finlens-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 753.8 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
d9973bd611bac7e5ada0faff30720534cb08d5ff6b93fdc5c6049f515fe109ff
BLAKE2b-256 checksum
How to use checksums
a808586f1acfb6eda690cc4fe49834c92e2efc4bdc9dfcb55cae0cc7e0695a56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp312-cp312-win_amd64.whl

Download URL finlens-1.0.1-cp312-cp312-win_amd64.whl
Size 744.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
21498e7bb50473077e1531fbccc02c6d7c521978d1cdcf3c78745c2e309ffc5d
BLAKE2b-256 checksum
How to use checksums
00d75a668d77a1af8ac90c0f5bdf1c3789266cce93b31642c542fcafe861ef02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL finlens-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 850.6 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8a761feed376d3f94b658697125f8044ffb4a02db93d121755b4bbaa1fc007d6
BLAKE2b-256 checksum
How to use checksums
c46ce6894aaf1864f5589e703910a64e679b3bc73105815f0f1169b9b3fda383
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL finlens-1.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 847.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8691c2a481427a2179537b7b391e191aea27c49b97408594f3ca871b200aead6
BLAKE2b-256 checksum
How to use checksums
776055529e012514dda8be1418e85fe4017f4413408623a6ca6906357d0c15cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL finlens-1.0.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 797.3 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
12dabcfadff3310b54807ecea3ee1e5ceb418cf4d8066118354b54338a0743d2
BLAKE2b-256 checksum
How to use checksums
06da49c973f77de782d7d13e54cdccacc3d6af15a17521e63a4eae8385e3087a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL finlens-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Size 732.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb9b2475f56c3d1d53e5289d0c07dacabbfa822e54d2af8f9cfb7a4cf344176f
BLAKE2b-256 checksum
How to use checksums
c9e06596ea349bfcec5767d4f745cb842275aa3fd372f198e881f0efcf6e8aa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL finlens-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 756.0 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
e1f3f1d39258b329b5c15786b0c087e8d4fe083d88641424a652de6765513500
BLAKE2b-256 checksum
How to use checksums
29447aa6bf184b0243a734f38de285e45f7c5ba586f9eb4d0c304bcad073262b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp311-cp311-win_amd64.whl

Download URL finlens-1.0.1-cp311-cp311-win_amd64.whl
Size 763.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d2ec27a34cb62a96dc89eb3c3252105340702c76ba709d9d4af86958273c85df
BLAKE2b-256 checksum
How to use checksums
5cca63e3d38b217f4c3691a97332c9e0ae5e486999903da1d66c1ed16e35a011
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL finlens-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 839.6 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b2d46e9d54b5a1cad19aaf6e7b2af53b0dae875392ab3d06d62ff25f76cb0657
BLAKE2b-256 checksum
How to use checksums
f15f58d35628328e9c7e42e6a81a19fb5b62ceb46bad839fd3b96775bbdf38d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL finlens-1.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 837.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9e28f524e495955530c03cb82ebfd88f17c6ee9c26ec28efbc42159cc02dae78
BLAKE2b-256 checksum
How to use checksums
cf666ad5968e1c5c8ac256be2cf4f009fbe24535dc43033d478ab3d612ee4d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL finlens-1.0.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 797.4 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
db3701e0dab64514334b1d04a3f0204d11ab714465dea71221334f19376e9898
BLAKE2b-256 checksum
How to use checksums
7460d73c84c4707d1189baaeda724f1dc7b1315b3f52adee58d27feaefe5246b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL finlens-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Size 731.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3c91a8038545ae353288e9b8a8ed86a52640960fa43839ad8e92863a255cb188
BLAKE2b-256 checksum
How to use checksums
51ccbd0b4fdaf22ac5bf6fe6d4fc2cc4c31a426df391db0793c6737f5b15e39e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release files / finlens-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL finlens-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 756.6 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1897e54a393d62399d9a5475365789969ca1ef771542620a471f1d0b86b22381
BLAKE2b-256 checksum
How to use checksums
416492dbd650d2bb8e7f9164c200713fdb662e0b8daa40328fedd58229e9af38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.

Transparency log

Release history Release notifications | RSS feed

1.5.0

6 release files

1.4.0

6 release files

1.3.0

6 release files

This release

1.0.1 This release

24 release files

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