Skip to main content

FinLab

Backtesting and research toolkit for Taiwan equities, with data and market support for the US, Japan, Korea, and Hong Kong.

PyPI Python License

FinLab gives you market, fundamental, and alternative data through one function, a pandas-based FinLabDataFrame that aligns daily, monthly, and quarterly data automatically, and a Cython backtest engine that produces an interactive report.

Features

  • Data access: data.get() loads prices, financial statements, monthly revenue, institutional flows, and more as a date × symbol table. Browse the catalog at studio.finlab.finance/chat/database.
  • Frequency alignment: quarterly and monthly data are aligned to each company's disclosure date when combined with daily data, so a report is not used before it was published.
  • Backtesting: sim() runs portfolio backtests with rebalancing schedules, transaction costs, stop-loss and take-profit rules, and position limits.
  • Reports: an interactive report with the equity curve, drawdowns, yearly and monthly returns, trades, and risk metrics.
  • Charts: candlesticks with indicators, market treemaps, and fundamental radar charts built on Plotly.
  • Markets: Taiwan stocks and convertible bonds, plus US, Japan, Korea, Hong Kong, and UK equities and funds.
  • Live trading: turn a backtest into orders through supported Taiwan and US brokers.

Installation

pip install finlab

FinLab supports Python 3.10 to 3.14. Log in once to store your credentials:

python -m finlab login

In Google Colab, call finlab.login() instead. For servers and CI, see authentication.

Quickstart

Select the 20 companies with the strongest recent revenue growth, keep those trading above their 60-day average, and rebalance monthly:

from finlab import data
from finlab.backtest import sim

close = data.get('price:收盤價')  # daily close
revenue = data.get('monthly_revenue:當月營收')  # monthly revenue

growth = revenue.average(3) / revenue.average(12)
position = growth.is_largest(20) & (close > close.average(60))

report = sim(position, resample='M')
report.display()

Monthly revenue is aligned to its reporting deadline and combined with daily prices automatically. report.display() opens the interactive report in Jupyter; use report.to_html('report.html') elsewhere.

Backtest report with annual return, equity curve against the benchmark, drawdown, and yearly returns

Illustrative in-sample backtest. Past results do not indicate future returns.

The report

The report opens on the performance view. Five scorecards (profit, risk, risk-adjusted return, win rate, liquidity) each check the strategy against a threshold and open their own charts:

Performance: equity curve, drawdown, and returns by year
Performance
Trades: every position with entry, exit, return, MAE and GMFE
Trades
Yearly comparison of strategy and benchmark returns
Strategy vs. benchmark by year
Risk: drawdown history, worst drawdowns, and recovery times
Risk
Risk-adjusted return: rolling Sharpe ratio against the benchmark
Risk-adjusted return
Win rate: distribution of trade returns
Win rate
Liquidity: share of tradable positions by capital size
Liquidity and capacity
Current holdings with unrealized return and weights
Current holdings

Search any stock from the report (⌘K) to open its chart, fundamentals, revenue, institutional flows, and margin data beside the results:

Report with the 2330 stock panel open: candlestick chart, valuation, revenue, institutional flows, and margin trading

Working with data

Each data.get() call returns a FinLabDataFrame: dates as the index, symbols as the columns. Tables of different frequencies combine directly, and FinLab aligns quarterly and monthly values to their publication dates first.

from finlab import data

close = data.get('price:收盤價')  # daily
revenue = data.get('monthly_revenue:當月營收')  # monthly
roe = data.get('fundamental_features:ROE稅後')  # quarterly

uptrend = close > close.average(60)
growing = (revenue.average(3) / revenue.average(12)).rise(3)
quality = roe.rank(axis=1, pct=True) > 0.7

position = uptrend & growing & quality & revenue.average(3).is_largest(100)

print(position.sum(axis=1).tail())  # stocks selected on each of the last five days

Output:

date
2026-09-17    17
2026-09-18    20
2026-09-21    22
2026-09-22    22
2026-09-23    22
dtype: int64

Frequently used methods include average, rise, fall, sustain, is_largest, is_smallest, industry_rank, and hold_until. See the FinLabDataFrame reference.

Backtest options and results

sim() accepts rebalancing frequency, execution price, position limits, exits, and trading costs:

from finlab.backtest import sim

