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.21

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

Total release size: 108.5 MB

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

Download URL finlab-2.2.21-cp314-cp314-win_amd64.whl
Size 2.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
17c1f593a47b0b0cfda749782b4d405e2f5801e6a9e7c0188d08b358505dd0a2
BLAKE2b-256 checksum
How to use checksums
8a9f6e8c553c19fa3040339e8a2f6adf2a782022a1a2ac6b2db28ab4a9c39979
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.21-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.21-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.1 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d8b5bc0315dc361ee170a7ae74baaeaadb2744cd4f5797ab3fc253017a4b7a71
BLAKE2b-256 checksum
How to use checksums
d9466a6b3de9061b117b2c00e0e1d984a72b7f7a8c4c3ad160e6e4e0ca55181c
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.21-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.21-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.9 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d87c016fe7b07562a58859efdf46c0736cb33a2ad19f85d9518ada5f67ee5282
BLAKE2b-256 checksum
How to use checksums
1f2dfc4823e644a1297655d274db59872b8579df9f936e71a166b0ec9f726d60
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.21-cp314-cp314-macosx_10_15_universal2.whl

Download URL finlab-2.2.21-cp314-cp314-macosx_10_15_universal2.whl
Size 3.3 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
7334eb85be59b529a9d4995967af909b8ad5411328281e889a2f3d05ed357007
BLAKE2b-256 checksum
How to use checksums
cd2a1aa0d670728a0795f60bb320294b93e16d079883d9888dce7f86700dc9e0
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.21-cp313-cp313-win_amd64.whl

Download URL finlab-2.2.21-cp313-cp313-win_amd64.whl
Size 2.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5b8091ce5b45ff5dd730a088a004f148f99e03d609f2205007135cdfba4e40bf
BLAKE2b-256 checksum
How to use checksums
d4f2ede3d9c57fbdcad0694f15d347af47779efba91127b65365024539c0ba8e
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.21-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.21-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.2 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5506c068899fff8754fe953c4dca7b15806979406f67eeb7cf1c3c11489a0720
BLAKE2b-256 checksum
How to use checksums
f0efbefdcddec07cc4078287d0c269ac6164e2d2ab644d6161253e33ef78432a
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.21-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.21-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.9 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3e19050e83181edb76d28c2b79f866731166e93e20effe388449afcc630322f7
BLAKE2b-256 checksum
How to use checksums
67004539860b6e4f51d6bd15ce0c9f49a79052bfa499cfdf9050f2d10edc6a55
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.21-cp313-cp313-macosx_10_15_universal2.whl

Download URL finlab-2.2.21-cp313-cp313-macosx_10_15_universal2.whl
Size 3.3 MB
Tags CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
26c342a0167d81d795d5716cb3591802346dcdbf4f85d69bba4644dcd7ed74d1
BLAKE2b-256 checksum
How to use checksums
f521569a63cc4268448940188723063fa386d99c3c4d29092223988c59d79734
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.21-cp312-cp312-win_amd64.whl

Download URL finlab-2.2.21-cp312-cp312-win_amd64.whl
Size 2.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d2d12568e6fc7b2cd3a57a1bfcf986742d1183c5905a1958093f6079f917168d
BLAKE2b-256 checksum
How to use checksums
01d5b64d335ecdc52ff3fb74d83fd3e62e35e4af4548c5c9939810a6f4216209
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.21-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.21-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.2 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
da44fed10181896c0c11c3e90a26901ad0e40b764a79b5dc88380cf3d6d4eba9
BLAKE2b-256 checksum
How to use checksums
1d2d8e2b477a3fe6c33e29d550e231d44433e5d7c2be682a3e340c218fe88480
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.21-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.21-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.8 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2f14947c3054a4908280b25505b7a3ab60fdc1a2120f2cc65ed9fbef4b01aae0
BLAKE2b-256 checksum
How to use checksums
a437788b1b4fa03d5508fc9664146a41aa930cc4a2a54597afbb6aee8c71c965
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.21-cp312-cp312-macosx_10_15_universal2.whl

Download URL finlab-2.2.21-cp312-cp312-macosx_10_15_universal2.whl
Size 3.3 MB
Tags CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
b2eb6e778491d25c89a57ecdab1475f89138ee611d34b5907dcb212d830aa151
BLAKE2b-256 checksum
How to use checksums
2b2ea0488551af66f6eded2c3f53c4fc3107c767318c8633b92d41636dd95a24
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.21-cp311-cp311-win_amd64.whl

Download URL finlab-2.2.21-cp311-cp311-win_amd64.whl
Size 2.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b73b4ce2eb685963fa4b7209560a72a23fc6673fd03e69229d4b3fc729440510
BLAKE2b-256 checksum
How to use checksums
5c39d18395b569a67e2b212194f720b6934777035b0cc549e77659151402cba5
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.21-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.21-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.2 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7bf91fdc2db1f75209897e54182c7a27986f106b80eaee01e75c9e3e91f6b18a
BLAKE2b-256 checksum
How to use checksums
7d38821d8e565f680800a56a5fa9859f1f8579744b291243aff1cb2df3f79768
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.21-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.21-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.9 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4adad9115e73d57d1b15322013ca3960621be3d27377d84b121590a187916270
BLAKE2b-256 checksum
How to use checksums
1cb926b7085996d6422f46c3fc0afebc1a86c8ead66c91f985fcecfe80e5ab40
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.21-cp311-cp311-macosx_10_15_universal2.whl

Download URL finlab-2.2.21-cp311-cp311-macosx_10_15_universal2.whl
Size 3.3 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
3928b3fa7aae6c22764271ca59a38c0d515447675fcd28a1835437f1b0d3f436
BLAKE2b-256 checksum
How to use checksums
d7496a827041d3a680c9d15b7332f7ee25576563b5aa978fc553b3f3739ca9a4
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.21-cp310-cp310-win_amd64.whl

Download URL finlab-2.2.21-cp310-cp310-win_amd64.whl
Size 2.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
31bd19e9de461a4c7f86f869373c87cf08128d26e4fbebdcabe7236f901f1d42
BLAKE2b-256 checksum
How to use checksums
38fffda0ba43d7f42502c2ffb856b5c605474728ad487aedddbd439fbf25f7b9
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.21-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL finlab-2.2.21-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.7 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1d2edda344c1ef778af4059331b4e4c8ed4abbada7d091c2aab6cdbb82893481
BLAKE2b-256 checksum
How to use checksums
d7d86332039343ca6aed43c4da7da4b9200c0de27891d7f80b8e2bbb289eb018
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.21-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL finlab-2.2.21-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.4 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
80632adcec215b15311794fe89856ffd384aea34e5f93fbeb2056311bbb1109c
BLAKE2b-256 checksum
How to use checksums
b9322fb524f7b7555a34607adce2c3ec896669c053e4867037bab02352f0a794
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.21-cp310-cp310-macosx_10_15_universal2.whl

Download URL finlab-2.2.21-cp310-cp310-macosx_10_15_universal2.whl
Size 3.3 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
c3b44bfe2071d64232a15791ce96e7f0bab139b4c021d317802698963e467529
BLAKE2b-256 checksum
How to use checksums
936539d86686475f8f2f5da2081e2de7af81bbe51ec691f22680bfcb28b7911e
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.21

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

2.2.21 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