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

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.17
File Actions
finlab-2.2.17-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for finlab-2.2.17-cp314-cp314-win_amd64.whl
finlab-2.2.17-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.17-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.2.17-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.17-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.2.17-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.17-cp314-cp314-macosx_10_15_universal2.whl
finlab-2.2.17-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for finlab-2.2.17-cp313-cp313-win_amd64.whl
finlab-2.2.17-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 for finlab-2.2.17-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.2.17-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.17-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.2.17-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.17-cp313-cp313-macosx_10_15_universal2.whl
finlab-2.2.17-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for finlab-2.2.17-cp312-cp312-win_amd64.whl
finlab-2.2.17-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 for finlab-2.2.17-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.2.17-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.17-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.2.17-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.17-cp312-cp312-macosx_10_15_universal2.whl
finlab-2.2.17-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for finlab-2.2.17-cp311-cp311-win_amd64.whl
finlab-2.2.17-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 for finlab-2.2.17-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.2.17-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.17-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.2.17-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.17-cp311-cp311-macosx_10_15_universal2.whl
finlab-2.2.17-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for finlab-2.2.17-cp310-cp310-win_amd64.whl
finlab-2.2.17-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 for finlab-2.2.17-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
finlab-2.2.17-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.17-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
finlab-2.2.17-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.17-cp310-cp310-macosx_10_15_universal2.whl

Total release size: 107.3 MB

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

Download URL finlab-2.2.17-cp314-cp314-win_amd64.whl
Size 2.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
4a33f40b6f4405892da0ce2ec96bb71bd69f280085c6ee08c5af2587b1a62802
BLAKE2b-256 checksum
How to use checksums
1f9644957b122e79e0a388405e7e4b019c69a7b2d9495b9930d93b54bedb5204
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.0 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cd6540c32cbc3e3aabfe0bab64d0c605a0946ccb3adc096807ba266f9be31f39
BLAKE2b-256 checksum
How to use checksums
ae07116882c568c523b2863bc05bc4b61f86581f8fde41717f2d1cef88dbab64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.8 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
23d0773ae59b57adf085d50b6011f2c4b5781cdc48823230aa6bb1800761878d
BLAKE2b-256 checksum
How to use checksums
b5faf37f6d37394f945c5cdd9b3cfc027bc97ed4b95f7cd56cf914577ad675e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-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
fab6885aa9698e95dd89a4e808f614a49ac9213a8e96d8beb6a6913091ffea16
BLAKE2b-256 checksum
How to use checksums
44b1f51d98866ce4f5465aab0772074ace73f7f0c54ba03f35a52fe0923242c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp313-cp313-win_amd64.whl
Size 2.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
22d9a21c2bb95bb6b2db51d81068e5c04b80812b72b302e20880b796d35866af
BLAKE2b-256 checksum
How to use checksums
a3d4c6c1c21674e8feb9bc88a3505314f5a779147c2322f924f452f05e1bc18d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

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

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

Download URL finlab-2.2.17-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.8 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
09128be889e5abd2dabf562962c45663c767b27ad9903e8d710dceab8f2f1b9b
BLAKE2b-256 checksum
How to use checksums
91b75935d25be4bdacc6a6ef6c276fe0055e2597d8ba641da33b5810e4996896
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-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
a8ea6c79c39fe5b2eebeee74d47099c9a332288ae711f493012691ee61b78a30
BLAKE2b-256 checksum
How to use checksums
5d45494b833e82b65c2f68dd682f23a49078f36c27c51d5bf3687c672fa95a3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp312-cp312-win_amd64.whl
Size 2.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
06e4f902cada56e987a9b2b10934407ff0df93653523f86d9854a0a6740745ab
BLAKE2b-256 checksum
How to use checksums
1c8db7efd8776beac087935d34f9fd35245da2af4e724fa134af9b27e53da307
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.1 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2d90b9b1708243d1406a232deb7bb0b52762a1b99950fd79c2244a416df237a1
BLAKE2b-256 checksum
How to use checksums
c22f5023b1dbe6d979443abdf12ab6ee8caa19221801d641bfa4151aba6d984a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.7 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
057b3432a2cfb769c66c72ac6c8946d38289747f29cc62bcc10ca079bb213d94
BLAKE2b-256 checksum
How to use checksums
c29a82f9b96ebf812eb69fe7f004a5375af948f28dd0f83479e3505ce53405b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-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
55c2f45a27d85b530b4cd8c7c278939e93c11a82fb1ba5650533b729ae8e3d65
BLAKE2b-256 checksum
How to use checksums
3ecae1399a94f4e5b784d576f2b94d9dc86f1849b1b25e0997024ea486d6d1f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp311-cp311-win_amd64.whl
Size 2.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
70831de24c4c353d061ef166e7239b51eb076281b067d2119f0f6aec4feae727
BLAKE2b-256 checksum
How to use checksums
166b54b1aaae756885b6bff11b56f160add10771a0a06c4e0f1d7a2f9601cf3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 8.1 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
307b6692ccf92b35a2d0cc4cde129b1569d4a1ec65f20eec5bb2254e7b08c817
BLAKE2b-256 checksum
How to use checksums
db6cf255a775244e92221a81e6e50fab0b6f5586065be8edd3c3fbabd816ac27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

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

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

Download URL finlab-2.2.17-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
ee4c34ce36f3b799e133f98cfd047a55918cd188d523fbca647807e526328325
BLAKE2b-256 checksum
How to use checksums
4b4264de28e753c0282b317eb6ca2dd4db93d42d5eaa641669d478f06e16d737
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp310-cp310-win_amd64.whl
Size 2.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
c55307f1cac108ecf222b101e84a1054854ae132da020c53957034873343ecf0
BLAKE2b-256 checksum
How to use checksums
85c1e8000cd229063d7d96a96035d5446ccc69ecc5dd8fa4821c0017b07d610a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.6 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d69abd1c98bf183df1fe4074f9999982ab603c167d26a1deb28019c4160ceceb
BLAKE2b-256 checksum
How to use checksums
3af01c675ae28c7136bde0d331bd98623920730d7c8b66b2cc65d5cce01a8311
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.3 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
06151d6c073b23137d6bd7d5cd6e3d8964af57b3b3f30854dabcd0171775e186
BLAKE2b-256 checksum
How to use checksums
855357e9d944b51d912679342301b72cd1fe84e6aae9100933df53b584863711
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

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

Download URL finlab-2.2.17-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
cbd6a7fe8acc2b0aa0542bdaf07197a5cceebf9272e9773f0b52e3217ffad73a
BLAKE2b-256 checksum
How to use checksums
04ada97e96b77b3dae0392f4b342c79632731dd6e3543c37332f37851b278944
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Security for finlab 2.2.17

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