report = sim(
    position,
    resample='W',  # rebalance weekly
    trade_at_price='open',  # execute at the next open
    position_limit=0.1,  # at most 10% per stock
    stop_loss=0.08,
    take_profit=0.3,
    fee_ratio=1.425 / 1000,
    tax_ratio=3 / 1000,
)

stats = report.get_stats()  # CAGR, max drawdown, Sharpe, ...
print({k: round(stats[k], 3) for k in ['cagr', 'max_drawdown', 'daily_sharpe']})

trades = report.get_trades()  # one row per trade
print(trades[['stock_id', 'entry_date', 'exit_date', 'return']].dropna().tail(3))

print(report.next_weights.head(3))  # target weights for the next rebalance

Output (illustrative in-sample backtest):

{'cagr': 0.148, 'max_drawdown': -0.255, 'daily_sharpe': 0.92}
            stock_id entry_date  exit_date    return
trade_index                                         
7980            3231 2026-09-14 2026-09-21  0.028918
7981            5434 2026-09-14 2026-09-21  0.024809
7982            6505 2026-09-14 2026-09-21  0.046099
symbol
2301 光寶科    0.045455
2303 聯電     0.045455
2308 台達電    0.045455
Name: 2026-09-27 00:00:00, dtype: float64

From backtest to orders

Convert the latest target weights into share quantities and place orders through a broker account:

from finlab.online.order_executor import Position, OrderExecutor
from finlab.online.sinopac_account import SinopacAccount

position = Position.from_report(
    report, 1_000_000, odd_lot=True
)  # TWD 1M, odd lots allowed
executor = OrderExecutor(position, account=SinopacAccount())
print(position)  # target lots per stock
executor.create_orders(view_only=True)  # preview before sending

Output, for an account with no current holdings (quantities in lots; 1 lot = 1,000 shares):

symbol stock_id quantity order_condition
  2301     2301    0.175            CASH
  2303     2303    0.312            CASH
  2330     2330     0.02            CASH
  2357     2357    0.052            CASH
  2377     2377    0.326            CASH
   ... (15 more stocks)
BUY         2615       X 0.429      @ 113.5        CASH
BUY         2330       X 0.02       @ 2500.0       CASH
BUY         3034       X 0.09       @ 545.0        CASH
BUY         3037       X 0.045      @ 1160.0       CASH
BUY         3044       X 0.092      @ 543.0        CASH
... (15 more orders)

Supported brokers: SinoPac, Fubon, Masterlink, E.SUN (Fugle), and Pocket for Taiwan; Charles Schwab for the US. Each broker requires its own SDK and credentials; see the order API guide.

Charts

Candlesticks with Bollinger Bands, volume, and KD for any Taiwan stock:

from finlab.plot import plot_tw_stock_candles

plot_tw_stock_candles('2330', recent_days=250)
Candlestick chart of 2330 with Bollinger Bands, volume, and KD

A market treemap sized by market value and colored by return over a period:

from finlab.plot import plot_tw_stock_treemap

plot_tw_stock_treemap(
    start='2026-08-24', end='2026-09-22', area_ind='market_value', item='return_ratio'
)
Treemap of Taiwan stocks grouped by market and industry, sized by market value and colored by return

Fundamental decile ranks for a group of stocks:

from finlab.plot import plot_tw_stock_radar

plot_tw_stock_radar(portfolio=['2330', '2454', '2317'])
Radar chart comparing fundamental decile ranks of 2330, 2454, and 2317

Other markets

Switch the data source with data.set_market() and pass the matching market to sim():

from finlab import data
from finlab.backtest import sim
from finlab.markets.us import USMarket

data.set_market('us')
close = data.get('price:adj_close')

position = close == close.rolling(200).max()  # 200-day high
report = sim(
    position,
    resample='2W',
    position_limit=0.2,
    stop_loss=0.2,
    market=USMarket(),
    fee_ratio=0.001,
    tax_ratio=0,
)

print(close.shape)  # (dates, symbols)
print(position.iloc[-1].sum(), 'stocks at a 200-day high on', position.index[-1].date())

Output:

(2696, 10460)
95 stocks at a 200-day high on 2026-09-22

Market classes are available for Taiwan (TWMarket), US (USMarket), Japan (JPMarket), Korea (KRMarket), Hong Kong (HKMarket), and the UK (UKMarket), with fund variants for ETFs.

Documentation

Support

Ask questions and report problems in the FinLab Discord.

License

GPL-3.0-or-later. See LICENSE.

Disclaimer

FinLab is software for research and education. Nothing in this package or its documentation is investment advice. Backtest results depend on data quality and modeling assumptions and do not predict future performance. You are responsible for your own trading decisions.

Metadata

Release files for finlab 2.2.9

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 finlab 2.2.9
File
finlab-2.2.9-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
finlab-2.2.9-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
finlab-2.2.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
finlab-2.2.9-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
finlab-2.2.9-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
finlab-2.2.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
finlab-2.2.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
finlab-2.2.9-cp313-cp313-macosx_10_15_universal2.whl CPython 3.13 CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64) Details
finlab-2.2.9-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
finlab-2.2.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
finlab-2.2.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
finlab-2.2.9-cp312-cp312-macosx_10_15_universal2.whl CPython 3.12 CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64) Details
finlab-2.2.9-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
finlab-2.2.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
finlab-2.2.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
finlab-2.2.9-cp311-cp311-macosx_10_15_universal2.whl CPython 3.11 CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64) Details
finlab-2.2.9-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
finlab-2.2.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
finlab-2.2.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
finlab-2.2.9-cp310-cp310-macosx_10_15_universal2.whl CPython 3.10 CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64) Details

Total release size: 101.8 MB

Release files / finlab-2.2.9-cp314-cp314-win_amd64.whl

Download URL finlab-2.2.9-cp314-cp314-win_amd64.whl
Size 2.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a2a2f1f582027946ef9c9ccc8f791f72d73c66d7e94d1cdeb36e527e9c1f47b6
BLAKE2b-256 checksum
How to use checksums
d509fa2a7ce4923eca3e633e16e1b4977a116a06d81ec7209631301813801c8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.9-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0ff6f5b3eb9a68fc4ee871de7838425f5b1b0b06a1bfb506c76bc01d5e3453fb
BLAKE2b-256 checksum
How to use checksums
67b01b43fa5e9970ddb7304028c46bc430f4ba0cc7f1b1644b39d110fe98bd17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.4 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9a82a3947585d6a766fa4a43611d64bcdc54ff7cfc777b25bc57d502c39d45d1
BLAKE2b-256 checksum
How to use checksums
9a5cf775759a21fee7ea7d51ff26fd743045e78a33ecdbabd5267d0178786624
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp314-cp314-macosx_10_15_universal2.whl

Download URL finlab-2.2.9-cp314-cp314-macosx_10_15_universal2.whl
Size 3.0 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
2bbc5677d650c0537502b8941dc618d30a873716ace77307e1e4b4d27218b077
BLAKE2b-256 checksum
How to use checksums
655c1aaa46adaaa9eecba53b1803620e0bd37675ec84f34a0fb8f993633ca422
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp313-cp313-win_amd64.whl

Download URL finlab-2.2.9-cp313-cp313-win_amd64.whl
Size 2.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
bf8c7c149a1d6e875c1a9af2250c1cba7772da4ddbc73205e64053c06b7d3110
BLAKE2b-256 checksum
How to use checksums
d077a38cf8c105ec0a0ce9df3b9f7e3d98fe3352fcdb14df4be28e75e1743930
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c8a53b10a886943b9d6c3698e01e64ee9a7993ab1c3ff37dc9bc0360ee895bfc
BLAKE2b-256 checksum
How to use checksums
6066eda594cdb7dcab097635eea4036208b16a1943e4373bf97f270e82250edb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.4 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
267c526a20b7de44061ff8356096694de7ed545eaf479da4f79c882590ae308c
BLAKE2b-256 checksum
How to use checksums
4792772d272d1e401a23bc2b4475e837fac4c2583a20e852a618b42df33ea40f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp313-cp313-macosx_10_15_universal2.whl

Download URL finlab-2.2.9-cp313-cp313-macosx_10_15_universal2.whl
Size 3.0 MB
Tags CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
5136c08b3e082e6efc6957f0a02dee66426f7e75735eb78fed2d7238e36509fb
BLAKE2b-256 checksum
How to use checksums
e3000c8a72cb160d0f320770af02b17d3a71bddc8a00a0da940cda8e00d82dc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp312-cp312-win_amd64.whl

Download URL finlab-2.2.9-cp312-cp312-win_amd64.whl
Size 2.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4afe409425b59f781eb0cf022ee3207dabf71118388411f6c16d845381ab1862
BLAKE2b-256 checksum
How to use checksums
6a3883fc9b8323dbd392238bce29d30447fc6b5a59be1a03dcb994a170c25c08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
31d4b984f6b0671124b525637ffed651e0242eb18d137d92440e070f24884ba3
BLAKE2b-256 checksum
How to use checksums
c8929c03e74e5429cf33c4250bdc42a87f9402b5222f4737ffd163318060b8fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.4 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ee29ded2c4f9fb89ba02083cca891c1b2a030e746aba65cb46c36e5c79eea259
BLAKE2b-256 checksum
How to use checksums
6db55a27d4f77fca4b061fe5665799a1086484e3c114d2f84d8ade6446877414
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp312-cp312-macosx_10_15_universal2.whl

Download URL finlab-2.2.9-cp312-cp312-macosx_10_15_universal2.whl
Size 3.1 MB
Tags CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d939103489c9c54f62e84a165f5ddee94acf6bd36aa1fa4153bf589b99905e4e
BLAKE2b-256 checksum
How to use checksums
234e47c7c107c62a8466283ab844ddb3e8f179d9ee99d593f5a3747b9f8c4878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp311-cp311-win_amd64.whl

Download URL finlab-2.2.9-cp311-cp311-win_amd64.whl
Size 2.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
74fe72b85d9f7b332dd26257c6e416f4bd0e4daf93aeb5df6c91c237cab631e1
BLAKE2b-256 checksum
How to use checksums
bc64a43657f1ca0c5c76a51982953b86f9671847b9376ebac88b8ecd346bb59b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.8 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a1083627360af0f51a4d3ce6b9069c886c2fc59b531cf043366e408f8c604415
BLAKE2b-256 checksum
How to use checksums
6425ac3fc37d95e6bd801f9ea0d6135772b768d22617eaf42d915e9e5e2822ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.5 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ef2ba91e5aa586e155e18d393fe92727cfe5339d2c7a54c91f886e7ecc4be102
BLAKE2b-256 checksum
How to use checksums
5353bf93fb5a4f38b9f99ee52e519fec11e2942669ab1fa5a3d030dcab58c4a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp311-cp311-macosx_10_15_universal2.whl

Download URL finlab-2.2.9-cp311-cp311-macosx_10_15_universal2.whl
Size 3.1 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
7fe07569116f37d451d7c9897408fd82fddc3a6fc18fbb5bb0668da4b6180621
BLAKE2b-256 checksum
How to use checksums
9d7594ed6f444f94b847be47a80671a929c9b47d32d0e5461dac55afff29d36a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp310-cp310-win_amd64.whl

Download URL finlab-2.2.9-cp310-cp310-win_amd64.whl
Size 2.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
3c67ac2d619663ab27ab1c5ac9b1641e0a6480ff41f684b2b456e78c151b3af5
BLAKE2b-256 checksum
How to use checksums
495eacc783f34375ddf1607c11ec5482fd43b3d2319c16885e2c4e07ad5f0edb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.9-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.3 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4fcdcc025f7f1ac304598a4724cd01223c437dad6818b642959716251073400a
BLAKE2b-256 checksum
How to use checksums
61479959057bf1ce2c14824a2965285eff02975b22920a6d3b5a76f3504c61c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.0 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
370784a768c8992ea6e0e7346a14248724d3763822573ac22e3f8b4eb1289d28
BLAKE2b-256 checksum
How to use checksums
7a14ab6621d3c170d7a356b650fbaa930c820dd3ad6588df37fc1b034216f945
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / finlab-2.2.9-cp310-cp310-macosx_10_15_universal2.whl

Download URL finlab-2.2.9-cp310-cp310-macosx_10_15_universal2.whl
Size 3.1 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
fb840f18ef4286c651518c2076eb1a199ea32650e68f4483a83d5d59759b00a1
BLAKE2b-256 checksum
How to use checksums
9a6307fbe6929814db9c687bbfa96952350bc2b4406c964990522a207547ad5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Security for finlab 2.2.9

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.

Release history Release notifications | RSS feed

This release

2.2.9 This release

20 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